Files
WMS/app/Livewire/Settings/DeleteUserForm.php
2026-09-21 10:14:57 +01:00

37 lines
831 B
PHP
Executable File

<?php
namespace App\Livewire\Settings;
use App\Concerns\PasswordValidationRules;
use App\Livewire\Actions\Logout;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Schema;
use Livewire\Component;
class DeleteUserForm extends Component
{
use PasswordValidationRules;
public string $password = '';
/**
* Delete the currently authenticated user.
*/
public function deleteUser(Logout $logout): void
{
$this->validate([
'password' => $this->currentPasswordRules(),
]);
$user = Auth::user();
if ($user && Schema::hasTable(config('permission.table_names.model_has_roles', 'model_has_roles'))) {
$user->syncRoles([]);
}
tap($user, $logout(...))->delete();
$this->redirect('/', navigate: true);
}
}