aiteamutils 0.2.56__tar.gz → 0.2.57__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.56
3
+ Version: 0.2.57
4
4
  Summary: AI Team Utilities
5
5
  Project-URL: Homepage, https://github.com/yourusername/aiteamutils
6
6
  Project-URL: Issues, https://github.com/yourusername/aiteamutils/issues
@@ -15,6 +15,16 @@ T = TypeVar("T", bound=BaseService)
15
15
  R = TypeVar("R", bound=BaseRepository)
16
16
 
17
17
  _service_registry: Dict[str, Dict[str, Any]] = {}
18
+ _session_provider = None
19
+
20
+ def setup_dependencies(session_provider: Callable[[], AsyncGenerator[AsyncSession, None]]) -> None:
21
+ """의존성 설정을 초기화합니다.
22
+
23
+ Args:
24
+ session_provider: 데이터베이스 세션을 제공하는 함수
25
+ """
26
+ global _session_provider
27
+ _session_provider = session_provider
18
28
 
19
29
  def register_service(
20
30
  service_class: Type[T],
@@ -28,6 +38,13 @@ def register_service(
28
38
  repository_class: 저장소 클래스 (선택)
29
39
  **kwargs: 추가 의존성
30
40
  """
41
+ if _session_provider is None:
42
+ raise CustomException(
43
+ ErrorCode.INTERNAL_ERROR,
44
+ detail="Dependencies not initialized",
45
+ source_function="dependencies.register_service"
46
+ )
47
+
31
48
  service_name = service_class.__name__
32
49
  _service_registry[service_name] = {
33
50
  "service_class": service_class,
@@ -103,9 +120,16 @@ def get_service(service_name: str) -> Callable:
103
120
  Returns:
104
121
  Callable: 서비스 의존성 함수
105
122
  """
123
+ if _session_provider is None:
124
+ raise CustomException(
125
+ ErrorCode.INTERNAL_ERROR,
126
+ detail="Dependencies not initialized",
127
+ source_function="dependencies.get_service"
128
+ )
129
+
106
130
  async def _get_service_dependency(
107
131
  request: Request,
108
- session: AsyncSession
132
+ session: AsyncSession = Depends(_session_provider)
109
133
  ) -> BaseService:
110
134
  return await _get_service(service_name, session, request)
111
135
  return _get_service_dependency
@@ -0,0 +1,2 @@
1
+ """버전 정보"""
2
+ __version__ = "0.2.57"
@@ -1,2 +0,0 @@
1
- """버전 정보"""
2
- __version__ = "0.2.56"
File without changes
File without changes
File without changes
File without changes