136 lines
4.3 KiB
TypeScript
136 lines
4.3 KiB
TypeScript
|
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,
|
||
|
// };
|
||
|
// }
|
||
|
}
|