From 10728e35ef861e95685ea4a7974a7bbee03842af Mon Sep 17 00:00:00 2001 From: "Stanko K.R." Date: Thu, 14 Aug 2025 14:32:10 +0200 Subject: [PATCH] Create scopes for filtering comment by user or system --- app/models/ai/list_comments_tool/filter.rb | 4 ++-- app/models/comment.rb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/ai/list_comments_tool/filter.rb b/app/models/ai/list_comments_tool/filter.rb index dc9430a1f..eff0e549b 100644 --- a/app/models/ai/list_comments_tool/filter.rb +++ b/app/models/ai/list_comments_tool/filter.rb @@ -31,9 +31,9 @@ class Ai::ListCommentsTool::Filter < Ai::Tool::Filter def apply_type_filter(scope) if filters[:type].casecmp?("system") - scope.where(creator: { role: "system" }) + scope.by_system else - scope.where.not(creator: { role: "system" }) + scope.by_user end end end diff --git a/app/models/comment.rb b/app/models/comment.rb index 5bce4f9a4..703c3e6a9 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -9,6 +9,8 @@ class Comment < ApplicationRecord searchable_by :body, using: :comments_search_index scope :chronologically, -> { order created_at: :asc, id: :desc } + scope :by_system, -> { joins(:creator).where(creator: { role: "system" }) } + scope :by_user, -> { joins(:creator).where.not(creator: { role: "system" }) } after_create_commit :watch_card_by_creator