Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Controllers/Admin/Servers/ServerController.php
10284 views
1
<?php
2
3
namespace Pterodactyl\Http\Controllers\Admin\Servers;
4
5
use Illuminate\View\View;
6
use Illuminate\Http\Request;
7
use Pterodactyl\Models\Server;
8
use Spatie\QueryBuilder\QueryBuilder;
9
use Spatie\QueryBuilder\AllowedFilter;
10
use Pterodactyl\Http\Controllers\Controller;
11
use Pterodactyl\Models\Filters\AdminServerFilter;
12
13
class ServerController extends Controller
14
{
15
/**
16
* Returns all the servers that exist on the system using a paginated result set. If
17
* a query is passed along in the request it is also passed to the repository function.
18
*/
19
public function index(Request $request): View
20
{
21
$servers = QueryBuilder::for(Server::query()->with('node', 'user', 'allocation'))
22
->allowedFilters([
23
AllowedFilter::exact('owner_id'),
24
AllowedFilter::custom('*', new AdminServerFilter()),
25
])
26
->paginate(config()->get('pterodactyl.paginate.admin.servers'));
27
28
return view('admin.servers.index', ['servers' => $servers]);
29
}
30
}
31
32