Сильно улучшен UX при работе с Yandex vault

This commit is contained in:
2026-05-21 01:40:30 +03:00
parent 9c38da76d2
commit c58bcdc35b
19 changed files with 350 additions and 118 deletions

View File

@@ -30,10 +30,21 @@ class ManageVaultUseCase @Inject constructor(
fun storagesOf(vaultUuid: UUID): Flow<List<IStorage>> =
observe(vaultUuid).flatMapLatest { vault -> vault?.storages ?: flowOf(emptyList()) }
/** Идёт листинг/пересканирование storages vault'а. */
fun storagesScanInProgressOf(vaultUuid: UUID): Flow<Boolean> =
observe(vaultUuid).flatMapLatest { vault -> vault?.storagesScanInProgress ?: flowOf(false) }
/** Создать новое хранилище в указанном vault'е. */
suspend fun createStorage(vaultUuid: UUID): IStorage {
val vault = find(vaultUuid)
?: throw IllegalStateException("Vault $vaultUuid is not registered")
return vault.createStorage()
}
/** Пересканировать storages vault'а (листинг на Диске и повторный init). */
suspend fun rescanStorages(vaultUuid: UUID) {
val vault = find(vaultUuid)
?: throw IllegalStateException("Vault $vaultUuid is not registered")
vault.rescanStorages()
}
}