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
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
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
974c83d67e
test: make backend service specs deterministic
2026-06-15 04:56:53 +03:00
b79c8210dc
style: apply prettier formatting across the codebase
CI / lint (pull_request) Successful in 9m42s
CI / build (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
2026-06-13 20:32:34 +03:00
f0a9a13d57
feat: add shares endpoint with market data and dividends
2026-06-13 19:04:30 +03:00