1use thiserror::Error;
6
7pub type SaTokenResult<T> = Result<T, SaTokenError>;
8
9#[derive(Debug, Error)]
10pub enum SaTokenError {
11 #[error("Token not found or expired")]
12 TokenNotFound,
13
14 #[error("Token is invalid: {0}")]
15 InvalidToken(String),
16
17 #[error("Token has expired")]
18 TokenExpired,
19
20 #[error("User not logged in")]
21 NotLogin,
22
23 #[error("Permission denied: missing permission '{0}'")]
24 PermissionDenied(String),
25
26 #[error("Role denied: missing role '{0}'")]
27 RoleDenied(String),
28
29 #[error("Account is banned until {0}")]
30 AccountBanned(String),
31
32 #[error("Account is kicked out")]
33 AccountKickedOut,
34
35 #[error("Session not found")]
36 SessionNotFound,
37
38 #[error("Storage error: {0}")]
39 StorageError(String),
40
41 #[error("Configuration error: {0}")]
42 ConfigError(String),
43
44 #[error("Serialization error: {0}")]
45 SerializationError(#[from] serde_json::Error),
46
47 #[error("Internal error: {0}")]
48 InternalError(String),
49}