58ddb10a92
docs: update inbox and roadmap with completed backend architecture improvements
CI / ci (pull_request) Failing after 2m56s
CI / ci (push) Failing after 2m54s
2026-06-25 21:05:01 +03:00
4ed6e0ce20
docs: mark all tasks as completed in moex-client-split tasks.md
2026-06-25 20:54:06 +03:00
75fead68b8
refactor: split MoexClientService into domain-specific clients
...
- MoexHttpClient: infrastructure (axios, rate limiter, circuit breaker)
- MoexSecuritiesClient: search and security descriptions
- MoexMarketDataClient: share/bond market data and batch queries
- MoexCandlesClient: candle data
- MoexHistoryClient: share/bond history
- MoexDividendsClient: dividend data
- Removed @Global() from MoexClientModule
- Updated all 7 consumers with explicit DI
- All 141 tests passing
2026-06-25 20:49:17 +03:00
d2457d13af
docs: add ADR-020 and feature docs for MoexClientService split
2026-06-25 20:42:28 +03:00
238836c850
refactor(backend): connect RequestLoggingMiddleware through DI
...
- AppModule implements NestModule with configure() for middleware
- Remove manual middleware instantiation from main.ts
- 120 tests pass, build succeeds
2026-06-25 20:37:10 +03:00
6e8efd2b80
feat(backend): improve health check with dependency probes
2026-06-25 20:34:37 +03:00
9f85dc5dde
refactor(backend): introduce domain exception hierarchy
...
- Add DomainException base class extending HttpException
- Add EntityNotFoundException, PortfolioAccessDeniedException,
MoexApiException, TBankApiException, TBankNotConfiguredException
- Update HttpExceptionFilter with unhandled error logging
- Replace generic NestJS exceptions in services with domain exceptions
- Update all affected tests
- 117 tests pass, build succeeds
2026-06-25 20:30:45 +03:00
3b919ecdc6
perf(backend): add dedicated screenerTtl config for screener caching
...
- Add CACHE_SCREENER_TTL env var (default 900s) to configuration
- Move screener from marketDataTtl to dedicated screenerTtl
- Add test verifying cache key prefix, parts, and TTL config key
- 117 tests pass, build succeeds
2026-06-25 20:25:53 +03:00
ccb1082535
refactor(backend): unify envelope DTOs and fix shares/bonds inconsistency
...
- Replace 4 duplicate meta DTOs (AuthResponseMetaDto, PortfolioResponseMetaDto,
BrokerResponseMetaDto, ScreenerResponseMetaDto) with shared ApiResponseMeta
- Wrap shares getShare() in ApiEnvelopePayload (was raw object, unlike bonds)
- Remove unnecessary CacheModule import from securities module
- Update portfolio controller nullDataEnvelopeSchema to use shared ApiResponseMeta
- All 116 tests pass
2026-06-25 20:20:59 +03:00