in lib/app/console_app.rb [187:212]
def set_configurable_field
return unless connector_registered?
connector = current_connector
connector_class = connector.class
current_values = Core::ConnectorSettings.fetch_by_id(connector_id)&.configuration
return unless connector.present?
puts 'Provided configurable fields:'
configurable_fields = connector_class.configurable_fields
fields = configurable_fields.each_key.map do |key|
field = configurable_fields[key].with_indifferent_access
current_value = current_values&.fetch(key, nil)
{ :command => key, :hint => "#{field[:label]} (current value: #{current_value}, default: #{field[:value]})" }
end
menu = App::Menu.new('Please select the configurable field:', fields)
field_name = menu.select_command
field_label = configurable_fields.dig(field_name, :label)
puts 'Please enter the new value:'
new_value = gets.chomp.strip
Core::ElasticConnectorActions.set_configurable_field(connector_id, field_name, field_label, new_value)
Utility::Logger.debug("Successfully updated field #{field_name} for connector #{connector_id} to #{new_value}")
end