闭社主体 forked from https://github.com/tootsuite/mastodon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

32 lines
735 B

# 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