This commit is contained in:
Benjamin Toby
2025-08-06 06:37:43 +01:00
parent 689f885d9d
commit a1e56bb1b0
27 changed files with 163 additions and 96 deletions
+3 -1
View File
@@ -1,5 +1,6 @@
import { DbContextsArray } from "./runQuery";
import { APIResponseObject, DSQL_TableSchemaType, PostInsertReturn } from "../../../types";
import { ConnectionConfig } from "mariadb";
export type AddDbEntryParam<T extends {
[k: string]: any;
} = any, K extends string = string> = {
@@ -21,10 +22,11 @@ export type AddDbEntryParam<T extends {
encryptionSalt?: string;
forceLocal?: boolean;
debug?: boolean;
dbConfig?: ConnectionConfig;
};
/**
* Add a db Entry Function
*/
export default function addDbEntry<T extends {
[k: string]: any;
} = any, K extends string = string>({ dbContext, paradigm, dbFullName, tableName, data, batchData, tableSchema, duplicateColumnName, duplicateColumnValue, update, encryptionKey, encryptionSalt, forceLocal, debug, }: AddDbEntryParam<T, K>): Promise<APIResponseObject<PostInsertReturn>>;
} = any, K extends string = string>({ dbContext, paradigm, dbFullName, tableName, data, batchData, tableSchema, duplicateColumnName, duplicateColumnValue, update, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, }: AddDbEntryParam<T, K>): Promise<APIResponseObject<PostInsertReturn>>;
+20 -6
View File
@@ -24,7 +24,7 @@ const grab_parsed_value_1 = __importDefault(require("./grab-parsed-value"));
* Add a db Entry Function
*/
function addDbEntry(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbContext, paradigm, dbFullName, tableName, data, batchData, tableSchema, duplicateColumnName, duplicateColumnValue, update, encryptionKey, encryptionSalt, forceLocal, debug, }) {
return __awaiter(this, arguments, void 0, function* ({ dbContext, paradigm, dbFullName, tableName, data, batchData, tableSchema, duplicateColumnName, duplicateColumnValue, update, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, }) {
const isMaster = forceLocal
? true
: (0, check_if_is_master_1.default)({ dbContext, dbFullName });
@@ -47,9 +47,10 @@ function addDbEntry(_a) {
typeof duplicateColumnName === "string" &&
newData) {
const checkDuplicateQuery = `SELECT * FROM ${isMaster ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${duplicateColumnName}\`=?`;
const duplicateValue = yield (0, conn_db_handler_1.default)(null, checkDuplicateQuery, [
duplicateColumnValue,
]);
const duplicateValue = yield (0, conn_db_handler_1.default)({
query: checkDuplicateQuery,
values: [duplicateColumnValue],
});
if ((duplicateValue === null || duplicateValue === void 0 ? void 0 : duplicateValue[0]) && !update) {
return {
success: false,
@@ -68,6 +69,9 @@ function addDbEntry(_a) {
encryptionSalt,
identifierColumnName: duplicateColumnName,
identifierValue: duplicateColumnValue || "",
dbConfig,
debug,
forceLocal,
});
}
}
@@ -138,7 +142,12 @@ function addDbEntry(_a) {
const { insertKeysArray, insertValuesArray, queryValuesArray } = generateQuery(newData);
const query = `INSERT INTO ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` (${insertKeysArray.join(",")}) VALUES (${grabQueryValuesString(insertValuesArray)})`;
const finalQueryValues = grabFinalQueryValuesArr(queryValuesArray);
const newInsert = yield (0, conn_db_handler_1.default)(null, query, finalQueryValues, debug);
const newInsert = yield (0, conn_db_handler_1.default)({
query,
values: finalQueryValues,
debug,
dsqlConnOpts: { config: dbConfig },
});
return {
success: Boolean(newInsert === null || newInsert === void 0 ? void 0 : newInsert.insertId),
payload: newInsert,
@@ -165,7 +174,12 @@ function addDbEntry(_a) {
.map((vl) => `(${grabQueryValuesString(vl)})`)
.join(",")}`;
const finalQueryValues = grabFinalQueryValuesArr(batchQueryValuesArray.flat());
const newInsert = yield (0, conn_db_handler_1.default)(null, query, finalQueryValues, debug);
const newInsert = yield (0, conn_db_handler_1.default)({
query,
values: finalQueryValues,
debug,
dsqlConnOpts: { config: dbConfig },
});
if (debug) {
(0, debug_log_1.default)({
log: newInsert,
+4 -3
View File
@@ -31,9 +31,10 @@ function deleteDbEntry(_a) {
* @description
*/
const query = `DELETE FROM ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` WHERE \`${identifierColumnName.toString()}\`=?`;
const deletedEntry = yield (0, conn_db_handler_1.default)(null, query, [
identifierValue,
]);
const deletedEntry = yield (0, conn_db_handler_1.default)({
query,
values: [identifierValue],
});
/**
* Return statement
*/
@@ -1,5 +1,6 @@
import { DbContextsArray } from "./runQuery";
import { APIResponseObject, DSQL_TableSchemaType, PostInsertReturn } from "../../../types";
import { ConnectionConfig } from "mariadb";
type Param<T extends {
[k: string]: any;
} = any> = {
@@ -14,6 +15,7 @@ type Param<T extends {
identifierValue: string | number;
forceLocal?: boolean;
debug?: boolean;
dbConfig?: ConnectionConfig;
};
/**
* # Update DB Function
@@ -21,5 +23,5 @@ type Param<T extends {
*/
export default function updateDbEntry<T extends {
[k: string]: any;
} = any>({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, }: Param<T>): Promise<APIResponseObject<PostInsertReturn>>;
} = any>({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, }: Param<T>): Promise<APIResponseObject<PostInsertReturn>>;
export {};
+6 -2
View File
@@ -23,7 +23,7 @@ const grab_parsed_value_1 = __importDefault(require("./grab-parsed-value"));
* @description
*/
function updateDbEntry(_a) {
return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, }) {
return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, }) {
var _b, _c;
/**
* Check if data is valid
@@ -97,7 +97,11 @@ function updateDbEntry(_a) {
////////////////////////////////////////
const query = `UPDATE ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` SET ${updateKeyValueArray.join(",")} WHERE \`${identifierColumnName}\`=?`;
updateValues.push(identifierValue);
const updatedEntry = yield (0, conn_db_handler_1.default)(null, query, updateValues);
const updatedEntry = yield (0, conn_db_handler_1.default)({
query,
values: updateValues,
dsqlConnOpts: { config: dbConfig },
});
/**
* Return statement
*/
@@ -33,7 +33,10 @@ function fullAccessDbHandler(_a) {
* @description Fetch data from db if no cache
*/
try {
results = yield (0, conn_db_handler_1.default)(null, queryString, queryValuesArray);
results = yield (0, conn_db_handler_1.default)({
query: queryString,
values: queryValuesArray,
});
////////////////////////////////////////
}
catch (error) {
+1 -1
View File
@@ -42,7 +42,7 @@ function suDbHandler(_a) {
// bigNumberStrings: false,
// dateStrings: true,
// });
const results = yield (0, conn_db_handler_1.default)(connection, query);
const results = yield (0, conn_db_handler_1.default)({ conn: connection, query });
return results;
});
}
+1 -1
View File
@@ -34,7 +34,7 @@ function userDbHandler(_a) {
bigIntAsNumber: true,
metaAsArray: true,
});
const results = yield (0, conn_db_handler_1.default)(connection, query);
const results = yield (0, conn_db_handler_1.default)({ conn: connection, query });
if (Array.isArray(results)) {
const parsedDbResults = results.map((res) => parseResultObject(res));
return parsedDbResults;