2.2 KiB
2.2 KiB
MoexClientService Split — Tasks
Этап 1: Создание инфраструктурного клиента
- 1.1 Создать
moex-http.client.ts— перенестиrequest(),extractTable(), circuit breaker, PQueue изMoexClientService - 1.2 Написать unit-тесты для
MoexHttpClient - 1.3 Написать тест на circuit breaker (threshold → open → reset)
Этап 2: Создание доменных клиентов
- 2.1
MoexSecuritiesClient—searchSecurities(),getSecurityDescription() - 2.2
MoexMarketDataClient—getShareMarketData(),getShareMarketDataBatch(),getBondData(),getBondMarketData(),getBondPositionDataBatch() - 2.3
MoexCandlesClient—getCandles() - 2.4
MoexHistoryClient—getHistory(),getBondHistory() - 2.5
MoexDividendsClient—getDividends() - 2.6 Написать unit-тесты для каждого доменного клиента (mocked http client)
Этап 3: Обновление модуля
- 3.1 Убрать
@Global()изMoexClientModule - 3.2 Добавить новые клиенты в providers/exports
- 3.3 Убрать старый
MoexClientServiceиз providers - 3.4 Проверить, что
MoexHttpClientне экспортируется
Этап 4: Миграция потребителей
- 4.1
shares/— обновить модуль, сервис, тесты - 4.2
bonds/— обновить модуль, сервис, тесты - 4.3
candles/— обновить модуль, сервис, тесты - 4.4
securities/— обновить модуль, securities.service, screener.service, тесты - 4.5
portfolio/— обновить модуль, сервис, тесты - 4.6
tbank/— обновить broker-events.service, тесты
Этап 5: Финализация
- 5.1 Удалить старый
moex-client.service.ts - 5.2
npm run buildуспешен - 5.3 Все тесты проходят
- 5.4 Обновить
docs/features/backend-architecture-improvements/tasks.md— отметить Iteration 6 как выполненную