usso 0.20.2__py3-none-any.whl → 0.20.4__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.
usso/api.py CHANGED
@@ -1,3 +1,5 @@
1
+ import logging
2
+
1
3
  import requests
2
4
  from singleton import Singleton
3
5
 
@@ -69,8 +71,13 @@ class UssoAPI(metaclass=Singleton):
69
71
  headers=headers,
70
72
  json=data,
71
73
  )
72
- if kwargs.get("raise", True):
73
- resp.raise_for_status()
74
+ if kwargs.get("raise_exception", True):
75
+ try:
76
+ resp.raise_for_status()
77
+ except requests.HTTPError as e:
78
+ logging.error(f"Error: {e}")
79
+ logging.error(f"Response: {resp.json()}")
80
+ raise e
74
81
  return resp.json()
75
82
 
76
83
  def get_users(self, **kwargs) -> list[UserData]:
@@ -81,43 +88,37 @@ class UssoAPI(metaclass=Singleton):
81
88
  ]
82
89
 
83
90
  def get_user(self, user_id: str, **kwargs) -> UserData:
84
- return UserData(
85
- **self._request(
86
- endpoint=f"website/users/{user_id}",
87
- **kwargs,
88
- )
89
- )
91
+ user_dict = self._request(endpoint=f"website/users/{user_id}", **kwargs)
92
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
90
93
 
91
94
  def get_user_by_credentials(self, credentials: dict, **kwargs) -> UserData:
92
- return UserData(
93
- **self._request(
94
- endpoint="website/users/credentials",
95
- data=credentials,
96
- **kwargs,
97
- )
95
+ user_dict = self._request(
96
+ endpoint="website/users/credentials",
97
+ data=credentials,
98
+ **kwargs,
98
99
  )
100
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
99
101
 
100
102
  def create_user(self, user_data: dict, **kwargs) -> UserData:
101
- return UserData(
102
- **self._request(
103
- method="post",
104
- endpoint="website/users",
105
- data=user_data,
106
- **kwargs,
107
- )
103
+ user_dict = self._request(
104
+ method="post",
105
+ endpoint="website/users",
106
+ data=user_data,
107
+ **kwargs,
108
108
  )
109
109
 
110
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
111
+
110
112
  def create_user_credentials(
111
113
  self, user_id: str, credentials: dict, **kwargs
112
114
  ) -> UserData:
113
- return UserData(
114
- **self._request(
115
- method="post",
116
- endpoint=f"website/users/{user_id}/credentials",
117
- data=credentials,
118
- **kwargs,
119
- )
115
+ user_dict = self._request(
116
+ method="post",
117
+ endpoint=f"website/users/{user_id}/credentials",
118
+ data=credentials,
119
+ **kwargs,
120
120
  )
121
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
121
122
 
122
123
  def create_user_by_credentials(
123
124
  self,
@@ -128,14 +129,13 @@ class UssoAPI(metaclass=Singleton):
128
129
  user_data = user_data or {}
129
130
  if credentials:
130
131
  user_data["authenticators"] = [credentials]
131
- return UserData(
132
- **self._request(
133
- method="post",
134
- endpoint="website/users",
135
- data=user_data,
136
- **kwargs,
137
- )
132
+ user_dict = self._request(
133
+ method="post",
134
+ endpoint="website/users",
135
+ data=credentials,
136
+ **kwargs,
138
137
  )
138
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
139
139
 
140
140
  def get_user_payload(self, user_id: str, **kwargs) -> dict:
141
141
  return self._request(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: usso
3
- Version: 0.20.2
3
+ Version: 0.20.4
4
4
  Summary: A plug-and-play client for integrating universal single sign-on (SSO) with Python frameworks, enabling secure and seamless authentication across microservices.
5
5
  Author-email: Mahdi Kiani <mahdikiany@gmail.com>
6
6
  Maintainer-email: Mahdi Kiani <mahdikiany@gmail.com>
@@ -1,14 +1,14 @@
1
1
  usso/__init__.py,sha256=RN0E6HI9kHedvDxheDPVWiAmh-169IrhXfvq_sHphQc,65
2
- usso/api.py,sha256=9lQiJlZelh986HhvTbdhVtyJVRMqlTHTr12hFCj_g6g,4617
2
+ usso/api.py,sha256=eZ5PmzOWqcb38bGvJEpZa-o2tUz87_zeYZ4UCBaBjuM,4905
3
3
  usso/b64tools.py,sha256=6YCBx2lLaYFdk36f064VNZ1RejJTHtmgxqq0eT1sCwQ,518
4
4
  usso/core.py,sha256=JQbwx6u53epwurBeSPOA5JHccRCf-bsz-9oQrVBr2t0,3048
5
5
  usso/exceptions.py,sha256=hawOAuVbvQtjgRfwp1KFZ4SmV7fh720y5Gom9JVA8W8,504
6
6
  usso/package_data.dat,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  usso/fastapi/__init__.py,sha256=TRTDVJo8bwZQDAuCQFhh-g1XbIspf6TdFYXGAO5cgAU,130
8
8
  usso/fastapi/integration.py,sha256=9Q10dfy8UagOkmG49-Ar0mj6PPsiKS8ioLFgBIREpWQ,1823
9
- usso-0.20.2.dist-info/LICENSE.txt,sha256=ceC9ZJOV9H6CtQDcYmHOS46NA3dHJ_WD4J9blH513pc,1081
10
- usso-0.20.2.dist-info/METADATA,sha256=I5j1CWKBHhgs5S2WuUNf9s2q3MOEk6GL4ugJf37eVHQ,4334
11
- usso-0.20.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
12
- usso-0.20.2.dist-info/entry_points.txt,sha256=4Zgpm5ELaAWPf0jPGJFz1_X69H7un8ycT3WdGoJ0Vvk,35
13
- usso-0.20.2.dist-info/top_level.txt,sha256=g9Jf6h1Oyidh0vPiFni7UHInTJjSvu6cUalpLTIvthg,5
14
- usso-0.20.2.dist-info/RECORD,,
9
+ usso-0.20.4.dist-info/LICENSE.txt,sha256=ceC9ZJOV9H6CtQDcYmHOS46NA3dHJ_WD4J9blH513pc,1081
10
+ usso-0.20.4.dist-info/METADATA,sha256=gcGM620blraHRLif4iXBbQtPH7MyiWKRNniftzomoPk,4334
11
+ usso-0.20.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
12
+ usso-0.20.4.dist-info/entry_points.txt,sha256=4Zgpm5ELaAWPf0jPGJFz1_X69H7un8ycT3WdGoJ0Vvk,35
13
+ usso-0.20.4.dist-info/top_level.txt,sha256=g9Jf6h1Oyidh0vPiFni7UHInTJjSvu6cUalpLTIvthg,5
14
+ usso-0.20.4.dist-info/RECORD,,
File without changes