/var/www/myprog.com.ua/server/node/db
Edit: /var/www/myprog.com.ua/server/node/db/db_context_var.js (3002B)
const Var = require('../objects/var');
const log = require('../helpers/log');
module.exports = (DbContext) => {
DbContext.prototype.get_var = async function () {
let _self = this;
let t1 = new Date().microtime(true);
let sql = `SELECT * FROM vars
WHERE active='1' AND deleted='0' LIMIT 100000`;
log.debug('DbContext', 'get_var()', `SQL: ${sql}`);
let v = [];
try {
let rows = await _self.query(sql);
for (row of rows) {
v.push(new Var(row));
}
} catch (e) {
log.error('DbContext', 'get_user_var()', e);
}
let t2 = new Date().microtime(true);
log.debug('DbContext', 'get_var()', `complete ${t2 - t1}`);
return v;
}
DbContext.prototype.get_var_by_id = async function (id) {
let t1 = new Date().microtime(true);
let _self = this;
let v = null;
try {
let sql = `SELECT * FROM vars WHERE id='${id}' LIMIT 1`;
log.debug('DbContext', 'get_var_by_id()', `SQL: ${sql}`);
let result = await _self.query(sql);
if (result[0].id > 0) {
v = new Var(result[0]);
}
} catch (e) {
log.error('DbContext', 'get_var_by_id()', e);
}
let t2 = new Date().microtime(true);
log.debug('DbContext', 'get_var_by_id()', `complete ${t2 - t1}`);
return v;
}
DbContext.prototype.get_user_var = async function (user_id) {
let _self = this;
let t1 = new Date().microtime(true);
let sql = `SELECT * FROM vars
WHERE user_id='${user_id}' AND deleted='0' LIMIT 1000`;
log.debug('DbContext', 'get_user_var()', `SQL: ${sql}`);
let v = [];
try {
let rows = await _self.query(sql);
for (row of rows) {
v.push(new Var(row));
}
} catch (e) {
log.error('DbContext', 'get_user_var()', e);
}
let t2 = new Date().microtime(true);
log.debug('DbContext', 'get_user_var()', `complete ${t2 - t1}`);
return v;
}
DbContext.prototype.update_var = async function (v) {
let t1 = new Date().microtime(true);
let _self = this;
//await this.query('START TRANSACTION');
try {
let sql = _self.sql_insert_or_update(v, 'vars');
//log.debug('DbContext', 'update_var()',`SQL: ${sql}`);
let result = await _self.query(sql);
if (result.insertId > 0) {
v.id = result.insertId;
}
//await _self.query('COMMIT');
let t2 = new Date().microtime(true);
//log.debug('DbContext', 'update_var()',`complete ${t2 - t1}`);
return v;
} catch (e) {
log.error('DbContext', 'update_var()',e);
//await _self.query('ROLLBACK');
return null;
}
}
}