"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseDbResults; const decrypt_1 = __importDefault(require("../dsql/decrypt")); const default_fields_regexp_1 = __importDefault(require("../dsql/default-fields-regexp")); /** * Parse Database results * ============================================================================== * @description this function takes a database results array gotten from a DB handler * function, decrypts encrypted fields, and returns an updated array with no encrypted * fields */ function parseDbResults({ unparsedResults, tableSchema, }) { let parsedResults = []; try { for (let pr = 0; pr < unparsedResults.length; pr++) { let result = unparsedResults[pr]; let resultFieldNames = Object.keys(result); for (let i = 0; i < resultFieldNames.length; i++) { const resultFieldName = resultFieldNames[i]; let resultFieldSchema = tableSchema === null || tableSchema === void 0 ? void 0 : tableSchema.fields.find((fld) => fld.fieldName == resultFieldName); if (resultFieldName === null || resultFieldName === void 0 ? void 0 : resultFieldName.match(default_fields_regexp_1.default)) { continue; } let value = result[resultFieldName]; if (typeof value !== "number" && !value) { continue; } if (resultFieldSchema === null || resultFieldSchema === void 0 ? void 0 : resultFieldSchema.encrypted) { if (value === null || value === void 0 ? void 0 : value.match(/./)) { result[resultFieldName] = (0, decrypt_1.default)({ encryptedString: value, }); } } } parsedResults.push(result); } return parsedResults; } catch (error) { return unparsedResults; } }