gitlab-org--gitlab-foss/app/graphql/types/customer_relations/contact_state_counts_type.rb

24 lines
664 B
Ruby

# frozen_string_literal: true
module Types
module CustomerRelations
class ContactStateCountsType < Types::BaseObject
graphql_name 'ContactStateCounts'
description 'Represents the total number of contacts for the represented states.'
authorize :read_crm_contact
def self.available_contact_states
@available_contact_states ||= ::CustomerRelations::Contact.states.keys.push('all')
end
available_contact_states.each do |state|
field state,
GraphQL::Types::Int,
null: true,
description: "Number of contacts with state `#{state.upcase}`"
end
end
end
end