Fix bug where principal collections would return information about the requesting user instead of the principal resource

This commit is contained in:
Lennart
2025-06-12 15:23:02 +02:00
parent 7c73223877
commit 9e5eaa5e1c
2 changed files with 8 additions and 4 deletions

View File

@@ -44,7 +44,8 @@ impl Resource for PrincipalResource {
let principal_url = puri.principal_uri(&self.principal.id); let principal_url = puri.principal_uri(&self.principal.id);
let home_set = CalendarHomeSet( let home_set = CalendarHomeSet(
user.memberships() self.principal
.memberships()
.into_iter() .into_iter()
.map(|principal| puri.principal_uri(principal).into()) .map(|principal| puri.principal_uri(principal).into())
.collect(), .collect(),
@@ -65,7 +66,8 @@ impl Resource for PrincipalResource {
} }
PrincipalPropName::GroupMembership => { PrincipalPropName::GroupMembership => {
PrincipalProp::GroupMembership(GroupMembership( PrincipalProp::GroupMembership(GroupMembership(
user.memberships_without_self() self.principal
.memberships_without_self()
.iter() .iter()
.map(|principal| puri.principal_uri(principal).into()) .map(|principal| puri.principal_uri(principal).into())
.collect(), .collect(),

View File

@@ -44,7 +44,8 @@ impl Resource for PrincipalResource {
let principal_href = HrefElement::new(puri.principal_uri(&user.id)); let principal_href = HrefElement::new(puri.principal_uri(&user.id));
let home_set = AddressbookHomeSet( let home_set = AddressbookHomeSet(
user.memberships() self.principal
.memberships()
.into_iter() .into_iter()
.map(|principal| puri.principal_uri(principal)) .map(|principal| puri.principal_uri(principal))
.map(HrefElement::new) .map(HrefElement::new)
@@ -61,7 +62,8 @@ impl Resource for PrincipalResource {
PrincipalPropName::PrincipalAddress => PrincipalProp::PrincipalAddress(None), PrincipalPropName::PrincipalAddress => PrincipalProp::PrincipalAddress(None),
PrincipalPropName::GroupMembership => { PrincipalPropName::GroupMembership => {
PrincipalProp::GroupMembership(GroupMembership( PrincipalProp::GroupMembership(GroupMembership(
user.memberships_without_self() self.principal
.memberships_without_self()
.iter() .iter()
.map(|principal| puri.principal_uri(principal).into()) .map(|principal| puri.principal_uri(principal).into())
.collect(), .collect(),