adonis-mailbuilder
Version:
AdonisJS 5 mailbuilder
25 lines (24 loc) • 1.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MailBuilderManager = void 0;
const mailgen_1 = __importDefault(require("mailgen"));
const lodash_merge_1 = __importDefault(require("lodash.merge"));
class MailBuilderManager {
constructor(config) {
this.config = config;
}
async render(mailInstance, isTest = false) {
const mockData = await mailInstance.getMockData();
mailInstance.data = (0, lodash_merge_1.default)(mailInstance.data, mockData);
const optionsInClass = await mailInstance.options(isTest);
const emailOptions = (0, lodash_merge_1.default)(this.config.mailOption || {}, optionsInClass.option);
const mailGenerator = new mailgen_1.default(emailOptions);
const html = mailGenerator.generate(optionsInClass.content);
const text = mailGenerator.generatePlaintext(optionsInClass.content);
return { html, text };
}
}
exports.MailBuilderManager = MailBuilderManager;