diff --git a/app/models/validation_event.rb b/app/models/validation_event.rb index aff5582bc..5b66a65d0 100644 --- a/app/models/validation_event.rb +++ b/app/models/validation_event.rb @@ -6,7 +6,7 @@ # For email_validation event kind also check_level (regex/mx/smtp) is stored in the event_data class ValidationEvent < ApplicationRecord enum event_type: ValidationEvent::EventType::TYPES, _suffix: true - VALIDATION_PERIOD = 1.month.freeze + VALIDATION_PERIOD = 1.day.freeze VALID_CHECK_LEVELS = %w[regex mx smtp].freeze VALID_EVENTS_COUNT_THRESHOLD = 5 diff --git a/lib/tasks/verify_email.rake b/lib/tasks/verify_email.rake index 9ca38199f..5e1a1860d 100644 --- a/lib/tasks/verify_email.rake +++ b/lib/tasks/verify_email.rake @@ -46,11 +46,19 @@ def logger @logger ||= ActiveSupport::TaggedLogging.new(Syslog::Logger.new('registry')) end +# Here I set the time after which the validation is considered obsolete +# I take all contact records that have successfully passed the verification and fall within the deadline +# I am looking for contacts that have not been verified or their verification is out of date + def prepare_contacts(options) if options[:domain_name].present? contacts_by_domain(options[:domain_name]) else - Contact.all + time = Time.zone.now - ValidationEvent::VALIDATION_PERIOD + validation_events_ids = ValidationEvent.where('created_at > ?', time).pluck(:validation_eventable_id) + + Contact.where.not(id: validation_events_ids) + # contacts.reject(&:need_to_start_force_delete?) # temporarily commented out code end end