mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 07:52:34 +00:00
init
This commit is contained in:
40
app/Http/Livewire/Firewall/CreateFirewallRule.php
Normal file
40
app/Http/Livewire/Firewall/CreateFirewallRule.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Firewall;
|
||||
|
||||
use App\Actions\FirewallRule\CreateRule;
|
||||
use App\Models\Server;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class CreateFirewallRule extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Server $server;
|
||||
|
||||
public string $type = 'allow';
|
||||
|
||||
public string $protocol = 'tcp';
|
||||
|
||||
public string $port;
|
||||
|
||||
public string $source = '0.0.0.0';
|
||||
|
||||
public string $mask = '0';
|
||||
|
||||
public function create(): void
|
||||
{
|
||||
app(CreateRule::class)->create($this->server, $this->all());
|
||||
|
||||
$this->emitTo(FirewallRulesList::class, '$refresh');
|
||||
|
||||
$this->dispatchBrowserEvent('created', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.firewall.create-firewall-rule');
|
||||
}
|
||||
}
|
36
app/Http/Livewire/Firewall/FirewallRulesList.php
Normal file
36
app/Http/Livewire/Firewall/FirewallRulesList.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Firewall;
|
||||
|
||||
use App\Models\FirewallRule;
|
||||
use App\Models\Server;
|
||||
use App\Traits\RefreshComponentOnBroadcast;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Component;
|
||||
|
||||
class FirewallRulesList extends Component
|
||||
{
|
||||
use RefreshComponentOnBroadcast;
|
||||
|
||||
public Server $server;
|
||||
|
||||
public int $deleteId;
|
||||
|
||||
public function delete(): void
|
||||
{
|
||||
$rule = FirewallRule::query()->findOrFail($this->deleteId);
|
||||
|
||||
$rule->removeFromServer();
|
||||
|
||||
$this->refreshComponent([]);
|
||||
|
||||
$this->dispatchBrowserEvent('confirmed', true);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.firewall.firewall-rules-list', [
|
||||
'rules' => $this->server->firewallRules,
|
||||
]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user