diff --git a/crates/caldav/src/calendar/methods/mkcalendar.rs b/crates/caldav/src/calendar/methods/mkcalendar.rs index ec4a4b2..dc8ab26 100644 --- a/crates/caldav/src/calendar/methods/mkcalendar.rs +++ b/crates/caldav/src/calendar/methods/mkcalendar.rs @@ -4,6 +4,7 @@ use actix_web::web::{Data, Path}; use actix_web::HttpResponse; use anyhow::Result; use rustical_auth::{AuthInfoExtractor, CheckAuthentication}; +use rustical_dav::xml::tag_list::TagList; use rustical_store::calendar::{Calendar, CalendarStore}; use serde::{Deserialize, Serialize}; @@ -15,6 +16,20 @@ pub struct Resourcetype { collection: Option<()>, } +#[derive(Serialize, Deserialize, Clone, Debug)] +#[serde(rename_all = "kebab-case")] +pub struct CalendarComponentElement { + #[serde(rename = "@name")] + name: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +#[serde(rename_all = "kebab-case")] +pub struct SupportedCalendarComponentSetElement { + #[serde(flatten)] + comp: Vec, +} + #[derive(Serialize, Deserialize, Clone, Debug)] #[serde(rename_all = "kebab-case")] pub struct MkcolCalendarProp { @@ -23,6 +38,7 @@ pub struct MkcolCalendarProp { calendar_description: Option, calendar_color: Option, calendar_timezone: Option, + supported_calendar_component_set: Option, } #[derive(Serialize, Deserialize, Clone, Debug)]