2020-10-24 23:57:45 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Types
|
|
|
|
class IssueStatusCountsType < BaseObject
|
|
|
|
graphql_name 'IssueStatusCountsType'
|
2020-11-24 15:15:51 +05:30
|
|
|
description 'Represents total number of issues for the represented statuses'
|
2020-10-24 23:57:45 +05:30
|
|
|
|
|
|
|
authorize :read_issue
|
|
|
|
|
|
|
|
def self.available_issue_states
|
|
|
|
@available_issue_states ||= Issue.available_states.keys.push('all')
|
|
|
|
end
|
|
|
|
|
|
|
|
::Gitlab::IssuablesCountForState::STATES.each do |state|
|
|
|
|
next unless available_issue_states.include?(state.downcase)
|
|
|
|
|
|
|
|
field state,
|
|
|
|
GraphQL::INT_TYPE,
|
|
|
|
null: true,
|
|
|
|
description: "Number of issues with status #{state.upcase} for the project"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|