PK!A7��nvar sql = require("mysql"); var pool = require("../db"); const opts = { errorEventName: "error", logDirectory: "logs", fileNamePattern: "log-.log", dateFormat: "YYYY-MM-DD", }; const log = require("simple-node-logger").createRollingFileLogger(opts); module.exports = { getUserEmailTemplates: function (userId) { return new Promise((resolve, reject) => { let query = "select id, user_id, name, merge_fields, data, status, created_at, updated_at from email_templates where user_id = ? order by id desc "; const data = [userId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { let numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[EMAIL TEMPLATES], [MODEL], [getUserSmsTemplates], [error], [" + err + "]" ); return reject(err); } }); }); }, getUserActiveEmailTemplates: function (userId) { return new Promise((resolve, reject) => { let query = "select id, name, data from email_templates where user_id = ? and status = 1 order by id desc "; const data = [userId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { let numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[Email TEMPLATES], [MODEL], [getUserActiveEmailTemplates], [error], [" + err + "]" ); return reject(err); } }); }); }, checkTemplateName: function (name) { return new Promise((resolve, reject) => { let query = "select id, user_id from email_templates where name = ?; "; const data = [name]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { let numRows = results.length; if (numRows > 0) { return resolve(true); } else { return resolve(false); } } } catch (err) { log.info( "[Email TEMPLATES], [MODEL], [checkTemplateName], [error], [" + err + "]" ); return reject(err); } }); }); }, addEmailTemplateDB: function (userId, name, mergeFields, message) { return new Promise((resolve, reject) => { let query = "insert into email_templates (user_id, name, merge_fields, data, status, created_at, updated_at) values(?, ?, ?, ?, ?, now(), now());"; let data = [userId, name, mergeFields, message, 1]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.insertId); } } catch (err) { log.info( `[EMAIL TEMPLATES], [MODEL], [addEmailTemplateDB], [error], [${err}]` ); reject(err); } }); }); }, editEmailTemplateDB: function (userId, id, name, mergeFields, message, status) { return new Promise((resolve, reject) => { const query = "Update email_templates set name=?, merge_fields=?, data=?, status=?, updated_at = now() where user_id=? and id = ?; "; let data = [name, mergeFields, message, status, userId, id]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(true); } } catch (err) { log.info( `[EMAIL TEMPLATES], [MODEL], [editEmailTemplateDB], [error], [${err}]` ); reject(err); } }); }); }, getTemplateById: function (id) { return new Promise((resolve, reject) => { let query = "select id, user_id, name, merge_fields, data, status, created_at, updated_at from email_templates where id = ? order by id desc "; const data = [id]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { let numRows = results.length; if (numRows > 0) { return resolve(results[0]); } else { return resolve(false); } } } catch (err) { log.info( "[SMS TEMPLATES], [MODEL], [getUserSmsTemplates], [error], [" + err + "]" ); return reject(err); } }); }); }, };