Failures.kt
package de.pflugradts.passbird.application.failure
import de.pflugradts.passbird.domain.model.shell.Shell
import java.nio.file.Path
interface Failure
data class ChecksumFailure(val actualChecksum: Byte, val expectedChecksum: Byte, val critical: Boolean) : Failure
data class ClipboardFailure(val ex: Exception) : Failure
data class CommandFailure(val ex: Exception) : Failure
data class ConfigurationFailure(val ex: Exception) : Failure
data class DecryptPasswordTreeFailure(val path: Path, val ex: Exception) : Failure
data class ExportFailure(val ex: Exception) : Failure
data class HomeDirectoryFailure(val homeDirectory: String? = null, val case: HomeDirectoryFailureCase) : Failure
data class ImportFailure(val ex: Exception) : Failure
data class InitialNestSlotFailure(val initialNestSlot: String) : Failure
data class LoginFailure(val attempts: Int) : Failure
data class SignatureCheckFailure(val actualSignature: Shell, val critical: Boolean) : Failure
data class WritePasswordTreeFailure(val path: Path, val ex: Exception) : Failure
enum class HomeDirectoryFailureCase { IS_NULL, DOES_NOT_EXIST, IS_NOT_A_DIRECTORY }