3.5 KiB
portfolio-value-history Specification
Purpose
Определяет сохранение точных оценок Portfolio по счёту в RUB для будущей истории без предоставления публичного чтения этих точек.
Requirements
Requirement: Полные оценки Portfolio сохраняются как история
Система SHALL сохранять для каждого доступного Brokerage Account точку оценки в RUB только после успешного получения полного Portfolio с вычислимой стоимостью всех его позиций. Точка MUST содержать точное значение и фактическое время успешного получения Portfolio. Система MUST NOT подставлять ноль за отсутствующую стоимость и MUST NOT создавать точку для неполной оценки. Повторная публикация одной попытки MUST NOT создавать дубликат точки.
Точки, сохранённые до исправления двойного учёта CURRENCY/Cash Balance (WealthLedger/backend#140), сброшены миграцией. История оценок начинается заново после её применения; старые точки MUST NOT показываться как сопоставимые с новыми.
Scenario: Полная оценка в RUB
- WHEN успешный полный Portfolio содержит вычислимый итог в RUB
- THEN система сохраняет одну точку с точным значением в RUB
Scenario: Неполная оценка
- WHEN в новом полном составе Portfolio у позиции отсутствует вычислимая стоимость
- THEN система сохраняет новый Portfolio без точки истории оценки
Requirement: История оценки скрыта вне подтверждённого доступа
Система MUST сохранять историю оценки при замене token или удалении подключения, но MUST NOT раскрывать её без текущего подтверждённого доступа User к тому же Brokerage Account. Успешное новое подключение, подтверждающее доступ к счёту, MUST снова делать его сохранённую историю доступной для будущих поддерживаемых представлений. Система MUST NOT предоставлять отдельное публичное чтение точек истории этим требованием.
Scenario: Удалённое подключение
- WHEN User удаляет T-Bank connection
- THEN сохранённые точки оценки этого User не доступны для чтения
Scenario: Повторно подтверждённый счёт
- WHEN новое успешное подключение подтверждает доступ User к тому же Brokerage Account
- THEN ранее сохранённые точки этого счёта снова доступны для будущих поддерживаемых представлений