use axum::http::StatusCode;
use axum::response::IntoResponse;
use axum::Json;
use crate::api::{error_body, ErrorBody};
use crate::error::ErrorCode;
pub fn error_response(code: ErrorCode, message: impl Into<String>) -> axum::response::Response {
let status =
StatusCode::from_u16(code.http_status()).unwrap_or(StatusCode::INTERNAL_SERVER_ERROR);
error_response_with_status(status, code, message)
}
pub fn error_response_with_status(
status: StatusCode,
code: ErrorCode,
message: impl Into<String>,
) -> axum::response::Response {
let body: ErrorBody = error_body(code, message);
(status, Json(body)).into_response()
}