Update Types

This commit is contained in:
Benjamin Toby
2025-01-26 07:03:38 +01:00
parent 7188fe6e2c
commit 94d15ecb30
12 changed files with 84 additions and 51 deletions
+12 -7
View File
@@ -1,10 +1,11 @@
import { DbContextsArray } from "../../backend/db/runQuery";
import { ServerQueryParam } from "../../../types";
type Param = {
query: string | {
query: ServerQueryParam;
table: string;
};
import { ApiGetQueryObject } from "../../../types";
type Param<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = {
query: string | ApiGetQueryObject<T>;
queryValues?: (string | number)[];
dbFullName: string;
tableName?: string;
@@ -15,5 +16,9 @@ type Param = {
/**
* # Get Function FOr API
*/
export default function apiGet({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, }: Param): Promise<import("../../../types").GetReturn>;
export default function apiGet<T extends {
[key: string]: any;
} = {
[key: string]: any;
}>({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, }: Param<T>): Promise<import("../../../types").GetReturn>;
export {};
+11 -3
View File
@@ -1,6 +1,10 @@
import { ServerQueryParam } from "../../../types";
type Param = {
genObject?: ServerQueryParam;
type Param<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = {
genObject?: ServerQueryParam<T>;
tableName: string;
dbFullName?: string;
};
@@ -12,5 +16,9 @@ type Return = {
* # SQL Query Generator
* @description Generates an SQL Query for node module `mysql` or `serverless-mysql`
*/
export default function sqlGenerator({ tableName, genObject, dbFullName, }: Param): Return;
export default function sqlGenerator<T extends {
[key: string]: any;
} = {
[key: string]: any;
}>({ tableName, genObject, dbFullName }: Param<T>): Return;
export {};
+3 -3
View File
@@ -5,7 +5,7 @@ exports.default = sqlGenerator;
* # SQL Query Generator
* @description Generates an SQL Query for node module `mysql` or `serverless-mysql`
*/
function sqlGenerator({ tableName, genObject, dbFullName, }) {
function sqlGenerator({ tableName, genObject, dbFullName }) {
if (!genObject)
return undefined;
const finalQuery = genObject.query ? genObject.query : undefined;
@@ -201,8 +201,8 @@ function sqlGenerator({ tableName, genObject, dbFullName, }) {
}
if (genObject.order)
queryString += ` ORDER BY ${genObject.join
? `${finalDbName}${tableName}.${genObject.order.field}`
: genObject.order.field} ${genObject.order.strategy}`;
? `${finalDbName}${tableName}.${String(genObject.order.field)}`
: String(genObject.order.field)} ${genObject.order.strategy}`;
if (genObject.limit)
queryString += ` LIMIT ${genObject.limit}`;
if (genObject.offset)
+4 -3
View File
@@ -945,15 +945,16 @@ export type ServerQueryParam<T extends {
selectFields?: string[];
query?: ServerQueryQueryObject<T>;
limit?: number;
page?: number;
offset?: number;
order?: {
field: string;
field: keyof T;
strategy: "ASC" | "DESC";
};
searchOperator?: (typeof ServerQueryOperators)[number];
searchEquality?: (typeof ServerQueryEqualities)[number];
addUserId?: {
fieldName: string;
fieldName: keyof T;
};
join?: ServerQueryParamsJoin[];
[key: string]: any;
@@ -1320,7 +1321,7 @@ export type DsqlCrudQueryObject<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = ServerQueryParam & {
}> = ServerQueryParam<T> & {
query?: ServerQueryQueryObject<T>;
};
export type DsqlCrudParam<T extends {
+7 -3
View File
@@ -13,7 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = dsqlMethodCrud;
const deserialize_query_1 = __importDefault(require("../deserialize-query"));
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, }) {
@@ -22,7 +24,7 @@ function dsqlMethodCrud(_a) {
};
try {
let finalBody = body;
let finalQuery = query;
let finalQuery = (0, deserialize_query_1.default)(query);
let LIMIT = 10;
let PAGE = 1;
let OFFSET = (PAGE - 1) * LIMIT;
@@ -39,8 +41,10 @@ function dsqlMethodCrud(_a) {
finalQuery[key] = false;
}
});
LIMIT = finalQuery.limit || 10;
PAGE = finalQuery.page || 1;
if (finalQuery.limit)
LIMIT = (0, numberfy_1.default)(finalQuery.limit);
if (finalQuery.page)
PAGE = (0, numberfy_1.default)(finalQuery.page);
OFFSET = (PAGE - 1) * LIMIT;
}
let finalData = finalBody
+11 -3
View File
@@ -1,9 +1,17 @@
import { ApiGetQueryObject } from "../types";
type Param = {
query: string | ApiGetQueryObject;
type Param<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = {
query: string | ApiGetQueryObject<T>;
values?: (string | number)[];
};
export default function apiGetGrabQueryAndValues({ query, values }: Param): {
export default function apiGetGrabQueryAndValues<T extends {
[key: string]: any;
} = {
[key: string]: any;
}>({ query, values }: Param<T>): {
query: string;
values: (string | number)[] | undefined;
valuesString: string | undefined;