1- from typing import Any , Dict , Generic , List , Optional , Union , cast
1+ from typing import Any , Dict , Generic , List , Literal , Optional , Union , cast , overload
2+ from typing_extensions import deprecated
23
34from httpx import Response
45
@@ -144,6 +145,10 @@ def resp(res: Response) -> OwnUser:
144145 status_codes = _ExpectedStatusCodes (ok_in = [200 ], error = "Get own roles" ),
145146 )
146147
148+ @deprecated (
149+ """This method is deprecated and will be removed in Q4 25.
150+ Please use `users.db.get_assigned_roles` and/or `users.oidc.get_assigned_roles` instead."""
151+ )
147152 def get_assigned_roles (self , user_id : str ) -> executor .Result [Dict [str , Role ]]:
148153 """Get the roles assigned to a user.
149154
@@ -156,6 +161,10 @@ def get_assigned_roles(self, user_id: str) -> executor.Result[Dict[str, Role]]:
156161 # cast here because the deprecated method is only used in the deprecated class and this type is known
157162 return cast (Dict [str , Role ], self ._get_roles_of_user_deprecated (user_id ))
158163
164+ @deprecated (
165+ """This method is deprecated and will be removed in Q4 25.
166+ Please use `users.db.assign_roles` and/or `users.oidc.assign_roles` instead."""
167+ )
159168 def assign_roles (
160169 self ,
161170 * ,
@@ -174,6 +183,10 @@ def assign_roles(
174183 None ,
175184 )
176185
186+ @deprecated (
187+ """This method is deprecated and will be removed in Q4 25.
188+ Please use `users.db.revoke_roles` and/or `users.oidc.revoke_roles` instead."""
189+ )
177190 def revoke_roles (
178191 self ,
179192 * ,
@@ -194,6 +207,24 @@ def revoke_roles(
194207
195208
196209class _UsersOIDCExecutor (Generic [ConnectionType ], _BaseExecutor [ConnectionType ]):
210+ @overload
211+ def get_assigned_roles (
212+ self , * , user_id : str , include_permissions : Literal [False ] = False
213+ ) -> executor .Result [Dict [str , RoleBase ]]: ...
214+
215+ @overload
216+ def get_assigned_roles (
217+ self , * , user_id : str , include_permissions : Literal [True ]
218+ ) -> executor .Result [Dict [str , Role ]]: ...
219+
220+ @overload
221+ def get_assigned_roles (
222+ self ,
223+ * ,
224+ user_id : str ,
225+ include_permissions : bool = False ,
226+ ) -> executor .Result [Union [Dict [str , Role ], Dict [str , RoleBase ]]]: ...
227+
197228 def get_assigned_roles (
198229 self ,
199230 * ,
@@ -252,6 +283,21 @@ def revoke_roles(
252283
253284
254285class _UsersDBExecutor (Generic [ConnectionType ], _BaseExecutor [ConnectionType ]):
286+ @overload
287+ def get_assigned_roles (
288+ self , * , user_id : str , include_permissions : Literal [False ] = False
289+ ) -> executor .Result [Dict [str , RoleBase ]]: ...
290+
291+ @overload
292+ def get_assigned_roles (
293+ self , * , user_id : str , include_permissions : Literal [True ]
294+ ) -> executor .Result [Dict [str , Role ]]: ...
295+
296+ @overload
297+ def get_assigned_roles (
298+ self , * , user_id : str , include_permissions : bool = False
299+ ) -> executor .Result [Union [Dict [str , Role ], Dict [str , RoleBase ]]]: ...
300+
255301 def get_assigned_roles (
256302 self , * , user_id : str , include_permissions : bool = False
257303 ) -> executor .Result [Union [Dict [str , Role ], Dict [str , RoleBase ]]]:
0 commit comments