Initial commit
This commit is contained in:
295
models/DriversModels.js
Normal file
295
models/DriversModels.js
Normal file
@ -0,0 +1,295 @@
|
||||
const db = require(`../config/dbMysqlConn`);
|
||||
const MysqlHelpers = require(`../library/LibMysqlHelper`);
|
||||
|
||||
class DriversModels {
|
||||
|
||||
static DEFAULT_PHONE_CODE = 62;
|
||||
|
||||
// t_drivers
|
||||
static IS_INACTIVE = 0;
|
||||
static IS_ACTIVE = 1;
|
||||
|
||||
static IN_ORD_YES = 1;
|
||||
static IN_ORD_NO = 2;
|
||||
|
||||
// t_phone_devices
|
||||
static IS_LOGOUT = 0;
|
||||
static IS_LOGIN = 1;
|
||||
|
||||
// start t_drivers
|
||||
static all() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_drivers;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static find(id) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_drivers WHERE id = ? LIMIT 1;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query, [id]);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, [id], (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static findPhone(phone) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_drivers WHERE dlt is null AND phone = ? LIMIT 1;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query, [phone]);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, [phone], (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static create(data) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `INSERT INTO t_drivers SET ?;`;
|
||||
db.query(query, data, (err, results) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
resolve(results);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static update(data, id) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `UPDATE t_drivers SET ? WHERE id = ?;`;
|
||||
db.query(query, [data, id], (err, results) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
resolve(results);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static delete(id) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `DELETE FROM t_drivers WHERE id = ?;`;
|
||||
db.query(query, [id], (err, results) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
resolve(results);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static bundleUpdtOrdDrvVhc (updtDrv = {}, updtVhc = {}) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
await MysqlHelpers.createTrx(conn);
|
||||
|
||||
let result = undefined;
|
||||
|
||||
if (Object.keys(updtDrv).length > 0) result = await MysqlHelpers.queryTrx(conn, `UPDATE t_drivers SET ? WHERE id = ?;`, [updtDrv, updtDrv.id]);
|
||||
if (Object.keys(updtVhc).length > 0) result = await MysqlHelpers.queryTrx(conn, `UPDATE t_vehicles SET ? WHERE id = ?;`, [updtVhc, updtVhc.id]);
|
||||
|
||||
await MysqlHelpers.commit(conn);
|
||||
|
||||
resolve({
|
||||
type: 'success',
|
||||
result,
|
||||
})
|
||||
} catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
})
|
||||
}
|
||||
// end t_drivers
|
||||
|
||||
// start t_phone_devices
|
||||
static getDeviceByDid(did) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_phone_devices WHERE dlt is null AND did = ? LIMIT 1;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query, [did]);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, [did], (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static getDeviceByImei(device_id) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_phone_devices WHERE dlt is null AND device_id = ? LIMIT 1;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query, [device_id]);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, [device_id], (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static getDriversLogin(is_login) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `SELECT * FROM t_phone_devices WHERE dlt is null AND is_login = ?;`;
|
||||
try {
|
||||
const conn = await MysqlHelpers.createConnection();
|
||||
const result = await MysqlHelpers.query(conn, query, [is_login]);
|
||||
await MysqlHelpers.releaseConnection(conn);
|
||||
resolve(result);
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
// db.query(query, [device_id], (err, results) => {
|
||||
// if (err) {
|
||||
// reject(err);
|
||||
// return false;
|
||||
// }
|
||||
// resolve(results);
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
static insPhoneDevice(data) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `INSERT INTO t_phone_devices SET ?;`;
|
||||
db.getConnection(function (err, conn) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
|
||||
conn.beginTransaction(async function (err) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
conn.query(query, data, function (err, resp) {
|
||||
if (err) {
|
||||
conn.rollback(async function () {
|
||||
conn.release();
|
||||
reject(err.message);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
// Number(resp.insertId);
|
||||
conn.commit(async function (err) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
conn.release();
|
||||
resolve(resp);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static updtPhoneDevice(data, id) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const query = `UPDATE t_phone_devices SET ? WHERE id = ?;`;
|
||||
db.getConnection(function (err, conn) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
|
||||
conn.beginTransaction(async function (err) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
conn.query(query, [data, id], function (err, resp) {
|
||||
if (err) {
|
||||
conn.rollback(async function () {
|
||||
conn.release();
|
||||
reject(err.message);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
conn.commit(async function (err) {
|
||||
if (err) {
|
||||
conn.release();
|
||||
reject(err);
|
||||
return false;
|
||||
}
|
||||
conn.release();
|
||||
resolve(resp);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
// end t_phone_devices
|
||||
}
|
||||
|
||||
module.exports = DriversModels;
|
||||
Reference in New Issue
Block a user