Fix N+1s queries
This commit is contained in:
parent
cfe77ce4a3
commit
a38aa7e3df
|
@ -2,6 +2,7 @@
|
|||
|
||||
class Projects::ForksController < Projects::ApplicationController
|
||||
include ContinueParams
|
||||
include RendersMemberAccess
|
||||
|
||||
# Authorize
|
||||
before_action :whitelist_query_limiting, only: [:create]
|
||||
|
@ -9,6 +10,7 @@ class Projects::ForksController < Projects::ApplicationController
|
|||
before_action :authorize_download_code!
|
||||
before_action :authenticate_user!, only: [:new, :create]
|
||||
|
||||
# rubocop: disable CodeReuse/ActiveRecord
|
||||
def index
|
||||
@total_forks_count = project.forks.size
|
||||
@public_forks_count = project.forks.public_only.size
|
||||
|
@ -16,7 +18,10 @@ class Projects::ForksController < Projects::ApplicationController
|
|||
@internal_forks_count = @total_forks_count - @public_forks_count - @private_forks_count
|
||||
|
||||
@forks = ForkProjectsFinder.new(project, params: params.merge(search: params[:filter_projects]), current_user: current_user).execute
|
||||
@forks = @forks.eager_load_namespace_and_owner.inc_creator.with_route.page(params[:page])
|
||||
@forks = @forks.includes(:route, :creator, :group, namespace: [:route, :owner])
|
||||
.page(params[:page])
|
||||
|
||||
prepare_projects_for_rendering(@forks)
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
|
@ -28,6 +33,7 @@ class Projects::ForksController < Projects::ApplicationController
|
|||
end
|
||||
end
|
||||
end
|
||||
# rubocop: enable CodeReuse/ActiveRecord
|
||||
|
||||
def new
|
||||
@namespaces = current_user.manageable_namespaces
|
||||
|
|
|
@ -417,7 +417,6 @@ class Project < ApplicationRecord
|
|||
scope :with_merge_requests_available_for_user, ->(current_user) { with_feature_available_for_user(:merge_requests, current_user) }
|
||||
scope :with_merge_requests_enabled, -> { with_feature_enabled(:merge_requests) }
|
||||
scope :with_remote_mirrors, -> { joins(:remote_mirrors).where(remote_mirrors: { enabled: true }).distinct }
|
||||
scope :inc_creator, -> { includes(:creator) }
|
||||
|
||||
scope :with_group_runners_enabled, -> do
|
||||
joins(:ci_cd_settings)
|
||||
|
|
Loading…
Reference in New Issue