Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)

Fixes #14296
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
ThibG 2020-07-12 22:11:49 +02:00 committed by GitHub
parent 58204175cc
commit ee5a4030f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 3 deletions

View File

@ -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