about summary refs log tree commit diff
path: root/app/lib/activitypub/activity/update.rb
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-02-26 21:15:37 +0100
committerClaire <claire.github-309c@sitedethib.com>2022-02-26 21:15:37 +0100
commit8158b04d184e617cbd49c83fd0734a445742146a (patch)
treef8038129661cd4cbadde19b4c1244a50b0709324 /app/lib/activitypub/activity/update.rb
parent551820cbd9e5beebd16f16205143e2263d4f2d51 (diff)
parent57814a98a9c8e4b106d44a31e36561f585f73bac (diff)
Merge branch 'main' into glitch-soc/merge-upstream
Diffstat (limited to 'app/lib/activitypub/activity/update.rb')
-rw-r--r--app/lib/activitypub/activity/update.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb
index f04ad321b..0bfead55b 100644
--- a/app/lib/activitypub/activity/update.rb
+++ b/app/lib/activitypub/activity/update.rb
@@ -22,10 +22,15 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
   def update_status
     return reject_payload! if invalid_origin?(@object['id'])
 
-    status = Status.find_by(uri: object_uri, account_id: @account.id)
+    @status = Status.find_by(uri: object_uri, account_id: @account.id)
 
-    return if status.nil?
+    return if @status.nil?
 
-    ActivityPub::ProcessStatusUpdateService.new.call(status, @object)
+    forwarder.forward! if forwarder.forwardable?
+    ActivityPub::ProcessStatusUpdateService.new.call(@status, @object)
+  end
+
+  def forwarder
+    @forwarder ||= ActivityPub::Forwarder.new(@account, @json, @status)
   end
 end