29 lines
660 B
Python
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()
|