This commit is contained in:
Benjamin Toby
2025-07-09 20:30:45 +01:00
parent ccb5605b58
commit c37d105dee
264 changed files with 2389 additions and 3743 deletions
+5 -7
View File
@@ -1,18 +1,16 @@
import { DbContextsArray } from "../../backend/db/runQuery";
import { ApiGetQueryObject } from "../../../types";
import { DSQL_DatabaseSchemaType, DsqlCrudQueryObject, GetReturn } from "../../../types";
type Param<T extends {
[key: string]: any;
} = {
[key: string]: any;
}> = {
query: string | ApiGetQueryObject<T>;
queryValues?: (string | number)[];
query: DsqlCrudQueryObject<T>;
dbFullName: string;
tableName?: string;
dbSchema?: import("../../../types").DSQL_DatabaseSchemaType;
tableName: string;
dbSchema?: DSQL_DatabaseSchemaType;
debug?: boolean;
dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
};
/**
* # Get Function FOr API
@@ -21,5 +19,5 @@ export default function apiGet<T extends {
[key: string]: any;
} = {
[key: string]: any;
}>({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }: Param<T>): Promise<import("../../../types").GetReturn>;
}>({ query, dbFullName, tableName, dbSchema, debug, }: Param<T>): Promise<GetReturn>;
export {};
+14 -69
View File
@@ -13,79 +13,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = apiGet;
const lodash_1 = __importDefault(require("lodash"));
const serverError_1 = __importDefault(require("../../backend/serverError"));
const runQuery_1 = __importDefault(require("../../backend/db/runQuery"));
const grab_query_and_values_1 = __importDefault(require("../../../utils/grab-query-and-values"));
const sql_generator_1 = __importDefault(require("../../dsql/sql/sql-generator"));
const crud_1 = __importDefault(require("../../../utils/data-fetching/crud"));
/**
* # Get Function FOr API
*/
function apiGet(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, debug, dbContext, forceLocal, }) {
var _b, _c;
const queryAndValues = (0, grab_query_and_values_1.default)({
query,
values: queryValues,
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, tableName, dbSchema, debug, }) {
const queryAndValues = (0, sql_generator_1.default)({
tableName,
genObject: query,
dbFullName,
});
if (typeof query == "string" && query.match(/^alter|^delete|^create/i)) {
return { success: false, msg: "Wrong Input." };
}
let results;
try {
let { result, error } = yield (0, runQuery_1.default)({
dbFullName: dbFullName,
query: queryAndValues.query,
queryValuesArray: queryAndValues.values,
readOnly: true,
dbSchema,
tableName,
dbContext,
debug,
forceLocal,
});
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:result", result);
console.log("apiGet:error", error);
}
let tableSchema;
if (dbSchema) {
const targetTable = (_b = dbSchema.tables) === null || _b === void 0 ? void 0 : _b.find((table) => table.tableName === tableName);
if (targetTable) {
const clonedTargetTable = lodash_1.default.cloneDeep(targetTable);
delete clonedTargetTable.childTable;
delete clonedTargetTable.childrenTables;
delete clonedTargetTable.updateData;
delete clonedTargetTable.indexes;
tableSchema = clonedTargetTable;
}
}
if (error)
throw error;
if (result.error)
throw new Error(result.error);
results = result;
const resObject = {
success: true,
payload: results,
schema: tableName && tableSchema ? tableSchema : undefined,
};
return resObject;
}
catch (error) {
(0, serverError_1.default)({
component: "/api/query/get/lines-85-94",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Get Error`, error);
if (debug && global.DSQL_USE_LOCAL) {
console.log("apiGet:error", error.message);
console.log("queryAndValues", queryAndValues);
}
return {
success: false,
payload: null,
error: error.message,
};
}
const result = yield (0, crud_1.default)({
action: "get",
table: tableName,
dbFullName,
query,
});
return result;
});
}
+1 -2
View File
@@ -7,11 +7,10 @@ type Param = {
tableName?: string;
dbSchema?: DSQL_DatabaseSchemaType;
dbContext?: (typeof DbContextsArray)[number];
forceLocal?: boolean;
debug?: boolean;
};
/**
* # Post Function For API
*/
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }: Param): Promise<PostReturn>;
export default function apiPost({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }: Param): Promise<PostReturn>;
export {};
+2 -4
View File
@@ -21,8 +21,8 @@ const debug_log_1 = __importDefault(require("../../../utils/logging/debug-log"))
* # Post Function For API
*/
function apiPost(_a) {
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, forceLocal, debug, }) {
var _b, _c;
return __awaiter(this, arguments, void 0, function* ({ query, dbFullName, queryValues, tableName, dbSchema, dbContext, debug, }) {
var _b;
if (typeof query === "string" && (query === null || query === void 0 ? void 0 : query.match(/^create |^alter |^drop /i))) {
return { success: false, msg: "Wrong Input" };
}
@@ -44,7 +44,6 @@ function apiPost(_a) {
queryValuesArray: queryValues,
tableName,
dbContext,
forceLocal,
debug,
});
if (debug) {
@@ -86,7 +85,6 @@ function apiPost(_a) {
component: "/api/query/post/lines-132-142",
message: error.message,
});
(_c = global.ERROR_CALLBACK) === null || _c === void 0 ? void 0 : _c.call(global, `API Post Error`, error);
return {
success: false,
payload: results,