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, }; } }