This commit is contained in:
Benjamin Toby
2025-06-01 11:39:56 +01:00
parent b28b05956b
commit 9b7c98cff6
18 changed files with 151 additions and 54 deletions
@@ -71,12 +71,21 @@ export default function grabDirNames(param?: Param) {
"docker/services/mariadb/load-balancer/config/template/nginx.conf"
);
const dockerComposeFile = path.join(appDir, "docker-compose.yml");
let dockerComposeFile = path.join(appDir, "docker-compose.yml");
let dockerComposeFileAlt = path.join(appDir, "docker-compose.yaml");
const testDockerComposeFile = path.join(appDir, "test.docker-compose.yml");
const testDockerComposeFileAlt = path.join(
appDir,
"test.docker-compose.yaml"
);
const extraDockerComposeFile = path.join(
appDir,
"extra.docker-compose.yml"
);
const extraDockerComposeFileAlt = path.join(
appDir,
"extra.docker-compose.yaml"
);
const siteSetupFile = path.join(appDir, "site-setup.json");
@@ -104,8 +113,11 @@ export default function grabDirNames(param?: Param) {
userPrivateDbImportZipFilePath,
dbNginxLoadBalancerConfigFile,
dockerComposeFile,
dockerComposeFileAlt,
testDockerComposeFile,
testDockerComposeFileAlt,
extraDockerComposeFile,
extraDockerComposeFileAlt,
siteSetupFile,
envFile,
testEnvFile,
+39 -7
View File
@@ -2,6 +2,7 @@ import get from "../../actions/get";
import post from "../../actions/post";
import sqlGenerator from "../../functions/dsql/sql/sql-generator";
import { DsqlCrudParam, PostReturn } from "../../types";
import connDbHandler, { ConnDBHandlerQueryObject } from "../db/conn-db-handler";
export default async function dsqlCrud<
T extends { [key: string]: any } = { [key: string]: any }
@@ -15,9 +16,11 @@ export default async function dsqlCrud<
debug,
targetField,
targetId,
count,
}: DsqlCrudParam<T>): Promise<
| (PostReturn & {
queryObject?: ReturnType<Awaited<typeof sqlGenerator>>;
count?: number;
})
| null
> {
@@ -31,14 +34,43 @@ export default async function dsqlCrud<
genObject: query,
});
const GET_RES = await get({
query: queryObject?.string || "",
queryValues: queryObject?.values || [],
debug,
forceLocal: true,
});
const DB_CONN =
global.DSQL_READ_ONLY_DB_CONN || global.DSQL_DB_CONN;
return { ...GET_RES, queryObject };
const connQueries: ConnDBHandlerQueryObject[] = [
{
query: queryObject?.string,
values: queryObject?.values || [],
},
];
if (count) {
const countQueryObject = sqlGenerator({
tableName: table,
genObject: query,
count: true,
});
connQueries.push({
query: countQueryObject.string,
values: countQueryObject.values,
});
}
const res = await connDbHandler(DB_CONN, connQueries);
const isSuccess = Array.isArray(res) && Array.isArray(res[0]);
return {
success: isSuccess,
payload: isSuccess ? res[0] : null,
error: isSuccess ? undefined : res?.error,
queryObject,
count:
isSuccess && res[1]?.[0]?.["COUNT(*)"]
? res[1][0]["COUNT(*)"]
: undefined,
};
case "insert":
return await post({
+4 -4
View File
@@ -1,7 +1,7 @@
import { ServerlessMysql } from "serverless-mysql";
import debugLog from "../logging/debug-log";
type QueryObject = {
export type ConnDBHandlerQueryObject = {
query: string;
values?: (string | number | undefined)[];
};
@@ -19,13 +19,13 @@ export default async function connDbHandler<ReturnType = any>(
*/
conn?: ServerlessMysql,
/**
* String Or `QueryObject` Array
* String Or `ConnDBHandlerQueryObject` Array
*/
query?: QueryObject["query"] | QueryObject[],
query?: ConnDBHandlerQueryObject["query"] | ConnDBHandlerQueryObject[],
/**
* Array of Values to Sanitize and Inject
*/
values?: QueryObject["values"],
values?: ConnDBHandlerQueryObject["values"],
debug?: boolean
): Promise<Return<ReturnType>> {
try {