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, type, senderId, msisdn, content, status = 1 ) { return new Promise((resolve, reject) => { let data = [ userId, quickMessageId, type, senderId, msisdn, content, status, ]; let query = `Insert into quicks_email_report (user_id, quick_message_id, type, 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], [createQuickMessageReport], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[QUICK EMAIL REPORT], [MODEL], [createQuickMessageReport], [error], [" + err + "]" ); return reject(err); } }); }); }, getQuickMessageReport: function (quickMessageId) { return new Promise((resolve, reject) => { let data = [quickMessageId]; let query = "select id,user_id,quick_message_id,email,content,status from quicks_email_report where quick_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( "[QUICK EMAIL REPORT], [MODEL], [getUserGroupList], [error], [" + err + "]" ); return reject(err); } }); }); }, quickmessageDetails: 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 ,email_sender_id,type,email,content,status,created_at,updated_at from quicks_email_report where user_id= ? and date(created_at) BETWEEN ? and ? and type=? 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 EMAIL REPORT], [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 ,email_sender_id,type from quicks_email_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( "[QUICK EMAIL REPORT], [MODEL], [checkQuickmessageData], [error], [" + err + "]" ); return reject(err); } }); }); }, updateEmailstatus: function (email, status) { return new Promise((resolve, reject) => { let query = "UPDATE quicks_email_report set status=?, updated_at=now() where email=? "; let data = [status, email]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.insertId); } } catch (err) { log.info( `[QUICK Email REPORT], [MODEL], [updateEmailstatus], [error], [${err}]` ); reject(err); } }); }); }, updateEmailcount: function (id) { return new Promise((resolve, reject) => { let query = "UPDATE quicks set success= success+1 , updated_at=now() where id=? "; let data = [id]; pool.query(query, data, (err, results, fields) => { try { if (err) { throw err; } else { return resolve(results.insertId); } } catch (err) { log.info( `[QUICK Email REPORT], [MODEL], [updateEmailstatus], [error], [${err}]` ); reject(err); } }); }); }, // getQuickMessageType: function (quickMessageId) { // return new Promise((resolve, reject) => { // let data = [quickMessageId]; // let query = "select type from quicks 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); // } // }); // }); // }, // getEmailReportByDateRange: 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_email_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); // } // }); // }); // }, };