feat: Update Proxmox extension with various improvements and bug fixes

- Change listStates method to accept nullable integer for limit parameter.
- Modify TechnitiumDns class to return structured error messages on failure.
- Enhance VNC and xterm popup routes with user authorization checks.
- Update backups view to improve loading states and add unique keys for dynamic elements.
- Refactor cloud-init view to ensure proper data binding and improve user experience.
- Add wire:key attributes to various elements in views for better Livewire performance.
- Improve error handling and user feedback in the firewall view.
- Update server overview and statistics views to handle potential null values gracefully.
- Add new migration files to extend database schema with user-set icons and notes for Proxmox nodes.
This commit is contained in:
2026-02-23 17:23:01 -05:00
parent 9aff64be93
commit f394483daa
48 changed files with 442 additions and 268 deletions

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('ext_proxmox_servers', function (Blueprint $table) {
if (!Schema::hasColumn('ext_proxmox_servers', 'user_set_icon')) {
$table->string('user_set_icon', 64)->nullable()->after('password');
}
if (!Schema::hasColumn('ext_proxmox_servers', 'user_set_icon_color')) {
$table->string('user_set_icon_color', 32)->nullable()->after('user_set_icon');
}
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('ext_proxmox_servers', function (Blueprint $table) {
$table->dropColumn(['user_set_icon', 'user_set_icon_color']);
});
}
};

View File

@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('ext_proxmox_nodes', function (Blueprint $table) {
if (!Schema::hasColumn('ext_proxmox_nodes', 'notes')) {
$table->string('notes')->nullable()->after('name');
}
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('ext_proxmox_nodes', function (Blueprint $table) {
$table->dropColumn('notes');
});
}
};