33 lines
3.8 KiB
Markdown
33 lines
3.8 KiB
Markdown
## 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`.
|