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 = { addquickmessage: function ( userId, message, type, senderId, total, balanceConsumed ) { return new Promise((resolve, reject) => { let query = "insert into quicks (userid, message, sender_id, total, type, balanceConsumed, created_at, updated_at) values(?, ?, ?, ?, ?, ?, now(), now())"; let data = [userId, message, senderId, total, type, balanceConsumed]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.insertId); } } catch (err) { log.info( `[QUICK MESSAGE], [MODEL], [addquickmessage], [error], [${err}]` ); reject(err); } }); }); }, updateQuickMessageFileName: function (fileName, quickMessageId) { return new Promise((resolve, reject) => { let query = "UPDATE quicks set filename=?, updated_at=now() where id=? limit 1"; let data = [fileName, quickMessageId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.insertId); } } catch (err) { log.info( `[QUICK MESSAGE], [MODEL], [updateQuickMessageFileName], [error], [${err}]` ); reject(err); } }); }); }, getQuickMessageAdmin: function (type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s.senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN managesender_ids as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.type=? order by q.id desc"; const data = [type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageAdmin], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickEmailAdmin: function (type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s. emailid as senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN emailSenderIds as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.type=? order by q.id desc"; const data = [type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageAdmin], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickVoiceAdmin: function (type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s.callerid as senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN caller_ids as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.type=? order by q.id desc"; const data = [type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageAdmin], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickMessageUser: function (userId, type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s.senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN managesender_ids as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.userid = ? and q.type=? order by q.id desc"; const data = [userId, type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageUser], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickEmailUser: function (userId, type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s.emailid as senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN emailSenderIds as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.userid = ? and q.type=? order by q.id desc"; const data = [userId, type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageUser], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickVoiceUser: function (userId, type) { return new Promise((resolve, reject) => { let query = "select u.name as userName, s.callerid as senderid, q.id, q.userid, q.message, q.total, q.success, q.filename, q.type, q.status , q.created_at, q.updated_at from quicks as q INNER JOIN caller_ids as s on s.id = q.sender_id INNER JOIN users as u ON u.id=q.userid where q.userid = ?and q.type=? order by q.id desc"; const data = [userId, type]; 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( "[QUICK MESSAGES], [MODEL], [getQuickMessageUser], [error], [" + err + "]" ); return reject(err); } }); }); }, setQuickMessageStatus: function (quickmessageId, status) { return new Promise((resolve, reject) => { const query = "update quicks set status=? where id =? "; let data = [status, quickmessageId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(true); } } catch (err) { log.info( `[CAMPAIGN], [MODEL], [setQuickMessageStatus], [error], [${err}]` ); reject(err); } }); }); }, getQuickTodayCount: function (userId, type) { return new Promise((resolve, reject) => { let query = "select COUNT(*) as total from quicks where date(updated_at) = curdate() and userid = ? and type = ?"; const data = [userId, type]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { if (results.length > 0) return resolve(results[0]); else return resolve(false); } } catch (err) { log.info( "[QUICK MESSAGES], [MODEL], [getQuickTodayCount], [error], [" + err + "]" ); return reject(err); } }); }); }, getSMSReportByDateRange: function (type, startDate, endDate) { return new Promise((resolve, reject) => { let data = [type, startDate, endDate]; let query = "select q.id, q.userid, s.senderid, u.name as userName, q.message, q.status, q.total, q.type, q.success, q.filename, q.balanceConsumed, q.updated_at, q.created_at from quicks as q Inner Join users as u on u.id = q.userid Inner Join managesender_ids as s on s.id = q.sender_id where q.type = ? and date(q.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( "[QUICK MESSAGE], [MODEL], [getSMSReportByDateRange], [error], [" + err + "]" ); return reject(err); } }); }); }, };