use thiserror::Error;
#[derive(Debug, Error)]
pub enum RedisError {
#[error("Redis client already initialized")]
AlreadyInitialized,
#[error("Redis connection error: {0}")]
Connection(String),
#[error("Redis operation error: {0}")]
Operation(String),
#[error("Redis configuration error: {0}")]
Config(String),
#[error("Redis error: {0}")]
Redis(#[from] redis::RedisError),
#[error("Redis sentinel error: {0}")]
Sentinel(String),
#[error("Redis cluster error: {0}")]
Cluster(String),
}
pub type Result<T> = std::result::Result<T, RedisError>;