@message-queue-toolkit/sns
Version:
SNS adapter for message-queue-toolkit
41 lines • 1.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.SnsPublisherManager = void 0;
const core_1 = require("@message-queue-toolkit/core");
const CommonSnsPublisherFactory_1 = require("./CommonSnsPublisherFactory");
class SnsPublisherManager extends core_1.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_1.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;
}
}
exports.SnsPublisherManager = SnsPublisherManager;
//# sourceMappingURL=SnsPublisherManager.js.map
;