package edgedb import ( "context" "github.com/lib/pq" bannerApi "edge-infra.dev/pkg/edge/apis/banner/v1alpha1" ) const GetBslSyncStatus = `SELECT bsl_data_synced, bsl_entity_types FROM banners WHERE banner_edge_id = $1 LIMIT 1;` const UpdateBslSyncStatus = `UPDATE banners SET bsl_data_synced = $1, bsl_entity_types = $2 WHERE banner_edge_id = $3;` func (edb *EdgeDB) GetBslSyncStatus(ctx context.Context, bannerEdgeID string) (*bannerApi.BslSyncStatus, error) { var synced bool var entityTypes []string err := edb.QueryRowContext(ctx, GetBslSyncStatus, bannerEdgeID).Scan(&synced, pq.Array(&entityTypes)) if err != nil { return nil, err } return &bannerApi.BslSyncStatus{ Completed: synced, EntityTypes: entityTypes, }, nil } func (edb *EdgeDB) UpdateBslSyncStatus(ctx context.Context, bannerEdgeID string, status *bannerApi.BslSyncStatus) error { _, err := edb.ExecContext(ctx, UpdateBslSyncStatus, status.Completed, pq.Array(status.EntityTypes), bannerEdgeID) return err }