mail/back/db/db.ts
2023-04-04 15:13:38 +02:00

53 lines
1.4 KiB
TypeScript

import mysql from "mysql";
import logger from "../system/Logger";
require("dotenv").config();
const db = mysql.createConnection({
host: process.env.HOST_DB,
user: process.env.USER_DB,
password: process.env.PASSWORD_DB,
database: (process.env.NODE_ENV === "test") ? process.env.NAME_DB_TEST : process.env.NAME_DB,
});
db.connect(function (err) {
if (err) {
logger.err(`Unable to connect database ${err.code}`);
} else {
logger.log("Database successfully connected");
}
});
export function execQueryAsync(query: string, values: any[]): Promise<any> {
return new Promise((resolve, reject) => {
db.query(query, values, (err, results, fields) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
}
export function execQueryAsyncWithId(query: string, values: any[]): Promise<number> {
return new Promise((resolve, reject) => {
db.query(query, values, (err, results, fields) => {
if (err) {
reject(err);
} else {
resolve(results.insertId);
}
});
});
}
export function execQuery(query: string, values: any[]) {
db.query(query, values, (err, results, fields) => {
if (err) {
logger.err(err);
throw err;
}
return results;
});
}