UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

86 lines (85 loc) 8.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "globalRoutes", { enumerable: true, get: function() { return globalRoutes; } }); const _react = /*#__PURE__*/ _interop_require_wildcard(require("react")); const _reactrouterdom = require("react-router-dom"); const _DocumentInfo = require("../../utilities/DocumentInfo"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } // @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue const EditGlobal = /*#__PURE__*/ (0, _react.lazy)(()=>Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../Global")))); // @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue const Unauthorized = /*#__PURE__*/ (0, _react.lazy)(()=>Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../Unauthorized")))); const globalRoutes = (props)=>{ const { globals, locale, match, permissions, user } = props; // Note: `Route` must be directly nested within `Switch` for `useRouteMatch` to work // This means that we cannot use `Fragment` here with a simple map function to return an array of routes // Instead, we need to use `reduce` to return an array of routes directly within `Switch` return globals?.filter(({ admin: { hidden } })=>!(typeof hidden === 'function' ? hidden({ user }) : hidden)).reduce((acc, global)=>{ const canReadGlobal = permissions?.globals?.[global.slug]?.read?.permission; // Default routes const routesToReturn = [ ...acc, /*#__PURE__*/ _react.default.createElement(_reactrouterdom.Route, { key: global.slug, path: `${match.url}/globals/${global.slug}` }, canReadGlobal ? /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, { global: global, idFromParams: true, key: `${global.slug}-${locale}` }, /*#__PURE__*/ _react.default.createElement(EditGlobal, { global: global })) : /*#__PURE__*/ _react.default.createElement(Unauthorized, null)) ]; return routesToReturn; }, []); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL1JvdXRlcy9nbG9iYWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IG1hdGNoIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcblxuaW1wb3J0IHsgbGF6eSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgUm91dGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuXG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXhwb3J0cy90eXBlcydcblxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvUHJvdmlkZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuXG4vLyBAdHMtZXhwZWN0LWVycm9yIEp1c3QgVHlwZVNjcmlwdCBiZWluZyBicm9rZW4gLy8gVE9ETzogT3BlbiBUeXBlU2NyaXB0IGlzc3VlXG5jb25zdCBFZGl0R2xvYmFsID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL0dsb2JhbCcpKVxuLy8gQHRzLWV4cGVjdC1lcnJvciBKdXN0IFR5cGVTY3JpcHQgYmVpbmcgYnJva2VuIC8vIFRPRE86IE9wZW4gVHlwZVNjcmlwdCBpc3N1ZVxuY29uc3QgVW5hdXRob3JpemVkID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL1VuYXV0aG9yaXplZCcpKVxuXG5leHBvcnQgY29uc3QgZ2xvYmFsUm91dGVzID0gKHByb3BzOiB7XG4gIGdsb2JhbHM6IFNhbml0aXplZEdsb2JhbENvbmZpZ1tdXG4gIGxvY2FsZTogc3RyaW5nXG4gIG1hdGNoOiBtYXRjaDx7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIH0+XG4gIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uc1xuICB1c2VyOiBVc2VyXG59KTogUmVhY3QuUmVhY3RFbGVtZW50W10gPT4ge1xuICBjb25zdCB7IGdsb2JhbHMsIGxvY2FsZSwgbWF0Y2gsIHBlcm1pc3Npb25zLCB1c2VyIH0gPSBwcm9wc1xuXG4gIC8vIE5vdGU6IGBSb3V0ZWAgbXVzdCBiZSBkaXJlY3RseSBuZXN0ZWQgd2l0aGluIGBTd2l0Y2hgIGZvciBgdXNlUm91dGVNYXRjaGAgdG8gd29ya1xuICAvLyBUaGlzIG1lYW5zIHRoYXQgd2UgY2Fubm90IHVzZSBgRnJhZ21lbnRgIGhlcmUgd2l0aCBhIHNpbXBsZSBtYXAgZnVuY3Rpb24gdG8gcmV0dXJuIGFuIGFycmF5IG9mIHJvdXRlc1xuICAvLyBJbnN0ZWFkLCB3ZSBuZWVkIHRvIHVzZSBgcmVkdWNlYCB0byByZXR1cm4gYW4gYXJyYXkgb2Ygcm91dGVzIGRpcmVjdGx5IHdpdGhpbiBgU3dpdGNoYFxuICByZXR1cm4gZ2xvYmFsc1xuICAgID8uZmlsdGVyKCh7IGFkbWluOiB7IGhpZGRlbiB9IH0pID0+ICEodHlwZW9mIGhpZGRlbiA9PT0gJ2Z1bmN0aW9uJyA/IGhpZGRlbih7IHVzZXIgfSkgOiBoaWRkZW4pKVxuICAgIC5yZWR1Y2UoKGFjYywgZ2xvYmFsKSA9PiB7XG4gICAgICBjb25zdCBjYW5SZWFkR2xvYmFsID0gcGVybWlzc2lvbnM/Lmdsb2JhbHM/LltnbG9iYWwuc2x1Z10/LnJlYWQ/LnBlcm1pc3Npb25cblxuICAgICAgLy8gRGVmYXVsdCByb3V0ZXNcbiAgICAgIGNvbnN0IHJvdXRlc1RvUmV0dXJuID0gW1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIDxSb3V0ZSBrZXk9e2dsb2JhbC5zbHVnfSBwYXRoPXtgJHttYXRjaC51cmx9L2dsb2JhbHMvJHtnbG9iYWwuc2x1Z31gfT5cbiAgICAgICAgICB7Y2FuUmVhZEdsb2JhbCA/IChcbiAgICAgICAgICAgIDxEb2N1bWVudEluZm9Qcm92aWRlciBnbG9iYWw9e2dsb2JhbH0gaWRGcm9tUGFyYW1zIGtleT17YCR7Z2xvYmFsLnNsdWd9LSR7bG9jYWxlfWB9PlxuICAgICAgICAgICAgICA8RWRpdEdsb2JhbCBnbG9iYWw9e2dsb2JhbH0gLz5cbiAgICAgICAgICAgIDwvRG9jdW1lbnRJbmZvUHJvdmlkZXI+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxVbmF1dGhvcml6ZWQgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1JvdXRlPixcbiAgICAgIF1cblxuICAgICAgcmV0dXJuIHJvdXRlc1RvUmV0dXJuXG4gICAgfSwgW10pXG59XG4iXSwibmFtZXMiOlsiZ2xvYmFsUm91dGVzIiwiRWRpdEdsb2JhbCIsImxhenkiLCJVbmF1dGhvcml6ZWQiLCJwcm9wcyIsImdsb2JhbHMiLCJsb2NhbGUiLCJtYXRjaCIsInBlcm1pc3Npb25zIiwidXNlciIsImZpbHRlciIsImFkbWluIiwiaGlkZGVuIiwicmVkdWNlIiwiYWNjIiwiZ2xvYmFsIiwiY2FuUmVhZEdsb2JhbCIsInNsdWciLCJyZWFkIiwicGVybWlzc2lvbiIsInJvdXRlc1RvUmV0dXJuIiwiUm91dGUiLCJrZXkiLCJwYXRoIiwidXJsIiwiRG9jdW1lbnRJbmZvUHJvdmlkZXIiLCJpZEZyb21QYXJhbXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0JhQTs7O2VBQUFBOzs7K0RBZFE7Z0NBRUM7OEJBS2U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVyQywrRUFBK0U7QUFDL0UsTUFBTUMsMkJBQWFDLElBQUFBLFdBQUksRUFBQyxJQUFNLG1FQUFBLFFBQU87QUFDckMsK0VBQStFO0FBQy9FLE1BQU1DLDZCQUFlRCxJQUFBQSxXQUFJLEVBQUMsSUFBTSxtRUFBQSxRQUFPO0FBRWhDLE1BQU1GLGVBQWUsQ0FBQ0k7SUFTM0IsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxXQUFXLEVBQUVDLElBQUksRUFBRSxHQUFHTDtJQUV0RCxvRkFBb0Y7SUFDcEYsd0dBQXdHO0lBQ3hHLHlGQUF5RjtJQUN6RixPQUFPQyxTQUNISyxPQUFPLENBQUMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUUsRUFBRSxHQUFLLENBQUUsQ0FBQSxPQUFPQSxXQUFXLGFBQWFBLE9BQU87WUFBRUg7UUFBSyxLQUFLRyxNQUFLLEdBQzVGQyxPQUFPLENBQUNDLEtBQUtDO1FBQ1osTUFBTUMsZ0JBQWdCUixhQUFhSCxTQUFTLENBQUNVLE9BQU9FLElBQUksQ0FBQyxFQUFFQyxNQUFNQztRQUVqRSxpQkFBaUI7UUFDakIsTUFBTUMsaUJBQWlCO2VBQ2xCTjswQkFDSCw2QkFBQ08scUJBQUs7Z0JBQUNDLEtBQUtQLE9BQU9FLElBQUk7Z0JBQUVNLE1BQU0sQ0FBQyxFQUFFaEIsTUFBTWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUVULE9BQU9FLElBQUksQ0FBQyxDQUFDO2VBQ2pFRCw4QkFDQyw2QkFBQ1Msa0NBQW9CO2dCQUFDVixRQUFRQTtnQkFBUVcsY0FBQUE7Z0JBQWFKLEtBQUssQ0FBQyxFQUFFUCxPQUFPRSxJQUFJLENBQUMsQ0FBQyxFQUFFWCxPQUFPLENBQUM7NkJBQ2hGLDZCQUFDTDtnQkFBV2MsUUFBUUE7Z0NBR3RCLDZCQUFDWjtTQUdOO1FBRUQsT0FBT2lCO0lBQ1QsR0FBRyxFQUFFO0FBQ1QifQ==