mail/back/db/db.ts
2023-04-02 12:59:11 +02:00

54 lines
1.4 KiB
TypeScript

import mysql from "mysql";
import logger from "../system/Logger";
require("dotenv").config();
// todo remove export
export const db = mysql.createConnection({
host: process.env.HOST_DB,
user: process.env.USER_DB,
password: process.env.PASSWORD_DB,
database: 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;
});
}