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 = { createCampaignReport: function ( campaign_id, group_name, userId, firstName, lastname, sender_id, template, msisdn, content ) { return new Promise((resolve, reject) => { let data = [ campaign_id, group_name, userId, firstName, lastname, sender_id, template, msisdn, content, ]; let query = `Insert into campaigns_report ( campaign_id, contact_group, user_id, first_name, last_name, sender_id, template, msisdn, content, created_at, updated_at) values(?, ?,?,?,?, ?, ?, ?, ?, now(), now())`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[CAMPAIGN REPORT], [MODEL], [createCampaignReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[CAMPAIGN REPORT], [MODEL], [createCampaignReport], [error], [" + err + "]" ); return reject(err); } }); }); }, getCampaignReport: function (campaignId) { return new Promise((resolve, reject) => { let query = "SELECT c.first_name,c.last_name,c.campaign_id,cp.name,c.template,c.contact_group AS contactgroup_id,cg.name AS group_name,c.sender_id,c.msisdn,c.content,c.status,c.created_at,c.updated_at,u.id,u.name,u.email FROM campaigns_report AS c INNER JOIN contact_groups AS cg ON c.contact_group = cg.id INNER JOIN campaigns AS cp ON c.campaign_id = cp.id INNER JOIN users AS u ON u.id = cp.user_id WHERE c.campaign_id = ? ORDER BY c.id DESC"; let data = [campaignId]; 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( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, getCampaignType: function (campaignId) { return new Promise((resolve, reject) => { let data = [campaignId]; let query = "select type from campaigns where id= ? "; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { if (results.length > 0) return resolve(results[0].type); else return resolve(0); } } catch (err) { log.info( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, };