Sha256: d6dbc83e295107dbf2d6126a0fdd04059e087cdde21fa7a519e8baed1d2e08fe

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

module ForemanInventoryUpload
  class AccountsController < ::ApplicationController
    def index
      organizations = User.current.my_organizations
      labels = organizations.pluck(:id, :name)

      accounts = Hash[
        labels.map do |id, label|
          generate_report_status = status_for(id, ForemanInventoryUpload::Async::GenerateReportJob)
          upload_report_status = status_for(id, ForemanInventoryUpload::Async::UploadReportJob)

          [
            id,
            {
              generate_report_status: generate_report_status,
              upload_report_status: upload_report_status,
              label: label,
            },
          ]
        end
      ]

      render json: {
        autoUploadEnabled: Setting[:allow_auto_inventory_upload],
        hostObfuscationEnabled: Setting[:obfuscate_inventory_hostnames],
        accounts: accounts,
      }, status: :ok
    end

    private

    def status_for(label, job_class)
      label = job_class.output_label(label)
      ForemanInventoryUpload::Async::ProgressOutput.get(label)&.status
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_rh_cloud-2.0.9 app/controllers/foreman_inventory_upload/accounts_controller.rb
foreman_rh_cloud-1.0.9 app/controllers/foreman_inventory_upload/accounts_controller.rb
foreman_rh_cloud-0.9.9 app/controllers/foreman_inventory_upload/accounts_controller.rb
foreman_rh_cloud-0.9.8 app/controllers/foreman_inventory_upload/accounts_controller.rb
foreman_rh_cloud-1.0.8 app/controllers/foreman_inventory_upload/accounts_controller.rb
foreman_rh_cloud-2.0.8 app/controllers/foreman_inventory_upload/accounts_controller.rb