2.2 KiB
Raw Permalink Blame History

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 MoexSecuritiesClientsearchSecurities(), getSecurityDescription()
  • 2.2 MoexMarketDataClientgetShareMarketData(), getShareMarketDataBatch(), getBondData(), getBondMarketData(), getBondPositionDataBatch()
  • 2.3 MoexCandlesClientgetCandles()
  • 2.4 MoexHistoryClientgetHistory(), getBondHistory()
  • 2.5 MoexDividendsClientgetDividends()
  • 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 как выполненную