/** * $> curl --header "X-Authorization: <API_KEY>" * http://localhost/api/v1/users?email=&name= * * @route api/v1/users * @type GET * * @param string name * @param string email * * @return mixed */ public function index(UsersFilteredFormRequest $request) { $users = []; if (Auth::user()->hasRole('admin')) { $name = $request->has('name') ? $request->get('name') : null; $email = $request->has('email') ? $request->get('email') : null; if (!Auth::user()->hasRole(RolesRepositoryEloquent::ADMIN) && !Auth::user()->hasPermission(PermissionsRepositoryEloquent::SEE_ENVIRONMENT)) { // Force filter on current environment $this->r_users->filterEnvironments([Environments::currentId()]); } if (!is_null($name)) { $this->r_users->filterUserName($name); } if (!is_null($email)) { $this->r_users->filterEmail($email); } $users = $this->r_users->all(); } return $this->response->withCollection($users, new $this->obj_userTransformer()); }