Documentation
¶
Overview ¶
Package metadata implements the metadata API service.
Index ¶
- type CursorUpdater
- type DBBasedCursorUpdater
- type IPayerInfoFetcher
- type PayerInfoFetcher
- type PayerInfoGroupBy
- type Service
- func (s *Service) GetPayerInfo(ctx context.Context, req *connect.Request[metadata_api.GetPayerInfoRequest]) (*connect.Response[metadata_api.GetPayerInfoResponse], error)
- func (s *Service) GetSyncCursor(_ context.Context, req *connect.Request[metadata_api.GetSyncCursorRequest]) (*connect.Response[metadata_api.GetSyncCursorResponse], error)
- func (s *Service) GetVersion(_ context.Context, req *connect.Request[metadata_api.GetVersionRequest]) (*connect.Response[metadata_api.GetVersionResponse], error)
- func (s *Service) SubscribeSyncCursor(ctx context.Context, _ *connect.Request[metadata_api.GetSyncCursorRequest], ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CursorUpdater ¶
type CursorUpdater interface {
GetCursor() *envelopes.Cursor
AddSubscriber(clientID string, updateChan chan struct{})
RemoveSubscriber(clientID string)
Stop()
}
func NewCursorUpdater ¶
type DBBasedCursorUpdater ¶
type DBBasedCursorUpdater struct {
// contains filtered or unexported fields
}
func (*DBBasedCursorUpdater) AddSubscriber ¶
func (cu *DBBasedCursorUpdater) AddSubscriber(clientID string, updateChan chan struct{})
func (*DBBasedCursorUpdater) GetCursor ¶
func (cu *DBBasedCursorUpdater) GetCursor() *envelopes.Cursor
func (*DBBasedCursorUpdater) RemoveSubscriber ¶
func (cu *DBBasedCursorUpdater) RemoveSubscriber(clientID string)
func (*DBBasedCursorUpdater) Stop ¶
func (cu *DBBasedCursorUpdater) Stop()
type IPayerInfoFetcher ¶ added in v0.5.0
type IPayerInfoFetcher interface {
GetPayerByAddress(ctx context.Context, address string) (int32, error)
GetPayerInfo(
ctx context.Context,
payerID int32,
groupBy PayerInfoGroupBy,
) (*metadata_api.GetPayerInfoResponse_PayerInfo, error)
}
type PayerInfoFetcher ¶ added in v0.5.0
type PayerInfoFetcher struct {
// contains filtered or unexported fields
}
func NewPayerInfoFetcher ¶ added in v0.5.0
func NewPayerInfoFetcher(db *db.Handler) *PayerInfoFetcher
func (*PayerInfoFetcher) GetPayerByAddress ¶ added in v0.5.0
GetPayerByAddress looks up a payer ID by address
func (*PayerInfoFetcher) GetPayerInfo ¶ added in v0.5.0
func (f *PayerInfoFetcher) GetPayerInfo( ctx context.Context, payerID int32, groupBy PayerInfoGroupBy, ) (*metadata_api.GetPayerInfoResponse_PayerInfo, error)
GetPayerInfo gets the total spend and message count for a payer between the two timestamps, grouped by the appropriate granularity.
type PayerInfoGroupBy ¶ added in v0.5.0
type PayerInfoGroupBy string
const ( PayerInfoGroupByHour PayerInfoGroupBy = "hour" PayerInfoGroupByDay PayerInfoGroupBy = "day" )
type Service ¶
type Service struct {
metadata_apiconnect.UnimplementedMetadataApiHandler
// contains filtered or unexported fields
}
func NewMetadataAPIService ¶ added in v0.5.1
func NewMetadataAPIService( ctx context.Context, logger *zap.Logger, updater CursorUpdater, version *semver.Version, payerInfoFetcher IPayerInfoFetcher, ) (*Service, error)
func (*Service) GetPayerInfo ¶ added in v0.5.0
func (s *Service) GetPayerInfo( ctx context.Context, req *connect.Request[metadata_api.GetPayerInfoRequest], ) (*connect.Response[metadata_api.GetPayerInfoResponse], error)
func (*Service) GetSyncCursor ¶
func (s *Service) GetSyncCursor( _ context.Context, req *connect.Request[metadata_api.GetSyncCursorRequest], ) (*connect.Response[metadata_api.GetSyncCursorResponse], error)
func (*Service) GetVersion ¶ added in v0.5.0
func (s *Service) GetVersion( _ context.Context, req *connect.Request[metadata_api.GetVersionRequest], ) (*connect.Response[metadata_api.GetVersionResponse], error)
func (*Service) SubscribeSyncCursor ¶
func (s *Service) SubscribeSyncCursor( ctx context.Context, _ *connect.Request[metadata_api.GetSyncCursorRequest], stream *connect.ServerStream[metadata_api.GetSyncCursorResponse], ) error
Click to show internal directories.
Click to hide internal directories.