Documentation
¶
Index ¶
- func New(ctx context.Context, opts Opts) (*service, error)
- type Mock
- func (m *Mock) DeleteNotifications(ctx context.Context, id uuid.UUID) error
- func (m *Mock) KeyManager(ctx context.Context) *keymanager.Manager
- func (m *Mock) KeyStore(ctx context.Context) notifier.KeyStore
- func (m *Mock) Notifications(ctx context.Context, id uuid.UUID, page *notifier.Page) ([]notifier.Notification, notifier.Page, error)
- type Opts
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Mock ¶
type Mock struct {
Notifications_ func(ctx context.Context, id uuid.UUID, page *notifier.Page) ([]notifier.Notification, notifier.Page, error)
DeleteNotifications_ func(ctx context.Context, id uuid.UUID) error
KeyStore_ func(ctx context.Context) notifier.KeyStore
KeyManager_ func(ctx context.Context) *keymanager.Manager
}
Mock implements a mock notifier service
func (*Mock) DeleteNotifications ¶
func (*Mock) KeyManager ¶
func (m *Mock) KeyManager(ctx context.Context) *keymanager.Manager
type Opts ¶
type Opts struct {
PollInterval time.Duration
DeliveryInterval time.Duration
Migrations bool
ConnString string
Matcher matcher.Service
Indexer indexer.Service
DisableSummary bool
Client *http.Client
Webhook *webhook.Config
AMQP *namqp.Config
STOMP *stomp.Config
}
Opts configures the notifier service
type Service ¶
type Service interface {
// Retrieves an optional paginated set of notifications given an notification id
Notifications(ctx context.Context, id uuid.UUID, page *notifier.Page) ([]notifier.Notification, notifier.Page, error)
// Deletes the provided notification id
DeleteNotifications(ctx context.Context, id uuid.UUID) error
// KeyStore returns the notifier's KeyStore.
KeyStore(ctx context.Context) notifier.KeyStore
// KeyManager returns the notifier's KeyManager.
KeyManager(ctx context.Context) *keymanager.Manager
}
Service is an interface wrapping ClairV4's notifier functionality.
This remains an interface so remote clients may implement as well.
Click to show internal directories.
Click to hide internal directories.