This commit is contained in:
2025-11-13 06:16:55 +01:00
parent e6b4b09277
commit 90c36f2345
28 changed files with 145 additions and 75 deletions
@@ -1,4 +1,5 @@
import { GrabUserAPIPathParams } from "../../../types";
// import grabDbNames from "../../grab-db-names";
export default function grabUserDSQLAPIPath({
apiVersion,
@@ -11,6 +12,8 @@ export default function grabUserDSQLAPIPath({
const finalParadigm = paradigm || "auth";
const finalAction = action || "login";
// const { dbFullName } = grabDbNames({ dbName: database });
const finalDatabase = database || process.env.DSQL_DB_NAME || "datasquirel";
let finalPath = `/api/${finalAPIVersion}/users/${finalParadigm}/${finalDatabase}`;
@@ -0,0 +1,8 @@
export default function checkArrayDepth(
arr: any[] | any[][] | any[][][] | any,
depth: number
): boolean {
if (!Array.isArray(arr)) return false;
if (depth === 1) return true;
return arr.every((item) => checkArrayDepth(item, depth - 1));
}
+24 -5
View File
@@ -8,6 +8,7 @@ type Param = {
dbName?: string;
userId?: string | number;
user?: UserType | null;
nullable?: boolean;
};
/**
@@ -16,12 +17,30 @@ type Param = {
* @param param0
* @returns
*/
export default function grabDbNames({ dbName, userId, user }: Param) {
export default function grabDbNames(params?: Param) {
const dbNamePrefix = process.env.DSQL_USER_DB_PREFIX;
const finalUserId = user?.id || userId;
const userDbPrefix = `${dbNamePrefix}${finalUserId}_`;
const finalUserId = params?.user?.id || params?.userId;
const userDbPrefix = finalUserId ? `${dbNamePrefix}${finalUserId}_` : ``;
const dbFullName = grabDbFullName({ dbName, user, userId });
const finalDbName =
params?.dbName || process.env.DSQL_DB_NAME || process.env.DSQL_DB_SLUG;
return { userDbPrefix, dbFullName, dbNamePrefix };
const dbSlug = finalDbName?.replace(userDbPrefix, "");
if (!dbSlug) throw new Error(`No Db Name Provided!`);
const dbFullName = grabDbFullName({
dbName: dbSlug,
user: params?.user,
userId: params?.userId,
});
if (!dbFullName) throw new Error(`Couldn't grab DB full name!`);
return {
userDbPrefix,
dbFullName,
dbNamePrefix,
dbSlug,
};
}
@@ -1,6 +1,7 @@
import { ConnectionConfig } from "mariadb";
import grabDbSSL from "./backend/grabDbSSL";
import { DsqlConnectionParam } from "../types";
import grabDbNames from "./grab-db-names";
/**
* # Grab General CONNECTION for DSQL
@@ -10,13 +11,15 @@ export default function grabDSQLConnectionConfig(
): ConnectionConfig {
const CONN_TIMEOUT = 10000;
const dbNames = param?.noDb
? undefined
: grabDbNames({ dbName: param?.database });
const config: ConnectionConfig = {
host: process.env.DSQL_DB_HOST,
user: process.env.DSQL_DB_USERNAME,
password: process.env.DSQL_DB_PASSWORD,
database:
param?.database ||
(param?.noDb ? undefined : process.env.DSQL_DB_NAME),
database: dbNames?.dbFullName,
port: process.env.DSQL_DB_PORT
? Number(process.env.DSQL_DB_PORT)
: undefined,
+6
View File
@@ -0,0 +1,6 @@
/**
* # Grab Names For Query
*/
export default function grabSQLNames() {
return {};
}