27 lines
3.9 KiB
Markdown
27 lines
3.9 KiB
Markdown
## 1. Backend read-path счетов
|
|
|
|
- [x] 1.1 Расширить T-Bank client для возврата данных открытых счетов, сохранив существующую policy TLS, rate limit, deadline, retry и безопасного mapping ошибок.
|
|
- [x] 1.2 Добавить аутентифицированные controller, service и OpenAPI DTO для `GET /api/v1/brokerage-accounts`; при отсутствии connection возвращать `TBANK_NOT_CONNECTED` без upstream-вызова.
|
|
- [x] 1.3 Нормализовать поддерживаемые типы счетов T-Bank, trimmed/fallback имена и nullable дату открытия в формате `YYYY-MM-DD` в публичный ответ brokerage account, сохраняя upstream-порядок.
|
|
- [x] 1.4 Добавить backend-тесты для аутентификации, отсутствующего connection, нормализованных поддерживаемых счетов, отфильтрованных типов, пустого результата, отсутствующей даты, сохранения невалидного token и upstream-недоступности.
|
|
|
|
## 2. Сгенерированный контракт и frontend data layer
|
|
|
|
- [x] 2.1 Запустить backend API и перегенерировать frontend OpenAPI client; проверить наличие `GET /api/v1/brokerage-accounts` в сгенерированном контракте.
|
|
- [x] 2.2 Добавить FSD entity slice `brokerage-account` с типизированным React Query запросом списка, локальной обработкой кодов ошибок, display helpers и публичными barrel exports.
|
|
- [x] 2.3 Инвалидировать query brokerage accounts после успешной замены либо удаления T-Bank connection.
|
|
|
|
## 3. Страница счетов
|
|
|
|
- [x] 3.1 Заменить placeholder `/accounts` на состояния loading, empty, known-error, generic-error и loaded, скрывая устаревшие карточки при каждом запросе.
|
|
- [x] 3.2 Добавить локализованные доступные карточки счетов со ссылкой на `/accounts/:accountId`, названием, нормализованным типом и опциональной локализованной датой открытия.
|
|
- [x] 3.3 Оформить loaded-список адаптивными карточками в одну или две колонки: светлые поверхности, синие акценты, мягкие границы и тени в стиле `references/fin-tracker`, через локальные CSS modules и без вымышленных финансовых данных.
|
|
- [x] 3.4 Добавить frontend-тесты для всех состояний страницы, действий известных ошибок, retry, навигации и invalidation после mutation подключения.
|
|
|
|
## 4. Документация и проверка
|
|
|
|
- [x] 4.1 Создать `docs/features/brokerage-accounts.md` с пользовательским потоком, Mermaid sequence diagram, API contract, поведением ошибок, поддерживаемыми типами и ограничением отсутствия кэша/данных об актуальности.
|
|
- [x] 4.2 Запустить backend lint, tests и build; запустить frontend lint, typecheck, tests, build и no-TODO check.
|
|
- [x] 4.3 Визуально проверить страницу счетов на desktop и mobile ширинах, включая состояния loading, empty, error и loaded.
|
|
- [x] 4.4 Перед архивированием запустить `openspec validate add-brokerage-accounts --type change --strict --store wealth-ledger-specs` и `opsx-verify`.
|