From df5f19faabe205f9a0979deb4e1ecfb502b88daa Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 27 Apr 2025 18:04:19 +0200 Subject: [PATCH] Fix error status codes --- crates/caldav/src/error.rs | 5 ++++- crates/carddav/src/error.rs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/caldav/src/error.rs b/crates/caldav/src/error.rs index 949ffde..3b4ffc1 100644 --- a/crates/caldav/src/error.rs +++ b/crates/caldav/src/error.rs @@ -1,4 +1,4 @@ -use actix_web::{http::StatusCode, HttpResponse}; +use actix_web::{HttpResponse, http::StatusCode}; use tracing::error; #[derive(Debug, thiserror::Error)] @@ -31,6 +31,9 @@ impl actix_web::ResponseError for Error { Error::StoreError(err) => match err { rustical_store::Error::NotFound => StatusCode::NOT_FOUND, rustical_store::Error::InvalidData(_) => StatusCode::BAD_REQUEST, + rustical_store::Error::AlreadyExists => StatusCode::CONFLICT, + rustical_store::Error::ParserError(_) => StatusCode::BAD_REQUEST, + rustical_store::Error::ReadOnly => StatusCode::FORBIDDEN, _ => StatusCode::INTERNAL_SERVER_ERROR, }, Error::ChronoParseError(_) => StatusCode::INTERNAL_SERVER_ERROR, diff --git a/crates/carddav/src/error.rs b/crates/carddav/src/error.rs index 949ffde..3b4ffc1 100644 --- a/crates/carddav/src/error.rs +++ b/crates/carddav/src/error.rs @@ -1,4 +1,4 @@ -use actix_web::{http::StatusCode, HttpResponse}; +use actix_web::{HttpResponse, http::StatusCode}; use tracing::error; #[derive(Debug, thiserror::Error)] @@ -31,6 +31,9 @@ impl actix_web::ResponseError for Error { Error::StoreError(err) => match err { rustical_store::Error::NotFound => StatusCode::NOT_FOUND, rustical_store::Error::InvalidData(_) => StatusCode::BAD_REQUEST, + rustical_store::Error::AlreadyExists => StatusCode::CONFLICT, + rustical_store::Error::ParserError(_) => StatusCode::BAD_REQUEST, + rustical_store::Error::ReadOnly => StatusCode::FORBIDDEN, _ => StatusCode::INTERNAL_SERVER_ERROR, }, Error::ChronoParseError(_) => StatusCode::INTERNAL_SERVER_ERROR,