13
13
# under the License.
14
14
15
15
16
- from typing import Any , Dict , List , Union
16
+ from typing import Any , Dict , List , Union , Optional
17
17
18
18
from supertokens_python .normalised_url_path import NormalisedURLPath
19
19
from supertokens_python .querier import Querier
32
32
RemoveUserRoleOkResult ,
33
33
UnknownRoleError ,
34
34
)
35
+ from ..multitenancy .constants import DEFAULT_TENANT_ID
35
36
36
37
37
38
class RecipeImplementation (RecipeInterface ):
@@ -40,11 +41,15 @@ def __init__(self, querier: Querier):
40
41
self .querier = querier
41
42
42
43
async def add_role_to_user (
43
- self , user_id : str , role : str , tenant_id : str , user_context : Dict [str , Any ]
44
+ self ,
45
+ user_id : str ,
46
+ role : str ,
47
+ tenant_id : Optional [str ],
48
+ user_context : Dict [str , Any ],
44
49
) -> Union [AddRoleToUserOkResult , UnknownRoleError ]:
45
50
params = {"userId" : user_id , "role" : role }
46
51
response = await self .querier .send_put_request (
47
- NormalisedURLPath (f"{ tenant_id } /recipe/user/role" ), params
52
+ NormalisedURLPath (f"{ tenant_id or DEFAULT_TENANT_ID } /recipe/user/role" ), params
48
53
)
49
54
if response .get ("status" ) == "OK" :
50
55
return AddRoleToUserOkResult (
@@ -53,11 +58,15 @@ async def add_role_to_user(
53
58
return UnknownRoleError ()
54
59
55
60
async def remove_user_role (
56
- self , user_id : str , role : str , tenant_id : str , user_context : Dict [str , Any ]
61
+ self ,
62
+ user_id : str ,
63
+ role : str ,
64
+ tenant_id : Optional [str ],
65
+ user_context : Dict [str , Any ],
57
66
) -> Union [RemoveUserRoleOkResult , UnknownRoleError ]:
58
67
params = {"userId" : user_id , "role" : role }
59
68
response = await self .querier .send_post_request (
60
- NormalisedURLPath (f"{ tenant_id } /recipe/user/role/remove" ), params
69
+ NormalisedURLPath (f"{ tenant_id or DEFAULT_TENANT_ID } /recipe/user/role/remove" ), params
61
70
)
62
71
if response ["status" ] == "OK" :
63
72
return RemoveUserRoleOkResult (
@@ -66,20 +75,20 @@ async def remove_user_role(
66
75
return UnknownRoleError ()
67
76
68
77
async def get_roles_for_user (
69
- self , user_id : str , tenant_id : str , user_context : Dict [str , Any ]
78
+ self , user_id : str , tenant_id : Optional [ str ] , user_context : Dict [str , Any ]
70
79
) -> GetRolesForUserOkResult :
71
80
params = {"userId" : user_id }
72
81
response = await self .querier .send_get_request (
73
- NormalisedURLPath (f"{ tenant_id } /recipe/user/roles" ), params
82
+ NormalisedURLPath (f"{ tenant_id or DEFAULT_TENANT_ID } /recipe/user/roles" ), params
74
83
)
75
84
return GetRolesForUserOkResult (roles = response ["roles" ])
76
85
77
86
async def get_users_that_have_role (
78
- self , role : str , tenant_id : str , user_context : Dict [str , Any ]
87
+ self , role : str , tenant_id : Optional [ str ] , user_context : Dict [str , Any ]
79
88
) -> Union [GetUsersThatHaveRoleOkResult , UnknownRoleError ]:
80
89
params = {"role" : role }
81
90
response = await self .querier .send_get_request (
82
- NormalisedURLPath (f"{ tenant_id } /recipe/role/users" ), params
91
+ NormalisedURLPath (f"{ tenant_id or DEFAULT_TENANT_ID } /recipe/role/users" ), params
83
92
)
84
93
if response .get ("status" ) == "OK" :
85
94
return GetUsersThatHaveRoleOkResult (users = response ["users" ])
0 commit comments