# frozen_string_literal: true class MoveService < BaseService def call(migration) @migration = migration @source_account = migration.account @target_account = migration.target_account update_redirect! process_local_relationships! distribute_update! distribute_move! end private def update_redirect! @source_account.update!(moved_to_account: @target_account) end def process_local_relationships! MoveWorker.perform_async(@source_account.id, @target_account.id) end def distribute_update! ActivityPub::UpdateDistributionWorker.perform_async(@source_account.id) end def distribute_move! ActivityPub::MoveDistributionWorker.perform_async(@migration.id) end end