// import * as dotenv from 'dotenv'; import { IConfig, environment } from './model'; function getEnvinronment(): environment { if (process.env.NODE_ENV === environment.production) return environment.production; if (process.env.NODE_ENV === environment.staging) return environment.staging; if (process.env.NODE_ENV === environment.integration) return environment.integration; if (process.env.NODE_ENV === environment.development) return environment.development; if (process.env.NODE_ENV === environment.test) return environment.test; return environment.development; } const cfg: IConfig = { env: getEnvinronment(), rabbitmq: { url: `${process.env.MESSAGE_BROKER_HOST}?heartbeat=${process.env.RMQ_HEARTBEAT || 20}`, exchangeName: 'Network.EventExchange', proxyEventQueueName: 'Network.ProxyEvent', globalEventChannel: { exchangeName: 'Network.EventExchange', routingKey: 'Network.System.Event', }, }, mongodb: { url: process.env.MONGO_SDPC || 'mongodb://mongo:27017/p81-sdpc', autoCreate: process.env.NODE_ENV !== 'production', }, safeMode: process.env.ZOMBIE_SAFE_MODE !== 'false', afterMinutes: parseInt(process.env.CANDIDATE_FOR_DELETION_AFTER_MINUTES || '60', 10), }; export default cfg;