Module supertokens_python.recipe.accountlinking

Expand source code
# Copyright (c) 2021, VRAI Labs and/or its affiliates. All rights reserved.
#
# This software is licensed under the Apache License, Version 2.0 (the
# "License") as published by the Apache Software Foundation.
#
# You may not use this file except in compliance with the License. You may
# obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from __future__ import annotations

from typing import Callable, Union, Optional, Dict, Any, Awaitable

from . import types
from ...types import User
from ..session.interfaces import SessionContainer

from .recipe import AccountLinkingRecipe

InputOverrideConfig = types.InputOverrideConfig
RecipeLevelUser = types.RecipeLevelUser
AccountInfoWithRecipeIdAndUserId = types.AccountInfoWithRecipeIdAndUserId
ShouldAutomaticallyLink = types.ShouldAutomaticallyLink
ShouldNotAutomaticallyLink = types.ShouldNotAutomaticallyLink


def init(
    on_account_linked: Optional[
        Callable[[User, RecipeLevelUser, Dict[str, Any]], Awaitable[None]]
    ] = None,
    should_do_automatic_account_linking: Optional[
        Callable[
            [
                AccountInfoWithRecipeIdAndUserId,
                Optional[User],
                Optional[SessionContainer],
                str,
                Dict[str, Any],
            ],
            Awaitable[Union[ShouldNotAutomaticallyLink, ShouldAutomaticallyLink]],
        ]
    ] = None,
    override: Optional[InputOverrideConfig] = None,
):
    return AccountLinkingRecipe.init(
        on_account_linked, should_do_automatic_account_linking, override
    )

Sub-modules

supertokens_python.recipe.accountlinking.asyncio
supertokens_python.recipe.accountlinking.interfaces
supertokens_python.recipe.accountlinking.recipe
supertokens_python.recipe.accountlinking.recipe_implementation
supertokens_python.recipe.accountlinking.syncio
supertokens_python.recipe.accountlinking.types
supertokens_python.recipe.accountlinking.utils

Functions

def init(on_account_linked: Optional[Callable[[User, RecipeLevelUser, Dict[str, Any]], Awaitable[None]]] = None, should_do_automatic_account_linking: Optional[Callable[[AccountInfoWithRecipeIdAndUserId, Optional[User], Optional[SessionContainer], str, Dict[str, Any]], Awaitable[Union[ShouldNotAutomaticallyLink, ShouldAutomaticallyLink]]]] = None, override: Optional[InputOverrideConfig] = None)
Expand source code
def init(
    on_account_linked: Optional[
        Callable[[User, RecipeLevelUser, Dict[str, Any]], Awaitable[None]]
    ] = None,
    should_do_automatic_account_linking: Optional[
        Callable[
            [
                AccountInfoWithRecipeIdAndUserId,
                Optional[User],
                Optional[SessionContainer],
                str,
                Dict[str, Any],
            ],
            Awaitable[Union[ShouldNotAutomaticallyLink, ShouldAutomaticallyLink]],
        ]
    ] = None,
    override: Optional[InputOverrideConfig] = None,
):
    return AccountLinkingRecipe.init(
        on_account_linked, should_do_automatic_account_linking, override
    )