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.
19 lines
401 B
19 lines
401 B
4 years ago
|
# frozen_string_literal: true
|
||
|
|
||
|
class AccountMergingWorker
|
||
|
include Sidekiq::Worker
|
||
|
|
||
|
sidekiq_options queue: 'pull'
|
||
|
|
||
|
def perform(account_id)
|
||
|
account = Account.find(account_id)
|
||
|
|
||
|
return true if account.nil? || account.local?
|
||
|
|
||
|
Account.where(uri: account.uri).where.not(id: account.id).find_each do |duplicate|
|
||
|
account.merge_with!(duplicate)
|
||
|
duplicate.destroy
|
||
|
end
|
||
|
end
|
||
|
end
|