// model.ts export enum environment { production = 'production', staging = 'staging', integration = 'integration', development = 'development', test = 'test', } export interface IConfig { env: environment; // Configuration options for RabbitMQ message broker rabbitmq: { // URL for connecting to the RabbitMQ server url: string; // Name of the exchange for publishing and subscribing to events exchangeName: string; // Name of the queue for receiving proxy events proxyEventQueueName: string; // Configuration options for the global event channel globalEventChannel: { // Name of the exchange for the global event channel exchangeName: string; // Routing key for the global event channel routingKey: string; }; }; // Configuration options for MongoDB mongodb: { // URL for connecting to the MongoDB server url: string; // Whether to automatically create the database if it doesn't exist autoCreate: boolean; }; // Whether the application is running in "safe mode" safeMode: boolean; // Number of minutes after which a candidate is eligible for deletion afterMinutes: number; }