UNPKG

supertokens-node

Version:
260 lines (259 loc) 10.5 kB
"use strict"; /* 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. */ var __createBinding = (this && this.__createBinding) || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function () { return m[k]; }, }; } Object.defineProperty(o, k2, desc); } : function (o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? function (o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); } : function (o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function (o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return mod && mod.__esModule ? mod : { default: mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.User = exports.RecipeUserId = exports.PluginError = exports.Error = exports.getAvailableFirstFactors = exports.isRecipeInitialized = exports.getRequestFromUserContext = exports.convertToRecipeUserId = exports.listUsersByAccountInfo = exports.getUser = exports.updateOrDeleteUserIdMappingInfo = exports.deleteUserIdMapping = exports.getUserIdMapping = exports.createUserIdMapping = exports.deleteUser = exports.getUsersNewestFirst = exports.getUsersOldestFirst = exports.getUserCount = exports.getAllCORSHeaders = exports.init = void 0; const supertokens_1 = __importDefault(require("./supertokens")); const error_1 = __importStar(require("./error")); const recipeUserId_1 = __importDefault(require("./recipeUserId")); const user_1 = require("./user"); const utils_1 = require("./utils"); const multifactorauth_1 = require("./recipe/multifactorauth"); // For Express class SuperTokensWrapper { static getAllCORSHeaders() { return supertokens_1.default.getInstanceOrThrowError().getAllCORSHeaders(); } static getUserCount(includeRecipeIds, tenantId, userContext) { return supertokens_1.default .getInstanceOrThrowError() .getUserCount(includeRecipeIds, tenantId, (0, utils_1.getUserContext)(userContext)); } static getUsersOldestFirst(input) { return supertokens_1.default .getInstanceOrThrowError() .getRecipeInstanceOrThrow("accountlinking") .recipeInterfaceImpl.getUsers( Object.assign(Object.assign({ timeJoinedOrder: "ASC" }, input), { userContext: (0, utils_1.getUserContext)(input.userContext), }) ); } static getUsersNewestFirst(input) { return supertokens_1.default .getInstanceOrThrowError() .getRecipeInstanceOrThrow("accountlinking") .recipeInterfaceImpl.getUsers( Object.assign(Object.assign({ timeJoinedOrder: "DESC" }, input), { userContext: (0, utils_1.getUserContext)(input.userContext), }) ); } static createUserIdMapping(input) { return supertokens_1.default .getInstanceOrThrowError() .createUserIdMapping( Object.assign(Object.assign({}, input), { userContext: (0, utils_1.getUserContext)(input.userContext) }) ); } static getUserIdMapping(input) { return supertokens_1.default .getInstanceOrThrowError() .getUserIdMapping( Object.assign(Object.assign({}, input), { userContext: (0, utils_1.getUserContext)(input.userContext) }) ); } static deleteUserIdMapping(input) { return supertokens_1.default .getInstanceOrThrowError() .deleteUserIdMapping( Object.assign(Object.assign({}, input), { userContext: (0, utils_1.getUserContext)(input.userContext) }) ); } static updateOrDeleteUserIdMappingInfo(input) { return supertokens_1.default .getInstanceOrThrowError() .updateOrDeleteUserIdMappingInfo( Object.assign(Object.assign({}, input), { userContext: (0, utils_1.getUserContext)(input.userContext) }) ); } static async getUser(userId, userContext) { return await supertokens_1.default .getInstanceOrThrowError() .getRecipeInstanceOrThrow("accountlinking") .recipeInterfaceImpl.getUser({ userId, userContext: (0, utils_1.getUserContext)(userContext), }); } static async listUsersByAccountInfo(tenantId, accountInfo, doUnionOfAccountInfo = false, userContext) { return await supertokens_1.default .getInstanceOrThrowError() .getRecipeInstanceOrThrow("accountlinking") .recipeInterfaceImpl.listUsersByAccountInfo({ tenantId, accountInfo, doUnionOfAccountInfo, userContext: (0, utils_1.getUserContext)(userContext), }); } static async deleteUser(userId, removeAllLinkedAccounts = true, userContext) { return await supertokens_1.default .getInstanceOrThrowError() .getRecipeInstanceOrThrow("accountlinking") .recipeInterfaceImpl.deleteUser({ userId, removeAllLinkedAccounts, userContext: (0, utils_1.getUserContext)(userContext), }); } static convertToRecipeUserId(recipeUserId) { return new recipeUserId_1.default(recipeUserId); } static getRequestFromUserContext(userContext) { return supertokens_1.default.getInstanceOrThrowError().getRequestFromUserContext(userContext); } static isRecipeInitialized(recipeId) { return supertokens_1.default .getInstanceOrThrowError() .recipeModules.map((recipe) => recipe.getRecipeId()) .includes(recipeId); } static async getAvailableFirstFactors(tenantId, session, userContext) { const factorIds = Object.values(multifactorauth_1.FactorIds); try { const { AuthUtils } = require("./authUtils"); const availableFirstFactors = await AuthUtils.filterOutInvalidFirstFactorsOrThrowIfAllAreInvalid( factorIds, tenantId, !!session, (0, utils_1.getUserContext)(userContext) ); return availableFirstFactors; } catch (error) { if (error instanceof error_1.default) { if (error.type === error_1.default.BAD_INPUT_ERROR) { return []; } } throw error; } } } SuperTokensWrapper.init = supertokens_1.default.init; SuperTokensWrapper.Error = error_1.default; SuperTokensWrapper.PluginError = error_1.SuperTokensPluginError; SuperTokensWrapper.RecipeUserId = recipeUserId_1.default; SuperTokensWrapper.User = user_1.User; exports.default = SuperTokensWrapper; exports.init = SuperTokensWrapper.init; exports.getAllCORSHeaders = SuperTokensWrapper.getAllCORSHeaders; exports.getUserCount = SuperTokensWrapper.getUserCount; exports.getUsersOldestFirst = SuperTokensWrapper.getUsersOldestFirst; exports.getUsersNewestFirst = SuperTokensWrapper.getUsersNewestFirst; exports.deleteUser = SuperTokensWrapper.deleteUser; exports.createUserIdMapping = SuperTokensWrapper.createUserIdMapping; exports.getUserIdMapping = SuperTokensWrapper.getUserIdMapping; exports.deleteUserIdMapping = SuperTokensWrapper.deleteUserIdMapping; exports.updateOrDeleteUserIdMappingInfo = SuperTokensWrapper.updateOrDeleteUserIdMappingInfo; exports.getUser = SuperTokensWrapper.getUser; exports.listUsersByAccountInfo = SuperTokensWrapper.listUsersByAccountInfo; exports.convertToRecipeUserId = SuperTokensWrapper.convertToRecipeUserId; exports.getRequestFromUserContext = SuperTokensWrapper.getRequestFromUserContext; exports.isRecipeInitialized = SuperTokensWrapper.isRecipeInitialized; exports.getAvailableFirstFactors = SuperTokensWrapper.getAvailableFirstFactors; exports.Error = SuperTokensWrapper.Error; exports.PluginError = SuperTokensWrapper.PluginError; var recipeUserId_2 = require("./recipeUserId"); Object.defineProperty(exports, "RecipeUserId", { enumerable: true, get: function () { return __importDefault(recipeUserId_2).default; }, }); var user_2 = require("./user"); Object.defineProperty(exports, "User", { enumerable: true, get: function () { return user_2.User; }, });