54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
@startuml fig_02_vault_lifecycle
|
|
scale 3
|
|
title
|
|
Wallenc — жизненный цикл storage (IStorage)
|
|
внутри IVault; журнал синхронизации
|
|
end title
|
|
|
|
skinparam defaultFontName "DejaVu Sans"
|
|
skinparam state {
|
|
BackgroundColor #F8F8F8
|
|
BorderColor #333333
|
|
}
|
|
skinparam noteBackgroundColor #E3F2FD
|
|
skinparam noteBorderColor #1565C0
|
|
|
|
state "(Б) Список storage (LocalVault / VaultBrowser)" as List
|
|
|
|
List --> Create : Создать storage (FAB)
|
|
Create --> List : Storage создан
|
|
|
|
List --> EncryptDlg : Включить шифрование storage
|
|
EncryptDlg --> Encrypting : Подтверждение, ключ
|
|
state Encrypting {
|
|
state "Шифрование + метаданные Room" as EncWork
|
|
}
|
|
Encrypting --> List : Готово
|
|
|
|
note right of Encrypting
|
|
Запись в журнал sync (проект):
|
|
UUID **storage** → очередь
|
|
группы DbStorageSyncGroup
|
|
end note
|
|
|
|
List --> OpenDlg : Открыть зашифрованный storage
|
|
OpenDlg --> Opened : Ключ верный
|
|
OpenDlg --> List : Отмена / неверный ключ
|
|
|
|
state Opened {
|
|
state "Файлы, секреты, 2FA (StorageHome)" as Browse
|
|
}
|
|
Opened --> List : Закрыть / заблокировать storage
|
|
|
|
List --> RenameDel : Переименовать / удалить storage
|
|
RenameDel --> List : Подтверждение
|
|
|
|
note bottom of List
|
|
**Синхронизация:** изменения в **storage**
|
|
пишутся в журнал; StorageSyncEngine
|
|
согласует группы storage по ревизиям
|
|
(зашифрованное содержимое, без ключей).
|
|
end note
|
|
|
|
@enduml
|