From e8269a8b5e5bfebe453b31d7a965140ed2d8115f Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Wed, 13 Aug 2025 11:42:07 +0100 Subject: [PATCH] Updates --- .../web-app/db/grab-user-resource/query.d.ts | 12 +++---- dist/package-shared/types/index.d.ts | 18 +++++------ .../utils/data-fetching/crud-get.d.ts | 2 +- package-shared/types/index.ts | 31 ++++++++++++------- .../utils/data-fetching/crud-get.ts | 5 +-- package-shared/utils/data-fetching/crud.ts | 2 +- package.json | 2 +- 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/dist/package-shared/functions/web-app/db/grab-user-resource/query.d.ts b/dist/package-shared/functions/web-app/db/grab-user-resource/query.d.ts index ca9de2e..1c83178 100644 --- a/dist/package-shared/functions/web-app/db/grab-user-resource/query.d.ts +++ b/dist/package-shared/functions/web-app/db/grab-user-resource/query.d.ts @@ -1,16 +1,16 @@ import { GrabUserResourceParams } from "../../../../types"; export default function (params?: GrabUserResourceParams): import("../../../../types").ServerQueryParam<{ [k: string]: any; -}> & { +}, string> & { query?: import("../../../../types").ServerQueryQueryObject<{ [k: string]: any; - }> | undefined; -} & import("../../../../types").ServerQueryParam & { - query?: import("../../../../types").ServerQueryQueryObject | undefined; + }, string> | undefined; +} & import("../../../../types").ServerQueryParam & { + query?: import("../../../../types").ServerQueryQueryObject | undefined; } & import("../../../../types").ServerQueryParam<{ [k: string]: any; -}> & { +}, string> & { query?: import("../../../../types").ServerQueryQueryObject<{ [k: string]: any; - }> | undefined; + }, string> | undefined; }; diff --git a/dist/package-shared/types/index.d.ts b/dist/package-shared/types/index.d.ts index cec3cee..4daba9e 100644 --- a/dist/package-shared/types/index.d.ts +++ b/dist/package-shared/types/index.d.ts @@ -809,7 +809,7 @@ export type ServerQueryParam = { +}, K extends string = string> = { selectFields?: (keyof T)[]; omitFields?: (keyof T)[]; query?: ServerQueryQueryObject; @@ -825,27 +825,27 @@ export type ServerQueryParam[]; group?: (keyof T)[]; [key: string]: any; }; export type ServerQueryObject = { +}, 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, "__query">; }; }; export type ServerQueryQueryObject = { - [key in keyof T]: ServerQueryObject; +}, K extends string = string> = { + [key in keyof T]: ServerQueryObject; }; export type FetchDataParams = { path: string; @@ -1218,8 +1218,8 @@ export type DsqlCrudQueryObject = ServerQueryParam & { - query?: ServerQueryQueryObject; +}, K extends string = string> = ServerQueryParam & { + query?: ServerQueryQueryObject; }; export type SQLDeleteGeneratorParams; + query?: DsqlCrudQueryObject; sanitize?: ({ data, batchData }: { data?: T; batchData?: T[]; diff --git a/dist/package-shared/utils/data-fetching/crud-get.d.ts b/dist/package-shared/utils/data-fetching/crud-get.d.ts index e905e2f..8257d57 100644 --- a/dist/package-shared/utils/data-fetching/crud-get.d.ts +++ b/dist/package-shared/utils/data-fetching/crud-get.d.ts @@ -3,4 +3,4 @@ export default function ({ table, query, count, countOnly, dbFullName, tableSchema, dbConfig, }: Omit, "action" | "data" | "sanitize">): Promise; +}, K extends string = string>({ table, query, count, countOnly, dbFullName, tableSchema, dbConfig, }: Omit, "action" | "data" | "sanitize">): Promise; diff --git a/package-shared/types/index.ts b/package-shared/types/index.ts index e1dddb2..80be36a 100644 --- a/package-shared/types/index.ts +++ b/package-shared/types/index.ts @@ -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[]; group?: (keyof T)[]; [key: string]: any; }; -export type ServerQueryObject = { +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, "__query">; }; }; -export type ServerQueryQueryObject = - { - [key in keyof T]: ServerQueryObject; - }; +export type ServerQueryQueryObject< + T extends object = { [key: string]: any }, + K extends string = string +> = { + [key in keyof T]: ServerQueryObject; +}; 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 & { - query?: ServerQueryQueryObject; + T extends { [key: string]: any } = { [key: string]: any }, + K extends string = string +> = ServerQueryParam & { + query?: ServerQueryQueryObject; }; export type SQLDeleteGeneratorParams< @@ -1469,7 +1476,7 @@ export type DsqlCrudParam< targetId?: string | number; targetValue?: string | number; targetField?: keyof T; - query?: DsqlCrudQueryObject; + query?: DsqlCrudQueryObject; sanitize?: ({ data, batchData }: { data?: T; batchData?: T[] }) => T | T[]; debug?: boolean; count?: boolean; diff --git a/package-shared/utils/data-fetching/crud-get.ts b/package-shared/utils/data-fetching/crud-get.ts index e498ca2..66529da 100644 --- a/package-shared/utils/data-fetching/crud-get.ts +++ b/package-shared/utils/data-fetching/crud-get.ts @@ -5,7 +5,8 @@ import checkArrayDepth from "../check-array-depth"; import parseDbResults from "../../functions/backend/parseDbResults"; export default async function < - T extends { [key: string]: any } = { [key: string]: any } + T extends { [key: string]: any } = { [key: string]: any }, + K extends string = string >({ table, query, @@ -15,7 +16,7 @@ export default async function < tableSchema, dbConfig, }: Omit< - DsqlCrudParam, + DsqlCrudParam, "action" | "data" | "sanitize" >): Promise { let queryObject: ReturnType> | undefined; diff --git a/package-shared/utils/data-fetching/crud.ts b/package-shared/utils/data-fetching/crud.ts index 3c758b3..db19fc5 100644 --- a/package-shared/utils/data-fetching/crud.ts +++ b/package-shared/utils/data-fetching/crud.ts @@ -38,7 +38,7 @@ export default async function dsqlCrud< switch (action) { case "get": - return await dsqlCrudGet(params); + return await dsqlCrudGet(params); // case "batch-get": // return await dsqlCrudBatchGet(params); diff --git a/package.json b/package.json index 40e29ea..f9efc8c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "5.2.0", + "version": "5.2.1", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {