bun-mariadb/dist/lib/db-handler.js

47 lines
1.3 KiB
JavaScript

import grabDBConnection from "./grab-db-connection";
/**
* # Main DB Handler Function
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
*/
export default async function dbHandler({ query, values, noErrorLogs, database, config, }) {
let CONNECTION;
let results = null;
try {
CONNECTION = await grabDBConnection({ database, config });
if (query && values) {
const queryResults = await CONNECTION.query(query, values);
results = queryResults[0];
}
else {
const queryResults = await CONNECTION.query(query);
results = queryResults[0];
}
}
catch (error) {
if (error.message &&
typeof error.message == "string" &&
error.message.match(/Access denied for user.*password/i)) {
throw new Error("Authentication Failed!");
}
if (!noErrorLogs) {
console.log(error);
}
results = null;
}
finally {
await CONNECTION?.end();
}
if (results) {
return {
success: true,
payload: Array.isArray(results) ? results : undefined,
single_res: Array.isArray(results) ? undefined : results,
};
}
else {
return {
success: false,
};
}
}