bitwarden_vault/
error.rs

1use bitwarden_error::bitwarden_error;
2use thiserror::Error;
3
4/// Generic error type for vault encryption errors.
5#[bitwarden_error(flat)]
6#[derive(Debug, Error)]
7pub enum EncryptError {
8    #[error(transparent)]
9    Crypto(#[from] bitwarden_crypto::CryptoError),
10    #[error(transparent)]
11    VaultLocked(#[from] bitwarden_core::VaultLockedError),
12    #[error("Client User Id has not been set")]
13    MissingUserId,
14}
15
16/// Generic error type for decryption errors
17#[bitwarden_error(flat)]
18#[derive(Debug, Error)]
19pub enum DecryptError {
20    #[error(transparent)]
21    Crypto(#[from] bitwarden_crypto::CryptoError),
22    #[error(transparent)]
23    VaultLocked(#[from] bitwarden_core::VaultLockedError),
24}
25
26#[derive(Debug, Error)]
27pub enum VaultParseError {
28    #[error(transparent)]
29    Chrono(#[from] chrono::ParseError),
30    #[error(transparent)]
31    Crypto(#[from] bitwarden_crypto::CryptoError),
32    #[error(transparent)]
33    MissingFieldError(#[from] bitwarden_core::MissingFieldError),
34}