// const db = require(`../config/dbMysqlConn`); const MysqlHelpers = require(`../library/LibMysqlHelper`); class LogbookKeysModels { static IS_INACTIVE = 0; static IS_ACTIVE = 1; // t_datatypes; static TEXT = 'string'; static NUMBER = 'int'; static IMG_BASE64 = 'img_base64'; static COMMA = 'double'; static list(filter = {}) { return new Promise(async (resolve, reject) => { let params = [], select = '', where = '', join = '', order_by = '', group_by = '', limit = ''; if (filter['lgb_id']) { where += ' AND lgb_key.id = ?'; params.push(filter['lgb_id']); } if (filter['is_active']) { where += ' AND lgb_key.is_active = ?'; params.push(filter['is_active']); } if (filter['join_type']) { select += ',lgb_type.name as type_name'; join += ' LEFT JOIN t_lgb_types as lgb_type ON lgb_key.type = lgb_type.id'; } 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_key.*,lgb_key.id as lgb_id ${select} FROM t_lgb_keys as lgb_key ${join} WHERE lgb_key.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_keys 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_keys 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_keys 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_keys WHERE id = ?;`, [del.id]); await MysqlHelpers.commit(conn); resolve({ type: 'success', result, }) } catch (err) { reject(err); } }) } } module.exports = LogbookKeysModels;