headless_talk/handler/
error.rs1use 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}