vito/app/Actions/Server/CheckConnection.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

31 lines
698 B
PHP

<?php
namespace App\Actions\Server;
use App\Facades\Notifier;
use App\Models\Server;
use App\Notifications\ServerDisconnected;
use Throwable;
class CheckConnection
{
public function check(Server $server): Server
{
$status = $server->status;
try {
$server->ssh()->connect();
$server->refresh();
if ($status == 'disconnected') {
$server->status = 'ready';
$server->save();
}
} catch (Throwable) {
$server->status = 'disconnected';
$server->save();
Notifier::send($server, new ServerDisconnected($server));
}
return $server;
}
}