checklist.rb 616 B

123456789101112131415161718192021222324
  1. # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
  2. module Gql::Queries
  3. class Ticket::Checklist < BaseQuery
  4. description 'Fetch ticket checklist'
  5. argument :ticket, Gql::Types::Input::Locator::TicketInputType, description: 'Ticket locator'
  6. type Gql::Types::ChecklistType, null: true
  7. def self.authorize(_obj, ctx)
  8. ctx.current_user.permissions?(['ticket.agent'])
  9. end
  10. def authorized?(ticket:, template_id: nil)
  11. Pundit.authorize(context.current_user, ticket, :show?)
  12. end
  13. def resolve(ticket:)
  14. ::Checklist.find_by(ticket:)
  15. end
  16. end
  17. end