This commit is contained in:
Benjamin Toby
2025-08-13 11:42:07 +01:00
parent 56198e8ac5
commit e8269a8b5e
7 changed files with 40 additions and 32 deletions
+19 -12
View File
@@ -986,7 +986,8 @@ export const ServerQueryEqualities = [
] as const;
export type ServerQueryParam<
T extends { [k: string]: any } = { [k: string]: any }
T extends { [k: string]: any } = { [k: string]: any },
K extends string = string
> = {
selectFields?: (keyof T)[];
omitFields?: (keyof T)[];
@@ -1003,27 +1004,32 @@ export type ServerQueryParam<
addUserId?: {
fieldName: keyof T;
};
join?: ServerQueryParamsJoin[];
join?: ServerQueryParamsJoin<K>[];
group?: (keyof T)[];
[key: string]: any;
};
export type ServerQueryObject<T extends object = { [key: string]: any }> = {
export type ServerQueryObject<
T extends object = { [key: string]: any },
K extends string = string
> = {
value?: string | string[];
nullValue?: boolean;
notNullValue?: boolean;
operator?: (typeof ServerQueryOperators)[number];
equality?: (typeof ServerQueryEqualities)[number];
tableName?: string;
tableName?: K;
__query?: {
[key in keyof T]: Omit<ServerQueryObject<T>, "__query">;
};
};
export type ServerQueryQueryObject<T extends object = { [key: string]: any }> =
{
[key in keyof T]: ServerQueryObject<T>;
};
export type ServerQueryQueryObject<
T extends object = { [key: string]: any },
K extends string = string
> = {
[key in keyof T]: ServerQueryObject<T, K>;
};
export type FetchDataParams = {
path: string;
@@ -1432,9 +1438,10 @@ export type DsqlCrudTransformQueryFunction<
export const DsqlCrudActions = ["insert", "update", "delete", "get"] as const;
export type DsqlCrudQueryObject<
T extends { [key: string]: any } = { [key: string]: any }
> = ServerQueryParam<T> & {
query?: ServerQueryQueryObject<T>;
T extends { [key: string]: any } = { [key: string]: any },
K extends string = string
> = ServerQueryParam<T, K> & {
query?: ServerQueryQueryObject<T, K>;
};
export type SQLDeleteGeneratorParams<
@@ -1469,7 +1476,7 @@ export type DsqlCrudParam<
targetId?: string | number;
targetValue?: string | number;
targetField?: keyof T;
query?: DsqlCrudQueryObject<T>;
query?: DsqlCrudQueryObject<T, K>;
sanitize?: ({ data, batchData }: { data?: T; batchData?: T[] }) => T | T[];
debug?: boolean;
count?: boolean;