35 lines
679 B
Rust
35 lines
679 B
Rust
|
|
use serde::Serialize;
|
||
|
|
|
||
|
|
#[derive(Debug, Serialize)]
|
||
|
|
pub struct AppError {
|
||
|
|
pub message: String,
|
||
|
|
}
|
||
|
|
|
||
|
|
impl From<rusqlite::Error> for AppError {
|
||
|
|
fn from(e: rusqlite::Error) -> Self {
|
||
|
|
AppError {
|
||
|
|
message: e.to_string(),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
impl From<std::io::Error> for AppError {
|
||
|
|
fn from(e: std::io::Error) -> Self {
|
||
|
|
AppError {
|
||
|
|
message: e.to_string(),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
impl From<String> for AppError {
|
||
|
|
fn from(s: String) -> Self {
|
||
|
|
AppError { message: s }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
impl std::fmt::Display for AppError {
|
||
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||
|
|
write!(f, "{}", self.message)
|
||
|
|
}
|
||
|
|
}
|