This commit is contained in:
Benjamin Toby
2025-07-06 15:32:28 +01:00
parent 3597b11342
commit b38ddc9f21
50 changed files with 453 additions and 245 deletions
+5 -4
View File
@@ -1,12 +1,13 @@
import { ServerlessMysql } from "serverless-mysql";
import { DSQLErrorObject } from "../../types";
import type { ConnectionConfig, Pool } from "mariadb";
export type ConnDBHandlerQueryObject = {
query: string;
values?: (string | number | undefined)[];
};
type Return<ReturnType = any> = ReturnType | null | {
type Return<ReturnType = any> = ReturnType | ReturnType[] | null | {
error?: string;
errors?: DSQLErrorObject[];
config?: ConnectionConfig;
};
/**
* # Run Query From MySQL Connection
@@ -15,9 +16,9 @@ type Return<ReturnType = any> = ReturnType | null | {
*/
export default function connDbHandler<ReturnType = any>(
/**
* ServerlessMySQL Connection Object
* MariaDB Connection Pool Object
*/
conn?: ServerlessMysql,
connPool?: Pool,
/**
* String Or `ConnDBHandlerQueryObject` Array
*/
+18 -9
View File
@@ -21,9 +21,9 @@ const debug_log_1 = __importDefault(require("../logging/debug-log"));
*/
function connDbHandler(
/**
* ServerlessMySQL Connection Object
* MariaDB Connection Pool Object
*/
conn,
connPool,
/**
* String Or `ConnDBHandlerQueryObject` Array
*/
@@ -35,13 +35,13 @@ values, debug) {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b;
try {
if (!conn)
if (!connPool)
throw new Error("No Connection Found!");
if (!query)
throw new Error("Query String Required!");
let queryErrorArray = [];
if (typeof query == "string") {
const res = yield conn.query(trimQuery(query), values);
const res = yield connPool.query(trimQuery(query), values);
if (debug) {
(0, debug_log_1.default)({
log: res,
@@ -49,7 +49,10 @@ values, debug) {
label: "res",
});
}
return JSON.parse(JSON.stringify(res));
if (Array.isArray(res)) {
return Array.from(res);
}
return res;
}
else if (typeof query == "object") {
const resArray = [];
@@ -59,7 +62,7 @@ values, debug) {
const queryObj = query[i];
currentQueryError.sql = queryObj.query;
currentQueryError.sqlValues = queryObj.values;
const queryObjRes = yield conn.query(trimQuery(queryObj.query), queryObj.values);
const queryObjRes = yield connPool.query(trimQuery(queryObj.query), queryObj.values);
if (debug) {
(0, debug_log_1.default)({
log: queryObjRes,
@@ -67,7 +70,12 @@ values, debug) {
label: "queryObjRes",
});
}
resArray.push(JSON.parse(JSON.stringify(queryObjRes)));
if (Array.isArray(queryObjRes)) {
resArray.push(Array.from(queryObjRes));
}
else {
resArray.push(queryObjRes);
}
}
catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Connection DB Handler Query Error`, error);
@@ -105,13 +113,14 @@ values, debug) {
}
return {
error: `Connection DB Handler Error: ${error.message}`,
// config: conn,
};
}
finally {
conn === null || conn === void 0 ? void 0 : conn.end();
connPool === null || connPool === void 0 ? void 0 : connPool.end();
}
});
}
function trimQuery(query) {
return query.replace(/\n/gm, "").replace(/ {2,}/g, "").trim();
return query.replace(/\n/gm, " ").replace(/ {2,}/g, " ").trim();
}