chore: Update listeners and proxy settings in server form and new server components

This commit is contained in:
Andras Bacsai
2024-09-12 12:34:09 +02:00
parent 16e472da19
commit 664a990c60
3 changed files with 17 additions and 9 deletions

View File

@@ -24,7 +24,11 @@ class Form extends Component
public $timezones; public $timezones;
protected $listeners = ['serverInstalled', 'revalidate' => '$refresh']; protected $listeners = [
'serverInstalled',
'refreshServerShow' => 'serverInstalled',
'revalidate' => '$refresh',
];
protected $rules = [ protected $rules = [
'server.name' => 'required', 'server.name' => 'required',

View File

@@ -2,10 +2,10 @@
namespace App\Livewire\Server\New; namespace App\Livewire\Server\New;
use App\Enums\ProxyStatus;
use App\Enums\ProxyTypes; use App\Enums\ProxyTypes;
use App\Models\Server; use App\Models\Server;
use App\Models\Team; use App\Models\Team;
use Illuminate\Support\Collection;
use Livewire\Component; use Livewire\Component;
class ByIp extends Component class ByIp extends Component
@@ -40,7 +40,7 @@ class ByIp extends Component
public bool $is_build_server = false; public bool $is_build_server = false;
public $swarm_managers = []; public Collection $swarm_managers;
protected $rules = [ protected $rules = [
'name' => 'required|string', 'name' => 'required|string',
@@ -102,11 +102,6 @@ class ByIp extends Component
'port' => $this->port, 'port' => $this->port,
'team_id' => currentTeam()->id, 'team_id' => currentTeam()->id,
'private_key_id' => $this->private_key_id, 'private_key_id' => $this->private_key_id,
'proxy' => [
// set default proxy type to traefik v2
'type' => ProxyTypes::TRAEFIK->value,
'status' => ProxyStatus::EXITED->value,
],
]; ];
if ($this->is_swarm_worker) { if ($this->is_swarm_worker) {
$payload['swarm_cluster'] = $this->selected_swarm_cluster; $payload['swarm_cluster'] = $this->selected_swarm_cluster;
@@ -115,6 +110,9 @@ class ByIp extends Component
data_forget($payload, 'proxy'); data_forget($payload, 'proxy');
} }
$server = Server::create($payload); $server = Server::create($payload);
$server->proxy->set('status', 'exited');
$server->proxy->set('type', ProxyTypes::TRAEFIK->value);
$server->save();
if ($this->is_build_server) { if ($this->is_build_server) {
$this->is_swarm_manager = false; $this->is_swarm_manager = false;
$this->is_swarm_worker = false; $this->is_swarm_worker = false;

View File

@@ -14,7 +14,7 @@ class Show extends Component
public $parameters = []; public $parameters = [];
protected $listeners = ['refreshServerShow' => '$refresh']; protected $listeners = ['refreshServerShow'];
public function mount() public function mount()
{ {
@@ -29,6 +29,12 @@ class Show extends Component
} }
} }
public function refreshServerShow()
{
$this->server->refresh();
$this->dispatch('$refresh');
}
public function submit() public function submit()
{ {
$this->dispatch('serverRefresh', false); $this->dispatch('serverRefresh', false);