solorpower_server/app/core/database.py

29 lines
660 B
Python

"""
Supabase 데이터베이스 클라이언트 모듈
- 싱글톤 패턴으로 클라이언트 인스턴스 관리
"""
from supabase import create_client, Client
from functools import lru_cache
from .config import get_settings
@lru_cache()
def get_supabase_client() -> Client:
"""
Supabase 클라이언트 싱글톤 인스턴스 반환
lru_cache를 사용하여 한 번만 생성
"""
settings = get_settings()
return create_client(
settings.SUPABASE_URL,
settings.SUPABASE_KEY
)
def get_db() -> Client:
"""
Supabase 클라이언트 반환 (의존성 주입용)
"""
return get_supabase_client()