@tsc_tech/medusa-plugin-notification-template
Version:
43 lines • 4.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTemplateBodyStep = void 0;
const utils_1 = require("@medusajs/framework/utils");
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const handlebars_1 = __importDefault(require("handlebars"));
exports.getTemplateBodyStep = (0, workflows_sdk_1.createStep)("get-template-body-step", async (input, { container }) => {
const cacheModuleService = container.resolve(utils_1.Modules.CACHE);
const extraData = await cacheModuleService.get("extraData");
const { entityData, notificationTemplate, data } = input;
if (!entityData.length) {
console.warn(`No entity data found for ID: ${data.id}`);
return new workflows_sdk_1.StepResponse();
}
if (!notificationTemplate) {
console.warn(`No notification template found for this event`);
return new workflows_sdk_1.StepResponse();
}
const entityDetails = {
...(entityData[0] && { ...entityData[0] }),
...(extraData && { ...extraData }),
};
const compileAndParseEmails = (template) => {
if (!template)
return [];
return handlebars_1.default.compile(template)(entityDetails)
.split(",")
.map((email) => email.trim())
.filter((email) => email);
};
const templateBody = {
emailBody: handlebars_1.default.compile(notificationTemplate?.template)(entityDetails),
to: compileAndParseEmails(notificationTemplate?.to),
cc: compileAndParseEmails(notificationTemplate?.cc),
bcc: compileAndParseEmails(notificationTemplate?.bcc),
subject: handlebars_1.default.compile(notificationTemplate?.subject)(entityDetails),
};
return new workflows_sdk_1.StepResponse({ templateBody, entityDetails });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbXBsYXRlLWJvZHktc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZ2V0LXRlbXBsYXRlLWJvZHktc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxREFBb0Q7QUFDcEQscUVBQTZFO0FBQzdFLDREQUFvQztBQWtCdkIsUUFBQSxtQkFBbUIsR0FBRyxJQUFBLDBCQUFVLEVBQzNDLHdCQUF3QixFQUN4QixLQUFLLEVBQ0gsS0FBb0IsRUFDcEIsRUFBRSxTQUFTLEVBQUUsRUFZYixFQUFFO0lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxNQUFNLFNBQVMsR0FBK0IsTUFBTSxrQkFBa0IsQ0FBQyxHQUFHLENBQ3hFLFdBQVcsQ0FDWixDQUFDO0lBQ0YsTUFBTSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksNEJBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLDRCQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUc7UUFDcEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7S0FDbkMsQ0FBQztJQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUFpQixFQUFZLEVBQUU7UUFDNUQsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QixPQUFPLG9CQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQzthQUMvQyxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDNUIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUM7SUFFRixNQUFNLFlBQVksR0FBRztRQUNuQixTQUFTLEVBQUUsb0JBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQzNELGFBQWEsQ0FDZDtRQUNELEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDbkQsRUFBRSxFQUFFLHFCQUFxQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQUNuRCxHQUFHLEVBQUUscUJBQXFCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDO1FBQ3JELE9BQU8sRUFBRSxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUM7S0FDMUUsQ0FBQztJQUNGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUNGLENBQUMifQ==