59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
const mysql = require("mysql");
|
|
const { logger } = require("../system/Logger");
|
|
const MYSQL = require("./config.json").mysql;
|
|
|
|
const db = mysql.createConnection({
|
|
host: MYSQL.host,
|
|
user: MYSQL.user,
|
|
password: MYSQL.pwd,
|
|
database: MYSQL.database,
|
|
});
|
|
|
|
db.connect(function (err) {
|
|
if (err) {
|
|
logger.error(`Unable to connect database ${err.code}`);
|
|
} else {
|
|
logger.log("Database successfully connected");
|
|
}
|
|
});
|
|
|
|
function execQueryAsync(query, values) {
|
|
return new Promise((resolve, reject) => {
|
|
db.query(query, values, (err, results, fields) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(results);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function execQueryAsyncWithId(query, values) {
|
|
return new Promise((resolve, reject) => {
|
|
db.query(query, values, (err, results, fields) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(results.insertId);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function execQuery(query, values) {
|
|
db.query(query, values, (err, results, fields) => {
|
|
if (err) {
|
|
logger.err(err);
|
|
throw (err);
|
|
}
|
|
return results;
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
db, // todo remove this
|
|
execQuery,
|
|
execQueryAsync,
|
|
execQueryAsyncWithId
|
|
}; |