Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/resolvers/board_list_issues_resolver.rb')
-rw-r--r--app/graphql/resolvers/board_list_issues_resolver.rb18
1 files changed, 16 insertions, 2 deletions
diff --git a/app/graphql/resolvers/board_list_issues_resolver.rb b/app/graphql/resolvers/board_list_issues_resolver.rb
index 25fb35ec74b..7c85dd8fb9b 100644
--- a/app/graphql/resolvers/board_list_issues_resolver.rb
+++ b/app/graphql/resolvers/board_list_issues_resolver.rb
@@ -13,15 +13,29 @@ module Resolvers
alias_method :list, :object
def resolve(**args)
- filter_params = item_filters(args[:filters]).merge(board_id: list.board.id, id: list.id)
+ filters = item_filters(args[:filters])
+ mutually_exclusive_milestone_args!(filters)
+
+ filter_params = filters.merge(board_id: list.board.id, id: list.id)
service = ::Boards::Issues::ListService.new(list.board.resource_parent, context[:current_user], filter_params)
+ pagination_connections = Gitlab::Graphql::Pagination::Keyset::Connection.new(service.execute)
+
+ ::Boards::Issues::ListService.initialize_relative_positions(list.board, current_user, pagination_connections.items)
- service.execute
+ pagination_connections
end
# https://gitlab.com/gitlab-org/gitlab/-/issues/235681
def self.complexity_multiplier(args)
0.005
end
+
+ private
+
+ def mutually_exclusive_milestone_args!(filters)
+ if filters[:milestone_title] && filters[:milestone_wildcard_id]
+ raise ::Gitlab::Graphql::Errors::ArgumentError, 'Incompatible arguments: milestoneTitle, milestoneWildcardId.'
+ end
+ end
end
end