public function index(UrlParamsProcessor $processor)
    {
        $this->authorize('readList', User::class);

        $processor
            ->addFilter(new ArrayParser('id'))
            ->addFilter(new StringParser('email'), 'email')
            ->addFilter(new StringParser('name'))
            ->addFilter(new StringParser('first_name'))
            ->addFilter(new StringParser('last_name'))
            ->addFilter(new DateRangeParser('created_at'))
            ->addFilter(new DateParser('updated_at'))
            ->process($this->request);

        $results = $this->repository->getMany($processor->buildQueryBuilder());
        $results->setPath(apiUrl('users'));

        return new UserCollection($results);
    }
public function index(UrlParamsProcessor $processor)
    {
        $this->authorize('readList', User::class);

        $processor
            ->addFilter(new ArrayParser('id'))
            ->addFilter(new StringParser('email'), 'email')
            ->addFilter(new StringParser('name'))
            ->addFilter(new StringParser('first_name'))
            ->addFilter(new StringParser('last_name'))
            ->addFilter(new DateRangeParser('created_at'))
            ->addFilter(new DateParser('updated_at'))
            ->process($this->request);

        $results = $this->repository->getMany($processor->buildQueryBuilder());
        $results->setPath(apiUrl('users'));

        return new UserCollection($results);
    }
public function index ( UrlParamsProcessor $ processor ) { $ this -> authorize ( 'readList' , User :: class ) ; $ processor -> addFilter ( new ArrayParser ( 'id' ) ) -> addFilter ( new StringParser ( 'email' ) , 'email' ) -> addFilter ( new StringParser ( 'name' ) ) -> addFilter ( new StringParser ( 'first_name' ) ) -> addFilter ( new StringParser ( 'last_name' ) ) -> addFilter ( new DateRangeParser ( 'created_at' ) ) -> addFilter ( new DateParser ( 'updated_at' ) ) -> process ( $ this -> request ) ; $ results = $ this -> repository -> getMany ( $ processor -> buildQueryBuilder ( ) ) ; $ results -> setPath ( apiUrl ( 'users' ) ) ; return new UserCollection ( $ results ) ; }
Display list of all users

@SWG\Get(
path="/users",
tags={"user"},
summary="List of all users",
description="List of all available users, <b>'admin-access'</b> policy is required.",
produces={"application/json"},
security={{"AdminAccess": {}}},
@SWG\Parameter(
name="in",
in="query",
description="Ids to filter by",
required=false,
type="array",
minItems=1,
default={"3","5"},
@SWG\Items(type="string")
),
@SWG\Parameter(
name="email",
in="query",
description="Valid email address to filter by",
required=false,
type="string"
),
@SWG\Parameter(
name="name",
in="query",
description="Name to filter by",
required=false,
type="string"
),
@SWG\Parameter(
name="first_name",
in="query",
description="First name to filter by",
required=false,
type="string"
),
@SWG\Parameter(
name="last_name",
in="query",
description="Last name to filter by",
required=false,
type="string"
),
@SWG\Parameter(
name="created_at",
in="query",
description="Date range to filter by",
required=false,
type="array",
minItems=2,
maxItems=2,
default={"2017-10-01","2017-10-07"},
@SWG\Items(type="string")
),
@SWG\Response(
response=200,
description="Successful operation",
@SWG\Schema(type="array", @SWG\Items(ref="#/definitions/User")),
),
@SWG\Response(
response=422,
description="Validation Error",
@SWG\Schema(ref="#/definitions/ValidationErrors")
)
)

@param UrlParamsProcessor $processor Params processor

@throws \Illuminate\Auth\Access\AuthorizationException

@return UserCollection
Display list of all users