1use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum CacheError {
7 #[error("Redis connection error: {0}")]
8 ConnectionError(String),
9
10 #[error("Redis operation error: {0}")]
11 OperationError(String),
12
13 #[error("Serialization error: {0}")]
14 SerializationError(#[from] serde_json::Error),
15
16 #[error("Key not found")]
17 KeyNotFound,
18
19 #[error("Invalid configuration: {0}")]
20 InvalidConfig(String),
21}
22
23impl From<redis::RedisError> for CacheError {
24 fn from(err: redis::RedisError) -> Self {
25 CacheError::OperationError(err.to_string())
26 }
27}