mirror of
				https://github.com/discourse/discourse-solved.git
				synced 2025-10-31 06:28:53 +00:00 
			
		
		
		
	
		
			
	
	
		
			20 lines
		
	
	
		
			480 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			480 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|  | # frozen_string_literal: true | ||
|  | 
 | ||
|  | class FirstAcceptedPostSolutionValidator | ||
|  |   def self.check(post, trust_level:) | ||
|  |     return false if post.archetype != Archetype.default | ||
|  |     return false if !post&.user&.human? | ||
|  |     return true if trust_level == 'any' | ||
|  | 
 | ||
|  |     if TrustLevel.compare(post&.user&.trust_level, trust_level.to_i) | ||
|  |       return false | ||
|  |     end | ||
|  | 
 | ||
|  |     if !UserAction.where(user_id: post&.user_id, action_type: UserAction::SOLVED).exists? | ||
|  |       return true | ||
|  |     end | ||
|  | 
 | ||
|  |     false | ||
|  |   end | ||
|  | end |