Updates
This commit is contained in:
parent
b8fbbd3afb
commit
6d4ccb63a3
16
dist/package-shared/types/index.d.ts
vendored
16
dist/package-shared/types/index.d.ts
vendored
@ -1305,21 +1305,31 @@ export type DsqlMethodCrudParam<T extends {
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
extraData?: T;
|
||||
transform?: DsqlCrudTransformFunction<T>;
|
||||
transformQuery?: DsqlCrudTransformQueryFunction<T>;
|
||||
existingData?: T;
|
||||
targetId?: string | number;
|
||||
sanitize?: (data?: T) => T;
|
||||
debug?: boolean;
|
||||
};
|
||||
export type DsqlCrudTransformFunction<T extends {
|
||||
[key: string]: any;
|
||||
} = {
|
||||
[key: string]: any;
|
||||
}> = ({ data, query, existingData, user, }: {
|
||||
}> = (params: {
|
||||
data: T;
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
data?: T;
|
||||
query?: DsqlCrudQueryObject<T>;
|
||||
existingData?: T;
|
||||
reqMethod: (typeof DataCrudRequestMethods)[number];
|
||||
}) => Promise<T>;
|
||||
export type DsqlCrudTransformQueryFunction<T extends {
|
||||
[key: string]: any;
|
||||
} = {
|
||||
[key: string]: any;
|
||||
}> = (params: {
|
||||
query: DsqlCrudQueryObject<T>;
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
reqMethod: (typeof DataCrudRequestMethods)[number];
|
||||
}) => Promise<DsqlCrudQueryObject<T>>;
|
||||
export declare const DsqlCrudActions: readonly ["insert", "update", "delete", "get"];
|
||||
export type DsqlCrudQueryObject<T extends {
|
||||
[key: string]: any;
|
||||
|
@ -18,4 +18,4 @@ export default function dsqlMethodCrud<T extends {
|
||||
[key: string]: any;
|
||||
} = {
|
||||
[key: string]: any;
|
||||
}>({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, }: DsqlMethodCrudParam<T>): Promise<CRUDResponseObject<P>>;
|
||||
}>({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, transformQuery, debug, }: DsqlMethodCrudParam<T>): Promise<CRUDResponseObject<P>>;
|
||||
|
@ -19,7 +19,7 @@ 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, }) {
|
||||
return __awaiter(this, arguments, void 0, function* ({ method, tableName, addUser, user, extraData, transform, existingData, body, query, targetId, sanitize, transformQuery, debug, }) {
|
||||
let result = {
|
||||
success: false,
|
||||
};
|
||||
@ -60,18 +60,30 @@ function dsqlMethodCrud(_a) {
|
||||
finalData = Object.assign(Object.assign({}, finalData), { [addUser.field]: String(user.id) });
|
||||
}
|
||||
if (transform) {
|
||||
if (debug) {
|
||||
console.log("DEBUG:::transforming Data ...");
|
||||
}
|
||||
finalData = (yield transform({
|
||||
data: finalData,
|
||||
existingData: existingData,
|
||||
user,
|
||||
reqMethod: method,
|
||||
}));
|
||||
finalQuery = yield transform({
|
||||
}
|
||||
if (transformQuery) {
|
||||
if (debug) {
|
||||
console.log("DEBUG:::transforming Query ...");
|
||||
}
|
||||
finalQuery = yield transformQuery({
|
||||
query: finalQuery,
|
||||
user,
|
||||
reqMethod: method,
|
||||
});
|
||||
}
|
||||
if (debug) {
|
||||
console.log("DEBUG:::finalQuery", finalQuery);
|
||||
console.log("DEBUG:::finalData", finalData);
|
||||
}
|
||||
switch (method) {
|
||||
case "GET":
|
||||
const GET_RESULT = yield (0, crud_1.default)({
|
||||
|
@ -1480,26 +1480,30 @@ export type DsqlMethodCrudParam<
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
extraData?: T;
|
||||
transform?: DsqlCrudTransformFunction<T>;
|
||||
transformQuery?: DsqlCrudTransformQueryFunction<T>;
|
||||
existingData?: T;
|
||||
targetId?: string | number;
|
||||
sanitize?: (data?: T) => T;
|
||||
debug?: boolean;
|
||||
};
|
||||
|
||||
export type DsqlCrudTransformFunction<
|
||||
T extends { [key: string]: any } = { [key: string]: any }
|
||||
> = ({
|
||||
data,
|
||||
query,
|
||||
existingData,
|
||||
user,
|
||||
}: {
|
||||
> = (params: {
|
||||
data: T;
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
data?: T;
|
||||
query?: DsqlCrudQueryObject<T>;
|
||||
existingData?: T;
|
||||
reqMethod: (typeof DataCrudRequestMethods)[number];
|
||||
}) => Promise<T>;
|
||||
|
||||
export type DsqlCrudTransformQueryFunction<
|
||||
T extends { [key: string]: any } = { [key: string]: any }
|
||||
> = (params: {
|
||||
query: DsqlCrudQueryObject<T>;
|
||||
user?: DATASQUIREL_LoggedInUser;
|
||||
reqMethod: (typeof DataCrudRequestMethods)[number];
|
||||
}) => Promise<DsqlCrudQueryObject<T>>;
|
||||
|
||||
export const DsqlCrudActions = ["insert", "update", "delete", "get"] as const;
|
||||
|
||||
export type DsqlCrudQueryObject<
|
||||
|
@ -37,6 +37,8 @@ export default async function dsqlMethodCrud<
|
||||
query,
|
||||
targetId,
|
||||
sanitize,
|
||||
transformQuery,
|
||||
debug,
|
||||
}: DsqlMethodCrudParam<T>): Promise<CRUDResponseObject<P>> {
|
||||
let result: CRUDResponseObject = {
|
||||
success: false,
|
||||
@ -92,20 +94,35 @@ export default async function dsqlMethodCrud<
|
||||
}
|
||||
|
||||
if (transform) {
|
||||
if (debug) {
|
||||
console.log("DEBUG:::transforming Data ...");
|
||||
}
|
||||
|
||||
finalData = (await transform({
|
||||
data: finalData,
|
||||
existingData: existingData,
|
||||
user,
|
||||
reqMethod: method,
|
||||
})) as T;
|
||||
}
|
||||
|
||||
finalQuery = await transform({
|
||||
if (transformQuery) {
|
||||
if (debug) {
|
||||
console.log("DEBUG:::transforming Query ...");
|
||||
}
|
||||
|
||||
finalQuery = await transformQuery({
|
||||
query: finalQuery,
|
||||
user,
|
||||
reqMethod: method,
|
||||
});
|
||||
}
|
||||
|
||||
if (debug) {
|
||||
console.log("DEBUG:::finalQuery", finalQuery);
|
||||
console.log("DEBUG:::finalData", finalData);
|
||||
}
|
||||
|
||||
switch (method) {
|
||||
case "GET":
|
||||
const GET_RESULT = await dsqlCrud({
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@moduletrace/datasquirel",
|
||||
"version": "4.0.0",
|
||||
"version": "4.0.1",
|
||||
"description": "Cloud-based SQL data management tool",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
|
Loading…
Reference in New Issue
Block a user