vito/app/Http/Controllers/ServerSettingController.php
Saeed Vaziry b2083fc6b2
Migrate to HTMX (#114)
Dropped Livewire
Added HTMX
Added Blade code lint
Drop Mysql and Redis
Migrate to SQLite
2024-03-06 17:02:59 +01:00

57 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Actions\Server\EditServer;
use App\Facades\Toast;
use App\Helpers\HtmxResponse;
use App\Models\Server;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class ServerSettingController extends Controller
{
public function index(Server $server): View
{
return view('server-settings.index', compact('server'));
}
public function checkConnection(Server $server): RedirectResponse|HtmxResponse
{
$oldStatus = $server->status;
$server = $server->checkConnection();
if ($server->status == 'disconnected') {
Toast::error('Server is disconnected.');
}
if ($server->status == 'ready') {
Toast::success('Server is ready.');
}
if ($oldStatus != $server->status) {
return htmx()->redirect(back()->getTargetUrl());
}
return back();
}
public function reboot(Server $server): HtmxResponse
{
$server->reboot();
return htmx()->redirect(back()->getTargetUrl());
}
public function edit(Request $request, Server $server): RedirectResponse
{
app(EditServer::class)->edit($server, $request->input());
Toast::success('Server updated.');
return back();
}
}