/** * @Route("/{code}", name="server_data_formatted") * @ParamConverter("server", class="StreamPerkServerBundle:Server") */ public function getAction(Server $server) { if ($this->get('madrak_io_extendable_configuration.configuration_service')->get('server.data.publish_formatted_whitelist') != true) { return new JsonResponse(['error' => self::DATA_PUBLISH_NOT_ENABLED]); } $users = []; foreach ($server->getUsers() as $user) { if ($this->get('streamperk.core.user_access_decision_manager')->isGranted($user->getUser(), AbstractVoter::SHOW, $server) === false) { continue; } if ($server->getRequiresApproval() === true && $user->getApproved() === false) { continue; } $users[] = $user; } return new Response($this->get('streamperk.server.server_type_chain')->getServerType($server->getServerType())->getFormattedData($users)); }