helpdesk_admin ?? false) || (bool) ($user->helpdesk_agent ?? false) && ((int) $ticket->agent_id === (int) $user->id || (int) $ticket->user_id === (int) $user->id) || (int) $ticket->user_id === (int) $user->id; } /** @return bool */ public function create(User $user): bool { return true; } /** @return bool */ public function update(User $user, Ticket $ticket): bool { return (bool) ($user->helpdesk_admin ?? false) || (int) $ticket->agent_id === (int) $user->id; } /** @return bool */ public function comment(User $user, Ticket $ticket): bool { return $this->view($user, $ticket); } /** @return bool */ public function delete(User $user, Ticket $ticket): bool { return (bool) ($user->helpdesk_admin ?? false); } }