Skip to content
Snippets Groups Projects

Refactor parent issues resolver

Merged Mario Celi requested to merge 377514-refactor-issues-resolver into master
All threads resolved!
Files
4
@@ -6,72 +6,86 @@ module IssueResolverArguments
@@ -6,72 +6,86 @@ module IssueResolverArguments
include SearchArguments
include SearchArguments
included do
included do
argument :iid, GraphQL::Types::String,
IssueResolverArguments.argument_definition_blocks.each do |definition_block|
required: false,
instance_exec(&definition_block)
description: 'IID of the issue. For example, "1".'
end
argument :iids, [GraphQL::Types::String],
end
required: false,
description: 'List of IIDs of issues. For example, `["1", "2"]`.'
def self.argument_definition_blocks
argument :label_name, [GraphQL::Types::String, null: true],
@argument_definition_blocks ||= [
required: false,
proc {
description: 'Labels applied to this issue.'
argument :iid, GraphQL::Types::String,
argument :milestone_title, [GraphQL::Types::String, null: true],
required: false,
required: false,
description: 'IID of the issue. For example, "1".'
description: 'Milestone applied to this issue.'
argument :iids, [GraphQL::Types::String],
argument :author_username, GraphQL::Types::String,
required: false,
required: false,
description: 'List of IIDs of issues. For example, `["1", "2"]`.'
description: 'Username of the author of the issue.'
argument :label_name, [GraphQL::Types::String, null: true],
argument :assignee_username, GraphQL::Types::String,
required: false,
required: false,
description: 'Labels applied to this issue.'
description: 'Username of a user assigned to the issue.',
argument :milestone_title, [GraphQL::Types::String, null: true],
deprecated: { reason: 'Use `assigneeUsernames`', milestone: '13.11' }
required: false,
argument :assignee_usernames, [GraphQL::Types::String],
description: 'Milestone applied to this issue.'
required: false,
argument :author_username, GraphQL::Types::String,
description: 'Usernames of users assigned to the issue.'
required: false,
argument :assignee_id, GraphQL::Types::String,
description: 'Username of the author of the issue.'
required: false,
argument :assignee_username, GraphQL::Types::String,
description: 'ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.'
required: false,
argument :created_before, Types::TimeType,
description: 'Username of a user assigned to the issue.',
required: false,
deprecated: { reason: 'Use `assigneeUsernames`', milestone: '13.11' }
description: 'Issues created before this date.'
argument :assignee_usernames, [GraphQL::Types::String],
argument :created_after, Types::TimeType,
required: false,
required: false,
description: 'Usernames of users assigned to the issue.'
description: 'Issues created after this date.'
argument :assignee_id, GraphQL::Types::String,
argument :updated_before, Types::TimeType,
required: false,
required: false,
description: 'ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.'
description: 'Issues updated before this date.'
argument :created_before, Types::TimeType,
argument :updated_after, Types::TimeType,
required: false,
required: false,
description: 'Issues created before this date.'
description: 'Issues updated after this date.'
argument :created_after, Types::TimeType,
argument :closed_before, Types::TimeType,
required: false,
required: false,
description: 'Issues created after this date.'
description: 'Issues closed before this date.'
argument :updated_before, Types::TimeType,
argument :closed_after, Types::TimeType,
required: false,
required: false,
description: 'Issues updated before this date.'
description: 'Issues closed after this date.'
argument :updated_after, Types::TimeType,
argument :types, [Types::IssueTypeEnum],
required: false,
as: :issue_types,
description: 'Issues updated after this date.'
description: 'Filter issues by the given issue types.',
argument :closed_before, Types::TimeType,
required: false
required: false,
argument :milestone_wildcard_id, ::Types::MilestoneWildcardIdEnum,
description: 'Issues closed before this date.'
required: false,
argument :closed_after, Types::TimeType,
description: 'Filter issues by milestone ID wildcard.'
required: false,
argument :my_reaction_emoji, GraphQL::Types::String,
description: 'Issues closed after this date.'
required: false,
argument :types, [Types::IssueTypeEnum],
description: 'Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.'
as: :issue_types,
argument :confidential,
description: 'Filter issues by the given issue types.',
GraphQL::Types::Boolean,
required: false
required: false,
argument :milestone_wildcard_id, ::Types::MilestoneWildcardIdEnum,
description: 'Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.'
required: false,
argument :not, Types::Issues::NegatedIssueFilterInputType,
description: 'Filter issues by milestone ID wildcard.'
description: 'Negated arguments.',
argument :my_reaction_emoji, GraphQL::Types::String,
required: false
required: false,
argument :crm_contact_id, GraphQL::Types::String,
description: 'Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.'
required: false,
argument :confidential,
description: 'ID of a contact assigned to the issues.'
GraphQL::Types::Boolean,
argument :crm_organization_id, GraphQL::Types::String,
required: false,
required: false,
description: 'Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.'
description: 'ID of an organization assigned to the issues.'
argument :not, Types::Issues::NegatedIssueFilterInputType,
 
description: 'Negated arguments.',
 
required: false
 
argument :crm_contact_id, GraphQL::Types::String,
 
required: false,
 
description: 'ID of a contact assigned to the issues.'
 
argument :crm_organization_id, GraphQL::Types::String,
 
required: false,
 
description: 'ID of an organization assigned to the issues.'
 
}
 
]
 
end
 
 
def self.add_definition_block(&block)
 
argument_definition_blocks << block
end
end
def ready?(**args)
def ready?(**args)
@@ -147,3 +161,5 @@ def params_not_mutually_exclusive(args, mutually_exclusive_args)
@@ -147,3 +161,5 @@ def params_not_mutually_exclusive(args, mutually_exclusive_args)
end
end
end
end
end
end
 
 
IssueResolverArguments.prepend_mod
Loading