Skip to content

Commit

Permalink
added types implementation and minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
niftyvictor committed Oct 28, 2024
1 parent 3186aa5 commit 3fa31ce
Show file tree
Hide file tree
Showing 13 changed files with 1,464 additions and 1,295 deletions.
51 changes: 51 additions & 0 deletions lib/ts/recipe/webauthn/api/emailExists.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/* 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.
*/

import { send200Response } from "../../../utils";
import STError from "../error";
import { APIInterface, APIOptions } from "../";
import { UserContext } from "../../../types";

export default async function emailExists(
apiImplementation: APIInterface,
tenantId: string,
options: APIOptions,
userContext: UserContext
): Promise<boolean> {
// Logic as per https://github.com/supertokens/supertokens-node/issues/47#issue-751571692

if (apiImplementation.emailExistsGET === undefined) {
return false;
}

let email = options.req.getKeyValueFromQuery("email");

if (email === undefined || typeof email !== "string") {
throw new STError({
type: STError.BAD_INPUT_ERROR,
message: "Please provide the email as a GET param",
});
}

let result = await apiImplementation.emailExistsGET({
email,
tenantId,
options,
userContext,
});

send200Response(options.res, result);
return true;
}
50 changes: 50 additions & 0 deletions lib/ts/recipe/webauthn/api/generateRecoverAccountToken.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/* 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.
*/

import { send200Response } from "../../../utils";
import { APIInterface, APIOptions } from "../";
import { UserContext } from "../../../types";
import STError from "../error";

export default async function generateRecoverAccountToken(
apiImplementation: APIInterface,
tenantId: string,
options: APIOptions,
userContext: UserContext
): Promise<boolean> {
if (apiImplementation.generateRecoverAccountTokenPOST === undefined) {
return false;
}

const requestBody = await options.req.getJSONBody();
const email = requestBody.email;

if (email === undefined || typeof email !== "string") {
throw new STError({
type: STError.BAD_INPUT_ERROR,
message: "Please provide the email",
});
}

let result = await apiImplementation.generateRecoverAccountTokenPOST({
email,
tenantId,
options,
userContext,
});

send200Response(options.res, result);
return true;
}
Loading

0 comments on commit 3fa31ce

Please sign in to comment.