|
|
|
@ -9,7 +9,7 @@ from django.db.models import Count
|
|
|
|
|
|
|
|
|
|
@api_view(['GET'])
|
|
|
|
|
def get_chat_rooms(request):
|
|
|
|
|
chat_rooms = ChatRoom.objects.annotate(last_update=Max('chatmessage__date_sent')).order_by('-last_update', '-date_created')
|
|
|
|
|
chat_rooms = ChatRoom.objects.annotate(last_update=Max('chatmessage__date_sent')).filter(chatroomguest__isnull=False).order_by('-last_update', '-date_created')
|
|
|
|
|
chat_rooms_serializer = ChatRoomSerializer(chat_rooms, many=True)
|
|
|
|
|
return successRes(chat_rooms_serializer.data)
|
|
|
|
|
|
|
|
|
@ -22,8 +22,32 @@ def get_dms(request):
|
|
|
|
|
user_id = token_data['userid']
|
|
|
|
|
user = User.objects.get(id=user_id)
|
|
|
|
|
chat_rooms = ChatRoom.objects.annotate(last_update=Max('chatmessage__date_sent')).filter(chatmember__member=user).order_by('-last_update', '-date_created')
|
|
|
|
|
chat_rooms_serializer = ChatRoomSerializer(chat_rooms, many=True)
|
|
|
|
|
return successRes(chat_rooms_serializer.data)
|
|
|
|
|
|
|
|
|
|
chat_rooms_data = []
|
|
|
|
|
|
|
|
|
|
for chat_room in chat_rooms:
|
|
|
|
|
chat_room_data = {
|
|
|
|
|
'id': chat_room.id,
|
|
|
|
|
'name': chat_room.name,
|
|
|
|
|
'last_update': chat_room.last_updated,
|
|
|
|
|
'date_created': chat_room.date_created,
|
|
|
|
|
'unread_messages': chat_room.unread_messages(user)
|
|
|
|
|
}
|
|
|
|
|
members = chat_room.chatmember_set.all()
|
|
|
|
|
member_data = []
|
|
|
|
|
for member in members:
|
|
|
|
|
member_data.append({
|
|
|
|
|
'id': member.member.id,
|
|
|
|
|
'first_name': member.member.first_name,
|
|
|
|
|
'last_name': member.member.last_name,
|
|
|
|
|
'image': member.member.staffprofile.image,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
chat_room_data['members'] = member_data
|
|
|
|
|
|
|
|
|
|
chat_rooms_data.append(chat_room_data)
|
|
|
|
|
|
|
|
|
|
return successRes(data=chat_rooms_data)
|
|
|
|
|
except TokenError as terr:
|
|
|
|
|
return errorRes(msg=str(terr), status=450)
|
|
|
|
|
except Exception as e:
|
|
|
|
|