diff --git a/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java b/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java index e62965d22674..5049a5fad54b 100644 --- a/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java +++ b/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java @@ -52,7 +52,7 @@ public interface ConversationRepository extends ArtemisJpaRepository cp.lastRead OR (channel.isCourseWide = TRUE AND cp.lastRead IS NULL)) + LEFT JOIN Post p ON conv.id = p.conversation.id AND p.author.id <> :userId AND (p.creationDate > cp.lastRead OR (channel.isCourseWide = TRUE AND cp.lastRead IS NULL)) WHERE conv.id IN :conversationIds AND (channel.isCourseWide = TRUE OR (conv.id = cp.conversation.id AND cp.user.id = :userId)) GROUP BY conv.id, cp.id, cp.isModerator, cp.isFavorite, cp.isHidden, cp.lastRead @@ -84,6 +84,7 @@ SELECT COUNT(p.id) > 0 LEFT JOIN ConversationParticipant cp ON c.id = cp.conversation.id AND cp.user.id = :userId LEFT JOIN Channel ch ON c.id = ch.id WHERE c.course.id = :courseId + AND p.author.id <> :userId AND ( p.creationDate > cp.lastRead OR (ch.isCourseWide = TRUE AND cp.id IS NULL)