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
551 B

  1. # frozen_string_literal: true
  2. class AfterRemoteFollowRequestWorker
  3. include Sidekiq::Worker
  4. sidekiq_options queue: 'pull', retry: 5
  5. def perform(follow_request_id)
  6. follow_request = FollowRequest.find(follow_request_id)
  7. updated_account = FetchRemoteAccountService.new.call(follow_request.target_account.remote_url)
  8. return if updated_account.nil? || updated_account.locked?
  9. follow_request.destroy
  10. FollowService.new.call(follow_request.account, updated_account.acct)
  11. rescue ActiveRecord::RecordNotFound
  12. true
  13. end
  14. end