Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298)
Fixes #14296
This commit is contained in:
		
							parent
							
								
									f360df6816
								
							
						
					
					
						commit
						0be60c5d05
					
				
					 1 changed files with 11 additions and 3 deletions
				
			
		|  | @ -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 a new issue