Refactor loadData method in Destination.php

This commit is contained in:
Andras Bacsai 2024-02-22 09:38:09 +01:00
parent 50f43f9396
commit 6a00d8c88c

View File

@ -19,6 +19,7 @@ class Destination extends Component
$teamId = auth()->user()->currentTeam()->id; $teamId = auth()->user()->currentTeam()->id;
return [ return [
"echo-private:team.{$teamId},ApplicationStatusChanged" => 'loadData', "echo-private:team.{$teamId},ApplicationStatusChanged" => 'loadData',
"loadData",
]; ];
} }
public function mount() public function mount()
@ -40,6 +41,9 @@ class Destination extends Component
$this->networks = $this->networks->reject(function ($network) { $this->networks = $this->networks->reject(function ($network) {
return $this->resource->destination->server->id == $network->server->id; return $this->resource->destination->server->id == $network->server->id;
}); });
$this->networks = $this->networks->reject(function ($network) {
return $this->resource->additional_servers->pluck('id')->contains($network->server->id);
});
} }
public function redeploy(int $network_id, int $server_id) public function redeploy(int $network_id, int $server_id)
{ {
@ -68,8 +72,8 @@ class Destination extends Component
{ {
$this->resource->additional_networks()->attach($network_id, ['server_id' => $server_id]); $this->resource->additional_networks()->attach($network_id, ['server_id' => $server_id]);
$this->resource->load(['additional_networks']); $this->resource->load(['additional_networks']);
$this->dispatch('loadData');
ApplicationStatusChanged::dispatch(data_get($this->resource, 'environment.project.team.id')); ApplicationStatusChanged::dispatch(data_get($this->resource, 'environment.project.team.id'));
$this->loadData();
} }
public function removeServer(int $network_id, int $server_id) public function removeServer(int $network_id, int $server_id)
{ {
@ -81,7 +85,7 @@ class Destination extends Component
StopApplicationOneServer::run($this->resource, $server); StopApplicationOneServer::run($this->resource, $server);
$this->resource->additional_networks()->detach($network_id, ['server_id' => $server_id]); $this->resource->additional_networks()->detach($network_id, ['server_id' => $server_id]);
$this->resource->load(['additional_networks']); $this->resource->load(['additional_networks']);
$this->dispatch('loadData');
ApplicationStatusChanged::dispatch(data_get($this->resource, 'environment.project.team.id')); ApplicationStatusChanged::dispatch(data_get($this->resource, 'environment.project.team.id'));
$this->loadData();
} }
} }