123456789101112131415161718192021222324 |
- # Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
- module Gql::Queries
- class Ticket::Overviews < BaseQuery
- description 'Ticket overviews available in the system'
- argument :ignore_user_conditions, Boolean, description: 'Include additional overviews by ignoring user conditions'
- argument :filter_overview_ids, [GraphQL::Types::ID], required: false, loads: Gql::Types::OverviewType, description: 'Overview IDs to filter for'
- type [Gql::Types::OverviewType], null: false
- def resolve(ignore_user_conditions:, filter_overviews: nil)
- # This effectively scopes the overviews by `:use?` permission.
- scope = ::Ticket::Overviews.all(current_user: context.current_user, ignore_user_conditions:)
- if filter_overviews
- return scope.where(id: filter_overviews.pluck(:id))
- end
- scope
- end
- end
- end
|