Skip to main content

esteid_cryptoki/
error.rs

1/// An error from an `esteid` operation.
2#[derive(Debug, thiserror::Error)]
3pub enum EstEidError {
4    /// No token matches EstEID structure.
5    #[error("no Estonian ID card found")]
6    NoCard,
7
8    /// More than one ID card was found.
9    #[error("multiple Estonian ID cards found: {0:?}")]
10    MultipleCards(Vec<String>),
11
12    /// The ID card is missing an expected key.
13    #[error("token looks like an ID card but lacks {0}")]
14    IncompleteCard(String),
15
16    /// A `tokenkey` operation failed.
17    #[error(transparent)]
18    Token(#[from] tokenkey::TokenkeyError),
19}
20
21pub type Result<T> = std::result::Result<T, EstEidError>;