24 lines
2.8 KiB
Markdown
24 lines
2.8 KiB
Markdown
## Purpose
|
||
|
||
Гарантирует, что frontend читает, обновляет и инвалидирует один и тот же кэш API-данных после связанных пользовательских действий.
|
||
|
||
## ADDED Requirements
|
||
|
||
### Requirement: Frontend сохраняет когерентность кэша T-Bank connection
|
||
Frontend MUST использовать идентичность кэша, с которой загружается статус T-Bank connection, когда успешная замена или удаление connection обновляет этот статус. После каждого успешного создания, замены или удаления connection frontend MUST инвалидировать идентичность кэша списка Brokerage Accounts, с которой этот список загружается.
|
||
|
||
#### Scenario: Успешная замена подключения обновляет status и accounts
|
||
- **WHEN** User успешно заменяет T-Bank connection в настройках
|
||
- **THEN** frontend показывает статус из успешного ответа и следующий потребитель списка Brokerage Accounts не использует данные, загруженные до замены connection
|
||
|
||
#### Scenario: Успешное удаление подключения обновляет status и accounts
|
||
- **WHEN** User подтверждает успешное удаление T-Bank connection
|
||
- **THEN** frontend показывает состояние без подключения и следующий потребитель списка Brokerage Accounts не использует данные, загруженные до удаления connection
|
||
|
||
### Requirement: Generated API queries сохраняют транспортную и cache identity
|
||
Frontend MUST сохранять сгенерированную API-клиентом идентичность для запросов Brokerage Accounts, операций Brokerage Account, событий Brokerage Account, Portfolio и T-Bank connection. Потребитель, которому требуется прочитать или инвалидировать один из этих кэшей вне hook, MUST получать его идентичность из владельца соответствующего query, а не формировать отдельный ключ.
|
||
|
||
#### Scenario: Потребитель читает кэш списка счетов
|
||
- **WHEN** frontend определяет Brokerage Account для уже открытого account route
|
||
- **THEN** он читает тот же кэш списка Brokerage Accounts, который использует его query hook
|