diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-01-05 13:47:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-05 13:47:21 +0100 |
commit | 18fb01ef7ca3829b07bb8ea101bdd073da72cfbc (patch) | |
tree | 5e493ef3997176e4a98be57ee68068d427176906 /app/services/suspend_account_service.rb | |
parent | 8683a082ddc04b2028b73a039325fd70fe3c55a9 (diff) |
Fix possible race conditions when suspending/unsuspending accounts (#22363)
* Fix possible race conditions when suspending/unsuspending accounts * Fix tests Tests were assuming SuspensionWorker and UnsuspensionWorker would do the suspending/unsuspending themselves, but this has changed.
Diffstat (limited to 'app/services/suspend_account_service.rb')
-rw-r--r-- | app/services/suspend_account_service.rb | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/app/services/suspend_account_service.rb b/app/services/suspend_account_service.rb index 6856c2c51..211544fea 100644 --- a/app/services/suspend_account_service.rb +++ b/app/services/suspend_account_service.rb @@ -3,10 +3,13 @@ class SuspendAccountService < BaseService include Payloadable + # Carry out the suspension of a recently-suspended account + # @param [Account] account Account to suspend def call(account) + return unless account.suspended? + @account = account - suspend! reject_remote_follows! distribute_update_actor! unmerge_from_home_timelines! @@ -16,10 +19,6 @@ class SuspendAccountService < BaseService private - def suspend! - @account.suspend! unless @account.suspended? - end - def reject_remote_follows! return if @account.local? || !@account.activitypub? |