UNPKG

@boomerang-io/carbon-addons-boomerang-react

Version:
29 lines (22 loc) 1.2 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var reactRouterDom = require('react-router-dom'); var Error403 = require('../Error403/Error403.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2024 */ const checkAuth = (userRole, allowedUserRoles) => { if (Array.isArray(userRole)) { return userRole.some((role) => allowedUserRoles.some((allowedRole) => allowedRole === role)); } return allowedUserRoles.some((allowedRole) => allowedRole === userRole); }; function ProtectedRoute({ allowedUserRoles, component, message = "If you think you should be, contact your friendly neighborhood platform admin.", title = "Sorry mate, you are not allowed here.", userRole, ...rest }) { return (React__default.default.createElement(reactRouterDom.Route, { ...rest }, checkAuth(userRole, allowedUserRoles) ? component : React__default.default.createElement(Error403.default, { message: message, title: title }))); } exports.default = ProtectedRoute;