This commit is contained in:
Benjamin Toby
2025-02-12 12:12:11 +01:00
parent ca65327527
commit e089f84ef4
13 changed files with 34 additions and 73 deletions
+2 -9
View File
@@ -46,16 +46,9 @@ export default async function get<
*
* @description Look for local db settings in `.env` file and by pass the http request if available
*/
const { DSQL_DB_HOST, DSQL_DB_USERNAME, DSQL_DB_PASSWORD, DSQL_DB_NAME } =
process.env;
const { DSQL_DB_NAME } = process.env;
if (
DSQL_DB_HOST?.match(/./) &&
DSQL_DB_USERNAME?.match(/./) &&
DSQL_DB_PASSWORD?.match(/./) &&
DSQL_DB_NAME?.match(/./) &&
global.DSQL_USE_LOCAL
) {
if (DSQL_DB_NAME?.match(/./) && global.DSQL_USE_LOCAL) {
let dbSchema: DSQL_DatabaseSchemaType | undefined;
try {
@@ -20,6 +20,11 @@ type Param = {
tableName?: string;
};
type Return = {
result: any;
error?: string;
};
/**
* # Run DSQL users queries
*/
@@ -32,7 +37,7 @@ export default async function runQuery({
tableName,
debug,
dbContext,
}: Param): Promise<any> {
}: Param): Promise<Return> {
/**
* Declare variables
*
@@ -40,7 +45,7 @@ export default async function runQuery({
*/
let result: any;
let error: any;
let error: string | undefined;
let tableSchema: DSQL_TableSchemaType | undefined;
if (dbSchema) {
@@ -127,7 +132,7 @@ export default async function runQuery({
});
if (!result?.insertId) {
error = new Error("Couldn't insert data");
error = "Couldn't insert data";
}
break;
@@ -162,18 +167,18 @@ export default async function runQuery({
break;
}
}
} catch (error: any) {
} catch (err: any) {
serverError({
component: "functions/backend/runQuery",
message: error.message,
message: err.message,
});
if (debug && global.DSQL_USE_LOCAL) {
console.log("runQuery:error", error.message);
console.log("runQuery:error", err.message);
}
result = null;
error = error.message;
error = err.message;
}
return { result, error };
@@ -17,46 +17,24 @@ export default async function varReadOnlyDatabaseDbHandler({
queryValuesArray,
tableSchema,
}: Param) {
/**
* Declare variables
*
* @description Declare "results" variable
*/
let results;
const DB_CONN = global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
/**
* Fetch from db
*
* @description Fetch data from db if no cache
*/
try {
results = await connDbHandler(DB_CONN, queryString, queryValuesArray);
////////////////////////////////////////
} catch (error: any) {
////////////////////////////////////////
serverError({
component: "varReadOnlyDatabaseDbHandler",
message: error.message,
noMail: true,
});
/**
* Return error
*/
return error.message;
} finally {
DB_CONN?.end();
}
/**
* Return results
*
* @description Return results add to cache if "req" param is passed
*/
if (results) {
const unparsedResults = results;
const parsedResults = await parseDbResults({
+1
View File
@@ -1521,4 +1521,5 @@ export type DsqlCrudParam<
targetId?: string | number;
query?: DsqlCrudQueryObject<T>;
sanitize?: (data?: T) => T;
debug?: boolean;
};
@@ -12,6 +12,7 @@ export default async function dsqlCrud<
targetId,
query,
sanitize,
debug,
}: DsqlCrudParam<T>): Promise<
| (PostReturn & {
queryObject?: ReturnType<Awaited<typeof sqlGenerator>>;
@@ -32,6 +33,7 @@ export default async function dsqlCrud<
const GET_RES = await get({
query: queryObject?.string || "",
queryValues: queryObject?.values || [],
debug,
});
return { ...GET_RES, queryObject };