aiteamutils 0.2.91__py3-none-any.whl → 0.2.93__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.
@@ -44,9 +44,9 @@ class BaseService(Generic[ModelType]):
44
44
  unique_check: List[Dict[str, Any]] | None = None,
45
45
  fk_check: List[Dict[str, Any]] | None = None,
46
46
  org_ulid_position: str = "organization_ulid",
47
- role_permission: str = "create"
47
+ role_permission: str = "create",
48
+ token_settings: Dict[str, Any] = None
48
49
  ) -> ModelType:
49
- payload = await verify_role_permission(request, role_permission)
50
50
 
51
51
  try:
52
52
  body = await request.json()
@@ -101,7 +101,8 @@ class BaseService(Generic[ModelType]):
101
101
  exclude_entities: List[str] | None = None,
102
102
  response_model: Any = None,
103
103
  org_ulid_position: str = "organization_ulid",
104
- role_permission: str = "update"
104
+ role_permission: str = "update",
105
+ token_settings: Dict[str, Any] = None
105
106
  ) -> ModelType:
106
107
  try:
107
108
  async with self.db_session.begin():
@@ -153,7 +154,8 @@ class BaseService(Generic[ModelType]):
153
154
  ulid: str | None = None,
154
155
  conditions: Dict[str, Any] | None = None,
155
156
  org_ulid_position: str = "organization_ulid",
156
- role_permission: str = "delete"
157
+ role_permission: str = "delete",
158
+ token_settings: Dict[str, Any] = None
157
159
  ) -> bool:
158
160
  try:
159
161
  if not ULID.from_str(ulid):
@@ -204,9 +206,18 @@ class BaseService(Generic[ModelType]):
204
206
  explicit_joins: Optional[List[Any]] = None,
205
207
  loading_joins: Optional[List[Any]] = None,
206
208
  order: Optional[str] = None,
209
+ token_settings: Dict[str, Any] = None
207
210
  ) -> List[Dict[str, Any]]:
208
- payload = await verify_role_permission(request, role_permission)
209
-
211
+ permission_result = await verify_role_permission(
212
+ request=request,
213
+ role_permission=role_permission,
214
+ token_settings=token_settings,
215
+ org_ulid_position=org_ulid_position
216
+ )
217
+
218
+ if permission_result and isinstance(permission_result, dict):
219
+ filters.append(permission_result)
220
+
210
221
  try:
211
222
  if order is None:
212
223
  order = "created_at|desc"
@@ -243,7 +254,8 @@ class BaseService(Generic[ModelType]):
243
254
  explicit_joins: Optional[List[Any]] = None,
244
255
  loading_joins: Optional[List[Any]] = None,
245
256
  org_ulid_position: str = "organization_ulid",
246
- role_permission: str = "get"
257
+ role_permission: str = "get",
258
+ token_settings: Dict[str, Any] = None
247
259
  ):
248
260
  try:
249
261
  if not ulid and not conditions:
aiteamutils/security.py CHANGED
@@ -284,8 +284,10 @@ async def verify_jwt_token(
284
284
 
285
285
  async def verify_role_permission(
286
286
  request: Request,
287
- permission: str,
288
- ) -> bool:
287
+ role_permission: str,
288
+ token_settings: Dict[str, Any] = None,
289
+ org_ulid_position: str = "organization_ulid"
290
+ ) -> bool | Dict[str, Any]:
289
291
  token = request.headers.get("Authorization")
290
292
 
291
293
  if not token:
@@ -297,10 +299,21 @@ async def verify_role_permission(
297
299
 
298
300
  token = token.split(" ")[1]
299
301
 
300
- payload = await verify_jwt_token(token)
302
+ payload = await verify_jwt_token(
303
+ token=token,
304
+ token_settings=token_settings
305
+ )
301
306
 
302
307
  organization_ulid = payload.get("organization_ulid")
308
+ organization_id = payload.get("organization_id")
303
309
  role_ulid = payload.get("role_ulid")
304
310
  user_ulid = payload.get("user_ulid")
305
311
 
306
- return payload
312
+ if "list" in role_permission:
313
+ return {
314
+ "value": organization_ulid,
315
+ "operator": "eq",
316
+ "fields": [org_ulid_position]
317
+ }
318
+
319
+ return False
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.91"
2
+ __version__ = "0.2.93"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.91
3
+ Version: 0.2.93
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,15 +1,15 @@
1
1
  aiteamutils/__init__.py,sha256=kRBpRjark0M8ZwFfmKiMFol6CbIILN3WE4f6_P6iIq0,1089
2
2
  aiteamutils/base_model.py,sha256=bnRJJaGXGS3TKxfCWWV3arFjdG0qLsPFDXuguYsDyVM,3008
3
3
  aiteamutils/base_repository.py,sha256=HKcgYyEb0JypojoXBFcIT39hPC5CqnjBkHT__GV-lfQ,4615
4
- aiteamutils/base_service.py,sha256=QPehqL8yuShoRr6T7EwlgRln04iOWCd8rWnm4CVJK0w,10018
4
+ aiteamutils/base_service.py,sha256=-WWjgfH9hXT5ptuG6GiN1ge19e2W1-9Ig6drjrR0cJA,10448
5
5
  aiteamutils/cache.py,sha256=07xBGlgAwOTAdY5mnMOQJ5EBxVwe8glVD7DkGEkxCtw,1373
6
6
  aiteamutils/config.py,sha256=YdalpJb70-txhGJAS4aaKglEZAFVWgfzw5BXSWpkUz4,3232
7
7
  aiteamutils/database.py,sha256=b4fN0XHNWxMJeS5M95JcJ7tujAJ1x3SPTAfDvJdB4sE,19696
8
8
  aiteamutils/enums.py,sha256=Z9wzR3H4XLpA4U3urR5e4eDnEY3Qhne34nLXsKXiL64,2177
9
9
  aiteamutils/exceptions.py,sha256=wls-R8qbD7fWzEgDDY1Eiy1vXl59R5IsCXTRkZpBiGU,16021
10
- aiteamutils/security.py,sha256=HFMaGnvLp_JR2D9AEKpGRMQF2aAjiPdIOF0ysMS1dWk,10853
10
+ aiteamutils/security.py,sha256=QVZFh0bOJX7Kz07dPJe6Tcs_UQmFOHPKp5yW3NlW1yE,11251
11
11
  aiteamutils/validators.py,sha256=PvI9hbMEAqTawgxPbiWRyx2r9yTUrpNBQs1AD3w4F2U,7726
12
- aiteamutils/version.py,sha256=PJ1UnX24vSCQ_oIDO0VfRRLdxDepWeHiu724PJ96z5g,42
13
- aiteamutils-0.2.91.dist-info/METADATA,sha256=neRTid2ZSl9g5jUO8KUJ2qbvDTMhfcz6FyYc-P48o30,1718
14
- aiteamutils-0.2.91.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
- aiteamutils-0.2.91.dist-info/RECORD,,
12
+ aiteamutils/version.py,sha256=On40GVmxltaTiv-ZooqdVZ6J84eToi0PLHliBs6p7f4,42
13
+ aiteamutils-0.2.93.dist-info/METADATA,sha256=i3HoWMMB0pJmyx1bMqPKeYcdPFGyOqB0D06XcSg8PRQ,1718
14
+ aiteamutils-0.2.93.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
+ aiteamutils-0.2.93.dist-info/RECORD,,