use crate::StatusCode; use serde::Serialize; use std::error::Error; pub trait ResourceResult { fn to_result(self) -> (StatusCode, Result); } #[derive(Debug, Serialize)] pub struct ResourceError { error : bool, message : String } impl From for ResourceError { fn from(message : T) -> Self { Self { error: true, message: message.to_string() } } } impl ResourceResult for Result { fn to_result(self) -> (StatusCode, Result) { match self { Ok(r) => (StatusCode::OK, Ok(r)), Err(e) => (StatusCode::INTERNAL_SERVER_ERROR, Err(e.into())) } } }