1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use diesel::{r2d2::PoolError, result::Error as DieselError}; use tantivy::{query::QueryParserError, TantivyError}; use thiserror::*; #[derive(Debug, Error)] pub enum ChatRecordError { #[error(transparent)] DatabaseError(#[from] PoolError), #[error(transparent)] DieselError(#[from] DieselError), #[error("{0:?}")] TantivyError(TantivyError), #[error("{0:?}")] TantivyQueryError(QueryParserError), #[error(transparent)] ContextedError(#[from] anyhow::Error), } impl From<TantivyError> for ChatRecordError { fn from(src: TantivyError) -> Self { Self::TantivyError(src) } } impl From<QueryParserError> for ChatRecordError { fn from(src: QueryParserError) -> Self { Self::TantivyQueryError(src) } }