def request_chat(): data = request.json recipient_id = data["recipient_id"] sender_id = current_user.id sender_chat_channel = f"private-chat_user_{sender_id}" recipient_chat_channel = f"private-chat_user_{recipient_id}" # get channel between sender, recipient if exists # create otherwise channel = Channel.get_or_create(sender_id, recipient_id) data = { "sender_id": sender_id, "recipient_id": recipient_id, "sender_chat_channel": sender_chat_channel, "recipient_chat_channel": recipient_chat_channel, "channel_name": channel.name, "channel_id": channel.id, } # trigger an event to recipient pusher.trigger(recipient_chat_channel, "new_chat", data) return jsonify(data)