UNPKG

supertokens-node

Version:
40 lines (39 loc) 1.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const error_1 = __importDefault(require("../../../../../error")); const createRoleOrAddPermissions = async ({ stInstance, options, userContext, }) => { let userrolesRecipe = undefined; try { userrolesRecipe = stInstance.getRecipeInstanceOrThrow("userroles"); } catch (_) { return { status: "FEATURE_NOT_ENABLED_ERROR", }; } const requestBody = await options.req.getJSONBody(); const permissions = requestBody.permissions; const role = requestBody.role; if (role === undefined || typeof role !== "string") { throw new error_1.default({ message: "Required parameter 'role' is missing or has an invalid type", type: error_1.default.BAD_INPUT_ERROR, }); } if (permissions === undefined || Array.isArray(permissions) === false) { throw new error_1.default({ message: "Required parameter 'permissions' is missing or has an invalid type", type: error_1.default.BAD_INPUT_ERROR, }); } const response = await userrolesRecipe.recipeInterfaceImpl.createNewRoleOrAddPermissions({ role, permissions, userContext, }); return response; }; exports.default = createRoleOrAddPermissions;