Files
Wallenc/Report/puml/fig_02_vault_lifecycle.puml

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\n(LocalVault или VaultBrowser)" as List
List --> Create : Создать storage\n(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\n(StorageHome)" as Browse
}
Opened --> List : Закрыть / заблокировать storage
List --> RenameDel : Переименовать / удалить storage
RenameDel --> List : Подтверждение
note bottom of List
**Синхронизация:** изменения в **storage**
пишутся в журнал; StorageSyncEngine
согласует группы storage по ревизиям
(зашифрованное содержимое, без ключей).
end note
@enduml