Отличное форматирование
This commit is contained in:
57
Report/puml/fig_02_vault_lifecycle.puml
Normal file
57
Report/puml/fig_02_vault_lifecycle.puml
Normal file
@@ -0,0 +1,57 @@
|
||||
@startuml fig_02_vault_lifecycle
|
||||
scale 3
|
||||
title
|
||||
Wallenc — пользовательский поток: жизненный цикл vault
|
||||
и точки постановки в очередь синхронизации (проект)
|
||||
end title
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam state {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
}
|
||||
skinparam noteBackgroundColor #E3F2FD
|
||||
skinparam noteBorderColor #1565C0
|
||||
|
||||
state "(Б) Список vault" as List
|
||||
|
||||
List --> Create : Создать vault
|
||||
Create --> List : Vault создан
|
||||
|
||||
List --> EncryptDlg : Включить шифрование
|
||||
EncryptDlg --> Encrypting : Подтверждение, мастер-ключ
|
||||
state Encrypting {
|
||||
state "Шифрование данных + запись метаданных" as EncWork
|
||||
}
|
||||
Encrypting --> List : Готово
|
||||
|
||||
note right of Encrypting
|
||||
После успешной записи **коммита**
|
||||
в историю Storage (проект):
|
||||
UUID storage → **очередь синхронизации**
|
||||
в Room (для таймера)
|
||||
end note
|
||||
|
||||
List --> OpenDlg : Открыть зашифрованный
|
||||
OpenDlg --> Opened : Ключ верный
|
||||
OpenDlg --> List : Отмена / неверный ключ
|
||||
|
||||
state Opened {
|
||||
state "Просмотр / работа с содержимым" as Browse
|
||||
}
|
||||
Opened --> List : Закрыть vault / блокировка
|
||||
|
||||
List --> RenameDel : Переименовать / удалить
|
||||
RenameDel --> List : Подтверждение
|
||||
|
||||
note bottom of List
|
||||
**Синхронизация (проект):** любое изменение,
|
||||
порождающее новый **коммит** в Storage,
|
||||
добавляет storage UUID в таблицу очереди;
|
||||
**SyncService** по таймеру обрабатывает очередь,
|
||||
сравнивает истории коммитов с удалённой копией
|
||||
и приводит зашифрованное содержимое
|
||||
к одному состоянию (без передачи ключей).
|
||||
end note
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user