def get_queryset(self): queryset = Chat.objects.all() username = self.request.query_params.get('username', None) if username is not None: contact = get_user_contact(username) queryset = contact.chats.all() return queryset
def get_queryset(self): queryset = Chat.objects.all() username = self.request.query_params.get('username', None) band_id = self.request.query_params.get('band_id', None) if username is not None and band_id is not None: contact = get_user_contact(username) queryset = contact.chats.filter(band_id=band_id) return queryset
def create(self, validated_data): participants = validated_data.pop("participants") chat = Chat() chat.save() for username in participants: contact = get_user_contact(username) chat.participants.add(contact) chat.save() return chat
def create(self, validated_data): print("---SERIALIZER -> CHAT SERIALIZER - VALIDATED DATA: ",validated_data) participants = validated_data.pop('participants') chat = Chat() chat.save() for username in participants: contact = get_user_contact(username) chat.participants.add(contact) chat.save() return chat
def create(self, validated_data): print(validated_data) participants = validated_data.pop('participants') band = validated_data.pop('band') chat = Chat(band=band) chat.save() for username in participants: contact = get_user_contact(username) chat.participants.add(contact) chat.save() return chat
def create(self, validated_data): participants = validated_data.pop('participants') chat = Chat() chat.save() curr_user = self.context['request'].user if (len(Contact.objects.filter(user=curr_user)) == 0): Contact.objects.create(user=curr_user) usernames='' for username in participants: contact = get_user_contact(username) chat.participants.add(contact) usernames += username.capitalize() + '_' usernames=usernames[:-1] chat.memebers_name=usernames chat.save() return chat
def post(self, request): print("[[ChatSend]] post") username = request.data['from'] is_file = request.data['is_file'] file_path = request.data['file_path'] chat_id = request.data['chat_id'] chat = Chat.objects.get(pk=chat_id) user_contact = get_user_contact(username) message = Message.objects.create(contact=user_contact, is_file=is_file, file_path=file_path) current_chat = get_current_chat(chat_id) current_chat.messages.add(message) current_chat.save() content = { 'command': 'new_message', 'message': message_to_json(message) } print('xxxxxxx') print(content) print(chat.group_name()) try: # websocket으로 message send 하기 async_to_sync(channel_layer.group_send)( chat.group_name(), { "type": "chat_message", # call chat_message method "message": content, }) return Response({'result': 8200}, status=status.HTTP_200_OK) except Exception as ex: print('eeeeee') print(ex) return Response({'result': 8400}, status=status.HTTP_200_OK)