From 69811e26cd4239edaffe10e17bdcf0fcfe99d58b Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 4 May 2023 11:14:37 +0200 Subject: [PATCH] wip --- app/Http/Livewire/Destination/Form.php | 12 +----------- .../Livewire/Destination/New/StandaloneDocker.php | 7 +++++-- resources/views/destination/new.blade.php | 2 +- resources/views/destination/show.blade.php | 2 +- routes/web.php | 11 ++++------- 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/app/Http/Livewire/Destination/Form.php b/app/Http/Livewire/Destination/Form.php index 437df49c6..bb88fa8cd 100644 --- a/app/Http/Livewire/Destination/Form.php +++ b/app/Http/Livewire/Destination/Form.php @@ -8,23 +8,13 @@ use Livewire\Component; class Form extends Component { - public $destination_uuid; - public $destination; + public mixed $destination; protected $rules = [ 'destination.name' => 'required', 'destination.network' => 'required', 'destination.server.ip' => 'required', ]; - public function mount() - { - $standalone = StandaloneDocker::where('uuid', $this->destination_uuid)->first(); - $swarm = SwarmDocker::where('uuid', $this->destination_uuid)->first(); - if (!$standalone && !$swarm) { - abort(404); - } - $this->destination = $standalone ? $standalone->load(['server']) : $swarm->load(['server']); - } public function submit() { $this->validate(); diff --git a/app/Http/Livewire/Destination/New/StandaloneDocker.php b/app/Http/Livewire/Destination/New/StandaloneDocker.php index bb555bf4b..6890c695f 100644 --- a/app/Http/Livewire/Destination/New/StandaloneDocker.php +++ b/app/Http/Livewire/Destination/New/StandaloneDocker.php @@ -4,6 +4,7 @@ namespace App\Http\Livewire\Destination\New; use App\Models\Server; use App\Models\StandaloneDocker as ModelsStandaloneDocker; +use Illuminate\Database\Eloquent\Collection; use Livewire\Component; use Visus\Cuid2\Cuid2; @@ -12,7 +13,7 @@ class StandaloneDocker extends Component public string $name; public string $network; - public $servers; + public Collection $servers; public int $server_id; protected $rules = [ @@ -22,7 +23,9 @@ class StandaloneDocker extends Component ]; public function mount() { - $this->servers = Server::where('team_id', session('currentTeam')->id)->get(); + if (request()->query('server_id')) { + $this->server_id = request()->query('server_id'); + } $this->network = new Cuid2(7); $this->name = generateRandomName(); } diff --git a/resources/views/destination/new.blade.php b/resources/views/destination/new.blade.php index 55bb270e2..7e0a735a7 100644 --- a/resources/views/destination/new.blade.php +++ b/resources/views/destination/new.blade.php @@ -1,4 +1,4 @@

New Destination

- +
diff --git a/resources/views/destination/show.blade.php b/resources/views/destination/show.blade.php index 34bea294e..7430b8e8b 100644 --- a/resources/views/destination/show.blade.php +++ b/resources/views/destination/show.blade.php @@ -1,4 +1,4 @@

Destination

- +
diff --git a/routes/web.php b/routes/web.php index a22dc59b2..d36823c05 100644 --- a/routes/web.php +++ b/routes/web.php @@ -8,6 +8,7 @@ use App\Models\PrivateKey; use App\Models\StandaloneDocker; use App\Models\SwarmDocker; use App\Http\Controllers\ServerController; +use App\Models\Server; use Illuminate\Support\Facades\Route; /* @@ -92,13 +93,9 @@ Route::middleware(['auth'])->group(function () { Route::middleware(['auth'])->group(function () { Route::get('/destination/new', function () { - $query_params = request()->query(); - $server_id = 1; - if (isset($query_params['server_id'])) { - $server_id = $query_params['server_id']; - } + $servers = Server::where('team_id', session('currentTeam')->id)->get(); return view('destination.new', [ - 'server_id' => $server_id, + "servers" => $servers, ]); })->name('destination.new'); Route::get('/destination/{destination_uuid}', function () { @@ -109,7 +106,7 @@ Route::middleware(['auth'])->group(function () { } $destination = $standalone_dockers ? $standalone_dockers : $swarm_dockers; return view('destination.show', [ - 'destination_uuid' => $destination->uuid, + 'destination' => $destination->load(['server']), ]); })->name('destination.show'); });