NotificationService
internal.internal.NotificationService
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>attachmentGenerator_unknownRequiredmanager_EntityManagerRequiredsubscribers_objectRequiredtransactionManager_undefined | EntityManagerRequiredAccessors
activeManager_
Protected get activeManager_(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredInherited from
TransactionBaseService.activeManager_
Methods
atomicPhase_
Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>
Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>RequiredInherited from
TransactionBaseService.atomicPhase_
handleEvent
handleEvent(eventName, data): Promise<undefined | void | Notification[]>
Handles an event by relaying the event data to the subscribing providers. The result of the notification send will be persisted in the database in order to allow for resends. Will log any errors that are encountered.
Parameters
eventNamestringRequireddataRecord<string, unknown>RequiredReturns
Promise<undefined | void | Notification[]>
the result of notification subscribed
list
list(selector, config?): Promise<Notification[]>
Retrieves a list of notifications.
Parameters
configFindConfig<Notification>Returns
Promise<Notification[]>
the notifications that satisfy the query.
listAndCount
listAndCount(selector, config?): Promise<[Notification[], number]>
Retrieves a list of notifications and total count.
Parameters
configFindConfig<Notification>Returns
Promise<[Notification[], number]>
the notifications that satisfy the query as well as the count.
registerAttachmentGenerator
registerAttachmentGenerator(service): void
Registers an attachment generator to the service. The generator can be used to generate on demand invoices or other documents.
Parameters
serviceunknownRequiredReturns
void
voidvoidregisterInstalledProviders
registerInstalledProviders(providerIds): Promise<void>
Takes a list of notification provider ids and persists them in the database.
Parameters
providerIdsstring[]RequiredReturns
Promise<void>
PromisePromise<void>Requiredresend
resend(id, config?): Promise<Notification>
Resends a notification by retrieving a prior notification and calling the underlying provider's resendNotification method.
Parameters
idstringRequiredconfigFindConfig<Notification>Returns
Promise<Notification>
the newly created notification
retrieve
retrieve(id, config?): Promise<Notification>
Retrieves a notification with a given id
Parameters
idstringRequiredconfigFindConfig<Notification>Returns
Promise<Notification>
the notification
retrieveProvider_
Protected retrieveProvider_(id): AbstractNotificationService
Finds a provider with a given id. Will throw a NOT_FOUND error if the resolution fails.
Parameters
idstringRequiredReturns
send
send(event, eventData, providerId): Promise<undefined | Notification>
Sends a notification, by calling the given provider's sendNotification method. Persists the Notification in the database.
Parameters
eventstringRequiredeventDataRecord<string, unknown>RequiredproviderIdstringRequiredReturns
Promise<undefined | Notification>
the created notification
shouldRetryTransaction_
Protected shouldRetryTransaction_(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleanInherited from
TransactionBaseService.shouldRetryTransaction_
subscribe
subscribe(eventName, providerId): void
Subscribes a given provider to an event.
Parameters
eventNamestringRequiredproviderIdstringRequiredReturns
void
voidvoidwithTransaction
withTransaction(transactionManager?): NotificationService
Parameters
transactionManagerEntityManager