adds extra config/config.ts to set config/database.ts
This commit is contained in:
		
							
								
								
									
										32
									
								
								src/config/config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/config/config.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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;
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
import mongoose from 'mongoose';
 | 
					import mongoose from 'mongoose';
 | 
				
			||||||
 | 
					import config from './config'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class DatabaseConnection {
 | 
					export class DatabaseConnection {
 | 
				
			||||||
    private static instance: DatabaseConnection;
 | 
					    private static instance: DatabaseConnection;
 | 
				
			||||||
@@ -37,7 +37,7 @@ export class DatabaseConnection {
 | 
				
			|||||||
        });
 | 
					        });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
        mongoose.connection.on('disconnected', () => {
 | 
					        mongoose.connection.on('disconnected', () => {
 | 
				
			||||||
          console.log('MongoDB connection disconnected', { error });
 | 
					          console.log('MongoDB connection disconnected');
 | 
				
			||||||
          this.isConnected = false;
 | 
					          this.isConnected = false;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user