]> cat aescling's git repositories - mastodon.git/commitdiff
Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
authorThibG <thib@sitedethib.com>
Sun, 12 Jul 2020 20:11:49 +0000 (22:11 +0200)
committerGitHub <noreply@github.com>
Sun, 12 Jul 2020 20:11:49 +0000 (22:11 +0200)
Fixes #14296

app/services/unallow_domain_service.rb

index bd1ad328dacae06933039aae85da51644e8a4a90..870c799514b368ec004bedb4eaf17b82176758a1 100644 (file)
@@ -1,11 +1,19 @@
 # frozen_string_literal: true
 
 class UnallowDomainService < BaseService
+  include DomainControlHelper
+
   def call(domain_allow)
-    Account.where(domain: domain_allow.domain).find_each do |account|
-      SuspendAccountService.new.call(account, reserve_username: false)
-    end
+    suspend_accounts!(domain_allow.domain) if whitelist_mode?
 
     domain_allow.destroy
   end
+
+  private
+
+  def suspend_accounts!(domain)
+    Account.where(domain: domain).find_each do |account|
+      SuspendAccountService.new.call(account, reserve_username: false)
+    end
+  end
 end