UNPKG

supertokens-node

Version:
82 lines (81 loc) 3.44 kB
// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import NormalisedURLPath from "../../normalisedURLPath"; import RecipeModule from "../../recipeModule"; import STError from "../../error"; import { APIHandled, HTTPMethod, NormalisedAppinfo, RecipeListFunction, UserContext } from "../../types"; import { APIInterface, GetAllAvailableSecondaryFactorIdsFromOtherRecipesFunc, GetEmailsForFactorFromOtherRecipesFunc, GetFactorsSetupForUserFromOtherRecipesFunc, GetPhoneNumbersForFactorsFromOtherRecipesFunc, RecipeInterface, TypeInput, TypeNormalisedInput, } from "./types"; import { User } from "../../user"; import RecipeUserId from "../../recipeUserId"; import { Querier } from "../../querier"; import { TenantConfig } from "../multitenancy/types"; export default class Recipe extends RecipeModule { private static instance; static RECIPE_ID: "multifactorauth"; getFactorsSetupForUserFromOtherRecipesFuncs: GetFactorsSetupForUserFromOtherRecipesFunc[]; getAllAvailableSecondaryFactorIdsFromOtherRecipesFuncs: GetAllAvailableSecondaryFactorIdsFromOtherRecipesFunc[]; getEmailsForFactorFromOtherRecipesFunc: GetEmailsForFactorFromOtherRecipesFunc[]; getPhoneNumbersForFactorFromOtherRecipesFunc: GetPhoneNumbersForFactorsFromOtherRecipesFunc[]; isGetMfaRequirementsForAuthOverridden: boolean; config: TypeNormalisedInput; recipeInterfaceImpl: RecipeInterface; apiImpl: APIInterface; isInServerlessEnv: boolean; querier: Querier; constructor(recipeId: string, appInfo: NormalisedAppinfo, isInServerlessEnv: boolean, config?: TypeInput); static getInstanceOrThrowError(): Recipe; static getInstance(): Recipe | undefined; static init(config?: TypeInput): RecipeListFunction; static reset(): void; getAPIsHandled: () => APIHandled[]; handleAPIRequest: ( id: string, _tenantId: string, req: BaseRequest, res: BaseResponse, _: NormalisedURLPath, __: HTTPMethod, userContext: UserContext ) => Promise<boolean>; handleError: (err: STError, _: BaseRequest, __: BaseResponse) => Promise<void>; getAllCORSHeaders: () => string[]; isErrorFromThisRecipe: (err: any) => err is STError; addFuncToGetAllAvailableSecondaryFactorIdsFromOtherRecipes: ( f: GetAllAvailableSecondaryFactorIdsFromOtherRecipesFunc ) => void; getAllAvailableSecondaryFactorIds: (tenantConfig: TenantConfig) => string[]; addFuncToGetFactorsSetupForUserFromOtherRecipes: (func: GetFactorsSetupForUserFromOtherRecipesFunc) => void; addFuncToGetEmailsForFactorFromOtherRecipes: (func: GetEmailsForFactorFromOtherRecipesFunc) => void; getEmailsForFactors: ( user: User, sessionRecipeUserId: RecipeUserId ) => | { status: "OK"; factorIdToEmailsMap: Record<string, string[]>; } | { status: "UNKNOWN_SESSION_RECIPE_USER_ID"; }; addFuncToGetPhoneNumbersForFactorsFromOtherRecipes: (func: GetPhoneNumbersForFactorsFromOtherRecipesFunc) => void; getPhoneNumbersForFactors: ( user: User, sessionRecipeUserId: RecipeUserId ) => | { status: "OK"; factorIdToPhoneNumberMap: Record<string, string[]>; } | { status: "UNKNOWN_SESSION_RECIPE_USER_ID"; }; }