vito/app/Actions/Server/CheckConnection.php
Saeed Vaziry fe331fd2b3
server updates (#202)
* server updates

* add last update check
2024-05-11 10:09:46 +02:00

32 lines
796 B
PHP

<?php
namespace App\Actions\Server;
use App\Enums\ServerStatus;
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 (in_array($status, [ServerStatus::DISCONNECTED, ServerStatus::UPDATING])) {
$server->status = ServerStatus::READY;
$server->save();
}
} catch (Throwable) {
$server->status = ServerStatus::DISCONNECTED;
$server->save();
Notifier::send($server, new ServerDisconnected($server));
}
return $server;
}
}