From aa6e2e99ec7c495f775b8afa8469fe8871cdfb7b Mon Sep 17 00:00:00 2001 From: oleghasjanov Date: Thu, 7 Aug 2025 11:26:32 +0300 Subject: [PATCH] added dns validation job --- app/jobs/dns_validation_job.rb | 8 ++++++++ app/services/dns_validator.rb | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 app/jobs/dns_validation_job.rb diff --git a/app/jobs/dns_validation_job.rb b/app/jobs/dns_validation_job.rb new file mode 100644 index 000000000..c0c0a169a --- /dev/null +++ b/app/jobs/dns_validation_job.rb @@ -0,0 +1,8 @@ +class DNSValidationJob < ApplicationJob + queue_as :default + + def perform(domain_id) + domain = Domain.find(domain_id) + DNSValidator.validate(domain: domain, name: domain.name) + end +end diff --git a/app/services/dns_validator.rb b/app/services/dns_validator.rb index 1752bf816..c924f6f7e 100644 --- a/app/services/dns_validator.rb +++ b/app/services/dns_validator.rb @@ -6,8 +6,10 @@ class DNSValidator attr_reader :domain, :results - def initialize(domain) - @domain = domain + def initialize(domain:, name:) + @domain = domain.present? ? domain : Domain.find_by_name(name) + raise "Domain not found" if @domain.blank? + @results = { nameservers: {}, dns_records: {}, @@ -18,8 +20,8 @@ class DNSValidator } end - def self.validate(domain) - new(domain).validate + def self.validate(domain:, name:) + new(domain: domain, name: name).validate end def validate