...

Source file src/edge-infra.dev/pkg/edge/controllers/util/edgedb/bsl_sync_status.go

Documentation: edge-infra.dev/pkg/edge/controllers/util/edgedb

     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