caldav: set calendar-order to i64

This commit is contained in:
Lennart
2024-09-29 14:14:40 +02:00
parent 1ac5577831
commit e863f994b0

View File

@@ -1,7 +1,6 @@
use crate::event::resource::EventResource; use crate::event::resource::EventResource;
use crate::Error; use crate::Error;
use actix_web::{web::Data, HttpRequest}; use actix_web::{web::Data, HttpRequest};
use anyhow::anyhow;
use async_trait::async_trait; use async_trait::async_trait;
use derive_more::derive::{From, Into}; use derive_more::derive::{From, Into};
use rustical_auth::AuthInfo; use rustical_auth::AuthInfo;
@@ -61,7 +60,7 @@ pub enum CalendarProp {
#[serde(rename = "C:calendar-timezone", alias = "calendar-timezone")] #[serde(rename = "C:calendar-timezone", alias = "calendar-timezone")]
CalendarTimezone(Option<String>), CalendarTimezone(Option<String>),
#[serde(rename = "IC:calendar-order", alias = "calendar-order")] #[serde(rename = "IC:calendar-order", alias = "calendar-order")]
CalendarOrder(Option<String>), CalendarOrder(Option<i64>),
#[serde( #[serde(
rename = "C:supported-calendar-component-set", rename = "C:supported-calendar-component-set",
alias = "supported-calendar-component-set" alias = "supported-calendar-component-set"
@@ -114,9 +113,7 @@ impl Resource for CalendarResource {
CalendarPropName::CalendarTimezone => { CalendarPropName::CalendarTimezone => {
CalendarProp::CalendarTimezone(self.0.timezone.clone()) CalendarProp::CalendarTimezone(self.0.timezone.clone())
} }
CalendarPropName::CalendarOrder => { CalendarPropName::CalendarOrder => CalendarProp::CalendarOrder(Some(self.0.order)),
CalendarProp::CalendarOrder(format!("{}", self.0.order).into())
}
CalendarPropName::SupportedCalendarComponentSet => { CalendarPropName::SupportedCalendarComponentSet => {
CalendarProp::SupportedCalendarComponentSet(SupportedCalendarComponentSet { CalendarProp::SupportedCalendarComponentSet(SupportedCalendarComponentSet {
comp: vec![SupportedCalendarComponent { comp: vec![SupportedCalendarComponent {
@@ -166,10 +163,7 @@ impl Resource for CalendarResource {
Ok(()) Ok(())
} }
CalendarProp::CalendarOrder(order) => { CalendarProp::CalendarOrder(order) => {
self.0.order = match order { self.0.order = order.unwrap_or_default();
Some(order) => order.parse().map_err(|_e| anyhow!("invalid order"))?,
None => 0,
};
Ok(()) Ok(())
} }
CalendarProp::SupportedCalendarComponentSet(_) => { CalendarProp::SupportedCalendarComponentSet(_) => {