server creator

This commit is contained in:
notCharles
2026-01-31 15:08:25 -05:00
parent 5a56af418a
commit adb0f1202a
3 changed files with 9 additions and 8 deletions

View File

@@ -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);

View File

@@ -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');

View File

@@ -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,