61 lines
2.7 KiB
JavaScript
61 lines
2.7 KiB
JavaScript
"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 = userDbHandler;
|
|
const mariadb_1 = __importDefault(require("mariadb"));
|
|
const grab_mariadb_main_user_for_user_1 = __importDefault(require("./grab-mariadb-main-user-for-user"));
|
|
const conn_db_handler_1 = __importDefault(require("../../utils/db/conn-db-handler"));
|
|
const grabDbSSL_1 = __importDefault(require("../../utils/backend/grabDbSSL"));
|
|
const lodash_1 = __importDefault(require("lodash"));
|
|
function userDbHandler(_a) {
|
|
return __awaiter(this, arguments, void 0, function* ({ query, user, database, debug, tableSchema, values, }) {
|
|
const { fullName, host, username, password } = yield (0, grab_mariadb_main_user_for_user_1.default)({ user });
|
|
const connection = yield mariadb_1.default.createConnection({
|
|
host,
|
|
user: username,
|
|
password: password,
|
|
database: database,
|
|
charset: "utf8mb4",
|
|
ssl: (0, grabDbSSL_1.default)(),
|
|
supportBigNumbers: true,
|
|
bigNumberStrings: false,
|
|
dateStrings: true,
|
|
bigIntAsNumber: true,
|
|
metaAsArray: true,
|
|
});
|
|
const results = yield (0, conn_db_handler_1.default)(connection, query);
|
|
if (Array.isArray(results)) {
|
|
const parsedDbResults = results.map((res) => parseResultObject(res));
|
|
return parsedDbResults;
|
|
}
|
|
return results;
|
|
});
|
|
}
|
|
function parseResultObject(res) {
|
|
if (typeof res !== "object")
|
|
return res;
|
|
if (!res)
|
|
return res;
|
|
const newRes = lodash_1.default.cloneDeep(res);
|
|
const resKeys = Object.keys(res);
|
|
for (let i = 0; i < resKeys.length; i++) {
|
|
const k = resKeys[i];
|
|
const val = newRes[k];
|
|
if (typeof val == "object" && val) {
|
|
newRes[k] = "";
|
|
}
|
|
}
|
|
return newRes;
|
|
}
|