This commit is contained in:
Benjamin Toby
2025-01-14 10:49:37 +01:00
parent 2118a55ab6
commit 0cd3eb418c
19 changed files with 307 additions and 65 deletions
+19 -5
View File
@@ -1,5 +1,6 @@
import fs from "fs";
import serverError from "./serverError";
import mysql from "serverless-mysql";
/**
* # Main DB Handler Function
@@ -12,6 +13,21 @@ export default async function dbHandler(...args: any[]) {
"utf8"
);
const CONNECTION =
global.DSQL_DB_CONN ||
mysql({
config: {
host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME,
password: process.env.DSQL_DB_PASSWORD,
database: process.env.DSQL_DB_NAME,
port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT)
: undefined,
charset: "utf8mb4",
},
});
let results;
/**
@@ -20,10 +36,8 @@ export default async function dbHandler(...args: any[]) {
* @description Fetch data from db if no cache
*/
try {
const connection = global.DSQL_DB_CONN;
results = await new Promise((resolve, reject) => {
connection.query(
CONNECTION.query(
...args,
(error: any, result: any, fields: any) => {
if (error) {
@@ -34,8 +48,6 @@ export default async function dbHandler(...args: any[]) {
}
);
});
await connection.end();
} catch (error: any) {
fs.appendFileSync(
"./.tmp/dbErrorLogs.txt",
@@ -49,6 +61,8 @@ export default async function dbHandler(...args: any[]) {
component: "dbHandler",
message: error.message,
});
} finally {
await CONNECTION?.end();
}
/**