91 lines
4.3 KiB
JavaScript
91 lines
4.3 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 = default_1;
|
|
const sql_generator_1 = __importDefault(require("../../functions/dsql/sql/sql-generator"));
|
|
const conn_db_handler_1 = __importDefault(require("../db/conn-db-handler"));
|
|
const check_array_depth_1 = __importDefault(require("../check-array-depth"));
|
|
const parseDbResults_1 = __importDefault(require("../../functions/backend/parseDbResults"));
|
|
function default_1(_a) {
|
|
return __awaiter(this, arguments, void 0, function* ({ table, query, count, countOnly, dbFullName, tableSchema, }) {
|
|
var _b, _c, _d, _e;
|
|
let queryObject;
|
|
queryObject = (0, sql_generator_1.default)({
|
|
tableName: table,
|
|
genObject: query,
|
|
dbFullName,
|
|
});
|
|
let connQueries = [
|
|
{
|
|
query: queryObject === null || queryObject === void 0 ? void 0 : queryObject.string,
|
|
values: (queryObject === null || queryObject === void 0 ? void 0 : queryObject.values) || [],
|
|
},
|
|
];
|
|
const countQueryObject = count || countOnly
|
|
? (0, sql_generator_1.default)({
|
|
tableName: table,
|
|
genObject: query,
|
|
count: true,
|
|
dbFullName,
|
|
})
|
|
: undefined;
|
|
if (count && countQueryObject) {
|
|
connQueries.push({
|
|
query: countQueryObject.string,
|
|
values: countQueryObject.values,
|
|
});
|
|
}
|
|
else if (countOnly && countQueryObject) {
|
|
connQueries = [
|
|
{
|
|
query: countQueryObject.string,
|
|
values: countQueryObject.values,
|
|
},
|
|
];
|
|
}
|
|
const res = yield (0, conn_db_handler_1.default)(undefined, connQueries);
|
|
const parsedRes = (0, check_array_depth_1.default)(res, 2)
|
|
? (0, parseDbResults_1.default)({ unparsedResults: res[0], tableSchema })
|
|
: res[0];
|
|
const parsedBatchRes = (0, check_array_depth_1.default)(res, 3)
|
|
? res.map((_r) => {
|
|
return (0, parseDbResults_1.default)({ unparsedResults: _r[0], tableSchema });
|
|
})
|
|
: res;
|
|
const isSuccess = Array.isArray(res) && Array.isArray(res[0]);
|
|
return {
|
|
success: isSuccess,
|
|
payload: isSuccess ? (countOnly ? null : parsedRes) : null,
|
|
batchPayload: isSuccess ? (countOnly ? null : parsedBatchRes) : null,
|
|
error: isSuccess
|
|
? undefined
|
|
: typeof res == "object" && !Array.isArray(res)
|
|
? res === null || res === void 0 ? void 0 : res.error
|
|
: undefined,
|
|
errors: res === null || res === void 0 ? void 0 : res.errors,
|
|
queryObject: {
|
|
sql: queryObject === null || queryObject === void 0 ? void 0 : queryObject.string,
|
|
params: queryObject === null || queryObject === void 0 ? void 0 : queryObject.values,
|
|
},
|
|
count: isSuccess
|
|
? ((_c = (_b = res[1]) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c["COUNT(*)"])
|
|
? res[1][0]["COUNT(*)"]
|
|
: ((_e = (_d = res[0]) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e["COUNT(*)"])
|
|
? res[0][0]["COUNT(*)"]
|
|
: undefined
|
|
: undefined,
|
|
};
|
|
});
|
|
}
|