120 lines
2.6 KiB
JavaScript
Executable File
120 lines
2.6 KiB
JavaScript
Executable File
const db = require(`../config/dbMysqlConn`);
|
|
|
|
class UsersModels {
|
|
static ROLE_SU = 1; // unused
|
|
static ROLE_SUPERADMIN = 7;
|
|
static ROLE_ADMIN = 2;
|
|
static ROLE_VENDOR = 8;
|
|
static ROLE_CHECKER = 9;
|
|
static ROLE_USER = 3; // unused
|
|
static ROLE_CLIENT_ADMIN = 4;
|
|
static ROLE_CLIENT_STAFF = 5; // unused
|
|
static ROLE_CLIENT_USER = 6; // unused
|
|
static ROLE_SPECIAL_TRACKING = 10;
|
|
static ROLE_FINANCE = 11;
|
|
|
|
static STATUS_ACTIVE = 1;
|
|
static STATUS_NOT_ACTIVE = 2;
|
|
static STATUS_SUSPEND = 3;
|
|
|
|
static CHK_TYPE_PICKUP = 1;
|
|
static CHK_TYPE_DROP = 2;
|
|
|
|
static DEFAULT_UID = 1; // swanusa account
|
|
|
|
static DEFAULT_PHONE_CODE = 62;
|
|
|
|
static async all() {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `SELECT * FROM t_users;`;
|
|
db.query(query, (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async getUsersActiveByRole(role) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `SELECT * FROM t_users WHERE dlt is null AND status = ${UsersModels.STATUS_ACTIVE} AND role = ?;`;
|
|
db.query(query, [role], (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async find(id) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `SELECT * FROM t_users WHERE id = ? LIMIT 1;`;
|
|
db.query(query, [id], (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async findEmail(email) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `SELECT * FROM t_users WHERE email = ? LIMIT 1;`;
|
|
db.query(query, [email], (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async create(data) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `INSERT INTO t_users SET ?;`;
|
|
db.query(query, data, (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async update(data, id) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `UPDATE t_users SET ? WHERE id = ?;`;
|
|
db.query(query, [data, id], (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
|
|
static async delete(id) {
|
|
return new Promise((resolve, reject) => {
|
|
const query = `DELETE FROM t_users WHERE id = ?;`;
|
|
db.query(query, [id], (err, results) => {
|
|
if (err) {
|
|
reject(err);
|
|
return false;
|
|
}
|
|
resolve(results);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = UsersModels;
|