Documentation
¶
Overview ¶
Package notifiers contain the domain concept definitions needed to support Mainflux notifications functionality.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotify = errors.New("failed to send notification")
ErrNotify wraps sending notification errors,
Functions ¶
This section is empty.
Types ¶
type Notifier ¶
type Notifier interface { // Notify method is used to send notification for the // received message to the provided list of receivers. Notify(to []string, msg protomfx.Message) error // ValidateContacts method is used to validate contacts // to which notifications will be sent. ValidateContacts(contacts []string) error }
Notifier represents an API for sending notification.
type NotifierRepository ¶
type NotifierRepository interface { // Save persists multiple notifiers. Notifiers are saved using a transaction. // If one notifier fails then none will be saved. // Successful operation is indicated by non-nil error response. Save(ctx context.Context, nfs ...things.Notifier) ([]things.Notifier, error) // RetrieveByGroupID retrieves notifiers related to a certain group identified by a given ID. RetrieveByGroupID(ctx context.Context, groupID string, pm things.PageMetadata) (things.NotifiersPage, error) // RetrieveByID retrieves the notifier having the provided identifier RetrieveByID(ctx context.Context, id string) (things.Notifier, error) // Update performs an update to the existing notifier. A non-nil error is // returned to indicate operation failure. Update(ctx context.Context, n things.Notifier) error // Remove removes the notifiers having the provided identifiers Remove(ctx context.Context, ids ...string) error }
NotifierRepository specifies a notifier persistence API.
type Service ¶
type Service interface { // CreateNotifiers creates notifiers for certain group identified by the provided ID CreateNotifiers(ctx context.Context, token string, notifiers ...things.Notifier) ([]things.Notifier, error) // ListNotifiersByGroup retrieves data about a subset of notifiers // related to a certain group identified by the provided ID. ListNotifiersByGroup(ctx context.Context, token string, groupID string, pm things.PageMetadata) (things.NotifiersPage, error) // ViewNotifier retrieves data about the notifier identified with the provided ID ViewNotifier(ctx context.Context, token, id string) (things.Notifier, error) // UpdateNotifier updates the notifier identified by the provided ID, that // belongs to the user identified by the provided key. UpdateNotifier(ctx context.Context, token string, notifier things.Notifier) error // RemoveNotifiers removes the notifiers identified with the provided IDs, that // belongs to the user identified by the provided key. RemoveNotifiers(ctx context.Context, token, groupID string, id ...string) error consumers.Consumer }
Service represents a notification service.
func New ¶
func New(idp uuid.IDProvider, notifier Notifier, notifierRepo NotifierRepository, things protomfx.ThingsServiceClient) Service
New instantiates the subscriptions service implementation.
Directories
¶
Path | Synopsis |
---|---|
Package smpp contains the domain concept definitions needed to support Mainflux SMS notifications.
|
Package smpp contains the domain concept definitions needed to support Mainflux SMS notifications. |
Package smtp contains the domain concept definitions needed to support Mainflux SMTP notifications.
|
Package smtp contains the domain concept definitions needed to support Mainflux SMTP notifications. |
Click to show internal directories.
Click to hide internal directories.