Skip to main content

bitwarden_pam/leases/
error.rs

1use bitwarden_core::ApiError;
2use bitwarden_crypto::CryptoError;
3use bitwarden_error::bitwarden_error;
4use bitwarden_vault::VaultParseError;
5use thiserror::Error;
6
7use crate::error::PamDecodeError;
8
9/// Errors returned from [`super::LeasesClient`] operations.
10///
11/// [`VaultParse`](Self::VaultParse) and [`Crypto`](Self::Crypto) come only from
12/// [`leased_cipher`](super::LeasesClient::leased_cipher).
13#[bitwarden_error(flat)]
14#[derive(Debug, Error)]
15pub enum AccessLeaseError {
16    /// A server response could not be decoded into the requested type.
17    #[error(transparent)]
18    Decode(#[from] PamDecodeError),
19    /// A cipher payload could not be parsed into the SDK's vault model.
20    #[error(transparent)]
21    VaultParse(#[from] VaultParseError),
22    /// A leased cipher could not be decrypted.
23    #[error(transparent)]
24    Crypto(#[from] CryptoError),
25    /// A network or (de)serialization error occurred while calling the server.
26    #[error(transparent)]
27    Api(#[from] ApiError),
28}