datasquirel/dist/package-shared/utils/data-fetching/crud-get.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

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,
};
}