File size: 1,621 Bytes
06fe0f7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import os
from supabase import create_client
from dotenv import load_dotenv
load_dotenv()
supabase = create_client(
os.getenv("SUPABASE_URL"),
os.getenv("SUPABASE_SERVICE_KEY")
)
def create_customer(name, email, password_hash, phone=None):
result = supabase.table("customers").insert({
"name": name,
"email": email,
"password": password_hash,
"phone": phone
}).execute()
return result.data
def get_customer_by_email(email):
result = supabase.table("customers").select("*").eq("email", email).execute()
return result.data[0] if result.data else None
def create_ticket(customer_id, original_message, language, translated_text, intent, sentiment, urgency, reply):
result = supabase.table("tickets").insert({
"customer_id": customer_id,
"original_message": original_message,
"language": language,
"translated_text": translated_text,
"intent": intent,
"sentiment": sentiment,
"urgency": urgency,
"reply": reply,
"status": "open"
}).execute()
return result.data
def get_tickets_by_customer(customer_id):
result = supabase.table("tickets").select("*").eq("customer_id", customer_id).order("created_at", desc=True).execute()
return result.data
def get_all_tickets():
result = supabase.table("tickets").select("*, customers(name, email)").order("created_at", desc=True).execute()
return result.data
def update_ticket_status(ticket_id, status):
result = supabase.table("tickets").update({"status": status}).eq("id", ticket_id).execute()
return result.data |