package db import ( "context" "lmika.dev/lmika/weiro/models" "lmika.dev/lmika/weiro/providers/db/gen/sqlgen" ) func (db *Provider) SelectPublishTargetsOfSite(ctx context.Context, siteID int64) ([]models.SitePublishTarget, error) { rows, err := db.queries.SelectPublishTargetsOfSite(ctx, siteID) if err != nil { return nil, err } targets := make([]models.SitePublishTarget, len(rows)) for i, row := range rows { targets[i] = models.SitePublishTarget{ ID: row.ID, SiteID: row.SiteID, TargetType: models.PublishTargetType(row.TargetType), BaseURL: row.BaseUrl, TargetRef: row.TargetRef, TargetKey: row.TargetKey, } } return targets, nil } func (db *Provider) SavePublishTarget(ctx context.Context, target *models.SitePublishTarget) error { if target.ID == 0 { newID, err := db.queries.InsertPublishTarget(ctx, sqlgen.InsertPublishTargetParams{ SiteID: target.SiteID, TargetType: int64(target.TargetType), BaseUrl: target.BaseURL, TargetRef: target.TargetRef, TargetKey: target.TargetKey, }) if err != nil { return err } target.ID = newID return nil } // No update query defined in sqlgen yet return nil }