usso 0.20.1__py3-none-any.whl → 0.20.3__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
 
@@ -70,7 +72,12 @@ class UssoAPI(metaclass=Singleton):
70
72
  json=data,
71
73
  )
72
74
  if kwargs.get("raise", True):
73
- resp.raise_for_status()
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,51 +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
- )
90
-
91
- def get_user_credentials(self, user_id: str, **kwargs) -> UserData:
92
- return UserData(
93
- **self._request(
94
- endpoint=f"website/users/{user_id}/credentials",
95
- **kwargs,
96
- )
97
- )
91
+ user_dict = self._request(endpoint=f"website/users/{user_id}", **kwargs)
92
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
98
93
 
99
94
  def get_user_by_credentials(self, credentials: dict, **kwargs) -> UserData:
100
- return UserData(
101
- **self._request(
102
- endpoint="website/users/credentials",
103
- data=credentials,
104
- **kwargs,
105
- )
95
+ user_dict = self._request(
96
+ endpoint="website/users/credentials",
97
+ data=credentials,
98
+ **kwargs,
106
99
  )
100
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
107
101
 
108
102
  def create_user(self, user_data: dict, **kwargs) -> UserData:
109
- return UserData(
110
- **self._request(
111
- method="post",
112
- endpoint="website/users",
113
- data=user_data,
114
- **kwargs,
115
- )
103
+ user_dict = self._request(
104
+ method="post",
105
+ endpoint="website/users",
106
+ data=user_data,
107
+ **kwargs,
116
108
  )
117
109
 
110
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
111
+
118
112
  def create_user_credentials(
119
113
  self, user_id: str, credentials: dict, **kwargs
120
114
  ) -> UserData:
121
- return UserData(
122
- **self._request(
123
- method="post",
124
- endpoint=f"website/users/{user_id}/credentials",
125
- data=credentials,
126
- **kwargs,
127
- )
115
+ user_dict = self._request(
116
+ method="post",
117
+ endpoint=f"website/users/{user_id}/credentials",
118
+ data=credentials,
119
+ **kwargs,
128
120
  )
121
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
129
122
 
130
123
  def create_user_by_credentials(
131
124
  self,
@@ -133,17 +126,16 @@ class UssoAPI(metaclass=Singleton):
133
126
  credentials: dict | None = None,
134
127
  **kwargs,
135
128
  ) -> UserData:
136
-
129
+ user_data = user_data or {}
137
130
  if credentials:
138
131
  user_data["authenticators"] = [credentials]
139
- return UserData(
140
- **self._request(
141
- method="post",
142
- endpoint="website/users",
143
- data=user_data,
144
- **kwargs,
145
- )
132
+ user_dict = self._request(
133
+ method="post",
134
+ endpoint="website/users",
135
+ data=credentials,
136
+ **kwargs,
146
137
  )
138
+ return UserData(user_id=user_dict.get("uid"), **user_dict)
147
139
 
148
140
  def get_user_payload(self, user_id: str, **kwargs) -> dict:
149
141
  return self._request(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: usso
3
- Version: 0.20.1
3
+ Version: 0.20.3
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=Gl_Gxivt78EzvJp6VnRjT9AMREmA0C3xHoWSgCtb3fs,4824
2
+ usso/api.py,sha256=p7rR_rdBxanByj1r_JfWlcB_tuZ-6k4SZRF9NJTDcYw,4895
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.1.dist-info/LICENSE.txt,sha256=ceC9ZJOV9H6CtQDcYmHOS46NA3dHJ_WD4J9blH513pc,1081
10
- usso-0.20.1.dist-info/METADATA,sha256=QTVXvTTAIbcCoIHNR2Secd487RxpVWyu_8NNd2nOzzs,4334
11
- usso-0.20.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
12
- usso-0.20.1.dist-info/entry_points.txt,sha256=4Zgpm5ELaAWPf0jPGJFz1_X69H7un8ycT3WdGoJ0Vvk,35
13
- usso-0.20.1.dist-info/top_level.txt,sha256=g9Jf6h1Oyidh0vPiFni7UHInTJjSvu6cUalpLTIvthg,5
14
- usso-0.20.1.dist-info/RECORD,,
9
+ usso-0.20.3.dist-info/LICENSE.txt,sha256=ceC9ZJOV9H6CtQDcYmHOS46NA3dHJ_WD4J9blH513pc,1081
10
+ usso-0.20.3.dist-info/METADATA,sha256=qacCILZ-RkwmhVpkrrRpE0ZlX9Zp2smFf_eqj4OfLgQ,4334
11
+ usso-0.20.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
12
+ usso-0.20.3.dist-info/entry_points.txt,sha256=4Zgpm5ELaAWPf0jPGJFz1_X69H7un8ycT3WdGoJ0Vvk,35
13
+ usso-0.20.3.dist-info/top_level.txt,sha256=g9Jf6h1Oyidh0vPiFni7UHInTJjSvu6cUalpLTIvthg,5
14
+ usso-0.20.3.dist-info/RECORD,,
File without changes