aiteamutils 0.2.19__py3-none-any.whl → 0.2.20__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
aiteamutils/database.py CHANGED
@@ -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)
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.19"
2
+ __version__ = "0.2.20"
@@ -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
@@ -4,13 +4,13 @@ aiteamutils/base_repository.py,sha256=qdwQ7Sj2fUqxpDg6cWM48n_QbwPK_VUlG9zTSem8iC
4
4
  aiteamutils/base_service.py,sha256=E4dHGE0DvhmRyFplh46SwKJOSF_nUL7OAsCkf_ZJF_8,24733
5
5
  aiteamutils/cache.py,sha256=tr0Yn8VPYA9QHiKCUzciVlQ2J1RAwNo2K9lGMH4rY3s,1334
6
6
  aiteamutils/config.py,sha256=7pJHBml8RRXC9FpoRBx0emofFkvtxsyk9_Rcur2F9hI,2724
7
- aiteamutils/database.py,sha256=09ihgJgKlCTouWPnb2dMhWqNH75n7lwB5GauEtr3oiQ,33226
8
- aiteamutils/dependencies.py,sha256=S6OWV4d3TONKKW9tRUP9whQlVX5DFfOq7U-7VUyPktA,3928
7
+ aiteamutils/database.py,sha256=XSkyjzerqS6OOo-xACmx3la4KiUsuF32JRXcCA8mjfU,33516
8
+ aiteamutils/dependencies.py,sha256=gy1G4DFb-UooFDFZOSIThEDDCUtsJn9odnm5dKV1kQM,4000
9
9
  aiteamutils/enums.py,sha256=ipZi6k_QD5-3QV7Yzv7bnL0MjDz-vqfO9I5L77biMKs,632
10
10
  aiteamutils/exceptions.py,sha256=YV-ISya4wQlHk4twvGo16I5r8h22-tXpn9wa-b3WwDM,15231
11
11
  aiteamutils/security.py,sha256=2k5j8iV4jkp0IGRmOtEbVyoeuoDHbguzaYju0Wm-mmI,12715
12
12
  aiteamutils/validators.py,sha256=3N245cZFjgwtW_KzjESkizx5BBUDaJLbbxfNO4WOFZ0,7764
13
- aiteamutils/version.py,sha256=_eoKPwRS0ZzJnLLVwSp5EAhgKrf0Q6oB054Btj3CyEo,44
14
- aiteamutils-0.2.19.dist-info/METADATA,sha256=CJBJQsQYrIrzKzHyvro2YBWWTcKN5dcqAiXG6Lw51_c,1718
15
- aiteamutils-0.2.19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- aiteamutils-0.2.19.dist-info/RECORD,,
13
+ aiteamutils/version.py,sha256=QU8rgwUP0RFiPXTax1Klj3C2oOhVbZIxSTH48xXwJiA,44
14
+ aiteamutils-0.2.20.dist-info/METADATA,sha256=rluy_nzwvsfEouI6DLMLsefZz7w9zDzINHoPXIeLcLk,1718
15
+ aiteamutils-0.2.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ aiteamutils-0.2.20.dist-info/RECORD,,