getTicketView.ts 661 B

123456789101112131415161718192021222324
  1. // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. import { useSessionStore } from '@shared/stores/session'
  3. import type { TicketById, TicketView } from '../types'
  4. export const getTicketView = (ticket: TicketById) => {
  5. const session = useSessionStore()
  6. const isTicketEditable = ticket.policy.update
  7. const isTicketCustomer =
  8. session.hasPermission('ticket.customer') && !ticket.policy.agentReadAccess
  9. const isTicketAgent = ticket.policy.agentReadAccess
  10. const ticketView: TicketView = isTicketAgent ? 'agent' : 'customer'
  11. return {
  12. isTicketAgent,
  13. isTicketCustomer,
  14. isTicketEditable,
  15. ticketView,
  16. }
  17. }