atrium_oauth/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum Error {
5    #[error(transparent)]
6    ClientMetadata(#[from] crate::atproto::Error),
7    #[error(transparent)]
8    Dpop(#[from] crate::http_client::dpop::Error),
9    #[error(transparent)]
10    Keyset(#[from] crate::keyset::Error),
11    #[error(transparent)]
12    ServerAgent(#[from] crate::server_agent::Error),
13    #[error(transparent)]
14    OAuthSession(#[from] crate::oauth_session::Error),
15    #[error(transparent)]
16    SessionRegistry(#[from] crate::store::session_registry::Error),
17    #[error(transparent)]
18    Identity(#[from] atrium_identity::Error),
19    #[error("authorize error: {0}")]
20    Authorize(String),
21    #[error("callback error: {0}")]
22    Callback(String),
23    #[error("state store error: {0}")]
24    StateStore(Box<dyn std::error::Error + Send + Sync + 'static>),
25    #[error("session store error: {0}")]
26    SessionStore(Box<dyn std::error::Error + Send + Sync + 'static>),
27}
28
29pub type Result<T> = core::result::Result<T, Error>;