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 = { //QuickEmail createEmailCombineReport: function ( userId, campaignId, senderId, email, content, status = 1 ) { return new Promise((resolve, reject) => { let data = [userId, campaignId, senderId, email, content, status]; let query = `Insert into combine_email_reports (user_id, message_id, email_sender_id, email, content, status, created_at, updated_at) values(?, ?, ?, ?, ?, ?,now(), now())`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[QUICK Email REPORT], [MODEL], [createCampaignReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[QUICK Email REPORT], [MODEL], [createCampaignReport], [error], [" + err + "]" ); return reject(err); } }); }); }, //CampignEmail createEmailCampignCombineReport: function ( userId, campaignId, senderId, email, content, status = 1, subject, msisdn ) { return new Promise((resolve, reject) => { let data = [ userId, campaignId, senderId, email, content, status, subject, msisdn, ]; let query = `Insert into combine_email_reports (user_id, campaign_id, email_sender_id, email, content, status, created_at, updated_at,subject, msisdn) values(?, ?, ?, ?, ?, ?,now(), now(),?, ?)`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[CAMPIGN Email REPORT], [MODEL], [createEmailCampignCombineReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[CAMPIGN Email REPORT], [MODEL], [createEmailCampignCombineReport], [error], [" + err + "]" ); return reject(err); } }); }); }, //Custom Email createEmailCustomCombineReport: function ( userId, campaignId, senderId, email, mesaage, status = 1, templateName ) { return new Promise((resolve, reject) => { let data = [ userId, campaignId, senderId, email, mesaage, (status = 1), templateName, ]; let query = `Insert into combine_email_reports (user_id, campaign_id, email_sender_id, email, content, status, created_at, updated_at,template_name) values(?, ?, ?, ?, ?, ?,now(), now(),?)`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[CAMPIGN Email REPORT], [MODEL], [createEmailCampignCombineReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[CAMPIGN Email REPORT], [MODEL], [createEmailCampignCombineReport], [error], [" + err + "]" ); return reject(err); } }); }); }, getEmailReportByDateRange: function (type, startDate, endDate) { return new Promise((resolve, reject) => { let data = [type, startDate, endDate]; let query = "select ce.id, ce.user_id, ce.email as userEmail, ce.email_sender_id as sender_id, u.name , u.phone as msisdn, ce.content, ce.status, ce.updated_at, ce.created_at, ce.unicode, ce.message_id from combine_email_reports as ce Left Join users as u on u.id = ce.user_id where date(ce.created_at) BETWEEN ? and ? order by id desc"; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { if (results.length > 0) return resolve(results); else return resolve(false); } } catch (err) { log.info( "[COMBINE Email REPORT], [MODEL], [getEmailReportByDateRange], [error], [" + err + "]" ); return reject(err); } }); }); }, };