Updates
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user