Spaces:
Running
on
Zero
Running
on
Zero
from supabase import create_client, Client | |
import os | |
import json | |
from dotenv import load_dotenv | |
load_dotenv() | |
# Initialize Supabase client | |
supabase: Client = create_client(os.getenv("SUPABASE_URL"), os.getenv("SUPABASE_KEY")) | |
def get_user_history(user_id): | |
response = supabase.table("history").select("messages").eq("user", user_id).order("created_at", desc=True).limit(1).execute() | |
if response.data: | |
return response.data[0]['messages'] | |
return [] | |
def update_user_history(user_id, new_history): | |
# Filter out messages with image type | |
filtered_history = [ | |
message for message in new_history | |
if not (message["role"] == "user" and | |
isinstance(message["content"], list) and | |
any(item.get("type") == "image" for item in message["content"])) | |
] | |
# Insert the filtered history into the database | |
supabase.table("history").insert({"user": user_id, "messages": filtered_history}).execute() | |
def delete_user_history(user_id): | |
response = supabase.table("history").delete().eq("user", user_id).execute() | |
return response.data | |