Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
Fixes #14296gh/stable
parent
58204175cc
commit
ee5a4030f7
|
@ -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
|
||||
|
|
Reference in New Issue