From ed2ccaf8aff2496864a2aa0b080066dec7b67d8c Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Tue, 17 Dec 2024 15:22:10 +0100 Subject: [PATCH] fix: Advanced server UI --- app/Livewire/Server/Advanced.php | 27 ++++++++---- .../views/livewire/server/advanced.blade.php | 44 ++++++++++--------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/app/Livewire/Server/Advanced.php b/app/Livewire/Server/Advanced.php index 0650de9a0..577730f24 100644 --- a/app/Livewire/Server/Advanced.php +++ b/app/Livewire/Server/Advanced.php @@ -13,14 +13,11 @@ class Advanced extends Component public array $parameters = []; - #[Validate(['integer', 'min:1'])] - public int $concurrentBuilds = 1; + #[Validate(['string'])] + public string $serverDiskUsageCheckFrequency = '0 23 * * *'; - #[Validate(['integer', 'min:1'])] - public int $dynamicTimeout = 1; - - #[Validate('boolean')] - public bool $forceDockerCleanup = false; + #[Validate(['integer', 'min:1', 'max:99'])] + public int $serverDiskUsageNotificationThreshold = 50; #[Validate(['string', 'required'])] public string $dockerCleanupFrequency = '*/10 * * * *'; @@ -28,8 +25,8 @@ class Advanced extends Component #[Validate(['integer', 'min:1', 'max:99'])] public int $dockerCleanupThreshold = 10; - #[Validate(['integer', 'min:1', 'max:99'])] - public int $serverDiskUsageNotificationThreshold = 50; + #[Validate('boolean')] + public bool $forceDockerCleanup = false; #[Validate('boolean')] public bool $deleteUnusedVolumes = false; @@ -37,6 +34,12 @@ class Advanced extends Component #[Validate('boolean')] public bool $deleteUnusedNetworks = false; + #[Validate(['integer', 'min:1'])] + public int $concurrentBuilds = 1; + + #[Validate(['integer', 'min:1'])] + public int $dynamicTimeout = 1; + public function mount(string $server_uuid) { try { @@ -60,6 +63,7 @@ class Advanced extends Component $this->server->settings->server_disk_usage_notification_threshold = $this->serverDiskUsageNotificationThreshold; $this->server->settings->delete_unused_volumes = $this->deleteUnusedVolumes; $this->server->settings->delete_unused_networks = $this->deleteUnusedNetworks; + $this->server->settings->server_disk_usage_check_frequency = $this->serverDiskUsageCheckFrequency; $this->server->settings->save(); } else { $this->concurrentBuilds = $this->server->settings->concurrent_builds; @@ -70,6 +74,7 @@ class Advanced extends Component $this->serverDiskUsageNotificationThreshold = $this->server->settings->server_disk_usage_notification_threshold; $this->deleteUnusedVolumes = $this->server->settings->delete_unused_volumes; $this->deleteUnusedNetworks = $this->server->settings->delete_unused_networks; + $this->serverDiskUsageCheckFrequency = $this->server->settings->server_disk_usage_check_frequency; } } @@ -100,6 +105,10 @@ class Advanced extends Component $this->dockerCleanupFrequency = $this->server->settings->getOriginal('docker_cleanup_frequency'); throw new \Exception('Invalid Cron / Human expression for Docker Cleanup Frequency.'); } + if (! validate_cron_expression($this->serverDiskUsageCheckFrequency)) { + $this->serverDiskUsageCheckFrequency = $this->server->settings->getOriginal('server_disk_usage_check_frequency'); + throw new \Exception('Invalid Cron / Human expression for Disk Usage Check Frequency.'); + } $this->syncData(true); $this->dispatch('success', 'Server updated.'); } catch (\Throwable $e) { diff --git a/resources/views/livewire/server/advanced.blade.php b/resources/views/livewire/server/advanced.blade.php index 4d32d711c..40ff6c8b5 100644 --- a/resources/views/livewire/server/advanced.blade.php +++ b/resources/views/livewire/server/advanced.blade.php @@ -10,40 +10,44 @@