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.
- ul_api_utils/modules/api_sdk_jwt.py +11 -1
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/METADATA +1 -1
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/RECORD +7 -7
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/LICENSE +0 -0
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/WHEEL +0 -0
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/entry_points.txt +0 -0
- {ul_api_utils-9.1.1.dist-info → ul_api_utils-9.2.2.dist-info}/top_level.txt +0 -0
|
@@ -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,
|
|
@@ -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=
|
|
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.
|
|
152
|
-
ul_api_utils-9.
|
|
153
|
-
ul_api_utils-9.
|
|
154
|
-
ul_api_utils-9.
|
|
155
|
-
ul_api_utils-9.
|
|
156
|
-
ul_api_utils-9.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|