diff --git a/app/controllers/api/v1/registrant/confirms_controller.rb b/app/controllers/api/v1/registrant/confirms_controller.rb index cbc8c5413..390753fd3 100644 --- a/app/controllers/api/v1/registrant/confirms_controller.rb +++ b/app/controllers/api/v1/registrant/confirms_controller.rb @@ -17,10 +17,23 @@ module Api end def update + verification = RegistrantVerification.new(domain_id: @domain.id, + verification_token: confirmation_params[:token]) + + head(update_action(verification) ? :ok : :bad_request) end private + def update_action(verification) + initiator = "email link, #{t(:user_not_authenticated)}" + if params[:confirm].present? + verification.domain_registrant_change_confirm!(initiator) + else + verification.domain_registrant_change_reject!(initiator) + end + end + def serialized_registrant(registrant) { name: registrant.try(:name), diff --git a/app/services/registrant_change.rb b/app/services/registrant_change.rb index 35b631fb6..fdee7654a 100644 --- a/app/services/registrant_change.rb +++ b/app/services/registrant_change.rb @@ -5,6 +5,7 @@ class RegistrantChange end def confirm + Dispute.close_by_domain(@domain.name) if @domain.disputed? notify_registrant end