mirror of
https://github.com/internetee/registry.git
synced 2025-08-03 16:32:04 +02:00
Add checking if any of domain emails still got bounce related
This commit is contained in:
parent
39d392696a
commit
95a2b705b4
3 changed files with 46 additions and 2 deletions
|
@ -19,8 +19,17 @@ module Domains
|
|||
|
||||
def force_delete_condition(domain)
|
||||
domain.force_delete_scheduled? &&
|
||||
domain.template_name == 'invalid_email' &&
|
||||
domain.contacts.all? { |contact| contact.email_verification.verified? } &&
|
||||
template_of_invalid_email?(domain) &&
|
||||
contact_emails_valid?(domain) &&
|
||||
bounces_absent?(domain)
|
||||
end
|
||||
|
||||
def template_of_invalid_email?(domain)
|
||||
domain.template_name == 'invalid_email'
|
||||
end
|
||||
|
||||
def contact_emails_valid?(domain)
|
||||
domain.contacts.all? { |contact| contact.email_verification.verified? } &&
|
||||
domain.registrant.email_verification.verified?
|
||||
end
|
||||
|
||||
|
@ -28,6 +37,11 @@ module Domains
|
|||
domain.registrant.email_verification.verify
|
||||
domain.contacts.each { |contact| contact.email_verification.verify }
|
||||
end
|
||||
|
||||
def bounces_absent?(domain)
|
||||
emails = domain.all_related_emails
|
||||
BouncedMailAddress.where(email: emails).empty?
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -668,6 +668,10 @@ class Domain < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def all_related_emails
|
||||
(admin_contacts.emails + tech_contacts.emails + [registrant.email]).uniq
|
||||
end
|
||||
|
||||
def force_delete_contact_emails
|
||||
(primary_contact_emails + tech_contacts.pluck(:email) +
|
||||
["info@#{name}", "#{prepared_domain_name}@#{name}"]).uniq
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue