mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 05:05:45 +02:00
implement state store before force delete
This commit is contained in:
parent
b2cfc90f4f
commit
fe97d7f35a
2 changed files with 10 additions and 0 deletions
|
@ -1,6 +1,10 @@
|
||||||
module Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
module Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
FORCE_DELETE_STATUSES = [DomainStatus::FORCE_DELETE,
|
||||||
|
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||||
|
DomainStatus::SERVER_TRANSFER_PROHIBITED]
|
||||||
|
|
||||||
included do
|
included do
|
||||||
store_accessor :force_delete_data,
|
store_accessor :force_delete_data,
|
||||||
:force_delete_type,
|
:force_delete_type,
|
||||||
|
@ -46,12 +50,17 @@ module Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
||||||
end
|
end
|
||||||
|
|
||||||
def schedule_force_delete(type: :fast_track, notify_by_email: false, reason: nil, email: nil)
|
def schedule_force_delete(type: :fast_track, notify_by_email: false, reason: nil, email: nil)
|
||||||
|
self.force_delete_domain_statuses_history = statuses.map do |status|
|
||||||
|
status if FORCE_DELETE_STATUSES.include? status
|
||||||
|
end
|
||||||
|
|
||||||
Domains::ForceDelete::SetForceDelete.run(domain: self, type: type, reason: reason,
|
Domains::ForceDelete::SetForceDelete.run(domain: self, type: type, reason: reason,
|
||||||
notify_by_email: notify_by_email, email: email)
|
notify_by_email: notify_by_email, email: email)
|
||||||
end
|
end
|
||||||
|
|
||||||
def cancel_force_delete
|
def cancel_force_delete
|
||||||
Domains::CancelForceDelete::CancelForceDelete.run(domain: self)
|
Domains::CancelForceDelete::CancelForceDelete.run(domain: self)
|
||||||
|
self.force_delete_domain_statuses_history = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def outzone_date
|
def outzone_date
|
||||||
|
|
|
@ -17,6 +17,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
||||||
@domain.schedule_force_delete(type: :soft)
|
@domain.schedule_force_delete(type: :soft)
|
||||||
|
|
||||||
assert @domain.force_delete_scheduled?
|
assert @domain.force_delete_scheduled?
|
||||||
|
|
||||||
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||||
|
|
||||||
@domain.cancel_force_delete
|
@domain.cancel_force_delete
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue