diff --git a/app/Filament/Components/Actions/ImportServerConfigAction.php b/app/Filament/Components/Actions/ImportServerConfigAction.php index 262a7470a..6c4f32456 100644 --- a/app/Filament/Components/Actions/ImportServerConfigAction.php +++ b/app/Filament/Components/Actions/ImportServerConfigAction.php @@ -46,17 +46,16 @@ class ImportServerConfigAction extends Action Select::make('node_id') ->label(trans('admin/server.import_export.node_select')) ->hint(trans('admin/server.import_export.node_select_hint')) - ->options(fn () => user()?->accessibleNodes()->pluck('name', 'id') ?? []) + ->options(fn () => user()->accessibleNodes()->pluck('name', 'id') ?? []) ->searchable() ->required() - ->visible(fn () => (user()?->accessibleNodes()->count() ?? 0) > 1) - ->default(fn () => user()?->accessibleNodes()->first()?->id), + ->visible(fn () => (user()->accessibleNodes()->count() ?? 0) > 1), ]); $this->action(function (ServerConfigCreatorService $createService, array $data): void { /** @var UploadedFile $file */ $file = $data['file']; - $nodeId = $data['node_id'] ?? null; + $nodeId = $data['node_id'] ?? user()->accessibleNodes()->first()->id; try { $server = $createService->fromFile($file, $nodeId); diff --git a/app/Http/Controllers/Api/Application/Servers/ServerConfigController.php b/app/Http/Controllers/Api/Application/Servers/ServerConfigController.php index 048cad3a0..350a43b1e 100644 --- a/app/Http/Controllers/Api/Application/Servers/ServerConfigController.php +++ b/app/Http/Controllers/Api/Application/Servers/ServerConfigController.php @@ -61,7 +61,7 @@ class ServerConfigController extends ApplicationApiController { $request->validate([ 'file' => 'required|file|mimes:yaml,yml|max:1024', - 'node_id' => 'sometimes|integer|exists:nodes,id', + 'node_id' => 'required|integer|exists:nodes,id', ]); $file = $request->file('file'); diff --git a/app/Services/Servers/Sharing/ServerConfigCreatorService.php b/app/Services/Servers/Sharing/ServerConfigCreatorService.php index d4f71c361..c37cf013d 100644 --- a/app/Services/Servers/Sharing/ServerConfigCreatorService.php +++ b/app/Services/Servers/Sharing/ServerConfigCreatorService.php @@ -12,7 +12,7 @@ use App\Models\ServerVariable; use Illuminate\Http\UploadedFile; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Str; +use Ramsey\Uuid\Uuid; use Symfony\Component\Yaml\Yaml; class ServerConfigCreatorService @@ -141,9 +141,11 @@ class ServerConfigCreatorService $dockerImage = array_values($egg->docker_images)[0]; } + $uuid = Uuid::uuid4()->toString(); + $server = Server::create([ - 'uuid' => Str::uuid()->toString(), - 'uuid_short' => Str::uuid()->toString(), + 'uuid' => $uuid, + 'uuid_short' => substr($uuid, 0, 8), 'name' => $serverName, 'description' => Arr::get($config, 'description', ''), 'owner_id' => $owner->id,