REPP: Combine create/delete actions for DNSSEC keys

This commit is contained in:
Karl Erik Õunapuu 2021-01-28 11:07:12 +02:00
parent 8c01385be0
commit 0d2cb6b7f2
No known key found for this signature in database
GPG key ID: C9DD647298A34764
2 changed files with 11 additions and 14 deletions

View file

@ -41,7 +41,9 @@ module Repp
contact_create_params[:contacts].each { |c| c[:action] = action } contact_create_params[:contacts].each { |c| c[:action] = action }
action = Actions::DomainUpdate.new(@domain, contact_create_params, current_user) action = Actions::DomainUpdate.new(@domain, contact_create_params, current_user)
# rubocop:disable Style/AndOr
handle_errors(@domain) and return unless action.call handle_errors(@domain) and return unless action.call
# rubocop:enable Style/AndOr
render_success(data: { domain: { name: @domain.name } }) render_success(data: { domain: { name: @domain.name } })
end end

View file

@ -25,15 +25,7 @@ module Repp
param_group :dns_keys_apidoc, DnssecController param_group :dns_keys_apidoc, DnssecController
end end
def create def create
dnssec_params[:dnssec][:dns_keys].each { |n| n[:action] = 'add' } cta('add')
action = Actions::DomainUpdate.new(@domain, dnssec_params[:dnssec], current_user)
unless action.call
handle_errors(@domain)
return
end
render_success(data: { domain: { name: @domain.name } })
end end
api :DELETE, 'repp/v1/domains/:domain_name/dnssec' api :DELETE, 'repp/v1/domains/:domain_name/dnssec'
@ -41,13 +33,16 @@ module Repp
param_group :dns_keys_apidoc, DnssecController param_group :dns_keys_apidoc, DnssecController
end end
def destroy def destroy
dnssec_params[:dnssec][:dns_keys].each { |n| n[:action] = 'rem' } cta('rem')
end
def cta(action = 'add')
dnssec_params[:dnssec][:dns_keys].each { |n| n[:action] = action }
action = Actions::DomainUpdate.new(@domain, dnssec_params[:dnssec], current_user) action = Actions::DomainUpdate.new(@domain, dnssec_params[:dnssec], current_user)
unless action.call # rubocop:disable Style/AndOr
handle_errors(@domain) (handle_errors(@domain) and return) unless action.call
return # rubocop:enable Style/AndOr
end
render_success(data: { domain: { name: @domain.name } }) render_success(data: { domain: { name: @domain.name } })
end end