Files
2026-08-14 13:48:26 +03:00

3.8 KiB
Raw Permalink Blame History

1. Backend-контракт журнала

  • 1.1 Добавить структурные типы request/response операций T-Bank и метод клиента GetOperationsByCursor, включая тесты клиента на передачу запроса и upstream-ошибки.
  • 1.2 Добавить DTO журнала и mapper, сохраняющий одну upstream-операцию одной записью, точные денежные строки, optional-детали и шесть стабильных категорий.
  • 1.3 Добавить тесты mapper для купонов, дивидендов, налогов, комиссий, сделок с комиссией, неизвестных типов и движений только инструментов.

2. Backend read path журнала

  • 2.1 Добавить валидируемые query-параметры журнала для периода, категорий, cursor и ограниченного limit.
  • 2.2 Добавить аутентифицированный сервис журнала Brokerage Account с проверкой принадлежности счёта, запросами исполненного состояния, кратким cache точного query и существующей семантикой ошибок T-Bank.
  • 2.3 Добавить GET /brokerage-accounts/:accountId/operations, Swagger responses и module wiring.
  • 2.4 Добавить тесты сервиса и controller для периода по умолчанию, включительных фильтров периода/категорий, продолжения по cursor, недоступного счёта и ошибок T-Bank.

3. Frontend API-интеграция

  • 3.1 Синхронизировать frontend OpenAPI snapshot и generated types из backend-контракта.
  • 3.2 Добавить public entity broker-operation с API/query hook на общем типизированном client и стабильным cache key.
  • 3.3 Добавить unit-тесты формирования query-параметров и поведения состояний query.

4. UI журнала счёта

  • 4.1 Добавить защищённый маршрут /accounts/:accountId/operations и страницу журнала счёта с изолированными loading, error и empty states.
  • 4.2 Добавить controls периода, выбор категорий и cursor-пагинацию; сбрасывать pagination при каждом изменении query.
  • 4.3 Отображать компактные строки операций в исходных валютах и обозначать записи без движения денег без цены, количества и раскрытия деталей.
  • 4.4 Добавить в обзор счёта блок из пяти последних событий и ссылку полного журнала, не связывая его состояние с загрузкой Portfolio.
  • 4.5 Добавить русские i18n-сообщения и UI-тесты фильтрации, страниц, раскрытия деталей, empty/error states и устойчивости последних событий.

5. Документация и проверка

  • 5.1 Добавить Account Ledger и Ledger Entry в глоссарий WealthLedger.
  • 5.2 Задокументировать завершённое поведение журнала в docs/features.
  • 5.3 Выполнить backend lint, tests и build; выполнить frontend verification и openspec validate add-brokerage-account-ledger --type change --store wealth-ledger-specs.