loginHandler->isLoggedIn()) { throw new UnauthorizedException(); } $user = $this->loginHandler->getCurrentUser(); if (!$user->getPermission()->hasLevel(UserPermission::PROVIDER)) { throw new ForbiddenException(); } $body = $request->getQueryParams(); if (!array_key_exists('listid', $body)) { throw new BadRequestException(); } $list = $this->entityManager->getRepository(GamesList::class)->findOneBy([ 'owner' => $user, 'id' => $body['listid'] ]); $claimer = $list->getClaimer(); return new JsonResponse( [ 'data' => $claimer ->filter(fn ($claimerUser) => $claimerUser !== $user) ->map( function (User $user) { return [ 'id' => $user->getId(), 'name' => $user->getName(), 'icon' => $user->getProfilePictureUrl() ]; } )->toArray() ] ); } }