40 lines
1003 B
PHP
40 lines
1003 B
PHP
<?php
|
|
|
|
namespace App\Livewire\Admin;
|
|
|
|
use App\Models\VpnPeer;
|
|
use LivewireUI\Modal\ModalComponent;
|
|
|
|
/**
|
|
* Confirmation before a staff access gets a fresh keypair (R23). The reissue
|
|
* itself still runs on Vpn::reissue(), unchanged — this only gates it and,
|
|
* once confirmed, dispatches back so the page can show the new config.
|
|
*/
|
|
class ConfirmReissueVpnPeer extends ModalComponent
|
|
{
|
|
public string $uuid;
|
|
|
|
public string $name = '';
|
|
|
|
public function mount(string $uuid): void
|
|
{
|
|
$peer = VpnPeer::query()->where('uuid', $uuid)->firstOrFail();
|
|
$this->authorize('update', $peer);
|
|
abort_if($peer->kind !== VpnPeer::KIND_STAFF, 404);
|
|
|
|
$this->uuid = $uuid;
|
|
$this->name = $peer->name;
|
|
}
|
|
|
|
public function confirm(): void
|
|
{
|
|
$this->dispatch('vpn-peer-reissue-confirmed', uuid: $this->uuid);
|
|
$this->closeModal();
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.admin.confirm-reissue-vpn-peer');
|
|
}
|
|
}
|