"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = init; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const app_data_1 = require("../data/app-data"); const grab_dir_names_1 = __importDefault(require("../data/grab-dir-names")); function init() { try { const { ROOT_DIR } = (0, grab_dir_names_1.default)(); const { ConfigFileName } = app_data_1.AppData; const ConfigFilePath = path_1.default.join(ROOT_DIR, ConfigFileName); if (!fs_1.default.existsSync(ConfigFilePath)) { console.log("ConfigFilePath", ConfigFilePath); console.error(`Please create a \`${ConfigFileName}\` file at the root of your project.`); process.exit(1); } const ConfigImport = require(ConfigFilePath); const Config = ConfigImport["default"]; if (!Config.db_name) { console.error(`\`db_name\` is required in your config`); process.exit(1); } if (!Config.db_schema_file_name) { console.error(`\`db_schema_file_name\` is required in your config`); process.exit(1); } let db_dir = ROOT_DIR; if (Config.db_dir) { db_dir = path_1.default.resolve(ROOT_DIR, Config.db_dir); if (!fs_1.default.existsSync(Config.db_dir)) { fs_1.default.mkdirSync(Config.db_dir, { recursive: true }); } } const DBSchemaFilePath = path_1.default.join(db_dir, Config.db_schema_file_name); const DbSchemaImport = require(DBSchemaFilePath); const DbSchema = DbSchemaImport["default"]; const backup_dir = Config.db_backup_dir || app_data_1.AppData["DefaultBackupDirName"]; const BackupDir = path_1.default.resolve(db_dir, backup_dir); if (!fs_1.default.existsSync(BackupDir)) { fs_1.default.mkdirSync(BackupDir, { recursive: true }); } return { config: Config, dbSchema: DbSchema }; } catch (error) { console.error(`Initialization ERROR => ` + error.message); process.exit(1); } }