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 = { createQuickMessageReport: function ( userId, quickMessageId, senderId, msisdn, content, status = 1 ) { return new Promise((resolve, reject) => { let data = [ userId, quickMessageId, senderId, msisdn, content, status, ]; let query = `Insert into sms_report (user_id, message_id, sender_id, msisdn, content, status, created_at, updated_at) values( ?, ?, ?, ?, ?, ?, now(), now())`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[QUICK MESSAGE REPORT], [MODEL], [createQuickMessageReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[QUICK MESSAGE REPORT], [MODEL], [createQuickMessageReport], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickMessageReport: function (quickMessageId) { return new Promise((resolve, reject) => { let data = [quickMessageId]; let query = "select * from sms_report where message_id= ? 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( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, quickmessageDetails: function (userId, startDate, endDate) { return new Promise((resolve, reject) => { let data = [userId, startDate, endDate]; let query = "select qr.id, qr.user_id , qr.message_id ,qr.sender_id,s.sender_id as senderName,qr.msisdn,qr.content,qr.status,qr.type,qr.created_at,qr.updated_at from quick_report as qr INNER JOIN sender_id as s on qr.sender_id = s.id where qr.user_id= ? and date(qr.created_at) BETWEEN ? and ? order by qr.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( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, quickmessageDetailsBoth: function (userId, startDate, endDate,) { return new Promise((resolve, reject) => { let data = [userId, startDate, endDate]; let query = "select qr.id, qr.user_id , qr.message_id ,qr.sender_id,s.sender_id as senderName,qr.msisdn,qr.content,qr.status,qr.type,qr.created_at,qr.updated_at from quick_report as qr INNER JOIN sender_id as s on qr.sender_id = s.id where qr.user_id= ? and date(qr.created_at) BETWEEN ? and ? and qr.type='1'and qr.type='2' order by qr.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( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, checkQuickmessageData: function (userId, startDate, endDate, type) { return new Promise((resolve, reject) => { let data = [userId, startDate, endDate, type]; let query = "select id, user_id , quick_message_id ,type,msisdn from quicks_report where user_id= ? and date(created_at) BETWEEN ? and ? and type=? order by id desc limit 2"; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.length); } } catch (err) { log.info( "[CONTACT GROUP], [MODEL], [checkQuickmessageData], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickMessageType: function (quickMessageId) { return new Promise((resolve, reject) => { let data = [quickMessageId]; let query = "select * from sms_report 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); } }); }); }, getSmsReportByDateRange: function (startDate, endDate) { return new Promise((resolve, reject) => { let data = [startDate, endDate]; let query = "select q.id, q.user_id, u.name, q.quick_message_id, q.sender_id, q.type, q.msisdn, q.content, q.status, q.created_at, q.updated_at from quicks_report as q Inner Join users as u on u.id = q.user_id where date(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( "[CONTACT GROUP], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, };