coolify/app/Http/Livewire/Upgrade.php

34 lines
961 B
PHP
Raw Normal View History

2023-04-28 13:08:48 +00:00
<?php
namespace App\Http\Livewire;
2023-06-15 09:23:48 +00:00
use App\Actions\Server\UpdateCoolify;
2023-06-15 08:48:13 +00:00
use Masmerise\Toaster\Toaster;
2023-04-28 13:08:48 +00:00
use Livewire\Component;
2023-06-15 08:48:13 +00:00
class Upgrade extends Component
2023-04-28 13:08:48 +00:00
{
2023-06-15 08:48:13 +00:00
public bool $showProgress = false;
2023-06-15 09:39:15 +00:00
public bool $isUpgradeAvailable = false;
public function checkUpdate()
{
$latestVersion = get_latest_version_of_coolify();
$currentVersion = config('version');
version_compare($currentVersion, $latestVersion, '<') ? $this->isUpgradeAvailable = true : $this->isUpgradeAvailable = false;
if (config('app.env') === 'local') {
$this->isUpgradeAvailable = true;
}
}
2023-04-28 13:08:48 +00:00
public function upgrade()
{
2023-05-25 20:33:47 +00:00
try {
2023-06-15 08:48:13 +00:00
$this->showProgress = true;
2023-06-15 09:23:48 +00:00
resolve(UpdateCoolify::class)(true);
2023-06-15 09:55:17 +00:00
Toaster::success('Upgrading Coolify to latest version...');
2023-05-25 20:33:47 +00:00
} catch (\Exception $e) {
2023-06-09 13:55:21 +00:00
return general_error_handler(err: $e, that: $this);
2023-05-25 20:33:47 +00:00
}
2023-04-28 13:08:48 +00:00
}
}