"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = varDatabaseDbHandler; const parseDbResults_1 = __importDefault(require("./parseDbResults")); const serverError_1 = __importDefault(require("./serverError")); const DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DB_HANDLER")); const DSQL_USER_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/DSQL_USER_DB_HANDLER")); const LOCAL_DB_HANDLER_1 = __importDefault(require("../../utils/backend/global-db/LOCAL_DB_HANDLER")); /** * # DB handler for specific database */ function varDatabaseDbHandler(_a) { return __awaiter(this, arguments, void 0, function* ({ queryString, queryValuesArray, database, tableSchema, useLocal, }) { /** * Declare variables * * @description Declare "results" variable */ const isMaster = useLocal ? true : (database === null || database === void 0 ? void 0 : database.match(/^datasquirel$/)) ? true : false; const FINAL_DB_HANDLER = useLocal ? LOCAL_DB_HANDLER_1.default : isMaster ? DB_HANDLER_1.default : DSQL_USER_DB_HANDLER_1.default; let results; /** * Fetch from db * * @description Fetch data from db if no cache */ try { if (queryString && queryValuesArray && Array.isArray(queryValuesArray) && queryValuesArray[0]) { results = isMaster ? yield FINAL_DB_HANDLER(queryString, queryValuesArray) : yield FINAL_DB_HANDLER({ paradigm: "Full Access", queryString, queryValues: queryValuesArray, }); } else { results = isMaster ? yield FINAL_DB_HANDLER(queryString) : yield FINAL_DB_HANDLER({ paradigm: "Full Access", queryString, }); } } catch (error) { console.log(`varDatabaseDbHandler Error: ${error.message}`); (0, serverError_1.default)({ component: "varDatabaseDbHandler/lines-29-32", message: error.message, }); } /** * Return results * * @description Return results add to cache if "req" param is passed */ if (results && tableSchema) { try { const unparsedResults = results; const parsedResults = yield (0, parseDbResults_1.default)({ unparsedResults: unparsedResults, tableSchema: tableSchema, }); return parsedResults; } catch (error) { console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>", database, error); (0, serverError_1.default)({ component: "varDatabaseDbHandler/lines-52-53", message: error.message, }); return null; } } else if (results) { return results; } else { return null; } }); }