From aac49cd0dfed911d1e7f310ca4a6f2994d6c5463 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Sat, 13 Jun 2026 18:49:54 +0300 Subject: [PATCH] feat: add configuration module with env vars --- apps/backend/src/config/configuration.ts | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 apps/backend/src/config/configuration.ts diff --git a/apps/backend/src/config/configuration.ts b/apps/backend/src/config/configuration.ts new file mode 100644 index 0000000..22872dc --- /dev/null +++ b/apps/backend/src/config/configuration.ts @@ -0,0 +1,25 @@ +import { registerAs } from '@nestjs/config'; + +export default registerAs('app', () => ({ + port: parseInt(process.env.PORT || '3000', 10), + moex: { + baseUrl: process.env.MOEX_BASE_URL || 'https://iss.moex.com/iss', + rateLimit: parseInt(process.env.MOEX_RATE_LIMIT || '10', 10), + circuitBreakerThreshold: parseInt( + process.env.MOEX_CIRCUIT_BREAKER_THRESHOLD || '5', + 10, + ), + circuitBreakerResetSeconds: parseInt( + process.env.MOEX_CIRCUIT_BREAKER_RESET_SECONDS || '30', + 10, + ), + }, + cache: { + marketDataTtl: parseInt(process.env.CACHE_MARKET_DATA_TTL || '900', 10), + historyTtl: parseInt(process.env.CACHE_HISTORY_TTL || '3600', 10), + candlesTtl: parseInt(process.env.CACHE_CANDLES_TTL || '3600', 10), + securityTtl: parseInt(process.env.CACHE_SECURITY_TTL || '86400', 10), + searchTtl: parseInt(process.env.CACHE_SEARCH_TTL || '3600', 10), + dividendsTtl: parseInt(process.env.CACHE_DIVIDENDS_TTL || '86400', 10), + }, +}));