From 1757bbee134b0aa9ec534c533e612521cdce348a Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Thu, 12 Jun 2025 20:12:17 +0200 Subject: [PATCH] carddav: Remove members from addressbook-home-set --- crates/carddav/src/principal/mod.rs | 15 ++------------- crates/carddav/src/principal/prop.rs | 10 ++-------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/crates/carddav/src/principal/mod.rs b/crates/carddav/src/principal/mod.rs index bae54e3..97c8398 100644 --- a/crates/carddav/src/principal/mod.rs +++ b/crates/carddav/src/principal/mod.rs @@ -43,21 +43,12 @@ impl Resource for PrincipalResource { ) -> Result { let principal_href = HrefElement::new(puri.principal_uri(&user.id)); - let home_set = AddressbookHomeSet( - self.principal - .memberships() - .into_iter() - .map(|principal| puri.principal_uri(principal)) - .map(HrefElement::new) - .collect(), - ); - Ok(match prop { PrincipalPropWrapperName::Principal(prop) => { PrincipalPropWrapper::Principal(match prop { PrincipalPropName::PrincipalUrl => PrincipalProp::PrincipalUrl(principal_href), PrincipalPropName::AddressbookHomeSet => { - PrincipalProp::AddressbookHomeSet(home_set) + PrincipalProp::AddressbookHomeSet(principal_href) } PrincipalPropName::PrincipalAddress => PrincipalProp::PrincipalAddress(None), PrincipalPropName::GroupMembership => { @@ -71,9 +62,7 @@ impl Resource for PrincipalResource { } PrincipalPropName::AlternateUriSet => PrincipalProp::AlternateUriSet, PrincipalPropName::PrincipalCollectionSet => { - PrincipalProp::PrincipalCollectionSet(PrincipalCollectionSet( - puri.principal_collection().into(), - )) + PrincipalProp::PrincipalCollectionSet(puri.principal_collection().into()) } }) } diff --git a/crates/carddav/src/principal/prop.rs b/crates/carddav/src/principal/prop.rs index 6929a26..da7afc0 100644 --- a/crates/carddav/src/principal/prop.rs +++ b/crates/carddav/src/principal/prop.rs @@ -13,11 +13,11 @@ pub enum PrincipalProp { #[xml(ns = "rustical_dav::namespace::NS_DAV", rename = b"alternate-URI-set")] AlternateUriSet, #[xml(ns = "rustical_dav::namespace::NS_DAV")] - PrincipalCollectionSet(PrincipalCollectionSet), + PrincipalCollectionSet(HrefElement), // CardDAV (RFC 6352) #[xml(ns = "rustical_dav::namespace::NS_CARDDAV")] - AddressbookHomeSet(AddressbookHomeSet), + AddressbookHomeSet(HrefElement), #[xml(ns = "rustical_dav::namespace::NS_CARDDAV")] PrincipalAddress(Option), } @@ -29,11 +29,5 @@ pub enum PrincipalPropWrapper { Common(CommonPropertiesProp), } -#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone)] -pub struct AddressbookHomeSet(#[xml(ty = "untagged", flatten)] pub(super) Vec); - #[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone)] pub struct GroupMembership(#[xml(ty = "untagged", flatten)] pub(super) Vec); - -#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone)] -pub struct PrincipalCollectionSet(#[xml(ty = "untagged")] pub(super) HrefElement);