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(),