1use std::fmt;
2
3#[derive(Debug)]
4pub enum AuthError {
5 InvalidCredentials(String),
6 TokenExpired(String),
7 TokenInvalid(String),
8 PermissionDenied(String),
9 Config(String),
10 SecretTooShort(String),
11}
12
13impl fmt::Display for AuthError {
14 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
15 match self {
16 AuthError::InvalidCredentials(msg) => write!(f, "Invalid credentials: {}", msg),
17 AuthError::TokenExpired(msg) => write!(f, "Token expired: {}", msg),
18 AuthError::TokenInvalid(msg) => write!(f, "Token invalid: {}", msg),
19 AuthError::PermissionDenied(msg) => write!(f, "Permission denied: {}", msg),
20 AuthError::Config(msg) => write!(f, "Config error: {}", msg),
21 AuthError::SecretTooShort(msg) => write!(f, "Secret too short: {}", msg),
22 }
23 }
24}
25
26impl std::error::Error for AuthError {}