Class: ForemanInventoryUpload::UploadsSettingsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/foreman_inventory_upload/uploads_settings_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



3
4
5
6
7
8
9
10
11
12
13
14
# File 'app/controllers/foreman_inventory_upload/uploads_settings_controller.rb', line 3

def index
  render json: {
    insightsMinimalDataCollection: Setting[:insights_minimal_data_collection],
    autoUploadEnabled: Setting[:allow_auto_inventory_upload],
    subscriptionConnectionEnabled: Setting[:subscription_connection_enabled],
    hostObfuscationEnabled: Setting[:obfuscate_inventory_hostnames],
    ipsObfuscationEnabled: Setting[:obfuscate_inventory_ips],
    excludePackagesEnabled: Setting[:exclude_installed_packages],
    allowAutoInsightsMismatchDelete: Setting[:allow_auto_insights_mismatch_delete],
    lastSyncTask: last_successful_inventory_sync_task,
  }, status: :ok
end

#last_successful_inventory_sync_taskObject



21
22
23
24
25
26
# File 'app/controllers/foreman_inventory_upload/uploads_settings_controller.rb', line 21

def last_successful_inventory_sync_task
  task = ForemanTasks::Task.where(label: 'InventorySync::Async::InventoryFullSync', result: 'success')
                    .reorder('ended_at desc').first
  return nil unless task
  { output: task.output, endedAt: task.ended_at }
end

#set_advanced_settingObject



16
17
18
19
# File 'app/controllers/foreman_inventory_upload/uploads_settings_controller.rb', line 16

def set_advanced_setting
  Setting[params.require(:setting)] = ActiveModel::Type::Boolean.new.cast(params.require(:value))
  index
end