summaryrefslogtreecommitdiff
path: root/app/graphql/resolvers/merge_request_pipelines_resolver.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/resolvers/merge_request_pipelines_resolver.rb')
-rw-r--r--app/graphql/resolvers/merge_request_pipelines_resolver.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/graphql/resolvers/merge_request_pipelines_resolver.rb b/app/graphql/resolvers/merge_request_pipelines_resolver.rb
index 6590dfdc78c..f84eedb4c3b 100644
--- a/app/graphql/resolvers/merge_request_pipelines_resolver.rb
+++ b/app/graphql/resolvers/merge_request_pipelines_resolver.rb
@@ -5,14 +5,32 @@ module Resolvers
class MergeRequestPipelinesResolver < BaseResolver
# The GraphQL type here gets defined in this include
include ::ResolvesPipelines
+ include ::CachingArrayResolver
alias_method :merge_request, :object
+ # Return at most 500 pipelines for each MR.
+ # Merge requests generally have many fewer pipelines than this.
+ def self.field_options
+ super.merge(max_page_size: 500)
+ end
+
def resolve(**args)
return unless project
- resolve_pipelines(project, args)
- .merge(merge_request.all_pipelines)
+ super
+ end
+
+ def query_for(args)
+ resolve_pipelines(project, args).merge(merge_request.all_pipelines)
+ end
+
+ def model_class
+ ::Ci::Pipeline
+ end
+
+ def query_input(**args)
+ args
end
def project