Beispiel #1
0
def route_get_conversation(conversation_id):
    uid = request.headers.get("uid", None)
    user = User.objects.get_or_404(uid=uid)
    conversation = Conversation.objects.get_or_404(id=conversation_id, participants=user).to_mongo()

    user_ids = get_conversation_reference_ids([conversation])
    user_index = User.get_users_dict(user_ids)
    conversation["participants"] = [user_index.get(str(user_id), None) for user_id in conversation["participants"]]
    conversation["references"] = [user_index.get(str(user_id), None) for user_id in conversation["references"]]

    response = encode(conversation)
    return Response(response, mimetype="application/json")
Beispiel #2
0
def route_list_user_conversations():
    uid = request.headers.get("uid", None)
    user = User.objects.get_or_404(uid=uid)
    conversations = Conversation.objects(participants=user).as_pymongo()

    user_ids = get_conversation_reference_ids(conversations)
    users_dict = User.get_users_dict(user_ids)

    converted = []
    for conversation in conversations:
        participants = [users_dict.get(str(user_id), None) for user_id in conversation.get("participants")]
        references = [users_dict.get(str(user_id), None) for user_id in conversation.get("references")]
        if None not in participants and None not in references:
            conversation["participants"] = participants
            conversation["references"] = references
            converted.append(conversation)

    response = encode(converted)
    return Response(response, mimetype="application/json")