UNPKG

@bigfishtv/cockpit

Version:

36 lines (23 loc) 1.04 kB
'use strict'; exports.__esModule = true; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactRedux = require('react-redux'); var _reactRouterDom = require('react-router-dom'); var _roleUtils = require('../utils/roleUtils'); var _Forbidden = require('./template/Forbidden'); var _Forbidden2 = _interopRequireDefault(_Forbidden); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ProtectedRedirect = function ProtectedRedirect(_ref) { var viewer = _ref.viewer, routes = _ref.routes; return routes.reduce(function (acc, route) { if (acc) return acc; if ((0, _roleUtils.userCanAccess)(route.resource, viewer)) return _react2.default.createElement(_reactRouterDom.Redirect, { to: route.to }); }, null) || _react2.default.createElement(_Forbidden2.default, null); }; function mapStateToProps(_ref2) { var viewer = _ref2.viewer; return { viewer: viewer }; } exports.default = (0, _reactRedux.connect)(mapStateToProps)(ProtectedRedirect);