coolify/app/Livewire/Upgrade.php

47 lines
1.0 KiB
PHP
Raw Normal View History

2023-04-28 15:08:48 +02:00
<?php
2023-12-07 19:06:32 +01:00
namespace App\Livewire;
2023-04-28 15:08:48 +02:00
2023-06-15 11:23:48 +02:00
use App\Actions\Server\UpdateCoolify;
use App\Models\InstanceSettings;
2023-04-28 15:08:48 +02:00
use Livewire\Component;
2023-06-15 10:48:13 +02:00
class Upgrade extends Component
2023-04-28 15:08:48 +02:00
{
2023-06-15 10:48:13 +02:00
public bool $showProgress = false;
2024-06-10 22:43:34 +02:00
public bool $updateInProgress = false;
2024-06-10 22:43:34 +02:00
2023-06-15 11:39:15 +02:00
public bool $isUpgradeAvailable = false;
2024-06-10 22:43:34 +02:00
2023-06-16 12:35:40 +02:00
public string $latestVersion = '';
2023-06-15 11:39:15 +02:00
protected $listeners = ['updateAvailable' => 'checkUpdate'];
2023-06-15 11:39:15 +02:00
public function checkUpdate()
{
try {
$settings = InstanceSettings::get();
$this->latestVersion = get_latest_version_of_coolify();
$this->isUpgradeAvailable = $settings->new_version_available;
} catch (\Throwable $e) {
return handleError($e, $this);
}
2023-06-15 11:39:15 +02:00
}
2023-04-28 15:08:48 +02:00
public function upgrade()
{
2023-05-25 22:33:47 +02:00
try {
if ($this->updateInProgress) {
2023-06-16 21:16:30 +02:00
return;
}
$this->updateInProgress = true;
UpdateCoolify::run(manual_update: true);
2023-09-11 17:36:30 +02:00
} catch (\Throwable $e) {
return handleError($e, $this);
2023-05-25 22:33:47 +02:00
}
2023-04-28 15:08:48 +02:00
}
}