supertokens-node
    Preparing search index...

    Type Alias RecipeInterface

    type RecipeInterface = {
        canCreatePrimaryUser: (
            input: { recipeUserId: RecipeUserId; userContext: UserContext },
        ) => Promise<
            | { status: "OK"; wasAlreadyAPrimaryUser: boolean }
            | {
                description: string;
                primaryUserId: string;
                status:
                    | "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR"
                    | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            },
        >;
        canLinkAccounts: (
            input: {
                primaryUserId: string;
                recipeUserId: RecipeUserId;
                userContext: UserContext;
            },
        ) => Promise<
            | { accountsAlreadyLinked: boolean; status: "OK" }
            | {
                description: string;
                primaryUserId: string;
                status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            }
            | {
                description: string;
                primaryUserId: string;
                status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            }
            | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" },
        >;
        createPrimaryUser: (
            input: { recipeUserId: RecipeUserId; userContext: UserContext },
        ) => Promise<
            | { status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean }
            | {
                primaryUserId: string;
                status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR";
            }
            | {
                description: string;
                primaryUserId: string;
                status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            },
        >;
        deleteUser: (
            input: {
                removeAllLinkedAccounts: boolean;
                userContext: UserContext;
                userId: string;
            },
        ) => Promise<{ status: "OK" }>;
        getUser: (
            input: { userContext: UserContext; userId: string },
        ) => Promise<User | undefined>;
        getUsers: (
            input: {
                includeRecipeIds?: string[];
                limit?: number;
                paginationToken?: string;
                query?: { [key: string]: string };
                tenantId: string;
                timeJoinedOrder: "ASC" | "DESC";
                userContext: UserContext;
            },
        ) => Promise<{ nextPaginationToken?: string; users: User[] }>;
        linkAccounts: (
            input: {
                primaryUserId: string;
                recipeUserId: RecipeUserId;
                userContext: UserContext;
            },
        ) => Promise<
            | { accountsAlreadyLinked: boolean; status: "OK"; user: User }
            | {
                primaryUserId: string;
                status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
                user: User;
            }
            | {
                description: string;
                primaryUserId: string;
                status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            }
            | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" },
        >;
        listUsersByAccountInfo: (
            input: {
                accountInfo: AccountInfoInput;
                doUnionOfAccountInfo: boolean;
                tenantId: string;
                userContext: UserContext;
            },
        ) => Promise<User[]>;
        unlinkAccount: (
            input: { recipeUserId: RecipeUserId; userContext: UserContext },
        ) => Promise<
            { status: "OK"; wasLinked: boolean; wasRecipeUserDeleted: boolean },
        >;
    }
    Index

    Properties

    canCreatePrimaryUser: (
        input: { recipeUserId: RecipeUserId; userContext: UserContext },
    ) => Promise<
        | { status: "OK"; wasAlreadyAPrimaryUser: boolean }
        | {
            description: string;
            primaryUserId: string;
            status:
                | "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR"
                | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
        },
    >
    canLinkAccounts: (
        input: {
            primaryUserId: string;
            recipeUserId: RecipeUserId;
            userContext: UserContext;
        },
    ) => Promise<
        | { accountsAlreadyLinked: boolean; status: "OK" }
        | {
            description: string;
            primaryUserId: string;
            status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
        }
        | {
            description: string;
            primaryUserId: string;
            status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
        }
        | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" },
    >
    createPrimaryUser: (
        input: { recipeUserId: RecipeUserId; userContext: UserContext },
    ) => Promise<
        | { status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean }
        | {
            primaryUserId: string;
            status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR";
        }
        | {
            description: string;
            primaryUserId: string;
            status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
        },
    >
    deleteUser: (
        input: {
            removeAllLinkedAccounts: boolean;
            userContext: UserContext;
            userId: string;
        },
    ) => Promise<{ status: "OK" }>
    getUser: (
        input: { userContext: UserContext; userId: string },
    ) => Promise<User | undefined>
    getUsers: (
        input: {
            includeRecipeIds?: string[];
            limit?: number;
            paginationToken?: string;
            query?: { [key: string]: string };
            tenantId: string;
            timeJoinedOrder: "ASC" | "DESC";
            userContext: UserContext;
        },
    ) => Promise<{ nextPaginationToken?: string; users: User[] }>
    linkAccounts: (
        input: {
            primaryUserId: string;
            recipeUserId: RecipeUserId;
            userContext: UserContext;
        },
    ) => Promise<
        | { accountsAlreadyLinked: boolean; status: "OK"; user: User }
        | {
            primaryUserId: string;
            status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
            user: User;
        }
        | {
            description: string;
            primaryUserId: string;
            status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR";
        }
        | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" },
    >
    listUsersByAccountInfo: (
        input: {
            accountInfo: AccountInfoInput;
            doUnionOfAccountInfo: boolean;
            tenantId: string;
            userContext: UserContext;
        },
    ) => Promise<User[]>
    unlinkAccount: (
        input: { recipeUserId: RecipeUserId; userContext: UserContext },
    ) => Promise<
        { status: "OK"; wasLinked: boolean; wasRecipeUserDeleted: boolean },
    >