Add user specific listing route
This commit is contained in:
parent
72acf06353
commit
3114c1f73e
2 changed files with 35 additions and 5 deletions
|
@ -25,9 +25,38 @@ class UserController extends BaseController
|
|||
* })
|
||||
* @Response(200)
|
||||
*/
|
||||
public function getUsers(Request $request) {
|
||||
public function getUsers(Request $request)
|
||||
{
|
||||
$users = Models\User::paginate(15);
|
||||
return $this->response->paginator($users, new UserTransformer);
|
||||
}
|
||||
|
||||
/**
|
||||
* List Specific User
|
||||
*
|
||||
* Lists specific fields about a user or all fields pertaining to that user.
|
||||
*
|
||||
* @Get("/{id}/{fields}")
|
||||
* @Versions({"v1"})
|
||||
* @Parameters({
|
||||
* @Parameter("id", type="integer", required=true, description="The ID of the user to get information on."),
|
||||
* @Parameter("fields", type="string", required=false, description="A comma delimidated list of fields to include.")
|
||||
* })
|
||||
* @Response(200)
|
||||
*/
|
||||
public function getUserByID(Request $request, $id, $fields = null)
|
||||
{
|
||||
$query = Models\User::where('id', $id);
|
||||
|
||||
if (!is_null($fields)) {
|
||||
foreach(explode(',', $fields) as $field) {
|
||||
if (!empty($field)) {
|
||||
$query->addSelect($field);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $query->first();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,13 +32,14 @@ class APIRoutes
|
|||
$api->version('v1', ['middleware' => 'api.auth'], function ($api) {
|
||||
|
||||
$api->get('users', [
|
||||
'as' => 'api.auth.validate',
|
||||
'as' => 'api.users',
|
||||
'uses' => 'Pterodactyl\Http\Controllers\API\UserController@getUsers'
|
||||
]);
|
||||
|
||||
$api->get('users/{id}', function($id) {
|
||||
return Models\User::findOrFail($id);
|
||||
});
|
||||
$api->get('users/{id}/{fields?}', [
|
||||
'as' => 'api.users.view',
|
||||
'uses' => 'Pterodactyl\Http\Controllers\API\UserController@getUserByID'
|
||||
]);
|
||||
|
||||
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue