diff --git a/main.py b/main.py index 43c64a5..c345409 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ from flask import Flask, jsonify, request, render_template from pymongo import MongoClient from bson.objectid import ObjectId +from bson.json_util import dumps, loads from datetime import datetime from argon2 import PasswordHasher import random @@ -80,6 +81,25 @@ def checkChatPermission(token, chatId, permission): else: return False, "Invalid Token" +# Chat List Endpoint: +# Get all the chats associated with a user +# Arguments: token (required) +@app.route('/api/user/chats', methods = ['GET']) +def getUserChats(): + # Get user auth token + token = request.json['token'] + a, userId = checkUserPermission(token, True) + if (a == True): + returnedChats = list(chatCollection.find({'permissions.' + userId : "view"})) + chats = [] + for doc in returnedChats: + if '_id' in doc and isinstance(doc['_id'], ObjectId): + doc['_id'] = str(doc['_id']) + chats.append(doc) + + jsonChats = json.dumps(chats, indent=2) + return jsonChats + # Chat Details Endpoint: # Get or change details about a chat using the chatId # Arguments: token (required), details (required), model, name