mail/back/db/db.js
2023-03-28 16:57:44 +02:00

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
};