mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-06 00:12:35 +00:00
Merge (#127)
This commit is contained in:
@ -21,10 +21,20 @@ public function create(Server $server, array $input): FirewallRule
|
||||
'port' => $input['port'],
|
||||
'source' => $input['source'],
|
||||
'mask' => $input['mask'] ?? null,
|
||||
'status' => FirewallRuleStatus::CREATING,
|
||||
]);
|
||||
|
||||
$server->firewall()
|
||||
->handler()
|
||||
->addRule(
|
||||
$rule->type,
|
||||
$rule->getRealProtocol(),
|
||||
$rule->port,
|
||||
$rule->source,
|
||||
$rule->mask
|
||||
);
|
||||
|
||||
$rule->status = FirewallRuleStatus::READY;
|
||||
$rule->save();
|
||||
$rule->addToServer();
|
||||
|
||||
return $rule;
|
||||
}
|
||||
@ -56,6 +66,6 @@ private function validate(Server $server, array $input): void
|
||||
'mask' => [
|
||||
'numeric',
|
||||
],
|
||||
])->validateWithBag('createRule');
|
||||
])->validate();
|
||||
}
|
||||
}
|
||||
|
28
app/Actions/FirewallRule/DeleteRule.php
Executable file
28
app/Actions/FirewallRule/DeleteRule.php
Executable file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions\FirewallRule;
|
||||
|
||||
use App\Enums\FirewallRuleStatus;
|
||||
use App\Models\FirewallRule;
|
||||
use App\Models\Server;
|
||||
|
||||
class DeleteRule
|
||||
{
|
||||
public function delete(Server $server, FirewallRule $rule): void
|
||||
{
|
||||
$rule->status = FirewallRuleStatus::DELETING;
|
||||
$rule->save();
|
||||
|
||||
$server->firewall()
|
||||
->handler()
|
||||
->removeRule(
|
||||
$rule->type,
|
||||
$rule->getRealProtocol(),
|
||||
$rule->port,
|
||||
$rule->source,
|
||||
$rule->mask
|
||||
);
|
||||
|
||||
$rule->delete();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user