Initial commit

This commit is contained in:
meusinfirmary
2025-04-22 14:31:37 +07:00
commit b7e852126c
115 changed files with 23188 additions and 0 deletions

295
models/DriversModels.js Normal file
View 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;