From ee5a4030f76c0ec4799d2249aad952665a7bda80 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 12 Jul 2020 22:11:49 +0200 Subject: [PATCH] Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298) Fixes #14296 --- app/services/unallow_domain_service.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb index bd1ad328da..870c799514 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