payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
108 lines (107 loc) • 11.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "collectionRoutes", {
enumerable: true,
get: function() {
return collectionRoutes;
}
});
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reactrouterdom = require("react-router-dom");
const _DocumentInfo = require("../../utilities/DocumentInfo");
const _List = /*#__PURE__*/ _interop_require_default(require("../collections/List"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
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 Edit = /*#__PURE__*/ (0, _react.lazy)(()=>Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../collections/Edit"))));
// @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 collectionRoutes = (props)=>{
const { collections, 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 collections?.filter(({ admin: { hidden } })=>!(typeof hidden === 'function' ? hidden({
user
}) : hidden)).reduce((acc, collection)=>{
// Default routes
const routesToReturn = [
...acc,
/*#__PURE__*/ _react.default.createElement(_reactrouterdom.Route, {
exact: true,
key: `${collection.slug}-list`,
path: `${match.url}/collections/${collection.slug}`
}, permissions?.collections?.[collection.slug]?.read?.permission ? /*#__PURE__*/ _react.default.createElement(_List.default, {
collection: collection
}) : /*#__PURE__*/ _react.default.createElement(Unauthorized, null)),
/*#__PURE__*/ _react.default.createElement(_reactrouterdom.Route, {
exact: true,
key: `${collection.slug}-create`,
path: `${match.url}/collections/${collection.slug}/create`
}, permissions?.collections?.[collection.slug]?.create?.permission ? /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, {
collection: collection,
idFromParams: true
}, /*#__PURE__*/ _react.default.createElement(Edit, {
collection: collection
})) : /*#__PURE__*/ _react.default.createElement(Unauthorized, null)),
/*#__PURE__*/ _react.default.createElement(_reactrouterdom.Route, {
key: `${collection.slug}-edit`,
path: `${match.url}/collections/${collection.slug}/:id`
}, permissions?.collections?.[collection.slug]?.read?.permission ? /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, {
collection: collection,
idFromParams: true
}, /*#__PURE__*/ _react.default.createElement(Edit, {
collection: collection,
isEditing: true
})) : /*#__PURE__*/ _react.default.createElement(Unauthorized, null))
];
return routesToReturn;
}, []);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL1JvdXRlcy9jb2xsZWN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBtYXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5cbmltcG9ydCB7IGxhenkgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IERvY3VtZW50SW5mb1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0RvY3VtZW50SW5mbydcbmltcG9ydCBMaXN0IGZyb20gJy4uL2NvbGxlY3Rpb25zL0xpc3QnXG5cbi8vIEB0cy1leHBlY3QtZXJyb3IgSnVzdCBUeXBlU2NyaXB0IGJlaW5nIGJyb2tlbiAvLyBUT0RPOiBPcGVuIFR5cGVTY3JpcHQgaXNzdWVcbmNvbnN0IEVkaXQgPSBsYXp5KCgpID0+IGltcG9ydCgnLi4vY29sbGVjdGlvbnMvRWRpdCcpKVxuLy8gQHRzLWV4cGVjdC1lcnJvciBKdXN0IFR5cGVTY3JpcHQgYmVpbmcgYnJva2VuIC8vIFRPRE86IE9wZW4gVHlwZVNjcmlwdCBpc3N1ZVxuY29uc3QgVW5hdXRob3JpemVkID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4uL1VuYXV0aG9yaXplZCcpKVxuXG5leHBvcnQgY29uc3QgY29sbGVjdGlvblJvdXRlcyA9IChwcm9wczoge1xuICBjb2xsZWN0aW9uczogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1tdXG4gIG1hdGNoOiBtYXRjaDx7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIH0+XG4gIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uc1xuICB1c2VyOiBVc2VyXG59KTogUmVhY3QuUmVhY3RFbGVtZW50W10gPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBtYXRjaCwgcGVybWlzc2lvbnMsIHVzZXIgfSA9IHByb3BzXG5cbiAgLy8gTm90ZTogYFJvdXRlYCBtdXN0IGJlIGRpcmVjdGx5IG5lc3RlZCB3aXRoaW4gYFN3aXRjaGAgZm9yIGB1c2VSb3V0ZU1hdGNoYCB0byB3b3JrXG4gIC8vIFRoaXMgbWVhbnMgdGhhdCB3ZSBjYW5ub3QgdXNlIGBGcmFnbWVudGAgaGVyZSB3aXRoIGEgc2ltcGxlIG1hcCBmdW5jdGlvbiB0byByZXR1cm4gYW4gYXJyYXkgb2Ygcm91dGVzXG4gIC8vIEluc3RlYWQsIHdlIG5lZWQgdG8gdXNlIGByZWR1Y2VgIHRvIHJldHVybiBhbiBhcnJheSBvZiByb3V0ZXMgZGlyZWN0bHkgd2l0aGluIGBTd2l0Y2hgXG4gIHJldHVybiBjb2xsZWN0aW9uc1xuICAgID8uZmlsdGVyKCh7IGFkbWluOiB7IGhpZGRlbiB9IH0pID0+ICEodHlwZW9mIGhpZGRlbiA9PT0gJ2Z1bmN0aW9uJyA/IGhpZGRlbih7IHVzZXIgfSkgOiBoaWRkZW4pKVxuICAgIC5yZWR1Y2UoKGFjYywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgLy8gRGVmYXVsdCByb3V0ZXNcbiAgICAgIGNvbnN0IHJvdXRlc1RvUmV0dXJuID0gW1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIDxSb3V0ZVxuICAgICAgICAgIGV4YWN0XG4gICAgICAgICAga2V5PXtgJHtjb2xsZWN0aW9uLnNsdWd9LWxpc3RgfVxuICAgICAgICAgIHBhdGg9e2Ake21hdGNoLnVybH0vY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uLnNsdWd9YH1cbiAgICAgICAgPlxuICAgICAgICAgIHtwZXJtaXNzaW9ucz8uY29sbGVjdGlvbnM/Lltjb2xsZWN0aW9uLnNsdWddPy5yZWFkPy5wZXJtaXNzaW9uID8gKFxuICAgICAgICAgICAgPExpc3QgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFVuYXV0aG9yaXplZCAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUm91dGU+LFxuICAgICAgICA8Um91dGVcbiAgICAgICAgICBleGFjdFxuICAgICAgICAgIGtleT17YCR7Y29sbGVjdGlvbi5zbHVnfS1jcmVhdGVgfVxuICAgICAgICAgIHBhdGg9e2Ake21hdGNoLnVybH0vY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uLnNsdWd9L2NyZWF0ZWB9XG4gICAgICAgID5cbiAgICAgICAgICB7cGVybWlzc2lvbnM/LmNvbGxlY3Rpb25zPy5bY29sbGVjdGlvbi5zbHVnXT8uY3JlYXRlPy5wZXJtaXNzaW9uID8gKFxuICAgICAgICAgICAgPERvY3VtZW50SW5mb1Byb3ZpZGVyIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGlkRnJvbVBhcmFtcz5cbiAgICAgICAgICAgICAgPEVkaXQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gLz5cbiAgICAgICAgICAgIDwvRG9jdW1lbnRJbmZvUHJvdmlkZXI+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxVbmF1dGhvcml6ZWQgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1JvdXRlPixcbiAgICAgICAgPFJvdXRlXG4gICAgICAgICAga2V5PXtgJHtjb2xsZWN0aW9uLnNsdWd9LWVkaXRgfVxuICAgICAgICAgIHBhdGg9e2Ake21hdGNoLnVybH0vY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uLnNsdWd9LzppZGB9XG4gICAgICAgID5cbiAgICAgICAgICB7cGVybWlzc2lvbnM/LmNvbGxlY3Rpb25zPy5bY29sbGVjdGlvbi5zbHVnXT8ucmVhZD8ucGVybWlzc2lvbiA/IChcbiAgICAgICAgICAgIDxEb2N1bWVudEluZm9Qcm92aWRlciBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSBpZEZyb21QYXJhbXM+XG4gICAgICAgICAgICAgIDxFZGl0IGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGlzRWRpdGluZyAvPlxuICAgICAgICAgICAgPC9Eb2N1bWVudEluZm9Qcm92aWRlcj5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFVuYXV0aG9yaXplZCAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUm91dGU+LFxuICAgICAgXVxuXG4gICAgICByZXR1cm4gcm91dGVzVG9SZXR1cm5cbiAgICB9LCBbXSlcbn1cbiJdLCJuYW1lcyI6WyJjb2xsZWN0aW9uUm91dGVzIiwiRWRpdCIsImxhenkiLCJVbmF1dGhvcml6ZWQiLCJwcm9wcyIsImNvbGxlY3Rpb25zIiwibWF0Y2giLCJwZXJtaXNzaW9ucyIsInVzZXIiLCJmaWx0ZXIiLCJhZG1pbiIsImhpZGRlbiIsInJlZHVjZSIsImFjYyIsImNvbGxlY3Rpb24iLCJyb3V0ZXNUb1JldHVybiIsIlJvdXRlIiwiZXhhY3QiLCJrZXkiLCJzbHVnIiwicGF0aCIsInVybCIsInJlYWQiLCJwZXJtaXNzaW9uIiwiTGlzdCIsImNyZWF0ZSIsIkRvY3VtZW50SW5mb1Byb3ZpZGVyIiwiaWRGcm9tUGFyYW1zIiwiaXNFZGl0aW5nIl0sIm1hcHBpbmdzIjoiOzs7OytCQWlCYUE7OztlQUFBQTs7OytEQWZRO2dDQUVDOzhCQUtlOzZEQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakIsK0VBQStFO0FBQy9FLE1BQU1DLHFCQUFPQyxJQUFBQSxXQUFJLEVBQUMsSUFBTSxtRUFBQSxRQUFPO0FBQy9CLCtFQUErRTtBQUMvRSxNQUFNQyw2QkFBZUQsSUFBQUEsV0FBSSxFQUFDLElBQU0sbUVBQUEsUUFBTztBQUVoQyxNQUFNRixtQkFBbUIsQ0FBQ0k7SUFRL0IsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxJQUFJLEVBQUUsR0FBR0o7SUFFbEQsb0ZBQW9GO0lBQ3BGLHdHQUF3RztJQUN4Ryx5RkFBeUY7SUFDekYsT0FBT0MsYUFDSEksT0FBTyxDQUFDLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFLEVBQUUsR0FBSyxDQUFFLENBQUEsT0FBT0EsV0FBVyxhQUFhQSxPQUFPO1lBQUVIO1FBQUssS0FBS0csTUFBSyxHQUM1RkMsT0FBTyxDQUFDQyxLQUFLQztRQUNaLGlCQUFpQjtRQUNqQixNQUFNQyxpQkFBaUI7ZUFDbEJGOzBCQUNILDZCQUFDRyxxQkFBSztnQkFDSkMsT0FBQUE7Z0JBQ0FDLEtBQUssQ0FBQyxFQUFFSixXQUFXSyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUM5QkMsTUFBTSxDQUFDLEVBQUVkLE1BQU1lLEdBQUcsQ0FBQyxhQUFhLEVBQUVQLFdBQVdLLElBQUksQ0FBQyxDQUFDO2VBRWxEWixhQUFhRixhQUFhLENBQUNTLFdBQVdLLElBQUksQ0FBQyxFQUFFRyxNQUFNQywyQkFDbEQsNkJBQUNDLGFBQUk7Z0JBQUNWLFlBQVlBOytCQUVsQiw2QkFBQ1g7MEJBR0wsNkJBQUNhLHFCQUFLO2dCQUNKQyxPQUFBQTtnQkFDQUMsS0FBSyxDQUFDLEVBQUVKLFdBQVdLLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ2hDQyxNQUFNLENBQUMsRUFBRWQsTUFBTWUsR0FBRyxDQUFDLGFBQWEsRUFBRVAsV0FBV0ssSUFBSSxDQUFDLE9BQU8sQ0FBQztlQUV6RFosYUFBYUYsYUFBYSxDQUFDUyxXQUFXSyxJQUFJLENBQUMsRUFBRU0sUUFBUUYsMkJBQ3BELDZCQUFDRyxrQ0FBb0I7Z0JBQUNaLFlBQVlBO2dCQUFZYSxjQUFBQTs2QkFDNUMsNkJBQUMxQjtnQkFBS2EsWUFBWUE7Z0NBR3BCLDZCQUFDWDswQkFHTCw2QkFBQ2EscUJBQUs7Z0JBQ0pFLEtBQUssQ0FBQyxFQUFFSixXQUFXSyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUM5QkMsTUFBTSxDQUFDLEVBQUVkLE1BQU1lLEdBQUcsQ0FBQyxhQUFhLEVBQUVQLFdBQVdLLElBQUksQ0FBQyxJQUFJLENBQUM7ZUFFdERaLGFBQWFGLGFBQWEsQ0FBQ1MsV0FBV0ssSUFBSSxDQUFDLEVBQUVHLE1BQU1DLDJCQUNsRCw2QkFBQ0csa0NBQW9CO2dCQUFDWixZQUFZQTtnQkFBWWEsY0FBQUE7NkJBQzVDLDZCQUFDMUI7Z0JBQUthLFlBQVlBO2dCQUFZYyxXQUFBQTtnQ0FHaEMsNkJBQUN6QjtTQUdOO1FBRUQsT0FBT1k7SUFDVCxHQUFHLEVBQUU7QUFDVCJ9