repair-quote-agent / database.py
jsree667's picture
Fix Supabase client init - graceful fallback if secrets missing
37bbf7f
Raw
History Blame Contribute Delete
1.33 kB
import os
from dotenv import load_dotenv
load_dotenv()
SUPABASE_URL = os.getenv("SUPABASE_URL")
SUPABASE_KEY = os.getenv("SUPABASE_KEY")
# Only create the client if credentials are actually available
supabase = None
if SUPABASE_URL and SUPABASE_KEY:
from supabase import create_client, Client
supabase: Client = create_client(SUPABASE_URL, SUPABASE_KEY)
else:
print("WARNING: Supabase credentials missing — logging disabled")
def log_diagnosis(filename: str, language: str, diagnosis: str):
if not supabase:
print("Logging skipped: Supabase not configured")
return None
try:
response = supabase.table("diagnosis_logs").insert({
"filename": filename,
"language": language,
"diagnosis": diagnosis,
}).execute()
return response.data[0]["id"] if response.data else None
except Exception as e:
print(f"Logging error (non-fatal): {e}")
return None
def update_feedback(log_id: int, feedback: str) -> None:
if not supabase:
print("Feedback skipped: Supabase not configured")
return
try:
supabase.table("diagnosis_logs").update({
"feedback": feedback
}).eq("id", log_id).execute()
except Exception as e:
print(f"Feedback update error (non-fatal): {e}")