diff options
author | ThibG <thib@sitedethib.com> | 2020-07-12 22:11:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-12 22:11:49 +0200 |
commit | ee5a4030f76c0ec4799d2249aad952665a7bda80 (patch) | |
tree | e444c5294921ad9393ef8fb06fd034889c6ff2d0 /app/services | |
parent | 58204175cc0407673dfbdafec8d15d589e3216d9 (diff) |
Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
Fixes #14296
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/unallow_domain_service.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb index bd1ad328d..870c79951 100644 --- a/app/services/unallow_domain_service.rb +++ b/app/services/unallow_domain_service.rb @@ -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 |