hushh-valet-chat / models /supabase_models.py
Omkar008's picture
Update models/supabase_models.py
2de61d8 verified
raw
history blame
No virus
1.26 kB
from pydantic import BaseModel
from dotenv import load_dotenv
from supabase import create_client
from functools import lru_cache
import os
@lru_cache(maxsize=1)
class Supabase_Settings(BaseModel):
SUPABASE_URL: str = os.getenv("SUPABASE_URL")
SUPABASE_ANON_KEY: str = os.getenv("SUPABASE_ANON_KEY")
SUPABASE_SERVICE_KEY: str = os.getenv("SUPABASE_SERVICE_KEY")
@lru_cache(maxsize=1)
class Supabase_Clients:
values = Supabase_Settings()
anon_supabase = create_client(values.SUPABASE_URL, values.SUPABASE_ANON_KEY)
service_supabase = create_client(values.SUPABASE_URL, values.SUPABASE_SERVICE_KEY)
def AuthUser_Validator(apitoken: str):
supabase_clients = Supabase_Clients()
settings = Supabase_Settings()
supabase = supabase_clients.anon_supabase
try:
user = supabase.auth.get_user(apitoken)
print(user.user.id)
return str(user.user.id)
except Exception as e:
print("Exceptional error")
if apitoken == settings.SUPABASE_ANON_KEY:
return "Exceptional error"
raise HTTPException(
status_code=401,
detail=f"invalid Api Token: unable to parse or verify signature, signing method (alg) is unavailable.",
)