Sha256: 328c768cfa274246b699a9a960a20d209eaf1660b6a6f0e7195e934e1da1158b

Contents?: true

Size: 1.24 KB

Versions: 9

Compression:

Stored size: 1.24 KB

Contents

module Katello
  class Api::V2::PackagesController < Api::V2::ApiController
    apipie_concern_subst(:a_resource => N_("a package"), :resource => "packages")
    include Katello::Concerns::Api::V2::RepositoryContentController

    before_filter :find_repositories, :only => :auto_complete_name

    api :GET, "/packages", N_("List packages")
    api :GET, "/repositories/:repository_id/packages", N_("List packages")
    param :content_view_version_id, :identifier, :desc => N_("content view version identifier")
    param :repository_id, :number, :desc => N_("repository identifier")
    param_group :search, Api::V2::ApiController
    def index
      super
    end

    def auto_complete_name
      page_size = Katello::Concerns::FilteredAutoCompleteSearch::PAGE_SIZE
      rpms = Rpm.in_repositories(@repositories)
      col = "#{Rpm.table_name}.name"
      rpms = rpms.where("#{Rpm.table_name}.name ILIKE ?", "#{params[:term]}%").select(col).group(col).order(col).limit(page_size)
      render :json => rpms.pluck(col)
    end

    def find_repositories
      @repositories = Repository.readable.where(:id => params[:repoids])
    end

    def resource_class
      Katello::Rpm
    end

    def default_sort
      lambda { |query| query.default_sort }
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
katello-2.4.5 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.4 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.3 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.2 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.1 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.0 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.0.rc3 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.0.rc2 app/controllers/katello/api/v2/packages_controller.rb
katello-2.4.0.rc1 app/controllers/katello/api/v2/packages_controller.rb