Files
gps-backend/models/LogbookTypesModels.js
2025-05-29 08:59:40 +00:00

144 lines
3.8 KiB
JavaScript
Executable File

// const db = require(`../config/dbMysqlConn`);
const MysqlHelpers = require(`../library/LibMysqlHelper`);
class LogbookTypesModels {
static IS_INACTIVE = 0;
static IS_ACTIVE = 1;
static list(filter = {}) {
return new Promise(async (resolve, reject) => {
let params = [], select = '', where = '', join = '', order_by = '', group_by = '', limit = '';
if (filter['lgb_type_id']) {
where += ' AND lgb_type.id = ?';
params.push(filter['lgb_type_id']);
}
if (filter['is_active']) {
where += ' AND lgb_type.is_active = ?';
params.push(filter['is_active']);
}
if (filter['group_by']) group_by = ' GROUP BY ' + filter['group_by'];
if (filter['order_by']) order_by = ' ORDER BY ' + filter['order_by'];
if (filter['limit']) limit = ' LIMIT ' + filter['limit'];
let query = `SELECT
lgb_type.*,lgb_type.id as lgb_type_id
${select}
FROM t_lgb_types as lgb_type
${join}
WHERE lgb_type.dlt is null
${where}
${group_by}
${order_by}
${limit}
;`;
try {
const conn = await MysqlHelpers.createConnection();
const result = await MysqlHelpers.query(conn, query, params);
await MysqlHelpers.releaseConnection(conn);
resolve(result);
} catch (e) {
reject(e);
}
// db.query(query, params, function (err, resp) {
// if (err) {
// reject(err);
// return false;
// }
// resolve(resp);
// return true;
// });
});
}
static gets() {
return new Promise(async (resolve, reject) => {
let params = [];
let query = 'SELECT * FROM t_lgb_types WHERE dlt is null;';
try {
const conn = await MysqlHelpers.createConnection();
const result = await MysqlHelpers.query(conn, query, params);
await MysqlHelpers.releaseConnection(conn);
resolve(result);
} catch (e) {
reject(e);
}
// db.query(query, params, function (err, resp) {
// if (err) {
// reject(err);
// return false;
// }
// resolve(resp);
// return true;
// });
});
}
static ins(ins = {}) {
return new Promise(async (resolve, reject) => {
try {
const conn = await MysqlHelpers.createConnection();
await MysqlHelpers.createTrx(conn);
let result = undefined;
if (Object.keys(ins).length > 0) result = await MysqlHelpers.queryTrx(conn, `INSERT t_lgb_types SET ?;`, [ins]);
await MysqlHelpers.commit(conn);
resolve({
type: 'success',
result,
})
} catch (err) {
reject(err);
}
})
}
static updt(updt = {}) {
return new Promise(async (resolve, reject) => {
try {
const conn = await MysqlHelpers.createConnection();
await MysqlHelpers.createTrx(conn);
let result = undefined;
if (Object.keys(updt).length > 0) result = await MysqlHelpers.queryTrx(conn, `UPDATE t_lgb_types SET ? WHERE id = ?;`, [updt, updt.id]);
await MysqlHelpers.commit(conn);
resolve({
type: 'success',
result,
})
} catch (err) {
reject(err);
}
})
}
static del(del = {}) {
return new Promise(async (resolve, reject) => {
try {
const conn = await MysqlHelpers.createConnection();
await MysqlHelpers.createTrx(conn);
let result = undefined;
if (Object.keys(del).length > 0) result = await MysqlHelpers.queryTrx(conn, `DELETE t_lgb_types WHERE id = ?;`, [del.id]);
await MysqlHelpers.commit(conn);
resolve({
type: 'success',
result,
})
} catch (err) {
reject(err);
}
})
}
}
module.exports = LogbookTypesModels;