diff --git a/app/Livewire/Server/Proxy.php b/app/Livewire/Server/Proxy.php index 123b29d70..55d0c4966 100644 --- a/app/Livewire/Server/Proxy.php +++ b/app/Livewire/Server/Proxy.php @@ -39,6 +39,7 @@ class Proxy extends Component { $this->server->proxy = null; $this->server->save(); + $this->dispatch('proxyChanged'); } public function selectProxy($proxy_type) @@ -47,7 +48,7 @@ class Proxy extends Component $this->server->proxy->set('type', $proxy_type); $this->server->save(); $this->selectedProxy = $this->server->proxy->type; - if ($this->selectedProxy !== 'NONE') { + if ($this->server->proxySet()) { StartProxy::run($this->server, false); } $this->dispatch('proxyStatusUpdated'); diff --git a/app/Livewire/Server/Proxy/Deploy.php b/app/Livewire/Server/Proxy/Deploy.php index 2279951ee..de96a56ab 100644 --- a/app/Livewire/Server/Proxy/Deploy.php +++ b/app/Livewire/Server/Proxy/Deploy.php @@ -29,6 +29,7 @@ class Deploy extends Component 'serverRefresh' => 'proxyStatusUpdated', 'checkProxy', 'startProxy', + 'proxyChanged' => 'proxyStatusUpdated', ]; } diff --git a/app/Livewire/Server/Proxy/Show.php b/app/Livewire/Server/Proxy/Show.php index cef909a45..d70e44e55 100644 --- a/app/Livewire/Server/Proxy/Show.php +++ b/app/Livewire/Server/Proxy/Show.php @@ -11,7 +11,7 @@ class Show extends Component public $parameters = []; - protected $listeners = ['proxyStatusUpdated']; + protected $listeners = ['proxyStatusUpdated', 'proxyChanged' => 'proxyStatusUpdated']; public function proxyStatusUpdated() { diff --git a/app/Models/Server.php b/app/Models/Server.php index 1d12c0931..61c670dcc 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -5,7 +5,6 @@ namespace App\Models; use App\Actions\Server\InstallDocker; use App\Enums\ProxyTypes; use App\Jobs\PullSentinelImageJob; -use App\Notifications\Server\Revived; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Support\Collection; @@ -156,11 +155,17 @@ class Server extends BaseModel return $this->hasOne(ServerSetting::class); } + public function proxySet() + { + return $this->proxyType() && $this->proxyType() !== 'NONE' && $this->isFunctional() && ! $this->isSwarmWorker() && ! $this->settings->is_build_server; + } + public function setupDefault404Redirect() { $dynamic_conf_path = $this->proxyPath().'/dynamic'; $proxy_type = $this->proxyType(); $redirect_url = $this->proxy->redirect_url; + ray($proxy_type); if ($proxy_type === ProxyTypes::TRAEFIK->value) { $default_redirect_file = "$dynamic_conf_path/default_redirect_404.yaml"; } elseif ($proxy_type === 'CADDY') { @@ -950,12 +955,12 @@ $schema://$host { public function isFunctional() { - $isFunctional = $this->settings->is_reachable && $this->settings->is_usable && !$this->settings->force_disabled; - - if (!$isFunctional) { + $isFunctional = $this->settings->is_reachable && $this->settings->is_usable && ! $this->settings->force_disabled; + + if (! $isFunctional) { Storage::disk('ssh-mux')->delete($this->muxFilename()); } - + return $isFunctional; } @@ -1007,7 +1012,7 @@ $schema://$host { public function validateConnection($isManualCheck = true) { - config()->set('constants.ssh.mux_enabled', !$isManualCheck); + config()->set('constants.ssh.mux_enabled', ! $isManualCheck); // ray('Manual Check: ' . ($isManualCheck ? 'true' : 'false')); $server = Server::find($this->id); @@ -1160,16 +1165,18 @@ $schema://$host { $server = new self($data); $server->privateKey()->associate($privateKey); $server->save(); + return $server; } - public function updateWithPrivateKey(array $data, PrivateKey $privateKey = null) + public function updateWithPrivateKey(array $data, ?PrivateKey $privateKey = null) { $this->update($data); if ($privateKey) { $this->privateKey()->associate($privateKey); $this->save(); } + return $this; } } diff --git a/resources/views/components/server/navbar.blade.php b/resources/views/components/server/navbar.blade.php index c24787e97..a73f6865e 100644 --- a/resources/views/components/server/navbar.blade.php +++ b/resources/views/components/server/navbar.blade.php @@ -2,7 +2,9 @@

Server

- + @if ($server->proxySet()) + + @endif
{{ data_get($server, 'name') }}.
@endif diff --git a/resources/views/livewire/server/proxy/deploy.blade.php b/resources/views/livewire/server/proxy/deploy.blade.php index dba4ce80c..050522e1e 100644 --- a/resources/views/livewire/server/proxy/deploy.blade.php +++ b/resources/views/livewire/server/proxy/deploy.blade.php @@ -1,10 +1,6 @@ @php use App\Enums\ProxyTypes; @endphp
- @if ( - $server->proxyType() !== 'NONE' && - $server->isFunctional() && - !$server->isSwarmWorker() && - !$server->settings->is_build_server) + @if ($server->proxySet()) Proxy Status diff --git a/resources/views/livewire/server/proxy/status.blade.php b/resources/views/livewire/server/proxy/status.blade.php index 8a066d0a3..2a2dd3be9 100644 --- a/resources/views/livewire/server/proxy/status.blade.php +++ b/resources/views/livewire/server/proxy/status.blade.php @@ -1,20 +1,12 @@ -
- @if ( - $server->proxyType() !== 'NONE' && - $server->isFunctional() && - !$server->isSwarmWorker() && - !$server->settings->is_build_server) -
- @if (data_get($server, 'proxy.status') === 'running') - - @elseif (data_get($server, 'proxy.status') === 'restarting') - - @else - - @endif - @if (data_get($server, 'proxy.status') === 'running') - Refresh - @endif -
+
+ @if (data_get($server, 'proxy.status') === 'running') + + @elseif (data_get($server, 'proxy.status') === 'restarting') + + @else + + @endif + @if (data_get($server, 'proxy.status') === 'running') + Refresh @endif