mirror of
https://github.com/internetee/registry.git
synced 2025-08-06 01:35:10 +02:00
parent
453acf6616
commit
63db8d1409
4 changed files with 34 additions and 30 deletions
32
app/models/concerns/domain/discardable.rb
Normal file
32
app/models/concerns/domain/discardable.rb
Normal file
|
@ -0,0 +1,32 @@
|
|||
module Concerns::Domain::Discardable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
class_methods do
|
||||
def discard_domains
|
||||
domains = where('delete_at < ? AND ? != ALL(statuses) AND ? != ALL(statuses)',
|
||||
Time.zone.now,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::DELETE_CANDIDATE)
|
||||
|
||||
domains.map(&:discard)
|
||||
end
|
||||
end
|
||||
|
||||
def discard
|
||||
statuses << DomainStatus::DELETE_CANDIDATE
|
||||
# We don't validate deliberately since nobody is interested in fixing discarded domain
|
||||
save(validate: false)
|
||||
delete_later
|
||||
logger.info "Domain #{name} (ID: #{id}) is scheduled to be deleted"
|
||||
end
|
||||
|
||||
def keep
|
||||
statuses.delete(DomainStatus::DELETE_CANDIDATE)
|
||||
save
|
||||
do_not_delete_later
|
||||
end
|
||||
|
||||
def discarded?
|
||||
statuses.include?(DomainStatus::DELETE_CANDIDATE)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue