Update .gitignore, add dist directory
This commit is contained in:
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
import grabMariaDBClient from "../functions/grab-mariadb-client";
|
||||
/**
|
||||
* Resolve a shared MariaDB client. Prefer the global client so schema sync
|
||||
* and CRUD do not open a new connection per query.
|
||||
*/
|
||||
function resolveClient(config) {
|
||||
const resolvedConfig = config || global.CONFIG;
|
||||
// Same database as the global client → reuse it
|
||||
if (global.MARIADB_CLIENT &&
|
||||
(!resolvedConfig?.db_name ||
|
||||
!global.CONFIG?.db_name ||
|
||||
resolvedConfig.db_name === global.CONFIG.db_name)) {
|
||||
return global.MARIADB_CLIENT;
|
||||
}
|
||||
if (resolvedConfig) {
|
||||
return grabMariaDBClient({ config: resolvedConfig });
|
||||
}
|
||||
return global.MARIADB_CLIENT;
|
||||
}
|
||||
/**
|
||||
* # Main DB Handler Function
|
||||
*/
|
||||
export default async function dbHandler({ query, values, config }) {
|
||||
try {
|
||||
const CLIENT = resolveClient(config);
|
||||
if (!CLIENT) {
|
||||
throw new Error(`Couldn't grab MariaDB Client.`);
|
||||
}
|
||||
const res = await CLIENT.unsafe(query, values);
|
||||
const count = res.count;
|
||||
const res_array = (() => {
|
||||
try {
|
||||
return JSON.parse(JSON.stringify(res));
|
||||
}
|
||||
catch (error) {
|
||||
return undefined;
|
||||
}
|
||||
})();
|
||||
const last_insert_id = res_array?.[0] ? res_array[0]?.id : undefined;
|
||||
const affected_rows = res_array?.[0] ? res_array.length : undefined;
|
||||
const insert_return = {
|
||||
count,
|
||||
last_insert_id,
|
||||
affected_rows,
|
||||
};
|
||||
return {
|
||||
success: true,
|
||||
payload: res_array,
|
||||
single_res: res_array?.[0],
|
||||
insert_return,
|
||||
count,
|
||||
};
|
||||
}
|
||||
catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: "DB Handler Error => " + error.message,
|
||||
msg: "DB Handler Error => " + error.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user