diff options
author | Fire Demon <firedemon@creature.cafe> | 2020-08-20 06:26:19 -0500 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-08-30 05:45:19 -0500 |
commit | 6317cb60e03762596ecae034518b4da4c60a8f64 (patch) | |
tree | d0ed510079f5373fe8d2cb420d93866ae32201f2 /app/workers/activitypub/process_collection_items_for_account_worker.rb | |
parent | 4d08871722a9186f0c82c41c6a465982f80c06b2 (diff) |
[Federation, Feature] Add support for pull federation, account synchronization, and server-to-server migration
Diffstat (limited to 'app/workers/activitypub/process_collection_items_for_account_worker.rb')
-rw-r--r-- | app/workers/activitypub/process_collection_items_for_account_worker.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/workers/activitypub/process_collection_items_for_account_worker.rb b/app/workers/activitypub/process_collection_items_for_account_worker.rb new file mode 100644 index 000000000..4b5710c1d --- /dev/null +++ b/app/workers/activitypub/process_collection_items_for_account_worker.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true +class ActivityPub::ProcessCollectionItemsForAccountWorker + include Sidekiq::Worker + + sidekiq_options queue: 'pull', retry: 3 + + def perform(account_id) + @account_id = account_id + on_behalf_of = nil + + if account_id.present? + account = Account.find(account_id) + on_behalf_of = account.followers.local.random.first + end + + ActivityPub::ProcessCollectionItemsService.new.call(account_id, on_behalf_of) + rescue ActiveRecord::RecordNotFound + nil + end +end |