1use thiserror::Error;
3
4#[derive(Error, Debug)]
6pub enum BrokerError {
7 #[error("NetworkError: {0}")]
8 NetworkError(#[from] reqwest::Error),
9
10 #[error("BrokerError: {0}")]
11 BrokerError(String),
12
13 #[error("ConfigurationError: {0}")]
14 ConfigurationError(String),
15
16 #[cfg(feature = "cli")]
17 #[error("CrawlerError: {0}")]
18 CrawlerError(String),
19
20 #[cfg(feature = "cli")]
21 #[error("IoError: {0}")]
22 IoError(#[from] std::io::Error),
23
24 #[cfg(feature = "cli")]
25 #[error("ConfigConfigError: {0}")]
26 ConfigJsonError(#[from] serde_json::Error),
27
28 #[cfg(feature = "cli")]
29 #[error("ConfigUnknownError: {0}")]
30 ConfigUnknownError(String),
31
32 #[error("DateTimeParseError: {0}")]
33 DateTimeParseError(#[from] chrono::ParseError),
34
35 #[cfg(feature = "backend")]
36 #[error("DatabaseError: {0}")]
37 DatabaseError(#[from] sqlx::Error),
38
39 #[cfg(feature = "nats")]
40 #[error("NotifierError: {0}")]
41 NotifierError(String),
42}