ul-api-utils 9.1.1__py3-none-any.whl → 9.2.2__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.

Potentially problematic release.


This version of ul-api-utils might be problematic. Click here for more details.

@@ -63,6 +63,7 @@ class ApiSdkJwt(NamedTuple):
63
63
  env: str
64
64
  permissions: Set[int]
65
65
  additional_data: Dict[str, Any]
66
+ is_superuser: bool = False
66
67
  raw: Optional[str] = None
67
68
  username: Optional[str] = None
68
69
 
@@ -129,6 +130,7 @@ class ApiSdkJwt(NamedTuple):
129
130
  self.compress_uuid(self.id), # id
130
131
  self.compress_uuid(self.user_id), # user_id
131
132
  self.compress_uuid(self.organization_id) if self.organization_id else '', # organization_id
133
+ int(self.is_superuser),
132
134
  int((self.exp_date.timestamp() - JWT_EXP_DATE_TIMESTAMP_BASIS) / 60), # exp_date IN MINUTES
133
135
  self.compress_permissions(self.permissions), # permissions
134
136
  ],
@@ -139,6 +141,7 @@ class ApiSdkJwt(NamedTuple):
139
141
  id=str(self.id),
140
142
  user_id=str(self.user_id),
141
143
  organization_id=str(self.organization_id) if self.organization_id is not None else None,
144
+ is_superuser=int(self.is_superuser),
142
145
  version=str(self.version),
143
146
  token_type=self.token_type,
144
147
  exp_date=self.exp_date.isoformat(),
@@ -154,7 +157,7 @@ class ApiSdkJwt(NamedTuple):
154
157
  compressed_props = [k for k in data.keys() if RE_COMPRESSED_PROP.match(k) is not None]
155
158
 
156
159
  if len(compressed_props) == 1: # COMPRESSED
157
- env, _id, _user_id, _organization_id, _exp_date, _permissions = data.pop(compressed_props[0])
160
+ env, _id, _user_id, _organization_id, _is_superuser, _exp_date, _permissions = data.pop(compressed_props[0])
158
161
  token_type = JWT_TYPE__UNCOMPRESSED[compressed_props[0][0]]
159
162
  version = int(compressed_props[0][1:])
160
163
 
@@ -162,6 +165,7 @@ class ApiSdkJwt(NamedTuple):
162
165
  id = cls.decompress_uuid(_id)
163
166
  user_id = cls.decompress_uuid(_user_id)
164
167
  organization_id = cls.decompress_uuid(_organization_id) if len(_organization_id) > 0 else None
168
+ is_superuser = bool(_is_superuser)
165
169
  exp_date = datetime.fromtimestamp(JWT_EXP_DATE_TIMESTAMP_BASIS + _exp_date * 60)
166
170
  permissions = set(sorted(cls.decompress_permissions(_permissions)))
167
171
  else:
@@ -173,6 +177,7 @@ class ApiSdkJwt(NamedTuple):
173
177
  token_type = data.pop('token_type')
174
178
  user_id = UUID(data.pop('user_id'))
175
179
  organization_id = UUID(data.pop('organization_id')) if data.get('organization_id', None) is not None else None
180
+ is_superuser = bool(data.pop('is_superuser'))
176
181
  permissions = set(sorted(data.pop('permissions')))
177
182
 
178
183
  if not isinstance(env, str):
@@ -189,6 +194,7 @@ class ApiSdkJwt(NamedTuple):
189
194
  version=str(version),
190
195
  user_id=user_id,
191
196
  organization_id=organization_id,
197
+ is_superuser=is_superuser,
192
198
  permissions=permissions,
193
199
  additional_data=data,
194
200
  username=username,
@@ -228,6 +234,7 @@ class ApiSdkJwt(NamedTuple):
228
234
  user_id: Union[str, UUID],
229
235
  organization_id: Optional[Union[str, UUID]],
230
236
  permissions: List[Union[int, PermissionDefinition]],
237
+ is_superuser: Optional[bool] = False,
231
238
  access_expiration_date: Optional[datetime] = None,
232
239
  refresh_expiration_date: Optional[datetime] = None,
233
240
  additional_data: Optional[Dict[str, Any]] = None,
@@ -247,6 +254,7 @@ class ApiSdkJwt(NamedTuple):
247
254
  version=JWT_VERSION,
248
255
  user_id=user_id,
249
256
  organization_id=organization_id,
257
+ is_superuser=is_superuser,
250
258
  permissions={(p if isinstance(p, int) else p.id) for p in permissions},
251
259
  additional_data=additional_data,
252
260
  token_type=JTW_TYPE__ACCESS,
@@ -258,6 +266,7 @@ class ApiSdkJwt(NamedTuple):
258
266
  version=JWT_VERSION,
259
267
  user_id=user_id,
260
268
  organization_id=organization_id,
269
+ is_superuser=is_superuser,
261
270
  permissions={(p if isinstance(p, int) else p.id) for p in permissions},
262
271
  additional_data=additional_data,
263
272
  token_type=JWT_TYPE__REFRESH,
@@ -280,6 +289,7 @@ class ApiSdkJwt(NamedTuple):
280
289
  version=self.version,
281
290
  user_id=self.user_id,
282
291
  organization_id=self.organization_id,
292
+ is_superuser=self.is_superuser,
283
293
  permissions=self.permissions,
284
294
  token_type=JTW_TYPE__ACCESS,
285
295
  exp_date=exp_date,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-api-utils
3
- Version: 9.1.1
3
+ Version: 9.2.2
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -67,7 +67,7 @@ ul_api_utils/internal_api/__tests__/internal_api_content_type.py,sha256=mfiYPkzK
67
67
  ul_api_utils/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  ul_api_utils/modules/api_sdk.py,sha256=0gZQN9UaWSDIlfa9GChSJtwF7xFZA9-l3etIjlgAYSI,26438
69
69
  ul_api_utils/modules/api_sdk_config.py,sha256=ZUR48tIJeFlPJTSjyXzKfXaCKPtfqeaA0mlLX42SSFY,2137
70
- ul_api_utils/modules/api_sdk_jwt.py,sha256=2XRfb0LxHUnldSL67S60v1uyoDpVPNaq4zofUtkeg88,15112
70
+ ul_api_utils/modules/api_sdk_jwt.py,sha256=E2Em4UCGA1134l6kNTHRxEmbM8YuWUG-5jnlHvg_WYI,15567
71
71
  ul_api_utils/modules/intermediate_state.py,sha256=7ZZ3Sypbb8LaSfrVhaXaWRDnj8oyy26NUbmFK7vr-y4,1270
72
72
  ul_api_utils/modules/worker_context.py,sha256=jGjopeuYuTtIDmsrqK7TcbTD-E81t8OWvWS1JpTC6b0,802
73
73
  ul_api_utils/modules/worker_sdk.py,sha256=WNJ45LyxeTOJcogcL-t_P7rBVZprJKOmiVEAo-1fU3s,5153
@@ -148,9 +148,9 @@ ul_api_utils/validators/validate_empty_object.py,sha256=3Ck_iwyJE_M5e7l6s1i88aqb
148
148
  ul_api_utils/validators/validate_uuid.py,sha256=EfvlRirv2EW0Z6w3s8E8rUa9GaI8qXZkBWhnPs8NFrA,257
149
149
  ul_api_utils/validators/__tests__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
150
  ul_api_utils/validators/__tests__/test_custom_fields.py,sha256=omXI_PPefDfCehEVJxEevep8phY6aySjLnpW_usT85U,1385
151
- ul_api_utils-9.1.1.dist-info/LICENSE,sha256=6Qo8OdcqI8aGrswJKJYhST-bYqxVQBQ3ujKdTSdq-80,1062
152
- ul_api_utils-9.1.1.dist-info/METADATA,sha256=uk4C734LjYAsL-Zl-uHq3tE4J1l51QpA64ltmzEgwxQ,14712
153
- ul_api_utils-9.1.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
154
- ul_api_utils-9.1.1.dist-info/entry_points.txt,sha256=8tL3ySHWTyJMuV1hx1fHfN8zumDVOCOm63w3StphkXg,53
155
- ul_api_utils-9.1.1.dist-info/top_level.txt,sha256=1XsW8iOSFaH4LOzDcnNyxHpHrbKU3fSn-aIAxe04jmw,21
156
- ul_api_utils-9.1.1.dist-info/RECORD,,
151
+ ul_api_utils-9.2.2.dist-info/LICENSE,sha256=6Qo8OdcqI8aGrswJKJYhST-bYqxVQBQ3ujKdTSdq-80,1062
152
+ ul_api_utils-9.2.2.dist-info/METADATA,sha256=cjlxVpxeHTkIqyy5KafhdnDscMqlUytpF_FqZMHrkoQ,14712
153
+ ul_api_utils-9.2.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
154
+ ul_api_utils-9.2.2.dist-info/entry_points.txt,sha256=8tL3ySHWTyJMuV1hx1fHfN8zumDVOCOm63w3StphkXg,53
155
+ ul_api_utils-9.2.2.dist-info/top_level.txt,sha256=1XsW8iOSFaH4LOzDcnNyxHpHrbKU3fSn-aIAxe04jmw,21
156
+ ul_api_utils-9.2.2.dist-info/RECORD,,