#[derive(Debug, thiserror::Error)]
pub enum RedisError {
#[error("Redis pool error: {0}")]
Pool(#[from] deadpool_redis::PoolError),
#[error("Redis error: {0}")]
Redis(#[from] redis::RedisError),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
#[error("Pool config error: {0}")]
PoolConfig(#[from] deadpool_redis::ConfigError),
#[error("Pool build error: {0}")]
PoolBuild(#[from] deadpool_redis::BuildError),
#[error("Not found: {0}")]
NotFound(String),
#[error("Math overflow")]
MathOverflow,
}
impl From<pyra_margin::MathError> for RedisError {
fn from(_: pyra_margin::MathError) -> Self {
Self::MathOverflow
}
}
pub type RedisResult<T> = Result<T, RedisError>;