"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = grabDirNames; const path_1 = __importDefault(require("path")); function grabDirNames(param) { var _a; const appDir = (param === null || param === void 0 ? void 0 : param.appDir) || process.env.DSQL_APP_DIR; if (!appDir) throw new Error("Please provide the `DSQL_APP_DIR` env variable."); const schemasDir = process.env.DSQL_DB_SCHEMA_DIR || path_1.default.join(appDir, "jsonData", "dbSchemas"); const tempDirName = ".tmp"; if (!schemasDir) throw new Error("Please provide the `DSQL_DB_SCHEMA_DIR` env variable."); const pakageSharedDir = path_1.default.join(appDir, `package-shared`); const mainDbTypeDefFile = path_1.default.join(pakageSharedDir, `types/dsql.ts`); const mainShemaJSONFilePath = path_1.default.join(schemasDir, `main.json`); const defaultTableFieldsJSONFilePath = path_1.default.join(pakageSharedDir, `data/defaultFields.json`); const usersSchemaDir = path_1.default.join(schemasDir, `users`); const userDirPath = ((_a = param === null || param === void 0 ? void 0 : param.user) === null || _a === void 0 ? void 0 : _a.id) ? path_1.default.join(usersSchemaDir, `user-${param.user.id}`) : (param === null || param === void 0 ? void 0 : param.userId) ? path_1.default.join(usersSchemaDir, `user-${param.userId}`) : undefined; const userSchemaMainJSONFilePath = userDirPath ? path_1.default.join(userDirPath, `main.json`) : undefined; const userPrivateMediaDir = userDirPath ? path_1.default.join(userDirPath, `media`) : undefined; const userPrivateExportsDir = userDirPath ? path_1.default.join(userDirPath, `export`) : undefined; const userPrivateSQLExportsDir = userPrivateExportsDir ? path_1.default.join(userPrivateExportsDir, `sql`) : undefined; const userPrivateTempSQLExportsDir = userPrivateSQLExportsDir ? path_1.default.join(userPrivateSQLExportsDir, tempDirName) : undefined; const userPrivateTempJSONSchemaFilePath = userPrivateTempSQLExportsDir ? path_1.default.join(userPrivateTempSQLExportsDir, `schema.json`) : undefined; const userPrivateDbExportZipFileName = `db-export.zip`; const userPrivateDbExportZipFilePath = userPrivateSQLExportsDir ? path_1.default.join(userPrivateSQLExportsDir, userPrivateDbExportZipFileName) : undefined; const userPrivateDbImportZipFileName = `db-export.zip`; const userPrivateDbImportZipFilePath = userPrivateSQLExportsDir ? path_1.default.join(userPrivateSQLExportsDir, userPrivateDbImportZipFileName) : undefined; const dbNginxLoadBalancerConfigFile = path_1.default.join(appDir, "docker/mariadb/load-balancer/config/template/nginx.conf"); const dockerComposeFile = path_1.default.join(appDir, "docker-compose.yml"); const testDockerComposeFile = path_1.default.join(appDir, "test.docker-compose.yml"); const extraDockerComposeFile = path_1.default.join(appDir, "extra.docker-compose.yml"); const siteSetupFile = path_1.default.join(appDir, "site-setup.json"); const envFile = path_1.default.join(appDir, ".env"); const testEnvFile = path_1.default.join(appDir, "test.env"); return { appDir, schemasDir, userDirPath, mainShemaJSONFilePath, mainDbTypeDefFile, tempDirName, defaultTableFieldsJSONFilePath, usersSchemaDir, userSchemaMainJSONFilePath, userPrivateMediaDir, userPrivateExportsDir, userPrivateSQLExportsDir, userPrivateTempSQLExportsDir, userPrivateTempJSONSchemaFilePath, userPrivateDbExportZipFileName, userPrivateDbExportZipFilePath, userPrivateDbImportZipFileName, userPrivateDbImportZipFilePath, dbNginxLoadBalancerConfigFile, dockerComposeFile, testDockerComposeFile, extraDockerComposeFile, siteSetupFile, envFile, testEnvFile, }; }