dsql-admin/dsql-app/package-shared/utils/backend/global-db/DSQL_USER_DB_HANDLER.ts

136 lines
4.3 KiB
TypeScript
Raw Normal View History

2025-01-13 08:00:21 +00:00
import connDbHandler from "../../db/conn-db-handler";
type Param = {
paradigm: "Full Access" | "FA" | "Read Only";
queryString: string;
queryValues?: string[];
};
/**
* # DSQL user read-only DB handler
*/
export default async function DSQL_USER_DB_HANDLER({
paradigm,
queryString,
queryValues,
}: Param) {
try {
switch (paradigm) {
case "Read Only":
return await connDbHandler(
global.DSQL_READ_ONLY_DB_CONN,
queryString,
queryValues
);
case "Full Access":
return await connDbHandler(
global.DSQL_FULL_ACCESS_DB_CONN,
queryString,
queryValues
);
case "FA":
return await connDbHandler(
global.DSQL_FULL_ACCESS_DB_CONN,
queryString,
queryValues
);
default:
return null;
}
} catch (error: any) {
console.log(`DSQL_USER_DB_HANDLER Error: ${error.message}`);
return null;
}
// try {
// return new Promise((resolve, reject) => {
// const fullAccess = paradigm?.match(/full.access|^fa$/i)
// ? true
// : false;
// try {
// if (fullAccess) {
// DSQL_USER = mysql({
// config: {
// host: process.env.DSQL_DB_HOST,
// user: process.env.DSQL_DB_FULL_ACCESS_USERNAME,
// password: process.env.DSQL_DB_FULL_ACCESS_PASSWORD,
// database: database,
// ssl: grabDbSSL(),
// },
// });
// } else {
// DSQL_USER = mysql({
// config: {
// host: process.env.DSQL_DB_HOST,
// user: process.env.DSQL_DB_READ_ONLY_USERNAME,
// password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
// database: database,
// ssl: grabDbSSL(),
// },
// });
// }
// /**
// * ### Run query Function
// * @param {any} results
// */
// function runQuery(results: any) {
// DSQL_USER.end();
// resolve(JSON.parse(JSON.stringify(results)));
// }
// /**
// * ### Query Error
// * @param {any} err
// */
// function queryError(err: any) {
// DSQL_USER.end();
// resolve({
// error: err.message,
// queryStringGenerated: queryString,
// queryValuesGenerated: queryValues,
// sql: err.sql,
// });
// }
// if (
// queryValues &&
// Array.isArray(queryValues) &&
// queryValues[0]
// ) {
// DSQL_USER.query(queryString, queryValues)
// .then(runQuery)
// .catch(queryError);
// } else {
// DSQL_USER.query(queryString)
// .then(runQuery)
// .catch(queryError);
// }
// ////////////////////////////////////////
// } catch (/** @type {any} */ error: any) {
// ////////////////////////////////////////
// fs.appendFileSync(
// "./.tmp/dbErrorLogs.txt",
// error.message + "\n" + Date() + "\n\n\n",
// "utf8"
// );
// resolve({
// error: error.message,
// });
// }
// });
// } catch (/** @type {any} */ error: any) {
// return {
// success: false,
// error: error.message,
// };
// }
}