From 09900b34aaaca7feade3a219fd976808be4f31d0 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Sat, 23 Aug 2025 02:46:41 +0800 Subject: [PATCH] Restrict conversation lookup to private chats --- .../openisle/repository/MessageConversationRepository.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/openisle/repository/MessageConversationRepository.java b/backend/src/main/java/com/openisle/repository/MessageConversationRepository.java index 6e3b2ad5f..d260c4f38 100644 --- a/backend/src/main/java/com/openisle/repository/MessageConversationRepository.java +++ b/backend/src/main/java/com/openisle/repository/MessageConversationRepository.java @@ -11,8 +11,11 @@ import java.util.List; @Repository public interface MessageConversationRepository extends JpaRepository { - @Query("SELECT c FROM MessageConversation c JOIN c.participants p1 JOIN c.participants p2 " + - "WHERE p1.user = :user1 AND p2.user = :user2 ORDER BY c.createdAt DESC") + @Query("SELECT c FROM MessageConversation c " + + "WHERE c.channel = false AND size(c.participants) = 2 " + + "AND EXISTS (SELECT 1 FROM c.participants p1 WHERE p1.user = :user1) " + + "AND EXISTS (SELECT 1 FROM c.participants p2 WHERE p2.user = :user2) " + + "ORDER BY c.createdAt DESC") List findConversationsByUsers(@Param("user1") User user1, @Param("user2") User user2); @Query("SELECT DISTINCT c FROM MessageConversation c " +