use redis_interface as redis; use thiserror::Error; #[derive(Debug, Error)] pub enum DrainerError { #[error("Error in parsing config : {0}")] ConfigParsingError(String), #[error("Error during redis operation : {0:?}")] RedisError(error_stack::Report), #[error("Application configuration error: {0}")] ConfigurationError(config::ConfigError), #[error("Error while configuring signals: {0}")] SignalError(String), #[error("Error while parsing data from the stream: {0:?}")] ParsingError(error_stack::Report), #[error("Unexpected error occurred: {0}")] UnexpectedError(String), } pub type DrainerResult = error_stack::Result; impl From for DrainerError { fn from(err: config::ConfigError) -> Self { Self::ConfigurationError(err) } } impl From> for DrainerError { fn from(err: error_stack::Report) -> Self { Self::RedisError(err) } }