headless_talk/handler/
error.rs

1use std::io;
2
3use talk_loco_client::RequestError;
4use thiserror::Error;
5
6use crate::{database::PoolTaskError, ClientError};
7
8#[derive(Debug, Error)]
9#[error(transparent)]
10pub enum HandlerError {
11    Client(#[from] ClientError),
12
13    Deserialize(#[from] bson::de::Error),
14
15    Io(#[from] io::Error),
16}
17
18impl From<PoolTaskError> for HandlerError {
19    fn from(value: PoolTaskError) -> Self {
20        Self::Client(ClientError::Database(value))
21    }
22}
23
24impl From<RequestError> for HandlerError {
25    fn from(value: RequestError) -> Self {
26        Self::Client(ClientError::Request(value))
27    }
28}