Skip to main content

Class: NotificationService

Hierarchy​

  • TransactionBaseService

    ↳ NotificationService

Constructors​

constructor​

• new NotificationService(container)

Parameters​

NameType
containerInjectedDependencies

Overrides​

TransactionBaseService.constructor

Defined in​

medusa/src/services/notification.ts:34

Properties​

__configModule__​

• Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from​

TransactionBaseService.__configModule__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:14


__container__​

• Protected Readonly __container__: any

Inherited from​

TransactionBaseService.__container__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:13


__moduleDeclaration__​

• Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from​

TransactionBaseService.__moduleDeclaration__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:15


attachmentGenerator_​

• Protected attachmentGenerator_: unknown = null

Defined in​

medusa/src/services/notification.ts:25


container_​

• Protected Readonly container_: InjectedDependencies & {}

Defined in​

medusa/src/services/notification.ts:26


logger_​

• Protected Readonly logger_: Logger

Defined in​

medusa/src/services/notification.ts:29


manager_​

• Protected manager_: EntityManager

Inherited from​

TransactionBaseService.manager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:5


notificationProviderRepository_​

• Protected Readonly notificationProviderRepository_: Repository<NotificationProvider>

Defined in​

medusa/src/services/notification.ts:32


notificationRepository_​

• Protected Readonly notificationRepository_: Repository<Notification>

Defined in​

medusa/src/services/notification.ts:30


subscribers_​

• Protected subscribers_: Object = {}

Defined in​

medusa/src/services/notification.ts:24


transactionManager_​

• Protected transactionManager_: undefined | EntityManager

Inherited from​

TransactionBaseService.transactionManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:6

Accessors​

activeManager_​

• Protected get activeManager_(): EntityManager

Returns​

EntityManager

Inherited from​

TransactionBaseService.activeManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:8

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.

Type parameters​

Name
TResult
TError

Parameters​

NameTypeDescription
work(transactionManager: EntityManager) => Promise<TResult>the transactional work to be done
isolationOrErrorHandler?IsolationLevel | (error: TError) => Promise<void | TResult>the isolation level to be used for the work.
maybeErrorHandlerOrDontFail?(error: TError) => Promise<void | TResult>Potential error handler

Returns​

Promise<TResult>

the result of the transactional work

Inherited from​

TransactionBaseService.atomicPhase_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:56


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​

NameTypeDescription
eventNamestringthe event to handle
dataRecord<string, unknown>the data the event was sent with

Returns​

Promise<undefined | void | Notification[]>

the result of notification subscribed

Defined in​

medusa/src/services/notification.ts:185


list​

▸ list(selector, config?): Promise<Notification[]>

Retrieves a list of notifications.

Parameters​

NameTypeDescription
selectorSelector<Notification>the params to select the notifications by.
configFindConfig<Notification>the configuration to apply to the query

Returns​

Promise<Notification[]>

the notifications that satisfy the query.

Defined in​

medusa/src/services/notification.ts:78


listAndCount​

▸ listAndCount(selector, config?): Promise<[Notification[], number]>

Retrieves a list of notifications and total count.

Parameters​

NameTypeDescription
selectorSelector<Notification>the params to select the notifications by.
configFindConfig<Notification>the configuration to apply to the query

Returns​

Promise<[Notification[], number]>

the notifications that satisfy the query as well as the count.

Defined in​

medusa/src/services/notification.ts:97


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​

NameTypeDescription
serviceunknownthe service to assign to the attachmentGenerator

Returns​

void

Defined in​

medusa/src/services/notification.ts:52


registerInstalledProviders​

▸ registerInstalledProviders(providerIds): Promise<void>

Takes a list of notification provider ids and persists them in the database.

Parameters​

NameTypeDescription
providerIdsstring[]a list of provider ids

Returns​

Promise<void>

Defined in​

medusa/src/services/notification.ts:60


resend​

▸ resend(id, config?): Promise<Notification>

Resends a notification by retrieving a prior notification and calling the underlying provider's resendNotification method.

Parameters​

NameTypeDescription
idstringthe id of the notification
configFindConfig<Notification>any configuration that might override the previous send

Returns​

Promise<Notification>

the newly created notification

Defined in​

medusa/src/services/notification.ts:265


retrieve​

▸ retrieve(id, config?): Promise<Notification>

Retrieves a notification with a given id

Parameters​

NameTypeDescription
idstringthe id of the notification
configFindConfig<Notification>the configuration to apply to the query

Returns​

Promise<Notification>

the notification

Defined in​

medusa/src/services/notification.ts:118


retrieveProvider_​

▸ Protected retrieveProvider_(id): AbstractNotificationService

Finds a provider with a given id. Will throw a NOT_FOUND error if the resolution fails.

Parameters​

NameTypeDescription
idstringthe id of the provider

Returns​

AbstractNotificationService

the notification provider

Defined in​

medusa/src/services/notification.ts:166


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​

NameTypeDescription
eventstringthe name of the event
eventDataRecord<string, unknown>the data the event was sent with
providerIdstringthe provider that should hande the event.

Returns​

Promise<undefined | Notification>

the created notification

Defined in​

medusa/src/services/notification.ts:217


shouldRetryTransaction_​

▸ Protected shouldRetryTransaction_(err): boolean

Parameters​

NameType
errRecord<string, unknown> | { code: string }

Returns​

boolean

Inherited from​

TransactionBaseService.shouldRetryTransaction_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:37


subscribe​

▸ subscribe(eventName, providerId): void

Subscribes a given provider to an event.

Parameters​

NameTypeDescription
eventNamestringthe event to subscribe to
providerIdstringthe provider that the event will be sent to

Returns​

void

Defined in​

medusa/src/services/notification.ts:145


withTransaction​

▸ withTransaction(transactionManager?): NotificationService

Parameters​

NameType
transactionManager?EntityManager

Returns​

NotificationService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

medusa/src/interfaces/transaction-base-service.ts:20

Was this section helpful?