['required', 'ipv4'], ]; public function __construct() { abort_unless(Auth::check(), 401); /** @var \App\Models\User */ $user = Auth::user(); abort_unless($user->may(Users::roleset(), Users::MODERATION_PARDON_IP_ADDRESS_BAN), 401); } public function updated($property) { $this->validateOnly($property); } public function render() { return view('livewire.admin.ban.pardon-ip-address'); } public function submit() { $data = $this->validate(); if (is_null($ban = IpAddressBan::whereEncrypted('ip_address', '=', $data['ip_address'])->where('is_active', true)->first())) { return $this->addError('ip_address', __('That IP is not currently banned.')); } Request::user()->pardonIpAddressBan($ban); Action::log(Request::user(), Actions::RemoveIPBan); return $this->dispatchBrowserEvent('success', __('Successfully pardoned ban for IP :ip!', ['ip' => $ban->ip_address])); } }