summaryrefslogtreecommitdiff
path: root/app/finders/fork_targets_finder.rb
blob: 3a79b216853ee5acbfd41c900f8ce718e67416b5 (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.manageable_namespaces).sort_by_type unless options[:only_groups]

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

  private

  attr_reader :project, :user
end

ForkTargetsFinder.prepend_mod_with('ForkTargetsFinder')