25 lines
625 B
Rust
25 lines
625 B
Rust
use axum::http::StatusCode;
|
|
use axum::response::{IntoResponse, Response};
|
|
|
|
pub type Result<T> = core::result::Result<T, Error>;
|
|
|
|
#[derive(Debug)]
|
|
pub enum Error {
|
|
LoginFail,
|
|
|
|
// -- Auth errors.
|
|
AuthFailNoAuthTokenCookie,
|
|
AuthFailTokenWrongFormat,
|
|
|
|
// -- Model errors.
|
|
PropertyDeleteFailIdNotFound { id: u64 },
|
|
}
|
|
|
|
/// FIXME: return different status codes for different errors
|
|
impl IntoResponse for Error {
|
|
fn into_response(self) -> Response {
|
|
println!("->> {:<12} - {self:?}", "INTO_RESPONSE");
|
|
|
|
(StatusCode::INTERNAL_SERVER_ERROR, "UNHANDLED_CLIENT_ERROR").into_response()
|
|
}
|
|
}
|