chat_core/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum ChatError {
5    #[error("Database error: {0}")]
6    Database(String),
7    #[error("Rusqlite error: {0}")]
8    Rusqlite(#[from] rusqlite::Error),
9    #[error("JSON serialization error: {0}")]
10    Serde(#[from] serde_json::Error),
11    #[error("UTF-8 conversion error: {0}")]
12    Utf8(#[from] std::string::FromUtf8Error),
13    #[error("Network error: {0}")]
14    Network(String),
15}
16
17impl From<String> for ChatError {
18    fn from(s: String) -> Self {
19        ChatError::Network(s)
20    }
21}
22
23pub type ChatResult<T> = Result<T, ChatError>;