Skip to main content

rsiot/components/cmp_tsdb_reader/
error.rs

1use crate::executor::ComponentError;
2
3use super::COMPONENT_NAME;
4
5#[allow(missing_docs)]
6#[derive(Debug, thiserror::Error)]
7pub enum Error {
8    #[error("{COMPONENT_NAME} | PConnectionError: {0}")]
9    PgConnectionError(sqlx::Error),
10
11    #[error("{COMPONENT_NAME} | SqlxFetchAll: {0}")]
12    SqlxFetchAll(String),
13
14    #[error("{COMPONENT_NAME} | TimeFormat: {0}")]
15    TimeFormat(#[from] time::error::Format),
16
17    #[error("{COMPONENT_NAME} | TokioSyncMpscSend")]
18    TokioSyncMpscSend,
19
20    #[error("{COMPONENT_NAME} | TokioSyncMpscSend: {0}")]
21    TokioSyncAcquire(#[from] tokio::sync::AcquireError),
22
23    #[error("{COMPONENT_NAME} | TokioTaskJoin: {0}")]
24    TokioTaskJoin(#[from] tokio::task::JoinError),
25
26    #[error("{COMPONENT_NAME} | UrlParseError: {0}")]
27    UrlParseError(#[from] url::ParseError),
28}
29
30impl From<Error> for ComponentError {
31    fn from(value: Error) -> Self {
32        ComponentError::Execution(value.to_string())
33    }
34}