diff options
Diffstat (limited to 'app/graphql/resolvers/merge_request_pipelines_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/merge_request_pipelines_resolver.rb | 22 |
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 |