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 = { checkAccountBal: function (userId) { return new Promise((resolve, reject) => { let data = [userId]; let query = "select id, sms from account_credits where user_id = ?"; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [checkAccountBal], [error], [" + err + "]" ); throw err; } else { var numRows = results.length; if (numRows > 0) { return resolve(results[0]); } else { return resolve(false); } } } catch (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [checkAccountBal], [error], [" + err + "]" ); return reject(err); } }); }); }, deductBalance: function (userId, remainingBalance, type) { return new Promise((resolve, reject) => { let data = [remainingBalance, userId]; let query = `update account_credits set ${type} = ? where user_id = ?`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [deductBalance], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [deductBalance], [error], [" + err + "]" ); return reject(err); } }); }); }, addBalance: function (userId, remainingBalance, type) { return new Promise((resolve, reject) => { let data = [remainingBalance, userId]; let query = `update account_credits set ${type} = ? where user_id = ?`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [addBalance], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [addBalance], [error], [" + err + "]" ); return reject(err); } }); }); }, addUserCredits: function (userId, credit, type) { return new Promise((resolve, reject) => { let data = [credit, userId]; let query = `update account_credits set ${type} = ${type}+? where user_id = ?`; pool.query(query, data, (err, results, fields) => { try { if (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [addUserCredits], [error], [" + err + "]" ); throw err; } else { return resolve(true); } } catch (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [addUserCredits], [error], [" + err + "]" ); return reject(err); } }); }); }, addCredits: function (id, sms, voice, email) { return new Promise((resolve, reject) => { let data = [sms, voice, email, id]; let query = `update account_credits set sms = ?, voice = ?, email = ? where user_id = ?`; pool.query(query, data, (err, results, fields) => { try { if (err) throw err; else return resolve(true); } catch (err) { log.info( "[ACCOUNT CREDITS], [MODEL], [addCredits], [error], [" + err + "]" ); return reject(err); } }); }); }, };