package db import ( "context" "lmika.dev/lmika/hugo-cms/gen/sqlc/dbq" "lmika.dev/lmika/hugo-cms/models" "lmika.dev/pkg/modash/moslice" ) func (db *DB) InsertPublishTarget(ctx context.Context, target *models.PublishTarget) error { id, err := db.q.InsertPublishTarget(ctx, dbq.InsertPublishTargetParams{ SiteID: target.SiteID, Role: dbq.TargetRole(target.Role), TargetType: dbq.TargetType(target.Type), Url: target.URL, TargetRef: target.TargetRef, }) if err != nil { return err } target.ID = id return nil } func (db *DB) GetPublishTargets(ctx context.Context, siteID int64) ([]models.PublishTarget, error) { res, err := db.q.ListPublishTargetsOfRole(ctx, siteID) if err != nil { return nil, err } return moslice.Map(res, func(m dbq.PublishTarget) models.PublishTarget { return models.PublishTarget{ ID: m.ID, SiteID: m.SiteID, Role: models.TargetRole(m.Role), Type: models.TargetType(m.TargetType), URL: m.Url, TargetRef: m.TargetRef, } }), nil }