postgres

package
v4.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init added in v4.4.0

func Init(ctx context.Context, cfg *pgx.ConnConfig) error

Init initializes the database using the specified config.

Types

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store implements the notifier.Store interface.

func NewStore

func NewStore(pool *pgxpool.Pool) *Store

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

func (s *Store) CollectNotifications(ctx context.Context) error

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) Created

func (s *Store) Created(ctx context.Context) ([]uuid.UUID, error)

Created will return all notification ids in "created" status.

func (*Store) Deleted

func (s *Store) Deleted(ctx context.Context) ([]uuid.UUID, error)

Deleted will return all notification ids in "deleted" status.

func (*Store) Failed

func (s *Store) Failed(ctx context.Context) ([]uuid.UUID, error)

Failed will return all notification ids in "delivery_failed" status.

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

func (s *Store) PutNotifications(ctx context.Context, opts notifier.PutOpts) error

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 (s *Store) PutReceipt(ctx context.Context, updater string, r notifier.Receipt) error

func (*Store) Receipt

func (s *Store) Receipt(ctx context.Context, id uuid.UUID) (notifier.Receipt, error)

Receipt returns the Receipt for a given notification ID.

func (*Store) ReceiptByUOID

func (s *Store) ReceiptByUOID(ctx context.Context, id uuid.UUID) (notifier.Receipt, error)

ReceiptByUOID returns the Receipt for a given UpdateOperation ID.

func (*Store) SetDeleted

func (s *Store) SetDeleted(ctx context.Context, id uuid.UUID) error

SetDeleted marks the provided notification id as deleted

func (*Store) SetDelivered

func (s *Store) SetDelivered(ctx context.Context, id uuid.UUID) error

SetDelivered marks the provided notification id as delivered

func (*Store) SetDeliveryFailed

func (s *Store) SetDeliveryFailed(ctx context.Context, id uuid.UUID) error

SetDeliveryFailed marks the provided notification id failed to be delivere

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL