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