reinhardt_views/viewsets/handler/
error.rs1#[derive(Debug)]
5pub enum ViewError {
6 Serialization(String),
8 Permission(String),
10 NotFound(String),
12 BadRequest(String),
14 Internal(String),
16 DatabaseError(String),
18}
19
20impl std::fmt::Display for ViewError {
21 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
22 match self {
23 ViewError::Serialization(msg) => write!(f, "Serialization error: {}", msg),
24 ViewError::Permission(msg) => write!(f, "Permission denied: {}", msg),
25 ViewError::NotFound(msg) => write!(f, "Not found: {}", msg),
26 ViewError::BadRequest(msg) => write!(f, "Bad request: {}", msg),
27 ViewError::Internal(msg) => write!(f, "Internal error: {}", msg),
28 ViewError::DatabaseError(msg) => write!(f, "Database error: {}", msg),
29 }
30 }
31}
32
33impl std::error::Error for ViewError {}
34
35impl From<ViewError> for reinhardt_core::exception::Error {
48 fn from(value: ViewError) -> Self {
49 match value {
50 ViewError::Serialization(m) => Self::Serialization(m),
51 ViewError::Permission(m) => Self::Authorization(m),
52 ViewError::NotFound(m) => Self::NotFound(m),
53 ViewError::BadRequest(m) => Self::Http(m),
54 ViewError::Internal(m) => Self::Internal(m),
55 ViewError::DatabaseError(m) => Self::Database(m),
56 }
57 }
58}