asksuite-core
Version:
33 lines (26 loc) • 843 B
JavaScript
/* eslint-disable n/handle-callback-err */
const handlebars = require('handlebars');
const fs = require('fs');
const path = require('path');
const i18n = require('./util/i18n');
const emailBuilder = {};
emailBuilder.buildTemplateEmail = function (data, language = 'pt') {
const promise = new Promise(function (resolve) {
fs.readFile(
path.join(__dirname, 'email-template/templates/main.hbs'),
'utf-8',
function (error, source) {
handlebars.registerHelper(
'i18n',
(phrase, s1, s2, s3, s4) =>
new handlebars.SafeString(i18n({ phrase, locale: language }, s1, s2, s3, s4)),
);
const template = handlebars.compile(source);
const result = template(data);
resolve(result);
},
);
});
return promise;
};
module.exports = emailBuilder;