internetee-registry/app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
2021-09-23 16:54:41 +03:00

40 lines
1.3 KiB
Ruby

class ReplaceUpdToObjUpdProhibitedJob < ApplicationJob
def perform(rollback: false)
logger.info 'Ran ReplaceUpdToObjUpdProhibitedJob!'
start_replace_status_for_locked_domains(rollback: rollback)
end
def start_replace_status_for_locked_domains(rollback:)
count = 0
Domain.all.find_in_batches do |domain_batches|
count += domain_batches.count
logger.info "Proccesing #{count} domains of #{Domain.count}"
domain_batches.each do |domain|
if domain.locked_by_registrant?
process_domain_status_replacment(domain: domain, rollback: rollback)
end
end
logger.info "Successfully proccesed #{count} domains of #{Domain.count}"
end
end
private
def process_domain_status_replacment(domain:, rollback:)
domain.statuses = domain.statuses - ["serverUpdateProhibited"] + ["serverObjUpdateProhibited"] unless rollback
domain.statuses = domain.statuses - ["serverObjUpdateProhibited"] + ["serverUpdateProhibited"] if rollback
if domain.save
logger.info "#{domain.name} has next statuses #{domain.statuses}"
else
logger.warn "#{domain.name} - something goes wrong!"
end
end
def logger
@logger ||= Logger.new(Rails.root.join('log/replace_upd_to_obj_upd_prohibited.log'))
end
end