Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
Fixes #14296master
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 |
||||||
|
Loading…
Reference in new issue