Files
danbooru/app/logical/moderator/dashboard/queries/comment.rb
2021-06-17 04:17:53 -05:00

22 lines
618 B
Ruby

module Moderator
module Dashboard
module Queries
class Comment < ::Struct.new(:comment, :count)
def self.all(min_date, max_level)
::CommentVote
.joins(comment: [:creator])
.where("comments.score < 0")
.where("comment_votes.created_at > ?", min_date)
.where("users.level <= ?", max_level)
.group(:comment)
.having("count(*) >= 3")
.order(Arel.sql("count(*) desc"))
.limit(10)
.count
.map { |comment, count| new(comment, count) }
end
end
end
end
end