Private
Public Access
1
0

Enhance Proxmox components with input validation, error handling, and UI improvements

This commit is contained in:
2026-02-25 07:00:55 -05:00
parent 16cd5f05de
commit 8494f87aae
19 changed files with 182 additions and 64 deletions

View File

@@ -24,7 +24,7 @@ class Create extends Component
}
$backupSettings = $this->server->service->product->settings()->where('key', 'backups')->first();
$backupLimit = $backupSettings?->value ?? 0;
$backupLimit = (int) ($backupSettings?->value ?? 0);
// If limit is 0 or not set, allow unlimited backups
if ($backupLimit <= 0) {
@@ -74,7 +74,7 @@ class Create extends Component
// Check backup limit
$backupSettings = $this->server->service->product->settings()->where('key', 'backups')->first();
$backupLimit = $backupSettings?->value ?? 0;
$backupLimit = (int) ($backupSettings?->value ?? 0);
if ($backupLimit > 0 && !empty($this->server->node->backup_location)) {
try {
@@ -96,6 +96,11 @@ class Create extends Component
}
}
if (empty($this->server->node->backup_location)) {
$this->notify('Backup storage location is not configured.', 'error');
return;
}
$proxmox = new Proxmox;
try {

View File

@@ -92,11 +92,16 @@ class Index extends Component
}
}
$proxmox->request('/nodes/' . $this->server->node->name . '/qemu', 'post', data: [
'vmid' => $this->server->vm_id,
'force' => true,
'archive' => $this->volid,
]);
try {
$proxmox->request('/nodes/' . $this->server->node->name . '/qemu', 'post', data: [
'vmid' => $this->server->vm_id,
'force' => true,
'archive' => $this->volid,
]);
} catch (\Throwable $e) {
$this->notify('Backup restore failed: ' . $e->getMessage(), 'error');
return;
}
$this->notify('Backup restoration in progress', 'success');