54 lines
1.4 KiB
TypeScript
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.error(`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.error(err);
|
|
throw err;
|
|
}
|
|
return results;
|
|
});
|
|
}
|