Updates
This commit is contained in:
@@ -2,6 +2,7 @@ import get from "../../actions/get";
|
||||
import post from "../../actions/post";
|
||||
import sqlGenerator from "../../functions/dsql/sql/sql-generator";
|
||||
import { DsqlCrudParam, PostReturn } from "../../types";
|
||||
import connDbHandler, { ConnDBHandlerQueryObject } from "../db/conn-db-handler";
|
||||
|
||||
export default async function dsqlCrud<
|
||||
T extends { [key: string]: any } = { [key: string]: any }
|
||||
@@ -15,9 +16,11 @@ export default async function dsqlCrud<
|
||||
debug,
|
||||
targetField,
|
||||
targetId,
|
||||
count,
|
||||
}: DsqlCrudParam<T>): Promise<
|
||||
| (PostReturn & {
|
||||
queryObject?: ReturnType<Awaited<typeof sqlGenerator>>;
|
||||
count?: number;
|
||||
})
|
||||
| null
|
||||
> {
|
||||
@@ -31,14 +34,43 @@ export default async function dsqlCrud<
|
||||
genObject: query,
|
||||
});
|
||||
|
||||
const GET_RES = await get({
|
||||
query: queryObject?.string || "",
|
||||
queryValues: queryObject?.values || [],
|
||||
debug,
|
||||
forceLocal: true,
|
||||
});
|
||||
const DB_CONN =
|
||||
global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
|
||||
|
||||
return { ...GET_RES, queryObject };
|
||||
const connQueries: ConnDBHandlerQueryObject[] = [
|
||||
{
|
||||
query: queryObject?.string,
|
||||
values: queryObject?.values || [],
|
||||
},
|
||||
];
|
||||
|
||||
if (count) {
|
||||
const countQueryObject = sqlGenerator({
|
||||
tableName: table,
|
||||
genObject: query,
|
||||
count: true,
|
||||
});
|
||||
|
||||
connQueries.push({
|
||||
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 ? res[0] : null,
|
||||
error: isSuccess ? undefined : res?.error,
|
||||
queryObject,
|
||||
count:
|
||||
isSuccess && res[1]?.[0]?.["COUNT(*)"]
|
||||
? res[1][0]["COUNT(*)"]
|
||||
: undefined,
|
||||
};
|
||||
|
||||
case "insert":
|
||||
return await post({
|
||||
|
||||
Reference in New Issue
Block a user