content-generator
Version:
Easy template generator to manage and save templates by key and languagecode.
54 lines (38 loc) • 1.25 kB
JavaScript
;
const mdbhandler = require('mongodb-handler');
const processenv = require('processenv');
const checkIfTemplateExist = require('./checkIfTemplateExist');
const collection = processenv('CTM_COLLECTION') || 'CM_Templates';
const createTemplate = (obj, callback) => {
if (!obj.html) {
const errMsg = 'Function is called without html content';
return callback(errMsg);
}
if (!obj.key) {
const errMsg = 'Function is called without templatekey';
return callback(errMsg);
}
if (!obj.lang) {
const errMsg = 'Function is called without language';
return callback(errMsg);
}
if (!obj.subject) {
const errMsg = 'Function is called without subject';
return callback(errMsg);
}
checkIfTemplateExist(obj.key, obj.lang, (err, res) => {
if (err) {
return callback(err);
}
if (res) {
return callback('A template with this key and language combination already exist in the system');
}
mdbhandler.insert({ collection, doc: { html: obj.html, subject: obj.subject, lang: obj.lang, key: obj.key }}, (err2, res2) => {
if (err2) {
return callback(err2);
}
callback(null, res2.ops[0]._id);
});
});
};
module.exports = createTemplate;