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 | # 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 a new issue