content-generator
Version:
Easy template generator to manage and save templates by key and languagecode.
50 lines (36 loc) • 1.08 kB
JavaScript
;
const getTemplateById = require('./getTemplateById');
const checkIfTemplateExist = require('./checkIfTemplateExist');
const nunjucks = require('nunjucks');
const htmlToText = require('html-to-text')
const generateHtml = (json, key, lang, callback) => {
if (!json) {
const errMsg = 'Function is called without a json object';
return callback(errMsg);
}
if (!key) {
const errMsg = 'Function is called without a key';
return callback(errMsg);
}
if (!lang) {
const errMsg = 'Function is called without a language';
return callback(errMsg);
}
checkIfTemplateExist(key, lang, (err, res, id) => {
if (err) {
return callback(err);
}
if (!res) {
return callback('The named template is not famous in system');
}
getTemplateById(id, (err2, res2) => {
if (err2) {
return callback(err2);
}
res2.html = nunjucks.renderString(res2.html, json);
res2.plain = htmlToText.fromString(res2.html);
callback(null, res2);
});
});
};
module.exports = generateHtml;