48 lines
2.0 KiB
JavaScript
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,
|
|
};
|
|
}
|