Улучшение соответсвия
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
@startuml fig_02_vault_lifecycle
|
||||
scale 3
|
||||
title
|
||||
Wallenc — пользовательский поток: жизненный цикл vault
|
||||
и точки постановки в очередь синхронизации (проект)
|
||||
Wallenc — жизненный цикл storage (IStorage)
|
||||
внутри IVault; журнал синхронизации
|
||||
end title
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
@@ -13,45 +13,41 @@ skinparam state {
|
||||
skinparam noteBackgroundColor #E3F2FD
|
||||
skinparam noteBorderColor #1565C0
|
||||
|
||||
state "(Б) Список vault" as List
|
||||
state "(Б) Список storage\n(LocalVault или VaultBrowser)" as List
|
||||
|
||||
List --> Create : Создать vault
|
||||
Create --> List : Vault создан
|
||||
List --> Create : Создать storage\n(FAB)
|
||||
Create --> List : Storage создан
|
||||
|
||||
List --> EncryptDlg : Включить шифрование
|
||||
EncryptDlg --> Encrypting : Подтверждение, мастер-ключ
|
||||
List --> EncryptDlg : Включить шифрование storage
|
||||
EncryptDlg --> Encrypting : Подтверждение, ключ
|
||||
state Encrypting {
|
||||
state "Шифрование данных + запись метаданных" as EncWork
|
||||
state "Шифрование + метаданные Room" as EncWork
|
||||
}
|
||||
Encrypting --> List : Готово
|
||||
|
||||
note right of Encrypting
|
||||
После успешной записи **коммита**
|
||||
в историю Storage (проект):
|
||||
UUID storage → **очередь синхронизации**
|
||||
в Room (для таймера)
|
||||
Запись в журнал sync (проект):
|
||||
UUID **storage** → очередь
|
||||
группы DbStorageSyncGroup
|
||||
end note
|
||||
|
||||
List --> OpenDlg : Открыть зашифрованный
|
||||
List --> OpenDlg : Открыть зашифрованный storage
|
||||
OpenDlg --> Opened : Ключ верный
|
||||
OpenDlg --> List : Отмена / неверный ключ
|
||||
|
||||
state Opened {
|
||||
state "Просмотр / работа с содержимым" as Browse
|
||||
state "Файлы, секреты, 2FA\n(StorageHome)" as Browse
|
||||
}
|
||||
Opened --> List : Закрыть vault / блокировка
|
||||
Opened --> List : Закрыть / заблокировать storage
|
||||
|
||||
List --> RenameDel : Переименовать / удалить
|
||||
List --> RenameDel : Переименовать / удалить storage
|
||||
RenameDel --> List : Подтверждение
|
||||
|
||||
note bottom of List
|
||||
**Синхронизация (проект):** любое изменение,
|
||||
порождающее новый **коммит** в Storage,
|
||||
добавляет storage UUID в таблицу очереди;
|
||||
**SyncService** по таймеру обрабатывает очередь,
|
||||
сравнивает истории коммитов с удалённой копией
|
||||
и приводит зашифрованное содержимое
|
||||
к одному состоянию (без передачи ключей).
|
||||
**Синхронизация:** изменения в **storage**
|
||||
пишутся в журнал; StorageSyncEngine
|
||||
согласует группы storage по ревизиям
|
||||
(зашифрованное содержимое, без ключей).
|
||||
end note
|
||||
|
||||
@enduml
|
||||
|
||||
Reference in New Issue
Block a user