diff --git a/lib/Command/MembersList.php b/lib/Command/MembersList.php index 36c45b2bf..236034736 100644 --- a/lib/Command/MembersList.php +++ b/lib/Command/MembersList.php @@ -307,7 +307,7 @@ private function getMembers( } } else { $this->federatedUserService->commandLineInitiator($initiator, $initiatorType, $circleId, true); - $members = $this->memberService->getMembers($circleId); + $members = $this->memberService->getMembers($circleId, true); } if (!is_null($tree)) { diff --git a/lib/Controller/RemoteController.php b/lib/Controller/RemoteController.php index f508c9bcd..9c43a5778 100644 --- a/lib/Controller/RemoteController.php +++ b/lib/Controller/RemoteController.php @@ -306,7 +306,7 @@ public function members(string $circleId): DataResponse { } try { - $members = $this->memberService->getMembers($circleId); + $members = $this->memberService->getMembers($circleId, true); return new DataResponse($members); } catch (Exception $e) { diff --git a/lib/Db/MemberRequest.php b/lib/Db/MemberRequest.php index 637d4df41..71f6f8872 100644 --- a/lib/Db/MemberRequest.php +++ b/lib/Db/MemberRequest.php @@ -199,6 +199,7 @@ public function getMembers( ?IFederatedUser $initiator = null, ?MemberProbe $probe = null, int $limit = 0, + bool $fullDetails = false, ): array { if (is_null($probe)) { $probe = new MemberProbe(); @@ -218,8 +219,10 @@ public function getMembers( ) ); - $qb->leftJoinCircle(CoreQueryBuilder::MEMBER, $initiator); - $qb->leftJoinInvitedBy(CoreQueryBuilder::MEMBER); + if ($fullDetails) { + $qb->leftJoinCircle(CoreQueryBuilder::MEMBER, $initiator); + $qb->leftJoinInvitedBy(CoreQueryBuilder::MEMBER); + } if ($probe->hasFilterRemoteInstance()) { $aliasCircle = $qb->generateAlias(CoreQueryBuilder::MEMBER, CoreQueryBuilder::CIRCLE); diff --git a/lib/Service/MemberService.php b/lib/Service/MemberService.php index f7784ad80..e8c56193d 100644 --- a/lib/Service/MemberService.php +++ b/lib/Service/MemberService.php @@ -151,7 +151,7 @@ public function getMemberById( * @throws InitiatorNotFoundException * @throws RequestBuilderException */ - public function getMembers(string $circleId): array { + public function getMembers(string $circleId, bool $fullDetails = false): array { $this->federatedUserService->mustHaveCurrentUser(); $probe = new MemberProbe(); @@ -164,7 +164,8 @@ public function getMembers(string $circleId): array { return $this->memberRequest->getMembers( $circleId, $this->federatedUserService->getCurrentUser(), - $probe + $probe, + fullDetails: $fullDetails ); }