summaryrefslogtreecommitdiff
path: root/app/finders/packages/tags_finder.rb
blob: dd104ea6f9133ddd08bdb6d36c3a7f59e2763cd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true
class Packages::TagsFinder
  attr_reader :project, :package_name, :params

  delegate :find_by_name, to: :execute

  def initialize(project, package_name, params = {})
    @project = project
    @package_name = package_name
    @params = params
  end

  def execute
    packages = project.packages
                      .with_name(package_name)
    packages = packages.with_package_type(package_type) if package_type.present?

    Packages::Tag.for_package_ids(packages.select(:id))
  end

  private

  def package_type
    params[:package_type]
  end
end