datasquirel/dist/package-shared/utils/grab-db-names.js
2025-11-13 06:42:09 +01:00

48 lines
2.0 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = grabDbNames;
const grab_db_full_name_1 = __importDefault(require("./grab-db-full-name"));
const numberfy_1 = __importDefault(require("./numberfy"));
/**
* # Grab full database name
* @description Grab full database name from slug or full name
* @param param0
* @returns
*/
function grabDbNames(params) {
var _a, _b, _c;
const dbNamePrefix = process.env.DSQL_USER_DB_PREFIX || "datasquirel_user_";
const finalUserId = ((_a = params === null || params === void 0 ? void 0 : params.user) === null || _a === void 0 ? void 0 : _a.id) ||
(params === null || params === void 0 ? void 0 : params.userId) ||
(0, numberfy_1.default)(process.env.DSQL_USER_ID) ||
(0, numberfy_1.default)((_c = (_b = process.env.DSQL_DB_NAME) === null || _b === void 0 ? void 0 : _b.split("_")) === null || _c === void 0 ? void 0 : _c[2]) ||
undefined;
const userDbPrefix = finalUserId
? `${dbNamePrefix}${finalUserId}_`
: undefined;
const finalDbName = (params === null || params === void 0 ? void 0 : params.dbName) || process.env.DSQL_DB_NAME || process.env.DSQL_DB_SLUG;
const dbSlug = finalDbName
? userDbPrefix
? finalDbName.replace(userDbPrefix, "")
: finalDbName.replace(new RegExp(`^${dbNamePrefix}\\d+_`), "")
: undefined;
if (!dbSlug)
throw new Error(`No Db Name Provided!`);
const dbFullName = (0, grab_db_full_name_1.default)({
dbName: dbSlug,
user: params === null || params === void 0 ? void 0 : params.user,
userId: params === null || params === void 0 ? void 0 : params.userId,
});
if (!dbFullName)
throw new Error(`Couldn't grab DB full name!`);
return {
userDbPrefix,
dbFullName,
dbNamePrefix,
dbSlug,
};
}