From 42d12e36e5358b72856f4e5382f5f63c2dfbd49d Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 15 Jun 2023 14:18:49 +0200 Subject: [PATCH] fix --- app/Http/Livewire/Server/Form.php | 5 -- app/Http/Livewire/Server/PrivateKey.php | 13 ++--- .../views/components/server/navbar.blade.php | 12 ++++ .../views/livewire/destination/form.blade.php | 8 ++- .../views/livewire/server/form.blade.php | 55 +++---------------- .../views/livewire/server/new/by-ip.blade.php | 4 +- .../livewire/server/private-key.blade.php | 38 ++++++++++--- .../views/livewire/server/proxy.blade.php | 2 +- resources/views/server/destinations.blade.php | 19 +++++++ resources/views/server/private-key.blade.php | 4 +- resources/views/server/show.blade.php | 2 +- routes/web.php | 8 ++- 12 files changed, 93 insertions(+), 77 deletions(-) create mode 100644 resources/views/server/destinations.blade.php diff --git a/app/Http/Livewire/Server/Form.php b/app/Http/Livewire/Server/Form.php index 54961e273..521e089f6 100644 --- a/app/Http/Livewire/Server/Form.php +++ b/app/Http/Livewire/Server/Form.php @@ -8,7 +8,6 @@ use Livewire\Component; class Form extends Component { - public $server_id; public Server $server; public $uptime; public $dockerVersion; @@ -22,10 +21,6 @@ class Form extends Component 'server.settings.is_reachable' => 'required', 'server.settings.is_part_of_swarm' => 'required' ]; - public function mount() - { - $this->server = Server::find($this->server_id)->load(['settings']); - } public function installDocker() { $activity = resolve(InstallDocker::class)($this->server); diff --git a/app/Http/Livewire/Server/PrivateKey.php b/app/Http/Livewire/Server/PrivateKey.php index 2bd939723..420ce1b60 100644 --- a/app/Http/Livewire/Server/PrivateKey.php +++ b/app/Http/Livewire/Server/PrivateKey.php @@ -2,28 +2,27 @@ namespace App\Http\Livewire\Server; -use App\Models\PrivateKey as ModelsPrivateKey; use App\Models\Server; use Illuminate\Support\Facades\Storage; use Livewire\Component; class PrivateKey extends Component { - public $private_keys; + public Server $server; + public $privateKeys; public $parameters; public function setPrivateKey($private_key_id) { - $server = Server::where('uuid', $this->parameters['server_uuid']); - $server->update([ + $this->server->update([ 'private_key_id' => $private_key_id ]); + // Delete the old ssh mux file to force a new one to be created - Storage::disk('ssh-mux')->delete("{$server->first()->ip}_{$server->first()->port}_{$server->first()->user}"); - return redirect()->route('server.show', $this->parameters['server_uuid']); + Storage::disk('ssh-mux')->delete("{$this->server->first()->ip}_{$this->server->first()->port}_{$this->server->first()->user}"); + $this->server->refresh(); } public function mount() { $this->parameters = getRouteParameters(); - $this->private_keys = ModelsPrivateKey::where('team_id', session('currentTeam')->id)->get(); } } diff --git a/resources/views/components/server/navbar.blade.php b/resources/views/components/server/navbar.blade.php index 3f2bc7e0b..86d486339 100644 --- a/resources/views/components/server/navbar.blade.php +++ b/resources/views/components/server/navbar.blade.php @@ -14,6 +14,18 @@ ]) }}"> + + + + + + @if (request()->routeIs('server.proxy'))
diff --git a/resources/views/livewire/destination/form.blade.php b/resources/views/livewire/destination/form.blade.php index 9cfe79323..76825d6dc 100644 --- a/resources/views/livewire/destination/form.blade.php +++ b/resources/views/livewire/destination/form.blade.php @@ -6,9 +6,11 @@ Save - - Delete - + @if ($destination->network !== 'coolify') + + Delete + + @endif @if ($destination->getMorphClass() === 'App\Models\StandaloneDocker') diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php index ae3ea6d85..ad18135ef 100644 --- a/resources/views/livewire/server/form.blade.php +++ b/resources/views/livewire/server/form.blade.php @@ -4,18 +4,11 @@

General

Save - @if ($server_id !== 0) + @if ($server->id !== 0) Delete @endif - @if (!$server->settings->is_reachable) -
- - Validate Server - -
- @endif
@@ -44,9 +37,8 @@ @endif
- +

Actions

@if ($server->settings->is_reachable) -

Quick Actions

Check Server Details @@ -58,14 +50,19 @@ Install Docker Engine @endif - {{-- Install Docker --}} +
+ @else +
+ + Validate Server +
@endif
@isset($uptime) -

Server Info

+

Server Info

Uptime: {{ $uptime }}

@isset($dockerVersion) @@ -74,38 +71,4 @@
@endisset - - @if (data_get($server, 'privateKey.uuid')) - - - - @else -
No private key attached.
- @endif -
-

Destinations

- - Add - -
-
- @forelse ($server->standaloneDockers as $docker) - - - - @empty -
No destinations added
- @endforelse -
diff --git a/resources/views/livewire/server/new/by-ip.blade.php b/resources/views/livewire/server/new/by-ip.blade.php index 04623b8a0..4e8a3eb91 100644 --- a/resources/views/livewire/server/new/by-ip.blade.php +++ b/resources/views/livewire/server/new/by-ip.blade.php @@ -22,8 +22,8 @@ @endif @endforeach - + {{-- --}} Save New Server diff --git a/resources/views/livewire/server/private-key.blade.php b/resources/views/livewire/server/private-key.blade.php index 6f2a30a56..a482d2437 100644 --- a/resources/views/livewire/server/private-key.blade.php +++ b/resources/views/livewire/server/private-key.blade.php @@ -1,10 +1,30 @@ -
- @forelse ($private_keys as $private_key) - {{ $private_key->name }} - - @empty -
No private keys found. - -
- @endforelse +
+
+

Private Key

+ + Add a new Private Key + +
+
Selected Private Key for SSH connection
+
+ @if (data_get($server, 'privateKey.uuid')) + Currently attached Private Key: + + + + @else +
No private key attached.
+ @endif +
+

Select a different Private Key

+
+ @forelse ($privateKeys as $private_key) + {{ $private_key->name }} + + @empty +
No private keys found. + +
+ @endforelse +
diff --git a/resources/views/livewire/server/proxy.blade.php b/resources/views/livewire/server/proxy.blade.php index e573e7b2d..aa314200d 100644 --- a/resources/views/livewire/server/proxy.blade.php +++ b/resources/views/livewire/server/proxy.blade.php @@ -19,7 +19,7 @@ @endif
-
Traefik v2
+
Traefik v2
@if ( $server->extra_attributes->proxy_last_applied_settings && $server->extra_attributes->proxy_last_saved_settings !== $server->extra_attributes->proxy_last_applied_settings) diff --git a/resources/views/server/destinations.blade.php b/resources/views/server/destinations.blade.php new file mode 100644 index 000000000..e6d0e299b --- /dev/null +++ b/resources/views/server/destinations.blade.php @@ -0,0 +1,19 @@ + + +
+

Destinations

+ + Add a new destination + +
+
Docker Networks available on the server
+
+ @forelse ($server->standaloneDockers as $docker) + + {{ data_get($docker, 'network') }} + + @empty +
No destinations added
+ @endforelse +
+
diff --git a/resources/views/server/private-key.blade.php b/resources/views/server/private-key.blade.php index 01cd389ed..3c42f98f0 100644 --- a/resources/views/server/private-key.blade.php +++ b/resources/views/server/private-key.blade.php @@ -1,4 +1,4 @@ -

Select a private Key

- + +
diff --git a/resources/views/server/show.blade.php b/resources/views/server/show.blade.php index 8f69518b2..478f4b03e 100644 --- a/resources/views/server/show.blade.php +++ b/resources/views/server/show.blade.php @@ -1,4 +1,4 @@ - + diff --git a/routes/web.php b/routes/web.php index 3c286c97a..0c8a9c9ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -75,7 +75,13 @@ Route::middleware(['auth'])->group(function () { Route::get('/server/{server_uuid}/proxy', fn () => view('server.proxy', [ 'server' => Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->firstOrFail(), ]))->name('server.proxy'); - Route::get('/server/{server_uuid}/private-key', fn () => view('server.private-key'))->name('server.private-key'); + Route::get('/server/{server_uuid}/private-key', fn () => view('server.private-key', [ + 'server' => Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->firstOrFail(), + 'privateKeys' => PrivateKey::ownedByCurrentTeam()->get(), + ]))->name('server.private-key'); + Route::get('/server/{server_uuid}/destinations', fn () => view('server.destinations', [ + 'server' => Server::ownedByCurrentTeam()->whereUuid(request()->server_uuid)->firstOrFail() + ]))->name('server.destinations'); });