getQueryParams(); /** @var \UserFrosting\Sprinkle\Account\Authorize\AuthorizationManager $authorizer */ $authorizer = $this->ci->authorizer; /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */ $classMapper = $this->ci->classMapper; /** @var \UserFrosting\Sprinkle\Account\Database\Models\Interfaces\UserInterface $currentUser */ $currentUser = $this->ci->currentUser; // Access-controlled page $adminRole = $authorizer->checkAccess($currentUser, 'uri_roles'); $userRole = $authorizer->checkAccess($currentUser, 'role_list'); if (!$adminRole && !$userRole) { throw new ForbiddenException(); } $sprunje = $classMapper->createInstance('role_sprunje', $classMapper, $params); if ($userRole) { $siteAdminId = Role::where('slug', 'site-admin')->first()->id; $sprunje->extendQuery(function($query) { $query->where('role_id', '!=', $siteAdminId); }); } // Be careful how you consume this data - it has not been escaped and contains untrusted user-supplied content. // For example, if you plan to insert it into an HTML DOM, you must escape it on the client side (or use client-side templating). return $sprunje->toResponse($response); } }