From 50d91a10b08919bc0123110a9229a9aa207460ad Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Thu, 20 Jun 2024 20:45:06 +0200 Subject: [PATCH] Add calendar-timezone prop --- crates/caldav/src/calendar/resource.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/caldav/src/calendar/resource.rs b/crates/caldav/src/calendar/resource.rs index f284bee..087d66a 100644 --- a/crates/caldav/src/calendar/resource.rs +++ b/crates/caldav/src/calendar/resource.rs @@ -125,6 +125,7 @@ pub enum CalendarPropName { Displayname, CalendarColor, CalendarDescription, + CalendarTimezone, CalendarOrder, SupportedCalendarComponentSet, SupportedCalendarData, @@ -144,6 +145,8 @@ pub enum CalendarProp { CalendarColor(TextNode), #[serde(rename = "C:calendar-description", alias = "calendar-description")] CalendarDescription(TextNode), + #[serde(rename = "C:calendar-timezone", alias = "calendar-timezone")] + CalendarTimezone(TextNode), #[serde(rename = "IC:calendar-description", alias = "calendar-description")] CalendarOrder(TextNode), #[serde( @@ -202,6 +205,9 @@ impl Resource for CalendarFile { CalendarPropName::CalendarDescription => Ok(CalendarProp::CalendarDescription( TextNode(self.calendar.description.clone()), )), + CalendarPropName::CalendarTimezone => Ok(CalendarProp::CalendarTimezone(TextNode( + self.calendar.timezone.clone(), + ))), CalendarPropName::CalendarOrder => Ok(CalendarProp::CalendarOrder(TextNode( format!("{}", self.calendar.order).into(), ))), @@ -244,6 +250,10 @@ impl Resource for CalendarFile { self.calendar.description = description; Ok(()) } + CalendarProp::CalendarTimezone(TextNode(timezone)) => { + self.calendar.timezone = timezone; + Ok(()) + } CalendarProp::CalendarOrder(TextNode(order)) => { self.calendar.order = match order { Some(order) => order.parse().map_err(|_e| anyhow!("invalid order"))?,