debian-mirror-gitlab/app/models/preloaders/project_policy_preloader.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

27 lines
633 B
Ruby
Raw Normal View History

2022-10-11 01:57:18 +05:30
# frozen_string_literal: true
module Preloaders
class ProjectPolicyPreloader
def initialize(projects, current_user)
@projects = projects
@current_user = current_user
end
def execute
return if projects.is_a?(ActiveRecord::NullRelation)
2023-05-27 22:25:52 +05:30
ActiveRecord::Associations::Preloader.new(
records: projects,
associations: { group: :route, namespace: :owner }
).call
2022-10-11 01:57:18 +05:30
::Preloaders::UserMaxAccessLevelInProjectsPreloader.new(projects, current_user).execute
end
private
attr_reader :projects, :current_user
end
end
Preloaders::ProjectPolicyPreloader.prepend_mod