Files
specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/tasks.md
T
2026-08-14 13:48:26 +03:00

33 lines
3.8 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.
## 1. Backend-контракт журнала
- [x] 1.1 Добавить структурные типы request/response операций T-Bank и метод клиента `GetOperationsByCursor`, включая тесты клиента на передачу запроса и upstream-ошибки.
- [x] 1.2 Добавить DTO журнала и mapper, сохраняющий одну upstream-операцию одной записью, точные денежные строки, optional-детали и шесть стабильных категорий.
- [x] 1.3 Добавить тесты mapper для купонов, дивидендов, налогов, комиссий, сделок с комиссией, неизвестных типов и движений только инструментов.
## 2. Backend read path журнала
- [x] 2.1 Добавить валидируемые query-параметры журнала для периода, категорий, cursor и ограниченного limit.
- [x] 2.2 Добавить аутентифицированный сервис журнала Brokerage Account с проверкой принадлежности счёта, запросами исполненного состояния, кратким cache точного query и существующей семантикой ошибок T-Bank.
- [x] 2.3 Добавить `GET /brokerage-accounts/:accountId/operations`, Swagger responses и module wiring.
- [x] 2.4 Добавить тесты сервиса и controller для периода по умолчанию, включительных фильтров периода/категорий, продолжения по cursor, недоступного счёта и ошибок T-Bank.
## 3. Frontend API-интеграция
- [x] 3.1 Синхронизировать frontend OpenAPI snapshot и generated types из backend-контракта.
- [x] 3.2 Добавить public entity `broker-operation` с API/query hook на общем типизированном client и стабильным cache key.
- [x] 3.3 Добавить unit-тесты формирования query-параметров и поведения состояний query.
## 4. UI журнала счёта
- [x] 4.1 Добавить защищённый маршрут `/accounts/:accountId/operations` и страницу журнала счёта с изолированными loading, error и empty states.
- [x] 4.2 Добавить controls периода, выбор категорий и cursor-пагинацию; сбрасывать pagination при каждом изменении query.
- [x] 4.3 Отображать компактные строки операций в исходных валютах и обозначать записи без движения денег без цены, количества и раскрытия деталей.
- [x] 4.4 Добавить в обзор счёта блок из пяти последних событий и ссылку полного журнала, не связывая его состояние с загрузкой Portfolio.
- [x] 4.5 Добавить русские i18n-сообщения и UI-тесты фильтрации, страниц, раскрытия деталей, empty/error states и устойчивости последних событий.
## 5. Документация и проверка
- [x] 5.1 Добавить `Account Ledger` и `Ledger Entry` в глоссарий WealthLedger.
- [x] 5.2 Задокументировать завершённое поведение журнала в `docs/features`.
- [x] 5.3 Выполнить backend lint, tests и build; выполнить frontend verification и `openspec validate add-brokerage-account-ledger --type change --store wealth-ledger-specs`.