53 lines
1.4 KiB
TypeScript
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;
|
|
});
|
|
}
|