@zimpligital/medusa-plugin-auth-otp
Version:
A starter for Medusa plugins.
44 lines • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("@medusajs/framework/utils");
const client_sns_1 = require("@aws-sdk/client-sns");
class AwsSnsNotificationProviderService extends utils_1.AbstractNotificationProviderService {
constructor({ logger }, options) {
super();
this.logger_ = logger;
this.options_ = options;
this.client = new client_sns_1.SNSClient({
region: options.awsSNSRegion,
credentials: {
accessKeyId: options.awsSNSAccessKeyId,
secretAccessKey: options.awsSNSAccessKeySecret,
},
});
}
static validateOptions(options) {
if (!options.awsSNSAccessKeyId) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "awsSNSAccessKeyId is required in the provider's options.");
}
if (!options.awsSNSAccessKeySecret) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "awsSNSAccessKeySecret is required in the provider's options.");
}
if (!options.awsSNSRegion) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "awsSNSRegion is required in the provider's options.");
}
}
async send(notification) {
const { to, content } = notification;
const command = new client_sns_1.PublishCommand({
Subject: content?.subject,
Message: content?.text,
PhoneNumber: to,
});
const snsResult = await this.client.send(command);
return {
id: snsResult.MessageId,
};
}
}
AwsSnsNotificationProviderService.identifier = "aws-sns";
exports.default = AwsSnsNotificationProviderService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvYXdzLXNucy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0EscURBR21DO0FBQ25DLG9EQUFnRTtBQUdoRSxNQUFNLGlDQUFrQyxTQUFRLDJDQUFtQztJQU1sRixZQUFZLEVBQUUsTUFBTSxFQUF3QixFQUFFLE9BQWdCO1FBQzdELEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHNCQUFTLENBQUM7WUFDM0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQzVCLFdBQVcsRUFBRTtnQkFDWixXQUFXLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtnQkFDdEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7YUFDOUM7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFnQztRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLG1CQUFXLENBQ3BCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMERBQTBELENBQzFELENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxtQkFBVyxDQUNwQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDhEQUE4RCxDQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLG1CQUFXLENBQ3BCLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIscURBQXFELENBQ3JELENBQUM7UUFDSCxDQUFDO0lBQ0YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQ1QsWUFBeUM7UUFFekMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFFckMsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBYyxDQUFDO1lBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztZQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUk7WUFDdEIsV0FBVyxFQUFFLEVBQUU7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELE9BQU87WUFDTixFQUFFLEVBQUUsU0FBUyxDQUFDLFNBQVM7U0FDdkIsQ0FBQztJQUNILENBQUM7O0FBM0RNLDRDQUFVLEdBQUcsU0FBUyxDQUFDO0FBOEQvQixrQkFBZSxpQ0FBaUMsQ0FBQyJ9