From afa57c1afccad9e02a2dc7ae8db2687d2800f192 Mon Sep 17 00:00:00 2001 From: Alexey Kudelko Date: Fri, 15 Mar 2024 00:24:26 +0300 Subject: [PATCH] chats fix --- chats/views.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/chats/views.py b/chats/views.py index a99b5190..afffe7b1 100644 --- a/chats/views.py +++ b/chats/views.py @@ -117,7 +117,9 @@ def get(self, request, *args, **kwargs) -> Response: except ValueError: return Response( status=status.HTTP_400_BAD_REQUEST, - data={"detail": "processed id must contain two integers separated by underscore"}, + data={ + "detail": "processed id must contain two integers separated by underscore" + }, ) except AssertionError as e: return Response(status=status.HTTP_400_BAD_REQUEST, data={"detail": str(e)}) @@ -223,10 +225,16 @@ def get(self, request, *args, **kwargs): project_chats = user.get_project_chats().prefetch_related("messages") has_direct_messages_unread = ( - direct_messages.filter(messages__is_read=False).distinct().exists() + direct_messages.filter(messages__is_read=False) + .exclude(messages__is_deleted=True) + .distinct() + .exists() ) has_project_messages_unread = ( - project_chats.filter(messages__is_read=False).distinct().exists() + project_chats.filter(messages__is_read=False) + .exclude(messages__is_deleted=True) + .distinct() + .exists() ) return Response( {"has_unreads": has_direct_messages_unread or has_project_messages_unread}