docs: describe brokerage account summaries
This commit is contained in:
@@ -28,9 +28,11 @@ WealthLedger — локальное приложение для просмотр
|
|||||||
генерируется штатным workflow.
|
генерируется штатным workflow.
|
||||||
- Поставка остаётся локальной: deployment, Docker, CI/CD и облачные сервисы не
|
- Поставка остаётся локальной: deployment, Docker, CI/CD и облачные сервисы не
|
||||||
входят в текущие границы.
|
входят в текущие границы.
|
||||||
- Portfolio Snapshot, Future Cash Events и Ledger pages существуют как
|
- Portfolio Snapshot, summary списка Brokerage Account, Future Cash Events и
|
||||||
read-only наблюдения текущего T-Bank connection; система не хранит историю
|
Ledger pages существуют как read-only наблюдения текущего T-Bank connection;
|
||||||
портфеля, будущих событий или брокерских счетов как долговременные агрегаты.
|
система не хранит историю портфеля, будущих событий или брокерских счетов как
|
||||||
|
долговременные агрегаты. Summary списка сохраняет исходные валюты без FX-
|
||||||
|
агрегации и может быть локально недоступна для отдельного счета.
|
||||||
|
|
||||||
## Поток auth/session
|
## Поток auth/session
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,11 @@ sequenceDiagram
|
|||||||
else Connection существует
|
else Connection существует
|
||||||
B->>T: GetAccounts(OPEN) over TLS
|
B->>T: GetAccounts(OPEN) over TLS
|
||||||
T-->>B: Счета или ошибка
|
T-->>B: Счета или ошибка
|
||||||
B-->>F: Нормализованный массив либо Problem Details
|
par Для каждого поддерживаемого счета
|
||||||
|
B->>T: GetPortfolio + GetPositions over TLS
|
||||||
|
T-->>B: Исходные валютные значения или temporary unavailable
|
||||||
|
end
|
||||||
|
B-->>F: Нормализованный массив с локальными summary либо Problem Details
|
||||||
F-->>U: Карточки счетов или error-state
|
F-->>U: Карточки счетов или error-state
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
@@ -33,14 +37,22 @@ sequenceDiagram
|
|||||||
"id": "account-id",
|
"id": "account-id",
|
||||||
"name": "Основной",
|
"name": "Основной",
|
||||||
"type": "BROKERAGE",
|
"type": "BROKERAGE",
|
||||||
"openedOn": "2024-08-13"
|
"openedOn": "2024-08-13",
|
||||||
|
"portfolioSummary": {
|
||||||
|
"totalsByCurrency": [
|
||||||
|
{ "currency": "RUB", "value": "12500.50" },
|
||||||
|
{ "currency": "USD", "value": "40" }
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Поддерживаемые `type`: `BROKERAGE`, `INDIVIDUAL_INVESTMENT`, `INVEST_BOX`, `MONEY_MARKET_FUND`. Банковские и неизвестные типы T-Bank не возвращаются. Пустое upstream-название заменяется названием типа, а отсутствующая дата открытия передаётся как `null`.
|
Поддерживаемые `type`: `BROKERAGE`, `INDIVIDUAL_INVESTMENT`, `INVEST_BOX`, `MONEY_MARKET_FUND`. Банковские и неизвестные типы T-Bank не возвращаются. Пустое upstream-название заменяется названием типа, а отсутствующая дата открытия передаётся как `null`.
|
||||||
|
|
||||||
Список является результатом текущего наблюдения T-Bank connection: если счёт больше не открыт, не поддерживается или недоступен через это подключение, он не считается доступным для WealthLedger.
|
`portfolioSummary` — nullable наблюдение текущего портфеля конкретного счета. `totalsByCurrency` точно складывает ненулевые текущие стоимости позиций и денежные остатки только в одинаковой исходной ISO-валюте; FX-конвертация и единый итог не выполняются. Успешный пустой портфель возвращает пустой массив. Когда T-Bank временно недоступен только для summary одного счета, этот счет всё равно остаётся в списке с `portfolioSummary: null`; переход к его деталям и остальные карточки не блокируются.
|
||||||
|
|
||||||
|
Список является результатом текущего наблюдения T-Bank connection: если счёт больше не открыт, не поддерживается или недоступен через это подключение, он не считается доступным для WealthLedger. Ошибки connection или token, а также ошибки исходного получения списка, не превращаются в частичный ответ.
|
||||||
|
|
||||||
## Состояния
|
## Состояния
|
||||||
|
|
||||||
@@ -50,7 +62,7 @@ sequenceDiagram
|
|||||||
- Неизвестная ошибка: экран предлагает только повторить загрузку.
|
- Неизвестная ошибка: экран предлагает только повторить загрузку.
|
||||||
- Успешный пустой ответ: штатное состояние отсутствия инвестиционных счетов.
|
- Успешный пустой ответ: штатное состояние отсутствия инвестиционных счетов.
|
||||||
|
|
||||||
Карточка ведёт на `/accounts/:accountId` и показывает название, локализованный тип и дату открытия без времени.
|
Карточка ведёт на `/accounts/:accountId` по всей области и сохраняет нативную клавиатурную навигацию/focus. Она показывает название, локализованный тип, до двух итогов в исходных валютах, число остальных валют, дату открытия без времени и видимое действие открытия. Недоступная или пустая summary отображается локально на карточке.
|
||||||
|
|
||||||
## Ограничения MVP
|
## Ограничения MVP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user