aiteamutils 0.2.166__py3-none-any.whl → 0.2.168__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.
@@ -463,20 +463,20 @@ class BaseService(Generic[ModelType]):
463
463
  order: Optional[str] = None,
464
464
  token_settings: Dict[str, Any] | None = None
465
465
  ) -> List[Dict[str, Any]]:
466
- filters = list(filters) if filters is not None else []
467
-
468
- if role_permission:
469
- permission_result = await verify_role_permission(
470
- request=request,
471
- role_permission=role_permission,
472
- token_settings=token_settings,
473
- org_ulid_position=org_ulid_position
474
- )
466
+ try:
467
+ filters = list(filters) if filters is not None else []
468
+
469
+ if role_permission:
470
+ permission_result = await verify_role_permission(
471
+ request=request,
472
+ role_permission=role_permission,
473
+ token_settings=token_settings,
474
+ org_ulid_position=org_ulid_position
475
+ )
475
476
 
476
- if permission_result and isinstance(permission_result, dict):
477
- filters.append(permission_result)
477
+ if permission_result and isinstance(permission_result, dict):
478
+ filters.append(permission_result)
478
479
 
479
- try:
480
480
  if order is None:
481
481
  order = "created_at|desc"
482
482
 
@@ -491,7 +491,11 @@ class BaseService(Generic[ModelType]):
491
491
  loading_joins=loading_joins,
492
492
  order=order
493
493
  )
494
- return [process_response(entity, response_model) for entity in entities]
494
+ print("[base_service.list] Repository 결과:", entities)
495
+
496
+ processed = [process_response(entity, response_model) for entity in entities]
497
+ print("[base_service.list] 최종 처리 결과:", processed)
498
+ return processed
495
499
 
496
500
  except CustomException as e:
497
501
  raise e
aiteamutils/database.py CHANGED
@@ -159,9 +159,23 @@ def process_response(
159
159
  if not entity:
160
160
  return None
161
161
 
162
- # 모든 필드 처리
163
- result = process_columns(entity)
164
-
162
+ if isinstance(entity, tuple):
163
+ print("[process_response] 조인된 엔티티:", entity) # 로그 추가
164
+ main_entity = entity[0]
165
+ joined_entities = entity[1:]
166
+
167
+ result = process_columns(main_entity)
168
+ print("[process_response] 메인 엔티티 처리 결과:", result) # 로그 추가
169
+
170
+ for joined_entity in joined_entities:
171
+ if joined_entity:
172
+ table_name = joined_entity.__table__.name
173
+ joined_data = process_columns(joined_entity)
174
+ result[table_name] = joined_data
175
+ print(f"[process_response] 조인된 엔티티({table_name}) 처리 결과:", joined_data) # 로그 추가
176
+ else:
177
+ result = process_columns(entity)
178
+
165
179
  # Relationship 처리 (이미 로드된 관계만 처리)
166
180
  for relationship in entity.__mapper__.relationships:
167
181
  if not relationship.key in entity.__dict__:
@@ -506,7 +520,8 @@ async def list_entities(
506
520
  if has_explicit_joins:
507
521
  # 명시적 조인이 있는 경우
508
522
  entities = result.unique().all()
509
- return [entity[0] for entity in entities]
523
+ print("[list_entities] 조인 결과:", entities) # 로그 추가
524
+ return entities
510
525
  else:
511
526
  # 기존 방식 유지
512
527
  return result.unique().scalars().all()
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.166"
2
+ __version__ = "0.2.168"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.166
3
+ Version: 0.2.168
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
@@ -1,16 +1,16 @@
1
1
  aiteamutils/__init__.py,sha256=kRBpRjark0M8ZwFfmKiMFol6CbIILN3WE4f6_P6iIq0,1089
2
2
  aiteamutils/base_model.py,sha256=Jw5Fyfrtdc_jyg-LmC35c-D6w3-2_dh2CBeiKjM9GPE,4497
3
3
  aiteamutils/base_repository.py,sha256=Oy2zE1i5qx60Xf1tnsaKLyFWapiPqt5JH8NejwNrPWg,4647
4
- aiteamutils/base_service.py,sha256=JIeRtFn1Ll4Qcq3v88pgS9lmEQLQoVyyOKqYR8n02S4,21192
4
+ aiteamutils/base_service.py,sha256=bxGsgvjVBDaC8-Ei_nRYSLd0f9hrINWz1yAKK2ESSMI,21423
5
5
  aiteamutils/cache.py,sha256=07xBGlgAwOTAdY5mnMOQJ5EBxVwe8glVD7DkGEkxCtw,1373
6
6
  aiteamutils/config.py,sha256=YdalpJb70-txhGJAS4aaKglEZAFVWgfzw5BXSWpkUz4,3232
7
- aiteamutils/database.py,sha256=Kcp_NyXT2DassWovVFBmpFaqgCBzIpP4BRzRhsFKeMM,21892
7
+ aiteamutils/database.py,sha256=fC4Vc9Z4a99G76kaIy06XrI4dSwCP3-SCPCzc6vZQ0s,22646
8
8
  aiteamutils/enums.py,sha256=7WLqlcJqQWtETAga2WAxNp3dJTQIAd2TW-4WzkoHHa8,2498
9
9
  aiteamutils/exceptions.py,sha256=sgIVulllKMM9InTltaB7VD6i7DiQvCoycexsV-BiIBY,16570
10
10
  aiteamutils/files.py,sha256=fxnCu9rErd4vCovMi0jy4adLUiA7rx_q4RdOL4wSgsU,14258
11
11
  aiteamutils/security.py,sha256=McUl3t5Z5SyUDVUHymHdDkYyF4YSeg4g9fFMML4W6Kw,11630
12
12
  aiteamutils/validators.py,sha256=_WHN6jqJQzKM5uPTg-Da8U2qqevS84XeKMkCCF4C_lY,9591
13
- aiteamutils/version.py,sha256=L8NwAUPTaxDs2LSIrJScDZnaZSAHV_U69VXVSwErXCA,43
14
- aiteamutils-0.2.166.dist-info/METADATA,sha256=qy8U-j7_6Pagb_h71FasRTBQVXpzpPf2mHBUPde9q0Y,1743
15
- aiteamutils-0.2.166.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- aiteamutils-0.2.166.dist-info/RECORD,,
13
+ aiteamutils/version.py,sha256=5FMXoLuaR7hJ2rd0Xw1adK2Dq7ikWaVNUbIeMu74Gvc,43
14
+ aiteamutils-0.2.168.dist-info/METADATA,sha256=VwpysetAqgamTVMPyg1vGUR7enq4Ipk6v5u7tYoOs_g,1743
15
+ aiteamutils-0.2.168.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ aiteamutils-0.2.168.dist-info/RECORD,,