mirror of
https://github.com/pelican-dev/panel.git
synced 2026-03-01 11:21:31 +03:00
server creator
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user