package bundb import ( "context" "fmt" "gitea.dwysokinski.me/twhelp/dcbot/internal/bundb/internal/model" "gitea.dwysokinski.me/twhelp/dcbot/internal/domain" "github.com/uptrace/bun" ) type Group struct { db *bun.DB } func NewGroup(db *bun.DB) *Group { return &Group{db: db} } func (g *Group) Create(ctx context.Context, params domain.CreateGroupParams) (domain.Group, error) { group := model.Group{ ServerID: params.ServerID(), VersionCode: params.VersionCode(), ChannelGainedVillages: params.ChannelGainedVillages(), ChannelLostVillages: params.ChannelLostVillages(), ServerKey: params.ServerKey(), } if _, err := g.db.NewInsert(). Model(&group). Returning("*"). Exec(ctx); err != nil { return domain.Group{}, fmt.Errorf("something went wrong while inserting group into the db: %w", err) } return group.ToDomain(), nil }