From 3358412028ec5fde5ed77b9fe4638195c133e1c9 Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Fri, 7 Feb 2025 14:14:00 +0100 Subject: [PATCH] Updates --- dist/package-shared/types/index.d.ts | 4 +- .../utils/data-fetching/method-crud.d.ts | 2 +- .../utils/data-fetching/method-crud.js | 17 ++++--- package-shared/types/index.ts | 4 +- .../utils/data-fetching/method-crud.ts | 51 +++++++++++-------- package.json | 2 +- 6 files changed, 46 insertions(+), 34 deletions(-) diff --git a/dist/package-shared/types/index.d.ts b/dist/package-shared/types/index.d.ts index 0e69028..7b8103d 100644 --- a/dist/package-shared/types/index.d.ts +++ b/dist/package-shared/types/index.d.ts @@ -1304,14 +1304,14 @@ export type DsqlMethodCrudParam; + transformData?: DsqlCrudTransformDataFunction; transformQuery?: DsqlCrudTransformQueryFunction; existingData?: T; targetId?: string | number; sanitize?: (data?: T) => T; debug?: boolean; }; -export type DsqlCrudTransformFunction({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, transformQuery, debug, }: DsqlMethodCrudParam): Promise>; +}>({ method, tableName, addUser, user, extraData, transformData, existingData, body, query, targetId, sanitize, transformQuery, debug, }: DsqlMethodCrudParam): Promise>; diff --git a/dist/package-shared/utils/data-fetching/method-crud.js b/dist/package-shared/utils/data-fetching/method-crud.js index aa409aa..a744eee 100644 --- a/dist/package-shared/utils/data-fetching/method-crud.js +++ b/dist/package-shared/utils/data-fetching/method-crud.js @@ -19,7 +19,8 @@ const ejson_1 = __importDefault(require("../ejson")); const numberfy_1 = __importDefault(require("../numberfy")); const crud_1 = __importDefault(require("./crud")); function dsqlMethodCrud(_a) { - return __awaiter(this, arguments, void 0, function* ({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, transformQuery, debug, }) { + return __awaiter(this, arguments, void 0, function* ({ method, tableName, addUser, user, extraData, transformData, existingData, body, query, targetId, sanitize, transformQuery, debug, }) { + var _b, _c, _d; let result = { success: false, }; @@ -59,11 +60,11 @@ function dsqlMethodCrud(_a) { if ((user === null || user === void 0 ? void 0 : user.id) && addUser) { finalData = Object.assign(Object.assign({}, finalData), { [addUser.field]: String(user.id) }); } - if (transform) { + if (transformData) { if (debug) { console.log("DEBUG:::transforming Data ..."); } - finalData = (yield transform({ + finalData = (yield transformData({ data: finalData, existingData: existingData, user, @@ -89,7 +90,7 @@ function dsqlMethodCrud(_a) { const GET_RESULT = yield (0, crud_1.default)({ action: "get", table: tableName, - query: finalQuery + query: finalQuery && ((_b = Object.keys(finalQuery)) === null || _b === void 0 ? void 0 : _b[0]) ? Object.assign(Object.assign({}, finalQuery), { query: Object.assign(Object.assign({}, finalQuery.query), ((user === null || user === void 0 ? void 0 : user.id) && addUser ? { [addUser.field]: { @@ -112,7 +113,9 @@ function dsqlMethodCrud(_a) { const POST_RESULT = yield (0, crud_1.default)({ action: "insert", table: tableName, - data: finalData, + data: finalData && ((_c = Object.keys(finalData)) === null || _c === void 0 ? void 0 : _c[0]) + ? finalData + : undefined, sanitize, }); result = { @@ -126,7 +129,9 @@ function dsqlMethodCrud(_a) { const PUT_RESULT = yield (0, crud_1.default)({ action: "update", table: tableName, - data: finalData, + data: finalData && ((_d = Object.keys(finalData)) === null || _d === void 0 ? void 0 : _d[0]) + ? finalData + : undefined, targetId, sanitize, }); diff --git a/package-shared/types/index.ts b/package-shared/types/index.ts index 6ff98a2..3f8e886 100644 --- a/package-shared/types/index.ts +++ b/package-shared/types/index.ts @@ -1479,7 +1479,7 @@ export type DsqlMethodCrudParam< }; user?: DATASQUIREL_LoggedInUser; extraData?: T; - transform?: DsqlCrudTransformFunction; + transformData?: DsqlCrudTransformDataFunction; transformQuery?: DsqlCrudTransformQueryFunction; existingData?: T; targetId?: string | number; @@ -1487,7 +1487,7 @@ export type DsqlMethodCrudParam< debug?: boolean; }; -export type DsqlCrudTransformFunction< +export type DsqlCrudTransformDataFunction< T extends { [key: string]: any } = { [key: string]: any } > = (params: { data: T; diff --git a/package-shared/utils/data-fetching/method-crud.ts b/package-shared/utils/data-fetching/method-crud.ts index a097780..761257e 100644 --- a/package-shared/utils/data-fetching/method-crud.ts +++ b/package-shared/utils/data-fetching/method-crud.ts @@ -31,7 +31,7 @@ export default async function dsqlMethodCrud< addUser, user, extraData, - transform, + transformData, existingData, body, query, @@ -93,12 +93,12 @@ export default async function dsqlMethodCrud< } as T; } - if (transform) { + if (transformData) { if (debug) { console.log("DEBUG:::transforming Data ..."); } - finalData = (await transform({ + finalData = (await transformData({ data: finalData, existingData: existingData, user, @@ -128,23 +128,24 @@ export default async function dsqlMethodCrud< const GET_RESULT = await dsqlCrud({ action: "get", table: tableName, - query: finalQuery - ? ({ - ...finalQuery, - query: { - ...finalQuery.query, - ...(user?.id && addUser - ? { - [addUser.field]: { - value: String(user.id), - }, - } - : undefined), - }, - limit: LIMIT, - offset: OFFSET, - } as any) - : undefined, + query: + finalQuery && Object.keys(finalQuery)?.[0] + ? ({ + ...finalQuery, + query: { + ...finalQuery.query, + ...(user?.id && addUser + ? { + [addUser.field]: { + value: String(user.id), + }, + } + : undefined), + }, + limit: LIMIT, + offset: OFFSET, + } as any) + : undefined, sanitize, }); @@ -161,7 +162,10 @@ export default async function dsqlMethodCrud< const POST_RESULT = await dsqlCrud({ action: "insert", table: tableName, - data: finalData, + data: + finalData && Object.keys(finalData)?.[0] + ? finalData + : undefined, sanitize, }); result = { @@ -176,7 +180,10 @@ export default async function dsqlMethodCrud< const PUT_RESULT = await dsqlCrud({ action: "update", table: tableName, - data: finalData, + data: + finalData && Object.keys(finalData)?.[0] + ? finalData + : undefined, targetId, sanitize, }); diff --git a/package.json b/package.json index aedd4f4..a5b6875 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "4.0.1", + "version": "4.0.2", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {