mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 17:28:18 +02:00
REPP: Domain Delete endpoint, port EPP Delete to Actions
This commit is contained in:
parent
99a1f1f489
commit
cdf2866434
4 changed files with 106 additions and 22 deletions
57
app/models/actions/domain_delete.rb
Normal file
57
app/models/actions/domain_delete.rb
Normal file
|
@ -0,0 +1,57 @@
|
|||
module Actions
|
||||
class DomainDelete
|
||||
attr_reader :domain
|
||||
attr_reader :params
|
||||
attr_reader :user
|
||||
|
||||
def initialize(domain, params, user)
|
||||
@domain = domain
|
||||
@params = params
|
||||
@user = user
|
||||
end
|
||||
|
||||
def call
|
||||
return false unless @domain.can_be_deleted?
|
||||
|
||||
verify_not_discarded
|
||||
maybe_attach_legal_doc
|
||||
|
||||
return false if domain.errors.any?
|
||||
return false if domain.errors[:epp_errors].any?
|
||||
|
||||
destroy
|
||||
end
|
||||
|
||||
def maybe_attach_legal_doc
|
||||
Actions::BaseAction.attach_legal_doc_to_new(domain, params[:legal_document], domain: true)
|
||||
end
|
||||
|
||||
def verify_not_discarded
|
||||
return unless domain.discarded?
|
||||
|
||||
domain.add_epp_error('2304', nil, nil, 'Object status prohibits operation')
|
||||
end
|
||||
|
||||
def verify?
|
||||
return false unless Setting.request_confirmation_on_domain_deletion_enabled
|
||||
return false if params[:delete][:verified] == true
|
||||
|
||||
true
|
||||
end
|
||||
|
||||
def destroy
|
||||
if verify?
|
||||
domain.registrant_verification_asked!(params, user.id)
|
||||
domain.pending_delete!
|
||||
domain.manage_automatic_statuses
|
||||
else
|
||||
domain.set_pending_delete!
|
||||
end
|
||||
|
||||
return false if domain.errors.any?
|
||||
return false if domain.errors[:epp_errors].any?
|
||||
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue