UNPKG

@message-queue-toolkit/sns

Version:
37 lines 1.5 kB
import { AbstractPublisherManager } from '@message-queue-toolkit/core'; import { CommonSnsPublisherFactory } from "./CommonSnsPublisherFactory.js"; export class SnsPublisherManager extends AbstractPublisherManager { constructor(dependencies, options) { super({ isAsync: true, eventRegistry: dependencies.eventRegistry, metadataField: options.metadataField ?? 'metadata', metadataFiller: options.metadataFiller, newPublisherOptions: options.newPublisherOptions, publisherDependencies: { snsClient: dependencies.snsClient, stsClient: dependencies.stsClient, logger: dependencies.logger, errorReporter: dependencies.errorReporter, }, publisherFactory: options.publisherFactory ?? new CommonSnsPublisherFactory(), }); } publish(topic, message, precedingEventMetadata, messageOptions) { // Purpose of this override is to provide better name for the first argument // For SNS it is going to be topic return super.publish(topic, message, precedingEventMetadata, messageOptions); } resolveCreationConfig(eventTarget) { return { ...this.newPublisherOptions, topic: { Name: eventTarget, }, }; } resolveEventTarget(event) { return event.snsTopic; } } //# sourceMappingURL=SnsPublisherManager.js.map