Skip to content

Commit f4eb3e1

Browse files
committed
fix: minor fixes
1 parent c235e1e commit f4eb3e1

File tree

9 files changed

+50
-46
lines changed

9 files changed

+50
-46
lines changed

supertokens_python/recipe/multitenancy/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,20 @@
2626
from supertokens_python.supertokens import AppInfo
2727

2828
from ...recipe_module import RecipeModule
29-
from .interfaces import TypeGetTenantIdsForUserId, TypeGetAllowedDomainsForTenantId
29+
from .interfaces import TypeGetTenantIdForUserId, TypeGetAllowedDomainsForTenantId
3030
from .utils import InputErrorHandlers, InputOverrideConfig
3131

3232

3333
def init(
34-
get_tenant_ids_for_user_id: Union[TypeGetTenantIdsForUserId, None] = None,
34+
get_tenant_id_for_user_id: Union[TypeGetTenantIdForUserId, None] = None,
3535
get_allowed_domains_for_tenant_id: Union[
3636
TypeGetAllowedDomainsForTenantId, None
3737
] = None,
3838
error_handlers: Union[InputErrorHandlers, None] = None,
3939
override: Union[InputOverrideConfig, None] = None,
4040
) -> Callable[[AppInfo], RecipeModule]:
4141
return recipe.MultitenancyRecipe.init(
42-
get_tenant_ids_for_user_id,
42+
get_tenant_id_for_user_id,
4343
get_allowed_domains_for_tenant_id,
4444
error_handlers,
4545
override,

supertokens_python/recipe/multitenancy/interfaces.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,18 +254,18 @@ async def login_methods_get(
254254
pass
255255

256256

257-
class TenantIdsOkResult:
258-
def __init__(self, tenant_ids: List[str]):
259-
self.tenant_ids = tenant_ids
257+
class TenantIdOkResult:
258+
def __init__(self, tenant_id: str):
259+
self.tenant_id = tenant_id
260260

261261

262262
class UnknownUserIdError(Exception):
263263
pass
264264

265265

266-
TypeGetTenantIdsForUserId = Callable[
266+
TypeGetTenantIdForUserId = Callable[
267267
[str, Dict[str, Any]],
268-
Awaitable[Union[TenantIdsOkResult, UnknownUserIdError]],
268+
Awaitable[Union[TenantIdOkResult, UnknownUserIdError]],
269269
]
270270

271271
TypeGetAllowedDomainsForTenantId = Callable[

supertokens_python/recipe/multitenancy/recipe.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
from .interfaces import (
3030
APIInterface,
3131
APIOptions,
32-
TypeGetTenantIdsForUserId,
32+
TypeGetTenantIdForUserId,
3333
TypeGetAllowedDomainsForTenantId,
34-
TenantIdsOkResult,
34+
TenantIdOkResult,
3535
UnknownUserIdError,
3636
)
3737

@@ -78,7 +78,7 @@ def __init__(
7878
self,
7979
recipe_id: str,
8080
app_info: AppInfo,
81-
get_tenant_ids_for_user_id: Optional[TypeGetTenantIdsForUserId] = None,
81+
get_tenant_id_for_user_id: Optional[TypeGetTenantIdForUserId] = None,
8282
get_allowed_domains_for_tenant_id: Optional[
8383
TypeGetAllowedDomainsForTenantId
8484
] = None,
@@ -87,7 +87,7 @@ def __init__(
8787
) -> None:
8888
super().__init__(recipe_id, app_info)
8989
self.config = validate_and_normalise_user_input(
90-
get_tenant_ids_for_user_id,
90+
get_tenant_id_for_user_id,
9191
get_allowed_domains_for_tenant_id,
9292
error_handlers,
9393
override,
@@ -109,8 +109,8 @@ def __init__(
109109
else self.config.override.apis(api_implementation)
110110
)
111111

112-
self.get_tenant_ids_for_user_id_funcs_from_other_recipes: List[
113-
TypeGetTenantIdsForUserId
112+
self.get_tenant_id_for_user_id_funcs_from_other_recipes: List[
113+
TypeGetTenantIdForUserId
114114
] = []
115115

116116
self.static_third_party_providers: List[ProviderInput] = []
@@ -169,7 +169,7 @@ def get_all_cors_headers(self) -> List[str]:
169169

170170
@staticmethod
171171
def init(
172-
get_tenant_ids_for_user_id: Union[TypeGetTenantIdsForUserId, None] = None,
172+
get_tenant_id_for_user_id: Union[TypeGetTenantIdForUserId, None] = None,
173173
get_allowed_domains_for_tenant_id: Union[
174174
TypeGetAllowedDomainsForTenantId, None
175175
] = None,
@@ -181,7 +181,7 @@ def func(app_info: AppInfo):
181181
MultitenancyRecipe.__instance = MultitenancyRecipe(
182182
MultitenancyRecipe.recipe_id,
183183
app_info,
184-
get_tenant_ids_for_user_id,
184+
get_tenant_id_for_user_id,
185185
get_allowed_domains_for_tenant_id,
186186
error_handlers,
187187
override,
@@ -219,23 +219,23 @@ def reset():
219219
raise_general_exception("calling testing function in non testing env")
220220
MultitenancyRecipe.__instance = None
221221

222-
async def get_tenant_ids_for_user_id(
222+
async def get_tenant_id_for_user_id(
223223
self, user_id: str, user_context: Dict[str, Any]
224-
) -> Union[TenantIdsOkResult, UnknownUserIdError]:
225-
if self.config.get_tenant_ids_for_user_id is not None:
226-
res = await self.config.get_tenant_ids_for_user_id(user_id, user_context)
224+
) -> Union[TenantIdOkResult, UnknownUserIdError]:
225+
if self.config.get_tenant_id_for_user_id is not None:
226+
res = await self.config.get_tenant_id_for_user_id(user_id, user_context)
227227
if not isinstance(res, UnknownUserIdError):
228228
return res
229229

230-
for f in self.get_tenant_ids_for_user_id_funcs_from_other_recipes:
230+
for f in self.get_tenant_id_for_user_id_funcs_from_other_recipes:
231231
res = await f(user_id, user_context)
232232
if not isinstance(res, UnknownUserIdError):
233233
return res
234234

235235
return UnknownUserIdError()
236236

237-
def add_get_tenant_ids_for_user_id_func(self, f: TypeGetTenantIdsForUserId):
238-
self.get_tenant_ids_for_user_id_funcs_from_other_recipes.append(f)
237+
def add_get_tenant_id_for_user_id_func(self, f: TypeGetTenantIdForUserId):
238+
self.get_tenant_id_for_user_id_funcs_from_other_recipes.append(f)
239239

240240

241241
class APIImplementation(APIInterface):
@@ -286,12 +286,12 @@ class AllowedDomainsClaimClass(PrimitiveArrayClaim[List[str]]):
286286
def __init__(self):
287287
async def fetch_value(user_id: str, user_context: Dict[str, Any]) -> List[str]:
288288
recipe = MultitenancyRecipe.get_instance()
289-
tenant_ids_res = await recipe.get_tenant_ids_for_user_id(
289+
tenant_ids_res = await recipe.get_tenant_id_for_user_id(
290290
user_id, user_context
291291
)
292292

293-
if isinstance(tenant_ids_res, TenantIdsOkResult):
294-
for tenant_id in tenant_ids_res.tenant_ids:
293+
if isinstance(tenant_ids_res, TenantIdOkResult):
294+
for tenant_id in tenant_ids_res.tenant_id:
295295
if recipe.config.get_allowed_domains_for_tenant_id is None:
296296
return (
297297
[]

supertokens_python/recipe/multitenancy/utils.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
if TYPE_CHECKING:
2626
from typing import Union
2727
from .interfaces import (
28-
TypeGetTenantIdsForUserId,
28+
TypeGetTenantIdForUserId,
2929
TypeGetAllowedDomainsForTenantId,
3030
RecipeInterface,
3131
APIInterface,
@@ -125,19 +125,19 @@ def __init__(
125125
class MultitenancyConfig:
126126
def __init__(
127127
self,
128-
get_tenant_ids_for_user_id: Union[TypeGetTenantIdsForUserId, None],
128+
get_tenant_id_for_user_id: Union[TypeGetTenantIdForUserId, None],
129129
get_allowed_domains_for_tenant_id: Optional[TypeGetAllowedDomainsForTenantId],
130130
error_handlers: ErrorHandlers,
131131
override: OverrideConfig,
132132
):
133-
self.get_tenant_ids_for_user_id = get_tenant_ids_for_user_id
133+
self.get_tenant_id_for_user_id = get_tenant_id_for_user_id
134134
self.get_allowed_domains_for_tenant_id = get_allowed_domains_for_tenant_id
135135
self.error_handlers = error_handlers
136136
self.override = override
137137

138138

139139
def validate_and_normalise_user_input(
140-
get_tenant_ids_for_user_id: Optional[TypeGetTenantIdsForUserId],
140+
get_tenant_id_for_user_id: Optional[TypeGetTenantIdForUserId],
141141
get_allowed_domains_for_tenant_id: Optional[TypeGetAllowedDomainsForTenantId],
142142
error_handlers: Union[ErrorHandlers, None] = None,
143143
override: Union[InputOverrideConfig, None] = None,
@@ -155,7 +155,7 @@ def validate_and_normalise_user_input(
155155
override = InputOverrideConfig()
156156

157157
return MultitenancyConfig(
158-
get_tenant_ids_for_user_id,
158+
get_tenant_id_for_user_id,
159159
get_allowed_domains_for_tenant_id,
160160
error_handlers,
161161
OverrideConfig(override.functions, override.apis),

supertokens_python/recipe/thirdparty/recipe.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from supertokens_python.normalised_url_path import NormalisedURLPath
2020
from supertokens_python.querier import Querier
2121
from supertokens_python.recipe.multitenancy.interfaces import (
22-
TenantIdsOkResult,
22+
TenantIdOkResult,
2323
UnknownUserIdError as MTUnknownUserIdError,
2424
)
2525
from supertokens_python.recipe_module import APIHandled, RecipeModule
@@ -92,8 +92,8 @@ def callback():
9292
mt_recipe = MultitenancyRecipe.get_instance_optional()
9393
if mt_recipe:
9494
mt_recipe.static_third_party_providers = self.providers
95-
mt_recipe.add_get_tenant_ids_for_user_id_func(
96-
self.get_tenant_ids_for_user_id
95+
mt_recipe.add_get_tenant_id_for_user_id_func(
96+
self.get_tenant_id_for_user_id
9797
)
9898

9999
PostSTInitCallbacks.add_post_init_callback(callback)
@@ -212,7 +212,7 @@ async def get_email_for_user_id(self, user_id: str, user_context: Dict[str, Any]
212212

213213
return UnknownUserIdError()
214214

215-
async def get_tenant_ids_for_user_id(
215+
async def get_tenant_id_for_user_id(
216216
self, user_id: str, user_context: Dict[str, Any]
217217
):
218218
user_info = await self.recipe_implementation.get_user_by_id(
@@ -221,4 +221,4 @@ async def get_tenant_ids_for_user_id(
221221
if user_info is None:
222222
return MTUnknownUserIdError()
223223

224-
return TenantIdsOkResult(user_info.tenant_ids)
224+
return TenantIdOkResult(user_info.tenant_ids)

supertokens_python/recipe/thirdparty/types.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from typing import Any, Callable, Dict, List, Union
1515

1616
from supertokens_python.framework.request import BaseRequest
17-
from supertokens_python.recipe.multitenancy.constants import DEFAULT_TENANT_ID
1817

1918

2019
class ThirdPartyInfo:
@@ -43,15 +42,13 @@ def __init__(
4342
self.email: str = email
4443
self.time_joined: int = time_joined
4544
self.third_party_info: ThirdPartyInfo = third_party_info
46-
self.tenant_ids: List[str] = []
45+
self.tenant_id: Union[str, None] = None
4746

4847
self._update_tenant_ids()
4948

5049
def _update_tenant_ids(self):
51-
if "|" in self.user_id:
52-
self.tenant_ids = [self.user_id.split("|")[1]]
53-
else:
54-
self.tenant_ids = [DEFAULT_TENANT_ID]
50+
if "|" in self.third_party_info.user_id:
51+
self.tenant_id = self.third_party_info.user_id.split("|")[1]
5552

5653

5754
class UserInfoEmail:

supertokens_python/recipe/thirdpartyemailpassword/types.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
SMTPServiceInterface,
2121
)
2222
from supertokens_python.recipe.emailpassword import types as ep_types
23-
from supertokens_python.recipe.multitenancy.constants import DEFAULT_TENANT_ID
2423

2524
from ..thirdparty.types import ThirdPartyInfo
2625

@@ -37,14 +36,14 @@ def __init__(
3736
self.email = email
3837
self.time_joined = time_joined
3938
self.third_party_info = third_party_info
40-
self.tenant_ids = [DEFAULT_TENANT_ID]
39+
self.tenant_id: Union[str, None] = None
4140

4241
self._update_tenant_ids()
4342

4443
def _update_tenant_ids(self):
4544
if self.third_party_info is not None:
4645
if "|" in self.third_party_info.user_id:
47-
self.tenant_ids = [self.third_party_info.user_id.split("|")[1]]
46+
self.tenant_id = self.third_party_info.user_id.split("|")[1]
4847

4948

5049
# Export:

supertokens_python/recipe/thirdpartypasswordless/types.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ def __init__(
4242
self.phone_number: Union[str, None] = phone_number
4343
self.time_joined: int = time_joined
4444
self.third_party_info: Union[ThirdPartyInfo, None] = third_party_info
45+
self.tenant_id: Union[str, None] = None
46+
47+
self._update_tenant_ids()
48+
49+
def _update_tenant_ids(self):
50+
if self.third_party_info is not None:
51+
if "|" in self.third_party_info.user_id:
52+
self.tenant_id = self.third_party_info.user_id.split("|")[1]
4553

4654

4755
_T = TypeVar("_T")

supertokens_python/recipe/thirdpartypasswordless/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
ContactEmailOrPhoneConfig,
3030
ContactPhoneOnlyConfig,
3131
)
32-
from supertokens_python.recipe.thirdparty.provider import Provider, ProviderInput
32+
from supertokens_python.recipe.thirdparty.provider import ProviderInput
3333
from supertokens_python.recipe.thirdpartypasswordless.emaildelivery.services.backward_compatibility import (
3434
BackwardCompatibilityService,
3535
)

0 commit comments

Comments
 (0)