pleme_auth_sessions/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum SessionError {
5 #[error("Sessão não encontrada")]
6 SessionNotFound,
7
8 #[error("Sessão expirada")]
9 SessionExpired,
10
11 #[error("Sessão inválida: {0}")]
12 InvalidSession(String),
13
14 #[error("Erro ao acessar Redis: {0}")]
15 RedisError(String),
16
17 #[error("Erro ao serializar sessão: {0}")]
18 SerializationError(String),
19
20 #[error("Erro ao desserializar sessão: {0}")]
21 DeserializationError(String),
22
23 #[error("Token de atualização não encontrado")]
24 RefreshTokenNotFound,
25
26 #[error("Token de atualização inválido")]
27 InvalidRefreshToken,
28
29 #[error("Limite de sessões excedido (máximo: {0})")]
30 SessionLimitExceeded(usize),
31
32 #[error("Dispositivo não encontrado: {0}")]
33 DeviceNotFound(String),
34
35 #[error("Muitos dispositivos confiáveis (máximo permitido)")]
36 TooManyTrustedDevices,
37}
38
39impl From<redis::RedisError> for SessionError {
40 fn from(err: redis::RedisError) -> Self {
41 SessionError::RedisError(err.to_string())
42 }
43}
44
45impl From<serde_json::Error> for SessionError {
46 fn from(err: serde_json::Error) -> Self {
47 SessionError::SerializationError(err.to_string())
48 }
49}