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}
11
12impl fmt::Display for AuthError {
13 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
14 match self {
15 AuthError::InvalidCredentials(msg) => write!(f, "Invalid credentials: {}", msg),
16 AuthError::TokenExpired(msg) => write!(f, "Token expired: {}", msg),
17 AuthError::TokenInvalid(msg) => write!(f, "Token invalid: {}", msg),
18 AuthError::PermissionDenied(msg) => write!(f, "Permission denied: {}", msg),
19 AuthError::Config(msg) => write!(f, "Config error: {}", msg),
20 }
21 }
22}
23
24impl std::error::Error for AuthError {}