snipe-it/app/Http/Livewire/PersonalAccessTokens.php

54 lines
1.2 KiB
PHP
Raw Normal View History

2023-11-14 09:50:27 -08:00
<?php
namespace App\Http\Livewire;
use Illuminate\Support\Facades\Auth;
2023-11-15 14:27:01 -08:00
use Illuminate\Support\Facades\Log;
2023-11-14 09:50:27 -08:00
use Illuminate\View\View;
use Livewire\Component;
class PersonalAccessTokens extends Component
{
2023-11-15 14:51:09 -08:00
public $name;
2023-11-15 15:24:54 -08:00
public $newTokenString;
2023-11-15 18:19:03 -08:00
protected $listeners = ['openModal' => 'autoFocusModalEvent'];
public function autoFocusModalEvent()
{
$this->dispatchBrowserEvent('autoFocusModal');
}
2023-11-14 09:50:27 -08:00
public function render()
{
return view('livewire.personal-access-tokens', [
'tokens' => Auth::user()->tokens,
]);
}
public function rules(): array
{
return [
2023-11-15 14:55:21 -08:00
'name' => 'required|string|max:255',
2023-11-14 09:50:27 -08:00
];
}
public function createToken(): void
{
2023-11-15 18:29:14 -08:00
$this->validate();
2023-11-15 15:24:54 -08:00
$newToken = Auth::user()->createToken($this->name);
$this->newTokenString = $newToken->accessToken;
2023-11-15 18:19:03 -08:00
$this->dispatchBrowserEvent('tokenCreated', $newToken->accessToken);
2023-11-14 09:50:27 -08:00
}
public function deleteToken($tokenId): void
{
2023-11-15 14:27:01 -08:00
//this needs safety (though the scope of auth::user might kind of do it...)
//seems like it does, test more
Auth::user()->tokens()->find($tokenId)->delete();
2023-11-14 09:50:27 -08:00
}
}