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 = { getSenderIds: function (userId, startDate, endDate) { return new Promise((resolve, reject) => { let query = "select id, sender_id,approved_by,status,reason,created_at from sender_id where user_id = ? and date(created_at) BETWEEN ? and ? order by id desc"; const data = [userId, startDate, endDate]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results); } } catch (err) { log.info( "[SENDER ID], [MODEL], [getSenderIds], [error], [" + err + "]" ); return reject(err); } }); }); }, getApprovedSenderIds: function (userId) { return new Promise((resolve, reject) => { let query = "select id, sender_id from sender_id where user_id = ? and status = 2 order by id desc"; const data = [userId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results); } } catch (err) { log.info( "[SENDER ID], [MODEL], [getApprovedSenderIds], [error], [" + err + "]" ); return reject(err); } }); }); }, getSenderIdById: function (id) { return new Promise((resolve, reject) => { let query = "select id, sender_id from sender_id where id = ? order by id desc"; const data = [id]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results[0]); } else { return resolve(false); } } } catch (err) { log.info( "[SENDER ID], [MODEL], [getSenderIdById], [error], [" + err + "]" ); return reject(err); } }); }); }, getPendingSenderIdCount: function () { return new Promise((resolve, reject) => { let query = "select count(*) as total from sender_id where status=1"; pool.query(query, (err, results, fields) => { try { if (err) { throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results[0]); } else { return resolve(false); } } } catch (err) { log.info( "[SENDER ID], [MODEL], [getPendingSenderIdCount], [error], [" + err + "]" ); return reject(err); } }); }); }, allSmsSenderNamesSearchBySenderName: function (searchValue, userId) { return new Promise((resolve, reject) => { let query = "select u.name as userName , s.id, s.user_id, s.sender_id, s.approved_by, s.status, s.reason, s.created_at ,s.updated_at from sender_id as s INNER JOIN users as u on u.id = s.user_id where s.sender_id like ? and u.id = ? order by s.updated_at desc"; let data = [`%${searchValue}%`, userId]; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [allSmsSenderNamesSearchBySenderName], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [allSmsSenderNamesSearchBySenderName], [error], [" + err + "]" ); return reject(err); } }); }); }, adminAllSmsSenderNamesSearchBySenderName: function (searchValue, userId) { return new Promise((resolve, reject) => { let query = "select u.name as userName , s.id, s.user_id, s.sender_id, s.approved_by, s.status, s.reason, s.created_at ,s.updated_at from sender_id as s INNER JOIN users as u on u.id = s.user_id where s.status != 1 and s.status!= 4 and s.sender_id like ? order by s.updated_at desc"; let data = [`%${searchValue}%`]; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [allSmsSenderNamesSearchBySenderName], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [allSmsSenderNamesSearchBySenderName], [error], [" + err + "]" ); return reject(err); } }); }); }, allSmsSenderNamesSearchByUserName: function (searchValue) { return new Promise((resolve, reject) => { let query = "select u.name as userName , s.id, s.user_id, s.sender_id, s.approved_by, s.status, s.type, s.reason,s.created_at ,s.updated_at from sender_id as s INNER JOIN users as u on u.id = s.user_id where s.status!= 1 and s.type=1 and s.status!= 4 and u.name like ? order by s.updated_at desc"; let data = [`${searchValue}%`]; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [allSmsSenderNamesSearchByUserName], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [allEmailSenderNamesSearchByUserName], [error], [" + err + "]" ); return reject(err); } }); }); }, allsmsSenderIds: function (startDate, endDate) { return new Promise((resolve, reject) => { let query = "select u.name as userName , s.id, s.user_id, s.sender_id, s.approved_by, s.requested_by,s.type, s.status, s. reason,s.created_at ,s.updated_at from sender_id as s INNER JOIN users as u on u.id = s.user_id where s.status!= 1 and s.type=1 and s.status!= 4 and date(s.created_at) BETWEEN ? and ? order by s.updated_at desc"; let data = [startDate, endDate]; //console.log(query); pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [allsmsSenderIds], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [allsmsSenderIds], [error], [" + err + "]" ); return reject(err); } }); }); }, allRquestforSmsSenderIds: function () { return new Promise((resolve, reject) => { let data = []; let query = "select u.name as userName ,u.email as email,u.phone as phone, s.id, s.user_id, s.sender_id, s.type, s.approved_by, s.status, s. reason,s.created_at ,s.updated_at from sender_id as s INNER JOIN users as u on u.id = s.user_id where s.status= 1 and s.type=1 order by s.updated_at desc"; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [allRquestforSmsSenderIds], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [allRquestforSmsSenderIds], [error], [" + err + "]" ); return reject(err); } }); }); }, issmssenderIdExist: function (smsSenderId) { return new Promise((resolve, reject) => { let query = "select id, sender_id from sender_id where sender_id = ? and status !=3 and type=1 "; const data = [smsSenderId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results[0]); } else { return resolve(false); } } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [issmssenderIdExist], [error], [" + err + "]" ); return reject(err); } }); }); }, addSmsSenderId(smsSenderId, userId) { return new Promise((resolve, reject) => { let data = [userId, smsSenderId, userId, 1, 1]; let query = `Insert into sender_id (user_id, sender_id, requested_by, status,created_at,updated_at,type) values( ?, ?, ?, ?,now(),now(),?)`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [addSmsSenderId], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [addSmsSenderId], [error], [" + err + "]" ); return reject(err); } }); }); }, addsmsSenderIdApprove: function (action, userId, smsSenderId) { return new Promise((resolve, reject) => { let query = "Update sender_id set status=?, updated_at=now(), approved_by=? where id=? "; const data = [action, userId, smsSenderId]; pool.query(query, data, (err, results, fields) => { if (err) { log.info( "[SMS SENDER ID], [MODEL], [addsmsSenderIdApprove], [error], [" + err + "]" ); return reject(err); } else { resolve(true); } }); }); }, addSmsSenderIdDecline: function (action, userId, reson, smsSenderId) { return new Promise((resolve, reject) => { let query = "Update sender_id set status=?, updated_at=now(), approved_by=?, reason=? where id=? "; const data = [action, userId, reson, smsSenderId]; pool.query(query, data, (err, results, fields) => { if (err) { log.info( "[SMS SENDER ID], [MODEL], [addSmsSenderIdDecline], [error], [" + err + "]" ); return reject(err); } else { resolve(true); } }); }); }, getsenderdetail: function (smsSenderId) { return new Promise((resolve, reject) => { let query = "select s.user_id,s.sender_id ,u.email, u.name, u.phone from sender_id as s Inner Join users as u on u.id = s.user_id where s.id=? order by s.id desc"; const data = [smsSenderId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results[0]); } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [getsenderdetail], [error], [" + err + "]" ); return reject(err); } }); }); }, adminAddSmsSenderId(smsSenderId, userId, foruser) { return new Promise((resolve, reject) => { let data = [foruser, smsSenderId, userId, userId, 2, 1]; let query = `Insert into sender_id (user_id, sender_id, requested_by,approved_by, status,created_at,updated_at,type) values( ?, ?, ?, ?,?,now(),now(),?)`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[SMS SENDER ID], [MODEL], [adminAddSmsSenderId], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[SMS SENDER ID], [MODEL], [adminAddSmsSenderId], [error], [" + err + "]" ); return reject(err); } }); }); }, deleteSmsSenderId: function (rowId) { return new Promise((resolve, reject) => { let query = "delete from sender_id where id =?"; let data = [rowId]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(true); } } catch (err) { log.info( `[EMAIL ID], [MODEL], [deleteEmailSenderId], [error], [${err}]` ); reject(err); } }); }); }, editSmsSenderId: function (smsSenderId, rowId) { return new Promise((resolve, reject) => { let query = "Update sender_id set sender_id=?, updated_at=now() where id=? "; const data = [smsSenderId, rowId]; pool.query(query, data, (err, results, fields) => { if (err) { log.info( "[SMS SENDER ID], [MODEL], [editSmsSenderId], [error], [" + err + "]" ); return reject(err); } else { resolve(true); } }); }); }, };