pub use oauth2; pub mod client; mod service; pub use client::http::HttpAuthClient; pub use service::*; use thiserror::Error; #[derive(Debug)] pub enum Provider { Discord, } impl std::fmt::Display for Provider { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!( f, "{}", match self { Provider::Discord => "discord", } ) } } #[derive(Error, Debug)] pub enum AuthServiceError { #[error("invalid url provided")] InvalidUrl(#[from] url::ParseError), #[error("the data for key `{0}` is not available")] Redaction(String), #[error("invalid header (expected {expected:?}, found {found:?})")] InvalidHeader { expected: String, found: String }, #[error("unknown data store error")] Unknown, }