From d4d6a9e8d09938e056a3935ed1b2e55e5531e625 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 27 Oct 2024 11:55:10 +0100 Subject: [PATCH] caldav: Document which RFCs the properties originate from --- crates/caldav/src/calendar/resource.rs | 19 +++++++++++++++---- crates/caldav/src/calendar_object/resource.rs | 5 ++++- crates/caldav/src/principal/mod.rs | 10 +++++++++- crates/caldav/src/root/mod.rs | 3 +++ 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/crates/caldav/src/calendar/resource.rs b/crates/caldav/src/calendar/resource.rs index 124c328..f5e7a7e 100644 --- a/crates/caldav/src/calendar/resource.rs +++ b/crates/caldav/src/calendar/resource.rs @@ -54,10 +54,19 @@ pub enum CalendarPropName { #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "kebab-case")] pub enum CalendarProp { + // WebDAV (RFC 2518) Resourcetype(Resourcetype), - CurrentUserPrincipal(HrefElement), - Owner(HrefElement), Displayname(Option), + Getcontenttype(String), + + // WebDAV Current Principal Extension (RFC 5397) + CurrentUserPrincipal(HrefElement), + + // WebDAV Access Control (RFC 3744) + Owner(HrefElement), + CurrentUserPrivilegeSet(UserPrivilegeSet), + + // CalDAV (RFC 4791) #[serde(rename = "IC:calendar-color", alias = "calendar-color")] CalendarColor(Option), #[serde(rename = "C:calendar-description", alias = "calendar-description")] @@ -76,11 +85,13 @@ pub enum CalendarProp { alias = "supported-calendar-data" )] SupportedCalendarData(SupportedCalendarData), - Getcontenttype(String), MaxResourceSize(i64), - CurrentUserPrivilegeSet(UserPrivilegeSet), SupportedReportSet(SupportedReportSet), + + // Collection Synchronization (RFC 6578) SyncToken(String), + + // Didn't find the spec Getctag(String), #[serde(other)] Invalid, diff --git a/crates/caldav/src/calendar_object/resource.rs b/crates/caldav/src/calendar_object/resource.rs index da1fade..9477745 100644 --- a/crates/caldav/src/calendar_object/resource.rs +++ b/crates/caldav/src/calendar_object/resource.rs @@ -31,10 +31,13 @@ pub enum CalendarObjectPropName { #[derive(Deserialize, Serialize, Debug, Clone)] #[serde(rename_all = "kebab-case")] pub enum CalendarObjectProp { + // WebDAV (RFC 2518) Getetag(String), + Getcontenttype(String), + + // CalDAV (RFC 4791) #[serde(rename = "C:calendar-data")] CalendarData(String), - Getcontenttype(String), #[serde(other)] Invalid, } diff --git a/crates/caldav/src/principal/mod.rs b/crates/caldav/src/principal/mod.rs index 0e8650f..a35b19c 100644 --- a/crates/caldav/src/principal/mod.rs +++ b/crates/caldav/src/principal/mod.rs @@ -33,14 +33,22 @@ pub struct Resourcetype { #[derive(Deserialize, Serialize, Debug)] #[serde(rename_all = "kebab-case")] pub enum PrincipalProp { + // WebDAV (RFC 2518) Resourcetype(Resourcetype), - CurrentUserPrincipal(HrefElement), + + // WebDAV Access Control (RFC 3744) #[serde(rename = "principal-URL")] PrincipalUrl(HrefElement), + + // WebDAV Current Principal Extension (RFC 5397) + CurrentUserPrincipal(HrefElement), + + // CalDAV (RFC 4791) #[serde(rename = "C:calendar-home-set")] CalendarHomeSet(HrefElement), #[serde(rename = "C:calendar-user-address-set")] CalendarUserAddressSet(HrefElement), + #[serde(other)] Invalid, } diff --git a/crates/caldav/src/root/mod.rs b/crates/caldav/src/root/mod.rs index bdc77bb..c52b148 100644 --- a/crates/caldav/src/root/mod.rs +++ b/crates/caldav/src/root/mod.rs @@ -25,7 +25,10 @@ pub struct Resourcetype { #[derive(Deserialize, Serialize, Debug)] #[serde(rename_all = "kebab-case")] pub enum RootProp { + // WebDAV (RFC 2518) Resourcetype(Resourcetype), + + // WebDAV Current Principal Extension (RFC 5397) CurrentUserPrincipal(HrefElement), #[serde(other)] Invalid,