mirror of
https://github.com/internetee/registry.git
synced 2025-07-25 20:18:22 +02:00
parent
640faaadb9
commit
42e8f86dae
51 changed files with 1619 additions and 53 deletions
|
@ -1,21 +1,6 @@
|
|||
module Concerns::Domain::Discardable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
class_methods do
|
||||
def discard_domains
|
||||
domains = where('delete_at < ? AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \
|
||||
' ? != ALL(COALESCE(statuses, array[]::varchar[]))',
|
||||
Time.zone.now,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::DELETE_CANDIDATE)
|
||||
|
||||
domains.each do |domain|
|
||||
domain.discard
|
||||
yield domain if block_given?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def discard
|
||||
raise 'Domain is already discarded' if discarded?
|
||||
|
||||
|
|
46
app/models/concerns/domain/releasable.rb
Normal file
46
app/models/concerns/domain/releasable.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
module Concerns
|
||||
module Domain
|
||||
module Releasable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
class_methods do
|
||||
def release_domains
|
||||
releasable_domains.each do |domain|
|
||||
domain.release
|
||||
yield domain if block_given?
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def releasable_domains
|
||||
if release_to_auction
|
||||
where('delete_at < ? AND ? != ALL(coalesce(statuses, array[]::varchar[]))',
|
||||
Time.zone.now,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED)
|
||||
else
|
||||
where('delete_at < ? AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \
|
||||
' ? != ALL(COALESCE(statuses, array[]::varchar[]))',
|
||||
Time.zone.now,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::DELETE_CANDIDATE)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
included do
|
||||
class_attribute :release_to_auction
|
||||
self.release_to_auction = ENV['release_domains_to_auction'] == 'true'
|
||||
end
|
||||
|
||||
def release
|
||||
if release_to_auction
|
||||
domain_name.sell_at_auction
|
||||
destroy!
|
||||
else
|
||||
discard
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue