From 54997ef86561f6b7171c4e34b5e2ca40b3ebdb76 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Fri, 13 Jun 2025 18:23:32 +0200 Subject: [PATCH] MKCOL: Set empty displayname to None --- crates/caldav/src/calendar/methods/mkcalendar.rs | 6 +++++- crates/carddav/src/addressbook/methods/mkcol.rs | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/crates/caldav/src/calendar/methods/mkcalendar.rs b/crates/caldav/src/calendar/methods/mkcalendar.rs index b7175e7..0b95231 100644 --- a/crates/caldav/src/calendar/methods/mkcalendar.rs +++ b/crates/caldav/src/calendar/methods/mkcalendar.rs @@ -72,12 +72,16 @@ pub async fn route_mkcalendar( return Err(Error::Unauthorized); } - let request = match method.as_str() { + let mut request = match method.as_str() { "MKCALENDAR" => MkcalendarRequest::parse_str(&body)?.set.prop, "MKCOL" => MkcolRequest::parse_str(&body)?.set.prop, _ => unreachable!("We never call with another method"), }; + if let Some("") = request.displayname.as_deref() { + request.displayname = None + } + let calendar = Calendar { id: cal_id.to_owned(), principal: principal.to_owned(), diff --git a/crates/carddav/src/addressbook/methods/mkcol.rs b/crates/carddav/src/addressbook/methods/mkcol.rs index e640b65..61c6654 100644 --- a/crates/carddav/src/addressbook/methods/mkcol.rs +++ b/crates/carddav/src/addressbook/methods/mkcol.rs @@ -52,8 +52,10 @@ pub async fn route_mkcol( return Err(Error::Unauthorized); } - let request = MkcolRequest::parse_str(&body)?; - let request = request.set.prop; + let mut request = MkcolRequest::parse_str(&body)?.set.prop; + if let Some("") = request.displayname.as_deref() { + request.displayname = None + } let addressbook = Addressbook { id: addressbook_id.to_owned(),