misc_pterodactyl-panel/app/Http/Controllers/API/UserController.php

63 lines
1.5 KiB
PHP
Raw Normal View History

<?php
namespace Pterodactyl\Http\Controllers\API;
use Illuminate\Http\Request;
2016-01-12 06:05:44 +00:00
use Pterodactyl\Transformers\UserTransformer;
use Pterodactyl\Models;
2016-01-12 06:05:44 +00:00
/**
* @Resource("Users", uri="/users")
*/
class UserController extends BaseController
{
/**
2016-01-12 06:05:44 +00:00
* List All Users
*
2016-01-12 06:05:44 +00:00
* Lists all users currently on the system.
*
2016-01-12 06:05:44 +00:00
* @Get("/{?page}")
* @Versions({"v1"})
* @Parameters({
* @Parameter("page", type="integer", description="The page of results to view.", default=1)
* })
* @Response(200)
*/
2016-01-13 03:59:34 +00:00
public function getUsers(Request $request)
{
2016-01-12 06:05:44 +00:00
$users = Models\User::paginate(15);
return $this->response->paginator($users, new UserTransformer);
}
2016-01-13 03:59:34 +00:00
/**
* 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();
}
}