Sha256: fa0087171c05ccf334647ca197189a49cfb286ed7e49fbe2815a7ad2e247a9bd

Contents?: true

Size: 881 Bytes

Versions: 3

Compression:

Stored size: 881 Bytes

Contents

module InsightsCloud
  class HitsController < ::ApplicationController
    include Foreman::Controller::AutoCompleteSearch

    def index
      hits = resource_base_search_and_page.where(host: Host.authorized).preload(:host, :rule)

      render json: {
        hasToken: !Setting[:rh_cloud_token].empty?,
        hits: hits.map { |hit| hit.attributes.merge(hostname: hit.host&.name, has_playbook: hit.has_playbook?) },
        itemCount: hits.count,
      }, status: :ok
    end

    def show
      host = Host.where(id: host_id_param).first

      render json: {
        hits: host.insights.hits,
      }, status: :ok
    end

    def model_of_controller
      ::InsightsHit
    end

    def resource_class
      ::InsightsHit
    end

    def controller_permission
      :insights_hits
    end

    private

    def host_id_param
      params.require(:host_id)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
foreman_rh_cloud-3.0.19 app/controllers/insights_cloud/hits_controller.rb
foreman_rh_cloud-3.0.18.1 app/controllers/insights_cloud/hits_controller.rb
foreman_rh_cloud-3.0.18 app/controllers/insights_cloud/hits_controller.rb