Welcome to mirror list, hosted at ThFree Co, Russian Federation.

fork_targets_finder.rb « finders « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0b5dfb165728650f536f26f0121b72a2bc38930b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

class ForkTargetsFinder
  def initialize(project, user)
    @project = project
    @user = user
  end

  # rubocop: disable CodeReuse/ActiveRecord
  def execute(options = {})
    return ::Namespace.where(id: user.forkable_namespaces).sort_by_type unless options[:only_groups]

    ::Group.where(id: user.manageable_groups(include_groups_with_developer_maintainer_access: true))
  end
  # rubocop: enable CodeReuse/ActiveRecord

  private

  attr_reader :project, :user
end

ForkTargetsFinder.prepend_mod_with('ForkTargetsFinder')