package com.github.nullptroma.wallenc.usecases

import com.github.nullptroma.wallenc.domain.errors.WallencException

/** Результат [RunStorageSyncUseCase.enqueueAndAwait]. */
sealed class StorageSyncRunOutcome {
    /** Синхронизация уже выполнялась — новая задача не создана. */
    data object SkippedAlreadyRunning : StorageSyncRunOutcome()

    data object Completed : StorageSyncRunOutcome()

    /** Задача синхронизации отменена пользователем или пайплайном. */
    data object Cancelled : StorageSyncRunOutcome()

    data class Failed(val error: WallencException) : StorageSyncRunOutcome()
}
