Moderator
so this is my main.py
from appwrite.client import Clientfrom appwrite.services.databases import Databasesfrom appwrite.services.users import Usersfrom appwrite.query import Queryfrom .claude_functions import ClaudeFunctionsimport os
# This is your Appwrite function# It's executed each time we get a requestdef main(context): # Why not try the Appwrite SDK? client = ( Client() .set_endpoint("https://zappwrite.com/v1") .set_project(os.environ["APPWRITE_FUNCTION_PROJECT_ID"]) .set_key(os.environ["APPWRITE_API_KEY"]) ) appwriteusers = Users(client) appwritedb = Databases(client) personalityAssessments = appwritedb.list_documents( "maindb", "personality_assessments", [Query.limit(1000)] )
context.log( f"Found {len(personalityAssessments['documents'])} personality assessments" ) claude_functions = ClaudeFunctions.get_instance(context)
# Go through our personality assessments and index any that need to be indexed for assessment in personalityAssessments: if assessment.get("indexed") == False: claude_functions.index_personality_assessment( assessment.get("$id"), assessment.get("description") ) # Get the user ID user_id = context.req.body.get("userId") chat_id = context.req.body.get("chatId") user_message = context.req.body.get("userMessage") context.log(f"User ID in request: {user_id}\nChat ID in request: {chat_id}") # Get the user user = appwriteusers.get(user_id) # If we have a user we're good to go if user: user_messages = appwritedb.list_documents( "maindb", "chat_messages", [Query.limit(1000), Query.equal("chatId", chat_id)], ).get("documents") response = claude_functions.chat(user, user_message, user_messages) return context.res.json(response) else: context.error("User not found") return context.res.json({"error": "User not found"})