From f02b0061516bb46a36e73fea666f70a6d449318a Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Tue, 24 Oct 2023 15:43:41 +0800 Subject: [PATCH] Use consistent naming --- app/lib/activitypub/activity/update.rb | 8 +++++--- .../activitypub/process_status_update_service.rb | 11 +++++++---- .../activitypub/process_status_update_service_spec.rb | 10 +++++----- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb index 9309d366334..8789357eb3d 100644 --- a/app/lib/activitypub/activity/update.rb +++ b/app/lib/activitypub/activity/update.rb @@ -26,11 +26,13 @@ class ActivityPub::Activity::Update < ActivityPub::Activity def update_status return reject_payload! if non_matching_uri_hosts?(@account.uri, object_uri) - editor_id = @account.id - status_account_id = object_actor ? object_actor.id : editor_id @status = Status.find_by(uri: object_uri, account_id: status_account_id) return if @status.nil? - ActivityPub::ProcessStatusUpdateService.new.call(@status, @json, @object, request_id: @options[:request_id], editor_id: editor_id) + ActivityPub::ProcessStatusUpdateService.new.call(@status, @json, @object, request_id: @options[:request_id], activity_account_id: @account.id) + end + + def status_account_id + object_actor ? object_actor.id : @account.id end end diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index d8b629fe872..8e41df301ef 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -5,7 +5,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService include Redisable include Lockable - def call(status, activity_json, object_json, request_id: nil, editor_id: nil) + def call(status, activity_json, object_json, request_id: nil, activity_account_id: nil) raise ArgumentError, 'Status has unsaved changes' if status.changed? @activity_json = activity_json @@ -17,7 +17,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService @media_attachments_changed = false @poll_changed = false @request_id = request_id - @editor_id = editor_id + @activity_account_id = activity_account_id # Only native types can be updated at the moment return @status if !expected_type? || already_updated_more_recently? @@ -252,8 +252,11 @@ class ActivityPub::ProcessStatusUpdateService < BaseService return unless significant_changes? @previous_edit&.save! - account_id = @editor_id || @account.id - @status.snapshot!(account_id: account_id, rate_limit: false) + @status.snapshot!(account_id: editor_account_id, rate_limit: false) + end + + def editor_account_id + @activity_account_id || @account.id end def skip_download? diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb index 0592b165732..6d9d30f664a 100644 --- a/spec/services/activitypub/process_status_update_service_spec.rb +++ b/spec/services/activitypub/process_status_update_service_spec.rb @@ -463,17 +463,17 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do expect(status.reload.edited_at.to_s).to eq '2021-09-08 22:39:25 UTC' end - context 'with an editor_id' do - let(:editor) { Fabricate(:account) } + context 'with an activity_account_id' do + let(:activity_account) { Fabricate(:account) } it 'creates edits with the right editor' do allow(DistributionWorker).to receive(:perform_async) - subject.call(status, json, json, editor_id: editor.id) - expect(status.edits.reload.last.account_id).to eq editor.id + subject.call(status, json, json, activity_account_id: activity_account.id) + expect(status.edits.reload.last.account_id).to eq activity_account.id end end - context 'without an editor_id' do + context 'without an activity_account_id' do it 'creates edits with the right editor' do allow(DistributionWorker).to receive(:perform_async) subject.call(status, json, json)