61 lines
2.4 KiB
JavaScript
61 lines
2.4 KiB
JavaScript
import sqlGenerator from "../../functions/dsql/sql/sql-generator";
|
|
import connDbHandler from "../db/conn-db-handler";
|
|
export default async function ({ table, query, count, countOnly, dbFullName, }) {
|
|
var _a, _b, _c, _d;
|
|
let queryObject;
|
|
queryObject = sqlGenerator({
|
|
tableName: table,
|
|
genObject: query,
|
|
dbFullName,
|
|
});
|
|
const DB_CONN = global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
|
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
|
|
? sqlGenerator({
|
|
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 = await connDbHandler(DB_CONN, connQueries);
|
|
const isSuccess = Array.isArray(res) && Array.isArray(res[0]);
|
|
return {
|
|
success: isSuccess,
|
|
payload: isSuccess ? (countOnly ? null : res[0]) : null,
|
|
batchPayload: isSuccess ? (countOnly ? null : res) : null,
|
|
error: isSuccess ? undefined : res === null || res === void 0 ? void 0 : res.error,
|
|
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
|
|
? ((_b = (_a = res[1]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b["COUNT(*)"])
|
|
? res[1][0]["COUNT(*)"]
|
|
: ((_d = (_c = res[0]) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d["COUNT(*)"])
|
|
? res[0][0]["COUNT(*)"]
|
|
: undefined
|
|
: undefined,
|
|
};
|
|
}
|