From 33b8f031c7b2d9f25fc06386bf554012e7561c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Thu, 17 Dec 2020 14:45:11 +0200 Subject: [PATCH] Fix DNSSEC modifitcations in DomainUpdate --- app/models/actions/domain_update.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/models/actions/domain_update.rb b/app/models/actions/domain_update.rb index 32d23bc3b..86454e727 100644 --- a/app/models/actions/domain_update.rb +++ b/app/models/actions/domain_update.rb @@ -17,6 +17,7 @@ module Actions assign_admin_contact_changes assign_tech_contact_changes assign_requested_statuses + assign_dnssec_modifications commit end @@ -63,6 +64,21 @@ module Actions domain.nameservers_attributes = nameservers end + def assign_dnssec_modifications + dnskeys = [] + params[:dns_keys].select { |dk| dk[:action] == 'rem' }.each do |key| + dnkey = domain.dnskeys.find_by(key.except(:action)) + domain.add_epp_error('2303', nil, nil, %i[dnskeys not_found]) unless dnkey + dnskeys << { id: dnkey.id, _destroy: 1 } if dnkey + end + + params[:dns_keys].select { |dk| dk[:action] == 'add' }.each do |key| + dnskeys << key.except(:action) + end + + domain.dnskeys_attributes = dnskeys + end + def assign_admin_contact_changes return unless params[:contacts]