#591 - sites [wip]

This commit is contained in:
Saeed Vaziry
2025-05-25 22:17:19 +02:00
parent ff11fb44e0
commit f5fdbae4ac
77 changed files with 2156 additions and 414 deletions

View File

@ -10,6 +10,7 @@
use App\Models\ServerProvider;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Facades\URL;
use Illuminate\Validation\Rule;
use Inertia\Inertia;
@ -40,6 +41,27 @@ public function index(): Response
]);
}
#[Get('/json', name: 'servers.json')]
public function json(Request $request): ResourceCollection
{
$project = user()->currentProject;
$this->authorize('viewAny', [Server::class, $project]);
$this->validate($request, [
'query' => [
'nullable',
'string',
],
]);
$servers = $project->servers()->where('name', 'like', "%{$request->input('query')}%")
->take(10)
->get();
return ServerResource::collection($servers);
}
#[Post('/', name: 'servers.store')]
public function store(Request $request): RedirectResponse
{
@ -58,7 +80,7 @@ public function show(Server $server): Response
$this->authorize('view', $server);
return Inertia::render('servers/show', [
'logs' => ServerLogResource::collection($server->logs()->latest()->simplePaginate(config('web.pagination_size'))),
'logs' => ServerLogResource::collection($server->logs()->latest()->simplePaginate(config('web.pagination_size'), pageName: 'logsPage')),
]);
}