From 8c01385be05547f3be322c447e9285f113cfcc32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Wed, 27 Jan 2021 16:13:10 +0200 Subject: [PATCH] REPP: Combine create/delete actions for domain contact add --- .../repp/v1/domains/contacts_controller.rb | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/app/controllers/repp/v1/domains/contacts_controller.rb b/app/controllers/repp/v1/domains/contacts_controller.rb index 86cbf0acf..c41862b39 100644 --- a/app/controllers/repp/v1/domains/contacts_controller.rb +++ b/app/controllers/repp/v1/domains/contacts_controller.rb @@ -27,28 +27,21 @@ module Repp desc 'Link new contact(s) to domain' param_group :contacts_apidoc def create - contact_create_params[:contacts].each { |c| c[:action] = 'add' } - action = Actions::DomainUpdate.new(@domain, contact_create_params, current_user) - - unless action.call - handle_errors(@domain) - return - end - - render_success(data: { domain: { name: @domain.name } }) + cta('add') end api :DELETE, '/repp/v1/domains/:domain_name/contacts' desc 'Remove contact(s) from domain' param_group :contacts_apidoc def destroy - contact_create_params[:contacts].each { |c| c[:action] = 'rem' } + cta('rem') + end + + def cta(action = 'add') + contact_create_params[:contacts].each { |c| c[:action] = action } action = Actions::DomainUpdate.new(@domain, contact_create_params, current_user) - unless action.call - handle_errors(@domain) - return - end + handle_errors(@domain) and return unless action.call render_success(data: { domain: { name: @domain.name } }) end