Files
Virtnet.bond/app/Policies/TicketPolicy.php
2025-11-30 11:57:22 +01:00

58 lines
1.3 KiB
PHP

<?php
namespace App\Policies;
use App\Models\Ticket;
use App\Models\User;
class TicketPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->hasPermission('admin.tickets.viewAny');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Ticket $ticket): bool
{
return $user->hasPermission('admin.tickets.view') || $ticket->user_id === $user->id;
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->hasPermission('admin.tickets.create');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Ticket $ticket): bool
{
return $user->hasPermission('admin.tickets.update') || $ticket->user_id === $user->id;
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Ticket $ticket): bool
{
return $user->hasPermission('admin.tickets.delete');
}
/**
* Determine whether the user can delete multiple models.
*/
public function deleteAny(User $user): bool
{
return $user->hasPermission('admin.tickets.deleteAny');
}
}