Add account migration UI (#11846)
Fix #10736 - Change data export to be available for non-functional accounts - Change non-functional accounts to include redirecting accounts
This commit is contained in:
		
							
								
								
									
										32
									
								
								app/workers/activitypub/move_distribution_worker.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								app/workers/activitypub/move_distribution_worker.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class ActivityPub::MoveDistributionWorker
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
  include Payloadable
 | 
			
		||||
 | 
			
		||||
  sidekiq_options queue: 'push'
 | 
			
		||||
 | 
			
		||||
  def perform(migration_id)
 | 
			
		||||
    @migration = AccountMigration.find(migration_id)
 | 
			
		||||
 | 
			
		||||
    ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url|
 | 
			
		||||
      [signed_payload, @account.id, inbox_url]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    ActivityPub::DeliveryWorker.push_bulk(Relay.enabled.pluck(:inbox_url)) do |inbox_url|
 | 
			
		||||
      [signed_payload, @account.id, inbox_url]
 | 
			
		||||
    end
 | 
			
		||||
  rescue ActiveRecord::RecordNotFound
 | 
			
		||||
    true
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def inboxes
 | 
			
		||||
    @inboxes ||= @migration.account.followers.inboxes
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def signed_payload
 | 
			
		||||
    @signed_payload ||= Oj.dump(serialize_payload(@migration, ActivityPub::MoveSerializer, signer: @account))
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user