This commit is contained in:
Artem Tsyrulnikov
2025-12-01 10:38:43 +03:00
parent ca3805eec3
commit 3508a522ac

View File

@@ -7,21 +7,22 @@ from src.adapter.jwt import JWT, JWTPayload
from src.config import settings from src.config import settings
from src.usecase import Usecase from src.usecase import Usecase
_usecase_template: Usecase | None = None _usecase_instance: Usecase | None = None # Singleton
security = HTTPBearer()
def set_usecase(usecase: Usecase) -> None: def set_usecase(usecase: Usecase) -> None:
global _usecase_template global _usecase_instance
_usecase_template = usecase _usecase_instance = usecase
def get_usecase() -> Usecase: def get_usecase() -> Usecase:
if _usecase_template is None: if _usecase_instance is None:
raise RuntimeError('Usecase not initialized. Call set_usecase() first') raise RuntimeError('Usecase not initialized. Call set_usecase() first')
return _usecase_template return _usecase_instance
security = HTTPBearer()
def get_current_user(credentials: Annotated[HTTPAuthorizationCredentials, Depends(security)]) -> JWTPayload: def get_current_user(credentials: Annotated[HTTPAuthorizationCredentials, Depends(security)]) -> JWTPayload: