mirror of
https://github.com/discourse/discourse-solved.git
synced 2025-07-03 04:12:31 +00:00
This commit autoloads plugin files, and also extracts features into their own modules. - `plugin.rb` is smaller - external plugins like discourse-automation and discourse-assign have their own entrypoints - solved filters as well
20 lines
517 B
Ruby
20 lines
517 B
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscourseSolved
|
|
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"
|
|
|
|
return false if TrustLevel.compare(post&.user&.trust_level, trust_level.to_i)
|
|
|
|
if !UserAction.where(user_id: post&.user_id, action_type: UserAction::SOLVED).exists?
|
|
return true
|
|
end
|
|
|
|
false
|
|
end
|
|
end
|
|
end
|