Skip to content

Commit

Permalink
feat: add queue to room list (#397)
Browse files Browse the repository at this point in the history
  • Loading branch information
helllllllder authored Oct 9, 2024
1 parent fa02953 commit e03307e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 12 deletions.
6 changes: 6 additions & 0 deletions chats/apps/api/v1/queues/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ def validate(self, data):
return data


class QueueSimpleSerializer(serializers.ModelSerializer):
class Meta:
model = Queue
fields = ["uuid", "name"]


class QueueUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = Queue
Expand Down
4 changes: 3 additions & 1 deletion chats/apps/api/v1/rooms/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from chats.apps.accounts.models import User
from chats.apps.api.v1.accounts.serializers import UserSerializer
from chats.apps.api.v1.contacts.serializers import ContactRelationsSerializer
from chats.apps.api.v1.queues.serializers import QueueSerializer
from chats.apps.api.v1.queues.serializers import QueueSerializer, QueueSimpleSerializer
from chats.apps.api.v1.sectors.serializers import DetailSectorTagSerializer
from chats.apps.queues.models import Queue
from chats.apps.rooms.models import Room
Expand Down Expand Up @@ -89,6 +89,7 @@ def get_can_edit_custom_fields(self, room: Room):

class ListRoomSerializer(serializers.ModelSerializer):
user = serializers.SerializerMethodField()
queue = QueueSimpleSerializer(many=False, read_only=True)
contact = serializers.SerializerMethodField()
unread_msgs = serializers.IntegerField(required=False, default=0)
last_message = serializers.CharField(read_only=True, source="last_message_text")
Expand All @@ -104,6 +105,7 @@ class Meta:
fields = [
"uuid",
"user",
"queue",
"contact",
"unread_msgs",
"last_message",
Expand Down
13 changes: 2 additions & 11 deletions chats/apps/api/v1/rooms/viewsets.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
from datetime import timedelta

from django.conf import settings
from django.db.models import (
BooleanField,
Case,
Count,
Max,
OuterRef,
Q,
Subquery,
When,
)
from django.db.models import BooleanField, Case, Count, Max, OuterRef, Q, Subquery, When
from django.utils import timezone
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import filters, mixins, permissions, status
Expand Down Expand Up @@ -105,7 +96,7 @@ def get_queryset(
.order_by("-created_on")
.values("text")[:1]
),
).select_related("user", "contact", "queue__sector")
).select_related("user", "contact", "queue", "queue__sector")

return qs

Expand Down

0 comments on commit e03307e

Please sign in to comment.