wowowowowo
This commit is contained in:
41
app/Http/Controllers/ServerFirewallRuleController.php
Normal file
41
app/Http/Controllers/ServerFirewallRuleController.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Actions\FirewallRules\UninstallFirewallRule;
|
||||
use App\Http\Requests\StoreServerFirewallRuleRequest;
|
||||
use App\Models\FirewallRule;
|
||||
use App\Models\Organisation;
|
||||
use App\Models\Server;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ServerFirewallRuleController extends Controller
|
||||
{
|
||||
public function store(StoreServerFirewallRuleRequest $request, Organisation $organisation, Server $server): RedirectResponse
|
||||
{
|
||||
abort_unless((int) $server->organisation_id === (int) $organisation->id, 404);
|
||||
|
||||
$server->firewallRules()->create($request->validated());
|
||||
|
||||
return redirect()
|
||||
->route('servers.show', [$organisation, $server])
|
||||
->with('success', 'Firewall rule queued for installation.');
|
||||
}
|
||||
|
||||
public function destroy(Request $request, Organisation $organisation, Server $server, FirewallRule $firewallRule, UninstallFirewallRule $uninstallFirewallRule): RedirectResponse
|
||||
{
|
||||
abort_unless(
|
||||
(int) $server->organisation_id === (int) $organisation->id
|
||||
&& (int) $firewallRule->server_id === (int) $server->id,
|
||||
404,
|
||||
);
|
||||
|
||||
$uninstallFirewallRule->execute($firewallRule);
|
||||
$firewallRule->delete();
|
||||
|
||||
return redirect()
|
||||
->route('servers.show', [$organisation, $server])
|
||||
->with('success', 'Firewall rule removed.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user