...
1 package edgedb
2
3 import (
4 "context"
5
6 "github.com/lib/pq"
7
8 bannerApi "edge-infra.dev/pkg/edge/apis/banner/v1alpha1"
9 )
10
11 const GetBslSyncStatus = `SELECT bsl_data_synced, bsl_entity_types FROM banners WHERE banner_edge_id = $1 LIMIT 1;`
12 const UpdateBslSyncStatus = `UPDATE banners SET bsl_data_synced = $1, bsl_entity_types = $2 WHERE banner_edge_id = $3;`
13
14 func (edb *EdgeDB) GetBslSyncStatus(ctx context.Context, bannerEdgeID string) (*bannerApi.BslSyncStatus, error) {
15 var synced bool
16 var entityTypes []string
17 err := edb.QueryRowContext(ctx, GetBslSyncStatus, bannerEdgeID).Scan(&synced, pq.Array(&entityTypes))
18 if err != nil {
19 return nil, err
20 }
21 return &bannerApi.BslSyncStatus{
22 Completed: synced,
23 EntityTypes: entityTypes,
24 }, nil
25 }
26
27 func (edb *EdgeDB) UpdateBslSyncStatus(ctx context.Context, bannerEdgeID string, status *bannerApi.BslSyncStatus) error {
28 _, err := edb.ExecContext(ctx, UpdateBslSyncStatus, status.Completed, pq.Array(status.EntityTypes), bannerEdgeID)
29 return err
30 }
31
View as plain text