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
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class UnallowDomainService < BaseService
|
class UnallowDomainService < BaseService
|
||||||
|
include DomainControlHelper
|
||||||
|
|
||||||
def call(domain_allow)
|
def call(domain_allow)
|
||||||
Account.where(domain: domain_allow.domain).find_each do |account|
|
suspend_accounts!(domain_allow.domain) if whitelist_mode?
|
||||||
SuspendAccountService.new.call(account, reserve_username: false)
|
|
||||||
end
|
|
||||||
|
|
||||||
domain_allow.destroy
|
domain_allow.destroy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def suspend_accounts!(domain)
|
||||||
|
Account.where(domain: domain).find_each do |account|
|
||||||
|
SuspendAccountService.new.call(account, reserve_username: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue