aiteamutils 0.2.19__tar.gz → 0.2.20__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.19
3
+ Version: 0.2.20
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
@@ -85,7 +85,7 @@ class DatabaseService:
85
85
  pool_pre_ping=True,
86
86
  poolclass=QueuePool,
87
87
  )
88
- self.async_session = sessionmaker(
88
+ self.session_factory = sessionmaker(
89
89
  bind=self.engine,
90
90
  class_=AsyncSession,
91
91
  expire_on_commit=False
@@ -93,7 +93,11 @@ class DatabaseService:
93
93
  self.db = None
94
94
  elif session:
95
95
  self.engine = session.bind
96
- self.async_session = None
96
+ self.session_factory = sessionmaker(
97
+ bind=self.engine,
98
+ class_=AsyncSession,
99
+ expire_on_commit=False
100
+ )
97
101
  self.db = session
98
102
  else:
99
103
  raise ValueError("Either db_url or session must be provided")
@@ -788,9 +792,13 @@ class DatabaseService:
788
792
  CustomException: 데이터베이스 작업 중 오류 발생 시
789
793
  """
790
794
  try:
791
- async with self.db as session:
792
- result = await session.execute(query)
795
+ if self.db:
796
+ result = await self.db.execute(query)
793
797
  return result
798
+ else:
799
+ async with self.session_factory() as session:
800
+ result = await session.execute(query)
801
+ return result
794
802
  except Exception as e:
795
803
  raise CustomException(
796
804
  ErrorCode.DB_QUERY_ERROR,
@@ -2,6 +2,7 @@ from typing import Type, Dict, Tuple, Any, Callable
2
2
  from fastapi import Depends, status
3
3
  from fastapi.security import OAuth2PasswordBearer
4
4
  from jose import JWTError, jwt
5
+ from sqlalchemy.ext.asyncio import AsyncSession
5
6
 
6
7
  from .database import DatabaseService, get_database_service
7
8
  from .exceptions import CustomException, ErrorCode
@@ -59,7 +60,8 @@ def get_service(name: str):
59
60
  Returns:
60
61
  Callable: 서비스 인스턴스를 반환하는 의존성 함수
61
62
  """
62
- def _get_service(db_service: DatabaseService = Depends(get_database_service)):
63
+ def _get_service(db: AsyncSession = Depends(get_db)):
64
+ db_service = DatabaseService(session=db)
63
65
  repository_class, service_class = service_registry.get(name)
64
66
  repository = repository_class(db_service)
65
67
  return service_class(repository, db_service)
@@ -0,0 +1,2 @@
1
+ """버전 정보"""
2
+ __version__ = "0.2.20"
@@ -1,2 +0,0 @@
1
- """버전 정보"""
2
- __version__ = "0.2.19"
@@ -1,4 +0,0 @@
1
- from aiteamutils.config import get_settings
2
-
3
- # settings를 사용하는 곳에서는 get_settings()를 호출하여 사용
4
- settings = get_settings()
File without changes
File without changes
File without changes