UNPKG

alapa

Version:

A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.

44 lines (43 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateDBConnection = updateDBConnection; const typeorm_1 = require("typeorm"); const typeorm_naming_strategies_1 = require("typeorm-naming-strategies"); const globals_1 = require("../shared/globals"); const model_1 = require("../data/model"); const global_config_1 = require("./global-config"); let DatabaseConnection = new typeorm_1.DataSource({ type: "sqlite", database: "test.db", }); async function updateDBConnection(configuration) { // Ensure previous connection is closed before updating if (DatabaseConnection?.isInitialized) { await DatabaseConnection.destroy(); } const databaseConfig = configuration ?? globals_1.GlobalConfig.database; const config = { ...(0, global_config_1.globalConfig)(databaseConfig), ...databaseConfig.connection, }; // Ensure that entities are handled correctly if (Array.isArray(config.entities)) { // Add or update entities as needed if (!config.entities.includes(model_1.SessionDatabase)) { config.entities.push(model_1.SessionDatabase); } } else { // If entities is not an array, initialize it with the new entity config.entities = [model_1.SessionDatabase]; } // Initialize the new connection DatabaseConnection = new typeorm_1.DataSource({ ...config, namingStrategy: new typeorm_naming_strategies_1.SnakeNamingStrategy(), }); await DatabaseConnection.initialize(); return DatabaseConnection; // console.log("Database connection updated and initialized."); } exports.default = DatabaseConnection;