shadow_crypt_shell/
errors.rs1use shadow_crypt_core::errors::{CryptError, HeaderError, KeyDerivationError};
2use std::io;
3use thiserror::Error;
4
5pub type WorkflowResult<T> = Result<T, WorkflowError>;
7
8#[derive(Debug, Error)]
9pub enum WorkflowError {
10 #[error("User input error: {0}")]
11 UserInput(String),
12
13 #[error("Password error: {0}")]
14 Password(String),
15
16 #[error("File error: {0}")]
17 File(String),
18
19 #[error("I/O error: {0}")]
20 Io(#[from] io::Error),
21
22 #[error("Key derivation error: {0}")]
23 KeyDerivation(#[from] KeyDerivationError),
24
25 #[error("Salt generation error: {0}")]
26 SaltGeneration(String),
27
28 #[error("Nonce generation error: {0}")]
29 NonceGeneration(String),
30
31 #[error("Cryptography error: {0}")]
32 CryptographyError(#[from] CryptError),
33
34 #[error("Header error: {0}")]
35 HeaderError(#[from] HeaderError),
36
37 #[error("Parse error: {0}")]
38 Parse(String),
39
40 #[error("Encryption error: {0}")]
41 Encryption(String),
42
43 #[error("Decryption error: {0}")]
44 Decryption(String),
45
46 #[error("Listing error: {0}")]
47 Listing(String),
48}