diff --git a/.DS_Store b/.DS_Store index 795b3695..34876ef9 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/osinaweb/.DS_Store b/osinaweb/.DS_Store index 88fc5fb7..f1bb4d71 100644 Binary files a/osinaweb/.DS_Store and b/osinaweb/.DS_Store differ diff --git a/osinaweb/osichat/api/views.py b/osinaweb/osichat/api/views.py index 8d36c3c6..e0c244e1 100644 --- a/osinaweb/osichat/api/views.py +++ b/osinaweb/osichat/api/views.py @@ -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: diff --git a/osinaweb/osinacore/.DS_Store b/osinaweb/osinacore/.DS_Store index 99c8883a..1acdccda 100644 Binary files a/osinaweb/osinacore/.DS_Store and b/osinaweb/osinacore/.DS_Store differ diff --git a/osinaweb/osinacore/templates/.DS_Store b/osinaweb/osinacore/templates/.DS_Store index a62f4f7b..967428c0 100644 Binary files a/osinaweb/osinacore/templates/.DS_Store and b/osinaweb/osinacore/templates/.DS_Store differ