Ejemplo n.º 1
0
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)