Overriding APIs
#
Main interfaceinterface APIInterface {
/*
* Called to the verify email verification token
*
* @method: POST
*
* @params: set it to undefined to disable the API.
* token: email verification tokenß
* options: see APIOptions below
*
* @returns: "OK": if token is successfully verified
* "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR": if verification token is invalid
*/
verifyEmailPOST:
| undefined
| ((input: {
token: string;
options: APIOptions;
}) => Promise<{ status: "OK"; user: User } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>);
/*
* Called to check whether the email is verified or not
*
* @method: GET
*
* @params: set it to undefined to disable the API
* options: see APIOptions below
*
* @returns: "OK" and boolean stating whether email is verified or not
*/
isEmailVerifiedGET:
| undefined
| ((input: {
options: APIOptions;
}) => Promise<{
status: "OK";
isVerified: boolean;
}>);
/*
* Called to generate email verification token
*
* @method: POST
*
* @params: set it to undefined to disable the API
* options: see APIOptions below
*
* @returns: "OK": if token is successfully generated
* "EMAIL_ALREADY_VERIFIED_ERROR": if email is already verified
*/
generateEmailVerifyTokenPOST:
| undefined
| ((input: { options: APIOptions }) => Promise<{ status: "EMAIL_ALREADY_VERIFIED_ERROR" | "OK" }>);
}
#
Supporting Typesinterface APIOptions {
recipeImplementation: RecipeInterface;
config: TypeNormalisedInput;
recipeId: string;
isInServerlessEnv: boolean;
req: Request;
res: Response;
next: NextFunction;
}
interface User {
id: string;
email: string;
}