2024-12-24 19:09:16 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Checks;
|
|
|
|
|
|
|
|
|
|
use App\Services\Helpers\SoftwareVersionService;
|
|
|
|
|
use Spatie\Health\Checks\Check;
|
|
|
|
|
use Spatie\Health\Checks\Result;
|
|
|
|
|
|
|
|
|
|
class PanelVersionCheck extends Check
|
|
|
|
|
{
|
|
|
|
|
public function __construct(private SoftwareVersionService $versionService) {}
|
|
|
|
|
|
|
|
|
|
public function run(): Result
|
|
|
|
|
{
|
|
|
|
|
$isLatest = $this->versionService->isLatestPanel();
|
|
|
|
|
$currentVersion = $this->versionService->currentPanelVersion();
|
|
|
|
|
$latestVersion = $this->versionService->latestPanelVersion();
|
|
|
|
|
|
|
|
|
|
$result = Result::make()
|
|
|
|
|
->meta([
|
|
|
|
|
'isLatest' => $isLatest,
|
|
|
|
|
'currentVersion' => $currentVersion,
|
|
|
|
|
'latestVersion' => $latestVersion,
|
|
|
|
|
])
|
2025-02-08 23:16:54 -05:00
|
|
|
->shortSummary($isLatest ? trans('admin/health.results.panelversion.up_to_date') : trans('admin/health.results.panelversion.outdated'));
|
2024-12-24 19:09:16 +01:00
|
|
|
|
|
|
|
|
return $isLatest
|
2025-02-08 23:16:54 -05:00
|
|
|
? $result->ok(trans('admin/health.results.panelversion.ok'))
|
|
|
|
|
: $result->failed(trans('admin/health.results.panelversion.failed', [
|
|
|
|
|
'currentVersion' => $currentVersion,
|
|
|
|
|
'latestVersion' => $latestVersion,
|
|
|
|
|
]));
|
2024-12-24 19:09:16 +01:00
|
|
|
}
|
|
|
|
|
}
|