Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
Fixes #14296th-downstream
parent
f360df6816
commit
0be60c5d05
@ -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
|
||||
|
Loading…
Reference in new issue