# frozen_string_literal: true class UnblockDomainService < BaseService attr_accessor :domain_block def call(domain_block) @domain_block = domain_block process_retroactive_updates domain_block.destroy end def process_retroactive_updates blocked_accounts.in_batches.update_all(update_options) unless domain_block.noop? end def blocked_accounts scope = Account.by_domain_and_subdomains(domain_block.domain) if domain_block.silence? scope.where(silenced_at: @domain_block.created_at) else scope.where(suspended_at: @domain_block.created_at) end end def update_options { domain_block_impact => nil } end def domain_block_impact domain_block.silence? ? :silenced_at : :suspended_at end end