Edit File: helper.js
'user strict'; /** * mysql queries helper functions */ const DB = require('./db'); // const fs = require('fs'); class Helper { constructor(app) { this.db = DB; } // insert message of room and update by last_message_id insertMessageAndUpdateRoom(data) { try{ console.log("data",data) // obj need ==> { room_id - sender_id - sender_type - type - body - duration - created_at return new Promise(function (resolve, reject) { DB.query('INSERT INTO room_messages SET ?', data).then((results,error) => { // update room last_message_id and date // DB.query('UPDATE rooms SET ? WHERE id = ?', [{last_message_id:results.insertId,updated_at:new Date()},data.room_id]); // return result resolve(results.insertId); }); }); } catch (error) { console.log(error); return null; } } // find all row of table room_members findAllMemberInRoom(sender_id){ try{ return new Promise(function (resolve, reject) { DB.query("SELECT name,avatar From users Where room_id = "+ sender_id).then((members,error) =>{ return resolve(members); }) }); } catch (error) { console.log(error); return null; } } // insert row of table message_notifications insertMessageNotifications(data,message_id,member,is_sender,is_seen){ try{ return new Promise(function (resolve, reject) { DB.query('INSERT INTO message_notifications SET ?', {room_id: data.room_id,message_id: message_id,userable_type:member.memberable_type,userable_id:member.memberable_id,is_flagged:0,is_sender:is_sender,is_seen:is_seen,created_at:new Date()}); }); } catch (error) { console.log(error); return null; } } //updateLocations updateLocations(data){ try{ return new Promise(function (resolve, reject) { DB.query('UPDATE users SET ? WHERE id = ?', [{lat:data.lat,long:data.lng},data.user_id], function (error, results, fields) { return resolve(results); }); }); } catch (error) { console.log(error); return null; } } //getDelegateOrder getDelegateOrder(user_id){ try{ return new Promise(function (resolve, reject) { DB.query('SELECT user_id From orders Where delegate_id = '+user_id+' AND status = "inprogress" ', function (err, results) { return resolve(results); }); }); } catch (error) { console.log(error); return null; } } // get any table data get(id, table, columnName){ try{ return new Promise(function (resolve, reject) { var query = `SELECT * FROM ${table} WHERE ${table}.${columnName ? columnName : 'id'} = ${id}`; DB.query(query, function (error, rows, fields) { resolve(rows); }); }); } catch (error) { console.log(error); return null; } } //update any table update(id, table, attributes){ try{ for (let [key, value] of Object.entries(attributes)) { console.log(value,typeof value) DB.query(`UPDATE ${table} SET ${key}=${value} WHERE id =${id}`, function (error, results) { console.log(error,results) }); } } catch (error) { console.log(error); return null; } } //find any table find(id, table){ try{ return new Promise(function (resolve, reject) { DB.query(`SELECT * FROM ${table} WHERE ${table}.id= ${id} `, function (error, results) { resolve(results[0]); }); }); } catch (error) { console.log(error); return null; } } } module.exports = new Helper();
Back to File Manager