From a36c3a765c1d90910b71cac00dc570085ec45546 Mon Sep 17 00:00:00 2001 From: helllllllder Date: Thu, 3 Oct 2024 10:33:13 -0300 Subject: [PATCH] feat: fix serializer --- chats/apps/api/v1/rooms/serializers.py | 21 +++++++++++++++------ chats/apps/api/v1/rooms/viewsets.py | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/chats/apps/api/v1/rooms/serializers.py b/chats/apps/api/v1/rooms/serializers.py index 3709d054..a187adb3 100644 --- a/chats/apps/api/v1/rooms/serializers.py +++ b/chats/apps/api/v1/rooms/serializers.py @@ -150,7 +150,9 @@ class ListOptimizedRoomSerializer(serializers.ModelSerializer): is_waiting = serializers.CharField( read_only=True, source="is_waiting_combined" ) # precisa mesmo verificar flowstarts? o campo is_waiting deveria ser o suficiente para essa feature - is_24h_valid = serializers.BooleanField(default=True) + is_24h_valid = serializers.BooleanField( + default=True, source="is_24h_valid_computed" + ) last_interaction = serializers.DateTimeField(read_only=True) can_edit_custom_fields = serializers.SerializerMethodField() @@ -174,11 +176,18 @@ class Meta: ] def get_user(self, room: Room): - return { - "first_name": room.user.first_name, - "last_name": room.user.last_name, - "email": room.user.email, - } + try: + return { + "first_name": room.user.first_name, + "last_name": room.user.last_name, + "email": room.user.email, + } + except AttributeError: + { + "first_name": "", + "last_name": "", + "email": "", + } def get_contact(self, room: Room): return { diff --git a/chats/apps/api/v1/rooms/viewsets.py b/chats/apps/api/v1/rooms/viewsets.py index 44eb277b..1d89dc66 100644 --- a/chats/apps/api/v1/rooms/viewsets.py +++ b/chats/apps/api/v1/rooms/viewsets.py @@ -90,7 +90,7 @@ def get_queryset(self): # separar queries list e retrieve de update e close last_contact_interaction=Max( "messages__created_on", filter=Q(messages__contact__isnull=False) ), - is_24h_valid=Case( + is_24h_valid_computed=Case( When( Q( urn__startswith="whatsapp",