diff --git a/NEWS.md b/NEWS.md index fe502052a63d..c03cc228ce7f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,7 @@ Development - None yet ### Features +* Fix dryrun connector end-point for org users ([#15918](https://github.com/CartoDB/cartodb/pull/15918)) * Fix column sanitization for connector syncs ([#15885](https://github.com/CartoDB/cartodb/pull/15885)) * Load config files as ERB templates to allow reading ENV values ([#15881](https://github.com/CartoDB/cartodb/pull/15881)) * Add public website DO catalog integration ([#15908](https://github.com/CartoDB/cartodb/pull/15908), [#15911](https://github.com/CartoDB/cartodb/pull/15911), [#15912](https://github.com/CartoDB/cartodb/pull/15912)) diff --git a/app/controllers/carto/api/connectors_controller.rb b/app/controllers/carto/api/connectors_controller.rb index 5a13e83789ea..be39fd8a4c12 100644 --- a/app/controllers/carto/api/connectors_controller.rb +++ b/app/controllers/carto/api/connectors_controller.rb @@ -159,9 +159,7 @@ def build_connection_parameters(provider_id, request_params) if provider_information[:parameters]["connection"].present? parameters[:connection] = {} provider_information[:parameters]["connection"].each do |key, _value| - if request_params[key.to_sym].present? - parameters[:connection][key.to_sym] = request_params[key.to_sym] - end + parameters[:connection][key.to_sym] = request_params[key.to_sym] if request_params[key.to_sym].present? end end parameters @@ -174,7 +172,11 @@ def build_connector_parameters(provider_id, request_params) raise Carto::Connector::InvalidParametersError.new(message: "Provider doesn't match") end parameters[:provider] = provider_id - parameters.merge! request_params.except(:provider_id, :format, :controller, :action, :api_key) + provider_information = Carto::Connector.information(provider_id) + provider_information[:parameters].each do |key, _value| + parameters[key.to_sym] = request_params[key.to_sym] if request_params[key.to_sym].present? + end + parameters end def check_availability