From 8c91d68b5914c4b63269b71705017ddf3fe34101 Mon Sep 17 00:00:00 2001 From: albert Date: Mon, 28 Jul 2025 13:02:17 +0200 Subject: [PATCH] adds extra config/config.ts to set config/database.ts --- src/config/config.ts | 32 ++++++++++++++++++++++++++++++++ src/config/database.ts | 4 ++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/config/config.ts diff --git a/src/config/config.ts b/src/config/config.ts new file mode 100644 index 0000000..800acf8 --- /dev/null +++ b/src/config/config.ts @@ -0,0 +1,32 @@ + + +export interface IConfig { + mongodbUri: string; +} + +class Config implements IConfig { + private static instance: Config; + + public readonly mongodbUri: string; + + private constructor() { + this.mongodbUri = process.env.MONGODB_URI || 'mongodb://localhost:27017/dailytrends'; + this.validateConfig(); + } + + public static getInstance(): Config { + if (!Config.instance) { + Config.instance = new Config(); + } + return Config.instance; + } + + private validateConfig(): void { + if (!this.mongodbUri) { + throw new Error('MONGODB_URI is required'); + } + } +} + +export const config = Config.getInstance(); +export default config; \ No newline at end of file diff --git a/src/config/database.ts b/src/config/database.ts index 6dadc1d..84a8e54 100644 --- a/src/config/database.ts +++ b/src/config/database.ts @@ -1,5 +1,5 @@ import mongoose from 'mongoose'; - +import config from './config' export class DatabaseConnection { private static instance: DatabaseConnection; @@ -37,7 +37,7 @@ export class DatabaseConnection { }); mongoose.connection.on('disconnected', () => { - console.log('MongoDB connection disconnected', { error }); + console.log('MongoDB connection disconnected'); this.isConnected = false; });