diff --git a/lib/Command/MembersList.php b/lib/Command/MembersList.php index 6d191a7fd..261e9d0a5 100644 --- a/lib/Command/MembersList.php +++ b/lib/Command/MembersList.php @@ -327,7 +327,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 31ad9fc38..5717f8d10 100644 --- a/lib/Controller/RemoteController.php +++ b/lib/Controller/RemoteController.php @@ -326,7 +326,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 38344694b..bdfd422c6 100644 --- a/lib/Db/MemberRequest.php +++ b/lib/Db/MemberRequest.php @@ -217,7 +217,8 @@ public function updateLevel(Member $member): void { public function getMembers( string $singleId, ?IFederatedUser $initiator = null, - ?MemberProbe $probe = null + ?MemberProbe $probe = null, + bool $fullDetails = false, ): array { if (is_null($probe)) { $probe = new MemberProbe(); @@ -234,8 +235,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 a8394ff92..c47dc2907 100644 --- a/lib/Service/MemberService.php +++ b/lib/Service/MemberService.php @@ -171,7 +171,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(); @@ -184,7 +184,8 @@ public function getMembers(string $circleId): array { return $this->memberRequest->getMembers( $circleId, $this->federatedUserService->getCurrentUser(), - $probe + $probe, + fullDetails: $fullDetails ); }