From b7f090e467bcdf6958bf127700d64bc1188a9b6e Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Tue, 31 Dec 2024 20:06:10 +0100 Subject: [PATCH] Add namespace --- crates/caldav/src/calendar/resource.rs | 4 +++- crates/carddav/src/addressbook/resource.rs | 1 + crates/dav/src/xml/multistatus.rs | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/caldav/src/calendar/resource.rs b/crates/caldav/src/calendar/resource.rs index fa37258..8b59c6b 100644 --- a/crates/caldav/src/calendar/resource.rs +++ b/crates/caldav/src/calendar/resource.rs @@ -66,11 +66,13 @@ pub enum CalendarProp { #[xml(ns = "rustical_dav::namespace::NS_CALDAV")] #[xml(skip_deserializing)] SupportedCalendarComponentSet(SupportedCalendarComponentSet), - #[xml(ns = "rustical_dav::namespace::NS_CALDAV")] #[xml(skip_deserializing)] + #[xml(ns = "rustical_dav::namespace::NS_CALDAV")] SupportedCalendarData(SupportedCalendarData), + #[xml(ns = "rustical_dav::namespace::NS_DAV")] MaxResourceSize(i64), #[xml(skip_deserializing)] + #[xml(ns = "rustical_dav::namespace::NS_CALDAV")] SupportedReportSet(SupportedReportSet), // Collection Synchronization (RFC 6578) diff --git a/crates/carddav/src/addressbook/resource.rs b/crates/carddav/src/addressbook/resource.rs index cf51211..18ec7a0 100644 --- a/crates/carddav/src/addressbook/resource.rs +++ b/crates/carddav/src/addressbook/resource.rs @@ -68,6 +68,7 @@ impl Resource for AddressbookResource { type PrincipalResource = PrincipalResource; fn get_resourcetype(&self) -> &'static [&'static str] { + // TODO: namespace &["collection", "CARD:addressbook"] } diff --git a/crates/dav/src/xml/multistatus.rs b/crates/dav/src/xml/multistatus.rs index 5e8cf25..9e5050a 100644 --- a/crates/dav/src/xml/multistatus.rs +++ b/crates/dav/src/xml/multistatus.rs @@ -87,7 +87,12 @@ impl Default for ResponseElement { // Extended by sync-token as specified in RFC 6578 #[derive(XmlSerialize, XmlRootTag)] #[xml(root = b"multistatus", ns = "crate::namespace::NS_DAV")] -#[xml(ns_prefix(crate::namespace::NS_DAV = b"D"))] +#[xml(ns_prefix( + crate::namespace::NS_DAV = b"D", + crate::namespace::NS_CARDDAV = b"CARD", + crate::namespace::NS_CALDAV = b"CAL", + crate::namespace::NS_CALENDARSERVER = b"CS" +))] pub struct MultistatusElement { #[xml(rename = b"response", flatten)] pub responses: Vec>,