aiteamutils 0.2.39__py3-none-any.whl → 0.2.41__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
aiteamutils/database.py CHANGED
@@ -685,16 +685,33 @@ class DatabaseService:
685
685
 
686
686
  Returns:
687
687
  생성된 로그 엔티티
688
- """
689
- # 공통 필드 추가 (ULID를 문자열로 변환)
690
- log_data["ulid"] = str(ULID())
691
-
692
- # request가 있는 경우 user-agent와 ip 정보 추가
693
- if request:
694
- log_data["user_agent"] = request.headers.get("user-agent")
695
- log_data["ip_address"] = request.headers.get("x-forwarded-for")
696
688
 
697
- return await self.create_entity(model, log_data)
689
+ Raises:
690
+ CustomException: 로그 생성 실패 시
691
+ """
692
+ try:
693
+ # 공통 필드 추가 (ULID를 문자열로 변환)
694
+ log_data["ulid"] = str(ULID())
695
+
696
+ # request가 있는 경우 user-agent와 ip 정보 추가
697
+ if request:
698
+ log_data["user_agent"] = request.headers.get("user-agent")
699
+ log_data["ip_address"] = request.headers.get("x-forwarded-for")
700
+
701
+ # 데이터 전처리
702
+ processed_data = self.preprocess_data(model, log_data)
703
+ entity = model(**processed_data)
704
+
705
+ # 로그 엔티티 저장
706
+ self.db.add(entity)
707
+ await self.db.flush()
708
+
709
+ return entity
710
+
711
+ except Exception as e:
712
+ logging.error(f"Failed to create log: {str(e)}")
713
+ # 로그 생성 실패는 원래 작업에 영향을 주지 않도록 함
714
+ return None
698
715
 
699
716
  async def soft_delete(
700
717
  self,
@@ -99,35 +99,15 @@ def get_service(name: str):
99
99
  """
100
100
  def _get_service(db_service: DatabaseService = Depends(get_database_service)):
101
101
  try:
102
- # 서비스 레지스트리에서 클래스 조회
103
- try:
104
- repository_class, service_class = service_registry.get(name)
105
- except CustomException as e:
106
- raise CustomException(
107
- ErrorCode.SERVICE_NOT_REGISTERED,
108
- detail=f"Service '{name}' is not registered",
109
- source_function="dependencies.get_service",
110
- original_error=e
111
- )
112
-
113
- # 서비스 인스턴스 생성
114
- try:
115
- repository = repository_class(db_service)
116
- return service_class(repository)
117
- except Exception as e:
118
- raise CustomException(
119
- ErrorCode.INTERNAL_ERROR,
120
- detail=f"Failed to create service instance for '{name}': {str(e)}",
121
- source_function="dependencies.get_service",
122
- original_error=e
123
- )
124
-
102
+ repository_class, service_class = service_registry.get(name)
103
+ repository = repository_class(db_service)
104
+ return service_class(repository, db_service)
125
105
  except CustomException as e:
126
106
  raise e
127
107
  except Exception as e:
128
108
  raise CustomException(
129
109
  ErrorCode.INTERNAL_ERROR,
130
- detail=f"Unexpected error while creating service '{name}': {str(e)}",
110
+ detail=f"Failed to create service '{name}': {str(e)}",
131
111
  source_function="dependencies.get_service",
132
112
  original_error=e
133
113
  )
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.39"
2
+ __version__ = "0.2.41"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.39
3
+ Version: 0.2.41
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=kFKMeIx1KcuEwwx4VjZdCgoTOHCkG3ySYVJ0G6cvMoA,2849
7
- aiteamutils/database.py,sha256=ATFiwG_o6o1eeUa0VVQ_2E_ExC2Yg-Ui_eA62SL6vQk,35344
8
- aiteamutils/dependencies.py,sha256=MQAZnuOrggb1lMKdwOTqFGTPkZKZnY1bP5qmbV6bru8,6563
7
+ aiteamutils/database.py,sha256=l_ZykepKquKRdsBZwLAeLHEYxhM4Ac4bknWtYNHurOo,35928
8
+ aiteamutils/dependencies.py,sha256=hsJ-kc8ic4U6vKFtUIWjhBE1_Bm-sya5UqSb2zMH5oM,5731
9
9
  aiteamutils/enums.py,sha256=ipZi6k_QD5-3QV7Yzv7bnL0MjDz-vqfO9I5L77biMKs,632
10
10
  aiteamutils/exceptions.py,sha256=_lKWXq_ujNj41xN6LDE149PwsecAP7lgYWbOBbLOntg,15368
11
11
  aiteamutils/security.py,sha256=9gvEqDtE3RJaoCWqELPCjkg-IsSqZVrpMP6XPZaodWU,16024
12
12
  aiteamutils/validators.py,sha256=3N245cZFjgwtW_KzjESkizx5BBUDaJLbbxfNO4WOFZ0,7764
13
- aiteamutils/version.py,sha256=3h-1ecnPMwLBzqnNQJ-HYjP8AuypoYQZFhnuHhMKrEE,42
14
- aiteamutils-0.2.39.dist-info/METADATA,sha256=xBuYTA8IMw31sg6n_3EUXIFbk81OnGh_RSmXY8py1HY,1718
15
- aiteamutils-0.2.39.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- aiteamutils-0.2.39.dist-info/RECORD,,
13
+ aiteamutils/version.py,sha256=DT95upAYup68_YP0gm-cFpVbBYlrV8Snq10ztLShyy4,42
14
+ aiteamutils-0.2.41.dist-info/METADATA,sha256=LiQlMTbzxNqm_cZSqVunU5siBxpF-G0jhI5UqP3RC7c,1718
15
+ aiteamutils-0.2.41.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ aiteamutils-0.2.41.dist-info/RECORD,,