64 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API Envelope Runtime Contract — Tasks
## Task 1: Добавить ApiEnvelopePayload и обновить TransformInterceptor
- [x] Добавить `ApiEnvelopePayload<T>` класс в `api-response.dto.ts`
- [x] Обновить `TransformInterceptor` — распознавать `ApiEnvelopePayload`
- [x] Проверить сборку (`npm run build -w apps/backend`)
## Task 2: Migrate services — ApiEnvelopePayload вместо `{ data, meta }`
- [x] SharesService: getMarketData, getDividends, getHistory
- [x] BondsService: getBond, getMarketData, getHistory
- [x] CandlesService.getCandles
- [x] BrokerAccountsService.findAll
- [x] BrokerPortfolioService.getPortfolio, getPositions
- [x] BrokerEventsService.getEvents
- [x] BrokerAnalyticsService.getAnalytics
- [x] BrokerOperationsService.getOperations
- [x] Проверить сборку
## Task 3: Migrate controllers — plain data returns вместо ручного envelope
- [x] SharesController.getShare
- [x] SecuritiesController.search, screener
- [x] PortfolioController: все методы
- [x] AuthController: все методы
- [x] TBankController: stop ApiResponse wrapping
- [x] Проверить сборку
## Task 4: Update backend tests
- [x] tbank.controller.spec.ts — ApiResponse → ApiEnvelopePayload
- [x] broker-accounts.service.spec.ts — result.meta → result
- [x] broker-analytics.service.spec.ts
- [x] broker-events.service.spec.ts
- [x] broker-portfolio.service.spec.ts
- [x] broker-operations.service.spec.ts
- [x] broker-operation-sync.service.spec.ts
- [x] shares.service.spec.ts
- [x] securities.service.spec.ts
- [x] screener.service.spec.ts
- [x] portfolio.service.spec.ts
- [x] Запустить `npm test -w apps/backend`
## Task 5: HTTP contract tests
- [x] Создать `apps/backend/src/envelope-contract.spec.ts` с тестами single envelope
- [x] Запустить contract tests
## Task 6: Simplify frontend normalizeEnvelope
- [x] Убрать double-wrap detection из `normalizeEnvelope()`
- [x] Запустить `npm test -w apps/frontend`
- [x] Запустить `npm run build -w apps/frontend`
## Task 7: Final verification
- [ ] `npm test -w apps/backend`
- [ ] `npm test -w apps/frontend`
- [ ] `npm run build -w apps/backend`
- [ ] `npm run build -w apps/frontend`
- [ ] OpenAPI artifacts check
- [ ] docs consistency check