bitwarden_vault/
error.rs

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