diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/entities/merge_request_basic.rb | 8 | ||||
-rw-r--r-- | lib/api/search.rb | 10 | ||||
-rw-r--r-- | lib/gitlab/project_search_results.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/search_results.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/snippet_search_results.rb | 2 |
5 files changed, 12 insertions, 12 deletions
diff --git a/lib/api/entities/merge_request_basic.rb b/lib/api/entities/merge_request_basic.rb index 1a89a83a619..1643f267938 100644 --- a/lib/api/entities/merge_request_basic.rb +++ b/lib/api/entities/merge_request_basic.rb @@ -6,19 +6,15 @@ module API expose :merged_by, using: Entities::UserBasic do |merge_request, _options| merge_request.metrics&.merged_by end - expose :merged_at do |merge_request, _options| merge_request.metrics&.merged_at end - expose :closed_by, using: Entities::UserBasic do |merge_request, _options| merge_request.metrics&.latest_closed_by end - expose :closed_at do |merge_request, _options| merge_request.metrics&.latest_closed_at end - expose :title_html, if: -> (_, options) { options[:render_html] } do |entity| MarkupHelper.markdown_field(entity, :title) end @@ -33,7 +29,6 @@ module API merge_request.assignee end expose :author, :assignees, using: Entities::UserBasic - expose :source_project_id, :target_project_id expose :labels do |merge_request, options| if options[:with_labels_details] @@ -85,11 +80,8 @@ module API end expose :squash - expose :task_completion_status - expose :cannot_be_merged?, as: :has_conflicts - expose :mergeable_discussions_state?, as: :blocking_discussions_resolved end end diff --git a/lib/api/search.rb b/lib/api/search.rb index 3d2d4527e30..a9f19a5d781 100644 --- a/lib/api/search.rb +++ b/lib/api/search.rb @@ -20,6 +20,10 @@ module API users: Entities::UserBasic }.freeze + SCOPE_PRELOAD_METHOD = { + merge_requests: :with_api_entity_associations + }.freeze + def search(additional_params = {}) search_params = { scope: params[:scope], @@ -29,7 +33,7 @@ module API per_page: params[:per_page] }.merge(additional_params) - results = SearchService.new(current_user, search_params).search_objects + results = SearchService.new(current_user, search_params).search_objects(preload_method) paginate(results) end @@ -42,6 +46,10 @@ module API SCOPE_ENTITY[params[:scope].to_sym] end + def preload_method + SCOPE_PRELOAD_METHOD[params[:scope].to_sym] + end + def verify_search_scope!(resource:) # In EE we have additional validation requirements for searches. # Defining this method here as a noop allows us to easily extend it in diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb index fbdfe166645..41844a0fb36 100644 --- a/lib/gitlab/project_search_results.rb +++ b/lib/gitlab/project_search_results.rb @@ -11,7 +11,7 @@ module Gitlab @query = query end - def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE) + def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, preload_method: nil) case scope when 'notes' notes.page(page).per(per_page) diff --git a/lib/gitlab/search_results.rb b/lib/gitlab/search_results.rb index c35ee62163a..6239158ef06 100644 --- a/lib/gitlab/search_results.rb +++ b/lib/gitlab/search_results.rb @@ -26,7 +26,7 @@ module Gitlab @default_project_filter = default_project_filter end - def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, without_count: true) + def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, without_count: true, preload_method: nil) collection = case scope when 'projects' projects diff --git a/lib/gitlab/snippet_search_results.rb b/lib/gitlab/snippet_search_results.rb index 9911f9e62a6..1d253ca90f3 100644 --- a/lib/gitlab/snippet_search_results.rb +++ b/lib/gitlab/snippet_search_results.rb @@ -11,7 +11,7 @@ module Gitlab @query = query end - def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE) + def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, preload_method: nil) paginated_objects(snippet_titles, page, per_page) end |