Documentation ¶
Index ¶
- func Init(ctx context.Context, cfg *pgx.ConnConfig) error
- type Store
- func (s *Store) CollectNotifications(ctx context.Context) error
- func (s *Store) Created(ctx context.Context) ([]uuid.UUID, error)
- func (s *Store) Deleted(ctx context.Context) ([]uuid.UUID, error)
- func (s *Store) Failed(ctx context.Context) ([]uuid.UUID, error)
- func (s *Store) Notifications(ctx context.Context, id uuid.UUID, page *notifier.Page) ([]notifier.Notification, notifier.Page, error)
- func (s *Store) PutNotifications(ctx context.Context, opts notifier.PutOpts) error
- func (s *Store) PutReceipt(ctx context.Context, updater string, r notifier.Receipt) error
- func (s *Store) Receipt(ctx context.Context, id uuid.UUID) (notifier.Receipt, error)
- func (s *Store) ReceiptByUOID(ctx context.Context, id uuid.UUID) (notifier.Receipt, error)
- func (s *Store) SetDeleted(ctx context.Context, id uuid.UUID) error
- func (s *Store) SetDelivered(ctx context.Context, id uuid.UUID) error
- func (s *Store) SetDeliveryFailed(ctx context.Context, id uuid.UUID) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements the notifier.Store interface.
func NewStore ¶
NewStore returns a Store using the passed-in Pool.
The caller should close the Pool once the store is no longer needed.
func (*Store) CollectNotifications ¶ added in v4.4.0
CollectNotifications garbage collects all notifications.
Normally Receipter.SetDeleted will be issued first, however application logic may decide to gc notifications which have not been set deleted after some period of time, thus this condition should not be checked.
func (*Store) Notifications ¶
func (s *Store) Notifications(ctx context.Context, id uuid.UUID, page *notifier.Page) ([]notifier.Notification, notifier.Page, error)
Notifications retrieves the list of notifications associated with a notification ID.
func (*Store) PutNotifications ¶
PutNotifications persists the provided notifications and associates them with the provided notification ID.
PutNotifications must update the latest update operation for the provided updater in such a way that UpdateOperation returns the provided update operation ID when queried with the updater name.
PutNotifications must create a Receipt with status created status on successful persistence of notifications in such a way that Receipter.Created() returns the persisted notification ID.
func (*Store) PutReceipt ¶
func (*Store) ReceiptByUOID ¶
ReceiptByUOID returns the Receipt for a given UpdateOperation ID.
func (*Store) SetDeleted ¶
SetDeleted marks the provided notification id as deleted
func (*Store) SetDelivered ¶
SetDelivered marks the provided notification id as delivered