-
Notifications
You must be signed in to change notification settings - Fork 10
/
index.ts
61 lines (55 loc) · 2.41 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* Copyright (c) 2022, 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.
*/
import { MultiFactorAuthClaimClass } from "./multiFactorAuthClaim";
import Recipe from "./recipe";
import { PreAndPostAPIHookAction, PreAPIHookContext, PostAPIHookContext, RecipeInterface, UserInput } from "./types";
import { RecipeFunctionOptions } from "../recipeModule/types";
import { getNormalisedUserContext } from "../../utils";
export default class RecipeWrapper {
static init(config?: UserInput) {
return Recipe.init(config);
}
/**
* Loads information about what factors the current session can set up/complete and updates the requirements in the session payload
*
* @param userContext (OPTIONAL) Refer to {@link https://supertokens.com/docs/emailpassword/advanced-customizations/user-context the documentation}
*
* @param options (OPTIONAL) Use this to configure additional properties (for example pre api hooks)
*
* @returns `{ status: "OK", ...}` if successful
*/
static resyncSessionAndFetchMFAInfo(input?: { options?: RecipeFunctionOptions; userContext?: any }) {
return Recipe.getInstanceOrThrow().recipeImplementation.resyncSessionAndFetchMFAInfo({
options: input?.options ?? {},
userContext: getNormalisedUserContext(input?.userContext),
});
}
static MultiFactorAuthClaim = Recipe.MultiFactorAuthClaim;
}
const init = RecipeWrapper.init;
const resyncSessionAndFetchMFAInfo = RecipeWrapper.resyncSessionAndFetchMFAInfo;
const MultiFactorAuthClaim = RecipeWrapper.MultiFactorAuthClaim;
export {
init,
resyncSessionAndFetchMFAInfo,
RecipeInterface,
PreAPIHookContext,
PostAPIHookContext,
PreAndPostAPIHookAction,
UserInput,
MultiFactorAuthClaim,
MultiFactorAuthClaimClass,
RecipeFunctionOptions,
};