Class: Katello::Api::V2::HostBootcImagesController

Inherits:
ApiController
  • Object
show all
Includes:
Concerns::FilteredAutoCompleteSearch
Defined in:
app/controllers/katello/api/v2/host_bootc_images_controller.rb

Constant Summary

Constants included from Concerns::FilteredAutoCompleteSearch

Concerns::FilteredAutoCompleteSearch::PAGE_SIZE

Instance Method Summary collapse

Methods included from Concerns::FilteredAutoCompleteSearch

#auto_complete_search

Methods inherited from ApiController

#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

Methods included from Katello::Api::Version2

#api_version

Instance Method Details

#bootc_imagesObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/katello/api/v2/host_bootc_images_controller.rb', line 12

def bootc_images
  params[:sort_by] ||= 'bootc_booted_image'
  params[:sort_order] ||= 'asc'
  if params[:order]
    params[:order] = "#{params[:order].split(' ')[0]} #{sanitize_sort_order(params[:order].split(' ')[1])}"
  else
    params[:order] = "#{params[:sort_by]} #{sanitize_sort_order(params[:sort_order])}"
  end
  per_page = params[:per_page].present? ? params[:per_page].to_i : Setting[:entries_per_page]
  page = params[:page].present? ? params[:page].to_i : 1

  bootc_image_map = bootc_host_image_map
  paged_images = bootc_image_map.to_a.paginate(page: page, per_page: per_page)
  results = paged_images.collect { |image| { bootc_booted_image: image[0], digests: image[1] } }
  render json: {
    total: bootc_image_map.size,
    page: page,
    per_page: per_page,
    subtotal: bootc_image_map.size,
    sort: {
      by: params[:sort_by],
      order: params[:sort_order],
    },
    results: results,
  }
end