This commit is contained in:
Benjamin Toby 2025-02-07 14:14:00 +01:00
parent 6d4ccb63a3
commit 3358412028
6 changed files with 46 additions and 34 deletions

View File

@ -1304,14 +1304,14 @@ export type DsqlMethodCrudParam<T extends {
}; };
user?: DATASQUIREL_LoggedInUser; user?: DATASQUIREL_LoggedInUser;
extraData?: T; extraData?: T;
transform?: DsqlCrudTransformFunction<T>; transformData?: DsqlCrudTransformDataFunction<T>;
transformQuery?: DsqlCrudTransformQueryFunction<T>; transformQuery?: DsqlCrudTransformQueryFunction<T>;
existingData?: T; existingData?: T;
targetId?: string | number; targetId?: string | number;
sanitize?: (data?: T) => T; sanitize?: (data?: T) => T;
debug?: boolean; debug?: boolean;
}; };
export type DsqlCrudTransformFunction<T extends { export type DsqlCrudTransformDataFunction<T extends {
[key: string]: any; [key: string]: any;
} = { } = {
[key: string]: any; [key: string]: any;

View File

@ -18,4 +18,4 @@ export default function dsqlMethodCrud<T extends {
[key: string]: any; [key: string]: any;
} = { } = {
[key: string]: any; [key: string]: any;
}>({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, transformQuery, debug, }: DsqlMethodCrudParam<T>): Promise<CRUDResponseObject<P>>; }>({ method, tableName, addUser, user, extraData, transformData, existingData, body, query, targetId, sanitize, transformQuery, debug, }: DsqlMethodCrudParam<T>): Promise<CRUDResponseObject<P>>;

View File

@ -19,7 +19,8 @@ const ejson_1 = __importDefault(require("../ejson"));
const numberfy_1 = __importDefault(require("../numberfy")); const numberfy_1 = __importDefault(require("../numberfy"));
const crud_1 = __importDefault(require("./crud")); const crud_1 = __importDefault(require("./crud"));
function dsqlMethodCrud(_a) { 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 = { let result = {
success: false, success: false,
}; };
@ -59,11 +60,11 @@ function dsqlMethodCrud(_a) {
if ((user === null || user === void 0 ? void 0 : user.id) && addUser) { if ((user === null || user === void 0 ? void 0 : user.id) && addUser) {
finalData = Object.assign(Object.assign({}, finalData), { [addUser.field]: String(user.id) }); finalData = Object.assign(Object.assign({}, finalData), { [addUser.field]: String(user.id) });
} }
if (transform) { if (transformData) {
if (debug) { if (debug) {
console.log("DEBUG:::transforming Data ..."); console.log("DEBUG:::transforming Data ...");
} }
finalData = (yield transform({ finalData = (yield transformData({
data: finalData, data: finalData,
existingData: existingData, existingData: existingData,
user, user,
@ -89,7 +90,7 @@ function dsqlMethodCrud(_a) {
const GET_RESULT = yield (0, crud_1.default)({ const GET_RESULT = yield (0, crud_1.default)({
action: "get", action: "get",
table: tableName, 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 ? Object.assign(Object.assign({}, finalQuery), { query: Object.assign(Object.assign({}, finalQuery.query), ((user === null || user === void 0 ? void 0 : user.id) && addUser
? { ? {
[addUser.field]: { [addUser.field]: {
@ -112,7 +113,9 @@ function dsqlMethodCrud(_a) {
const POST_RESULT = yield (0, crud_1.default)({ const POST_RESULT = yield (0, crud_1.default)({
action: "insert", action: "insert",
table: tableName, table: tableName,
data: finalData, data: finalData && ((_c = Object.keys(finalData)) === null || _c === void 0 ? void 0 : _c[0])
? finalData
: undefined,
sanitize, sanitize,
}); });
result = { result = {
@ -126,7 +129,9 @@ function dsqlMethodCrud(_a) {
const PUT_RESULT = yield (0, crud_1.default)({ const PUT_RESULT = yield (0, crud_1.default)({
action: "update", action: "update",
table: tableName, table: tableName,
data: finalData, data: finalData && ((_d = Object.keys(finalData)) === null || _d === void 0 ? void 0 : _d[0])
? finalData
: undefined,
targetId, targetId,
sanitize, sanitize,
}); });

View File

@ -1479,7 +1479,7 @@ export type DsqlMethodCrudParam<
}; };
user?: DATASQUIREL_LoggedInUser; user?: DATASQUIREL_LoggedInUser;
extraData?: T; extraData?: T;
transform?: DsqlCrudTransformFunction<T>; transformData?: DsqlCrudTransformDataFunction<T>;
transformQuery?: DsqlCrudTransformQueryFunction<T>; transformQuery?: DsqlCrudTransformQueryFunction<T>;
existingData?: T; existingData?: T;
targetId?: string | number; targetId?: string | number;
@ -1487,7 +1487,7 @@ export type DsqlMethodCrudParam<
debug?: boolean; debug?: boolean;
}; };
export type DsqlCrudTransformFunction< export type DsqlCrudTransformDataFunction<
T extends { [key: string]: any } = { [key: string]: any } T extends { [key: string]: any } = { [key: string]: any }
> = (params: { > = (params: {
data: T; data: T;

View File

@ -31,7 +31,7 @@ export default async function dsqlMethodCrud<
addUser, addUser,
user, user,
extraData, extraData,
transform, transformData,
existingData, existingData,
body, body,
query, query,
@ -93,12 +93,12 @@ export default async function dsqlMethodCrud<
} as T; } as T;
} }
if (transform) { if (transformData) {
if (debug) { if (debug) {
console.log("DEBUG:::transforming Data ..."); console.log("DEBUG:::transforming Data ...");
} }
finalData = (await transform({ finalData = (await transformData({
data: finalData, data: finalData,
existingData: existingData, existingData: existingData,
user, user,
@ -128,7 +128,8 @@ export default async function dsqlMethodCrud<
const GET_RESULT = await dsqlCrud({ const GET_RESULT = await dsqlCrud({
action: "get", action: "get",
table: tableName, table: tableName,
query: finalQuery query:
finalQuery && Object.keys(finalQuery)?.[0]
? ({ ? ({
...finalQuery, ...finalQuery,
query: { query: {
@ -161,7 +162,10 @@ export default async function dsqlMethodCrud<
const POST_RESULT = await dsqlCrud({ const POST_RESULT = await dsqlCrud({
action: "insert", action: "insert",
table: tableName, table: tableName,
data: finalData, data:
finalData && Object.keys(finalData)?.[0]
? finalData
: undefined,
sanitize, sanitize,
}); });
result = { result = {
@ -176,7 +180,10 @@ export default async function dsqlMethodCrud<
const PUT_RESULT = await dsqlCrud({ const PUT_RESULT = await dsqlCrud({
action: "update", action: "update",
table: tableName, table: tableName,
data: finalData, data:
finalData && Object.keys(finalData)?.[0]
? finalData
: undefined,
targetId, targetId,
sanitize, sanitize,
}); });

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/datasquirel", "name": "@moduletrace/datasquirel",
"version": "4.0.1", "version": "4.0.2",
"description": "Cloud-based SQL data management tool", "description": "Cloud-based SQL data management tool",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {