Class: Katello::Api::V2::DockerTagsController
- Inherits:
-
ApiController
- Object
- Api::V2::BaseController
- ApiController
- Katello::Api::V2::DockerTagsController
show all
- Includes:
- Concerns::Api::V2::RepositoryContentController
- Defined in:
- app/controllers/katello/api/v2/docker_tags_controller.rb
Instance Method Summary
collapse
#empty_search_query?, #full_result_response, #scoped_search, #skip_session
Methods included from Rendering
#respond_for_async, #respond_for_bulk_async, #respond_for_create, #respond_for_destroy, #respond_for_index, #respond_for_show, #respond_for_status, #respond_for_update, #respond_with_template, #respond_with_template_collection, #respond_with_template_resource, #try_specific_collection_template, #try_specific_resource_template
#api_version
Instance Method Details
#auto_complete_name ⇒ Object
9
10
11
12
13
14
15
|
# File 'app/controllers/katello/api/v2/docker_tags_controller.rb', line 9
def auto_complete_name
page_size = Katello::Concerns::FilteredAutoCompleteSearch::PAGE_SIZE
tags = Katello::DockerMetaTag.in_repositories(@repositories)
col = "#{Katello::DockerMetaTag.table_name}.name"
tags = tags.where("#{col} ILIKE ?", "#{params[:term]}%").select(col).group(col).order(col).limit(page_size)
render :json => tags.pluck(col)
end
|
#index ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/controllers/katello/api/v2/docker_tags_controller.rb', line 17
def index
if params[:grouped]
repos = Repository.readable
repos = repos.in_organization(@organization) if @organization
collection = Katello::DockerMetaTag.in_repositories(repos, true)
respond(:collection => scoped_search(collection, "name", "DESC"))
else
super
end
end
|
#repositories ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'app/controllers/katello/api/v2/docker_tags_controller.rb', line 30
def repositories
tag = DockerMetaTag.find(params[:id])
if tag.repositories.size > 1
repos = tag.repositories.non_archived
repos = repos.in_organization(@organization) if @organization
else
repos = []
tag.related_tags.each do |related|
repos << related.repositories.non_archived
end
repos.flatten!
end
respond_with_template_collection('index', 'repositories', collection: full_result_response(repos))
end
|