Nexus-InglineSystems/app/Livewire/Admin/Client/DeleteClient.php

40 lines
1.0 KiB
PHP

<?php
namespace App\Livewire\Admin\Client;
use Livewire\Component;
use Livewire\Attributes\On;
use App\Models\Client;
use Exception;
use Illuminate\Support\Facades\Auth;
class DeleteClient extends Component
{
#[On('confirm-delete')]
public function deleteClient($payload)
{
try {
// Sua lógica de autorização e exclusão (Correta)
$this->authorize('deleteClient', Auth::user());
$deletedClient = Client::findOrFail($payload);
if ($deletedClient) {
$deletedClient->delete();
}
// Sucesso (Dentro do try, onde deve estar)
$this->dispatch('client-deleted');
$this->dispatch('notify', message: 'Cliente excluído com sucesso!');
} catch (Exception $e) {
// Tratamento de erro
$this->dispatch('notify', message: 'Você não possui permissão para realizar essa ação.', type: 'error');
}
}
public function render()
{
return '<div></div>';
}
}