mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 16:32:29 +00:00
intense code jankification
This commit is contained in:
@@ -132,10 +132,11 @@ pub enum CalendarProp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
#[serde(untagged)]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub enum CalendarPropResponse {
|
pub enum CalendarPropResponse {
|
||||||
Resourcetype(Resourcetype),
|
Resourcetype(Resourcetype),
|
||||||
CurrentUser(HrefElement),
|
CurrentUserPrincipal(HrefElement),
|
||||||
|
Owner(HrefElement),
|
||||||
Displayname(TextNode),
|
Displayname(TextNode),
|
||||||
CalendarColor(TextNode),
|
CalendarColor(TextNode),
|
||||||
CalendarDescription(TextNode),
|
CalendarDescription(TextNode),
|
||||||
@@ -190,11 +191,13 @@ impl<C: CalendarStore + ?Sized> Resource for CalendarResource<C> {
|
|||||||
CalendarProp::Resourcetype => {
|
CalendarProp::Resourcetype => {
|
||||||
Ok(CalendarPropResponse::Resourcetype(Resourcetype::default()))
|
Ok(CalendarPropResponse::Resourcetype(Resourcetype::default()))
|
||||||
}
|
}
|
||||||
CalendarProp::CurrentUserPrincipal | CalendarProp::Owner => {
|
CalendarProp::CurrentUserPrincipal => Ok(CalendarPropResponse::CurrentUserPrincipal(
|
||||||
Ok(CalendarPropResponse::CurrentUser(HrefElement::new(
|
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
||||||
format!("{}/{}/", self.prefix, self.principal),
|
)),
|
||||||
)))
|
CalendarProp::Owner => Ok(CalendarPropResponse::Owner(HrefElement::new(format!(
|
||||||
}
|
"{}/{}/",
|
||||||
|
self.prefix, self.principal
|
||||||
|
)))),
|
||||||
CalendarProp::Displayname => Ok(CalendarPropResponse::Displayname(TextNode(
|
CalendarProp::Displayname => Ok(CalendarPropResponse::Displayname(TextNode(
|
||||||
self.calendar.name.clone(),
|
self.calendar.name.clone(),
|
||||||
))),
|
))),
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ pub enum EventProp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
#[serde(untagged)]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub enum PrincipalPropResponse {
|
pub enum PrincipalPropResponse {
|
||||||
Getetag(TextNode),
|
Getetag(TextNode),
|
||||||
CalendarData(TextNode),
|
CalendarData(TextNode),
|
||||||
|
|||||||
@@ -26,10 +26,16 @@ pub struct Resourcetype {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
#[serde(untagged)]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub enum PrincipalPropResponse {
|
pub enum PrincipalPropResponse {
|
||||||
Resourcetype(Resourcetype),
|
Resourcetype(Resourcetype),
|
||||||
CurrentUser(HrefElement),
|
CurrentUserPrincipal(HrefElement),
|
||||||
|
#[serde(rename = "principal-URL")]
|
||||||
|
PrincipalUrl(HrefElement),
|
||||||
|
#[serde(rename = "C:calendar-home-set")]
|
||||||
|
CalendarHomeSet(HrefElement),
|
||||||
|
#[serde(rename = "C:calendar-user-address-set")]
|
||||||
|
CalendarUserAddressSet(HrefElement),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(EnumString, Debug, VariantNames, IntoStaticStr, EnumProperty, Clone)]
|
#[derive(EnumString, Debug, VariantNames, IntoStaticStr, EnumProperty, Clone)]
|
||||||
@@ -100,12 +106,20 @@ impl<C: CalendarStore + ?Sized> Resource for PrincipalCalendarsResource<C> {
|
|||||||
PrincipalProp::Resourcetype => {
|
PrincipalProp::Resourcetype => {
|
||||||
Ok(PrincipalPropResponse::Resourcetype(Resourcetype::default()))
|
Ok(PrincipalPropResponse::Resourcetype(Resourcetype::default()))
|
||||||
}
|
}
|
||||||
PrincipalProp::CurrentUserPrincipal
|
PrincipalProp::CurrentUserPrincipal => Ok(PrincipalPropResponse::CurrentUserPrincipal(
|
||||||
| PrincipalProp::PrincipalUrl
|
|
||||||
| PrincipalProp::CalendarHomeSet
|
|
||||||
| PrincipalProp::CalendarUserAddressSet => Ok(PrincipalPropResponse::CurrentUser(
|
|
||||||
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
||||||
)),
|
)),
|
||||||
|
PrincipalProp::PrincipalUrl => Ok(PrincipalPropResponse::PrincipalUrl(
|
||||||
|
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
||||||
|
)),
|
||||||
|
PrincipalProp::CalendarHomeSet => Ok(PrincipalPropResponse::CalendarHomeSet(
|
||||||
|
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
||||||
|
)),
|
||||||
|
PrincipalProp::CalendarUserAddressSet => {
|
||||||
|
Ok(PrincipalPropResponse::CalendarUserAddressSet(
|
||||||
|
HrefElement::new(format!("{}/{}/", self.prefix, self.principal)),
|
||||||
|
))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ pub struct Resourcetype {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
#[serde(untagged)]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub enum RootPropResponse {
|
pub enum RootPropResponse {
|
||||||
Resourcetype(Resourcetype),
|
Resourcetype(Resourcetype),
|
||||||
CurrentUser(HrefElement),
|
CurrentUser(HrefElement),
|
||||||
|
|||||||
Reference in New Issue
Block a user