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>;