Files
panel/app/Http/Controllers/Admin/Servers/ServerController.php

30 lines
945 B
PHP
Raw Normal View History

<?php
2024-03-12 22:39:16 -04:00
namespace App\Http\Controllers\Admin\Servers;
use Illuminate\View\View;
2024-03-12 22:39:16 -04:00
use App\Models\Server;
use Spatie\QueryBuilder\QueryBuilder;
use Spatie\QueryBuilder\AllowedFilter;
2024-03-12 22:39:16 -04:00
use App\Http\Controllers\Controller;
use App\Models\Filters\AdminServerFilter;
class ServerController extends Controller
{
/**
* Returns all the servers that exist on the system using a paginated result set. If
* a query is passed along in the request it is also passed to the repository function.
*/
2024-06-05 16:03:04 -04:00
public function index(): View
{
$servers = QueryBuilder::for(Server::query()->with('node', 'user', 'allocation'))
->allowedFilters([
AllowedFilter::exact('owner_id'),
2021-01-23 12:33:34 -08:00
AllowedFilter::custom('*', new AdminServerFilter()),
])
2024-03-12 22:39:16 -04:00
->paginate(config()->get('panel.paginate.admin.servers'));
2024-03-16 23:23:07 -04:00
return view('admin.servers.index', ['servers' => $servers]);
}
}