aiteamutils 0.2.91__py3-none-any.whl → 0.2.92__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,10 @@ 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
+ payload = await verify_role_permission(request, role_permission, token_settings)
50
51
 
51
52
  try:
52
53
  body = await request.json()
@@ -101,7 +102,8 @@ class BaseService(Generic[ModelType]):
101
102
  exclude_entities: List[str] | None = None,
102
103
  response_model: Any = None,
103
104
  org_ulid_position: str = "organization_ulid",
104
- role_permission: str = "update"
105
+ role_permission: str = "update",
106
+ token_settings: Dict[str, Any] = None
105
107
  ) -> ModelType:
106
108
  try:
107
109
  async with self.db_session.begin():
@@ -153,7 +155,8 @@ class BaseService(Generic[ModelType]):
153
155
  ulid: str | None = None,
154
156
  conditions: Dict[str, Any] | None = None,
155
157
  org_ulid_position: str = "organization_ulid",
156
- role_permission: str = "delete"
158
+ role_permission: str = "delete",
159
+ token_settings: Dict[str, Any] = None
157
160
  ) -> bool:
158
161
  try:
159
162
  if not ULID.from_str(ulid):
@@ -204,9 +207,10 @@ class BaseService(Generic[ModelType]):
204
207
  explicit_joins: Optional[List[Any]] = None,
205
208
  loading_joins: Optional[List[Any]] = None,
206
209
  order: Optional[str] = None,
210
+ token_settings: Dict[str, Any] = None
207
211
  ) -> List[Dict[str, Any]]:
208
- payload = await verify_role_permission(request, role_permission)
209
-
212
+ payload = await verify_role_permission(request, role_permission, token_settings)
213
+
210
214
  try:
211
215
  if order is None:
212
216
  order = "created_at|desc"
@@ -243,7 +247,8 @@ class BaseService(Generic[ModelType]):
243
247
  explicit_joins: Optional[List[Any]] = None,
244
248
  loading_joins: Optional[List[Any]] = None,
245
249
  org_ulid_position: str = "organization_ulid",
246
- role_permission: str = "get"
250
+ role_permission: str = "get",
251
+ token_settings: Dict[str, Any] = None
247
252
  ):
248
253
  try:
249
254
  if not ulid and not conditions:
aiteamutils/security.py CHANGED
@@ -285,6 +285,7 @@ async def verify_jwt_token(
285
285
  async def verify_role_permission(
286
286
  request: Request,
287
287
  permission: str,
288
+ token_settings: Dict[str, Any] = None
288
289
  ) -> bool:
289
290
  token = request.headers.get("Authorization")
290
291
 
@@ -297,10 +298,15 @@ async def verify_role_permission(
297
298
 
298
299
  token = token.split(" ")[1]
299
300
 
300
- payload = await verify_jwt_token(token)
301
+ payload = await verify_jwt_token(
302
+ token=token,
303
+ token_settings=token_settings
304
+ )
301
305
 
302
306
  organization_ulid = payload.get("organization_ulid")
307
+ organization_id = payload.get("organization_id")
303
308
  role_ulid = payload.get("role_ulid")
304
309
  user_ulid = payload.get("user_ulid")
305
310
 
306
- return payload
311
+ if ".list" in permission: source_function="security.verify_role_permission"
312
+ )
aiteamutils/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """버전 정보"""
2
- __version__ = "0.2.91"
2
+ __version__ = "0.2.92"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiteamutils
3
- Version: 0.2.91
3
+ Version: 0.2.92
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=JzmYX8G8b-d12tI561tJ35dhrBYWxl5dkL8_zvFQ4lg,10276
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=ze793aNCWQ8k3v1PndWakhCJlppxon7VCZgdeX0Uwpg,11084
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=MPB3ChyVHpN8XXyNqq4Qv-O9a45GFX3w2kK20aKOg6c,42
13
+ aiteamutils-0.2.92.dist-info/METADATA,sha256=l3Zpe_M1PswKV7SAyRPuwgsrPfvJCskJKANFR2d5B9s,1718
14
+ aiteamutils-0.2.92.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
+ aiteamutils-0.2.92.dist-info/RECORD,,