|
from supabase import create_client, Client |
|
import os |
|
import json |
|
from dotenv import load_dotenv |
|
|
|
load_dotenv() |
|
|
|
|
|
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): |
|
|
|
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"])) |
|
] |
|
|
|
|
|
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 |
|
|