mail/back/db/db.ts
2023-04-01 16:32:29 +02:00

53 lines
1.3 KiB
TypeScript

import mysql from "mysql";
import { logger } from "../system/Logger";
import MYSQL from "./config.json";
// todo remove export
export 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");
}
});
export function execQueryAsync(query, values) {
return new Promise((resolve, reject) => {
db.query(query, values, (err, results, fields) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
}
export function execQueryAsyncWithId(query, values) {
return new Promise((resolve, reject) => {
db.query(query, values, (err, results, fields) => {
if (err) {
reject(err);
} else {
resolve(results.insertId);
}
});
});
}
export function execQuery(query, values) {
db.query(query, values, (err, results, fields) => {
if (err) {
logger.error(err);
throw (err);
}
return results;
});
}