mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 08:52:04 +02:00
Story#113066359 - all whois generation of domain and reserved/blocked domain is async + domain destroy removes whois async
This commit is contained in:
parent
ca037092d3
commit
93d765dea2
5 changed files with 66 additions and 47 deletions
|
@ -1,8 +1,9 @@
|
|||
class BlockedDomain < ActiveRecord::Base
|
||||
include Versions
|
||||
before_save :generate_data
|
||||
before_destroy :remove_data
|
||||
validates :name, domain_name: true, uniqueness: true
|
||||
before_save :generate_data
|
||||
after_destroy :remove_data
|
||||
|
||||
validates :name, domain_name: true, uniqueness: true
|
||||
|
||||
|
||||
class << self
|
||||
|
@ -22,19 +23,14 @@ validates :name, domain_name: true, uniqueness: true
|
|||
def generate_data
|
||||
return if Domain.where(name: name).any?
|
||||
|
||||
@json = generate_json
|
||||
@body = generate_body
|
||||
update_whois_server
|
||||
wr = Whois::Record.find_or_initialize_by(name: name)
|
||||
wr.json = @json = generate_json # we need @json to bind to class
|
||||
wr.body = generate_body
|
||||
wr.save
|
||||
end
|
||||
|
||||
alias_method :update_whois_record, :generate_data
|
||||
|
||||
def update_whois_server
|
||||
wr = Whois::Record.find_or_initialize_by(name: name)
|
||||
wr.body = @body
|
||||
wr.json = @json
|
||||
wr.save
|
||||
end
|
||||
|
||||
def generate_body
|
||||
template = Rails.root.join("app/views/for_models/whois_other.erb".freeze)
|
||||
|
@ -49,8 +45,6 @@ validates :name, domain_name: true, uniqueness: true
|
|||
end
|
||||
|
||||
def remove_data
|
||||
return if Domain.where(name: name).any?
|
||||
|
||||
Whois::Record.where(name: name).delete_all
|
||||
UpdateWhoisRecordJob.enqueue name, 'blocked'
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue