payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
199 lines (198 loc) • 16.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _forgotPassword = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/forgotPassword"));
const _init = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/init"));
const _login = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/login"));
const _logout = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/logout"));
const _me = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/me"));
const _refresh = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/refresh"));
const _registerFirstUser = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/registerFirstUser"));
const _resetPassword = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/resetPassword"));
const _unlock = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/unlock"));
const _verifyEmail = /*#__PURE__*/ _interop_require_default(require("../auth/requestHandlers/verifyEmail"));
const _create = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/create"));
const _delete = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/delete"));
const _deleteByID = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/deleteByID"));
const _docAccess = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/docAccess"));
const _find = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/find"));
const _findByID = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/findByID"));
const _findVersionByID = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/findVersionByID"));
const _findVersions = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/findVersions"));
const _restoreVersion = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/restoreVersion"));
const _update = /*#__PURE__*/ _interop_require_default(require("./requestHandlers/update"));
const _updateByID = /*#__PURE__*/ _interop_require_wildcard(require("./requestHandlers/updateByID"));
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;
}
const buildEndpoints = (collection)=>{
if (!collection.endpoints) return [];
const endpoints = [
...collection.endpoints
];
if (collection.auth) {
if (!collection.auth.disableLocalStrategy) {
if (collection.auth.verify) {
endpoints.push({
handler: _verifyEmail.default,
method: 'post',
path: '/verify/:token'
});
}
if (collection.auth.maxLoginAttempts > 0) {
endpoints.push({
handler: _unlock.default,
method: 'post',
path: '/unlock'
});
}
endpoints.push({
handler: _login.default,
method: 'post',
path: '/login'
}, {
handler: _registerFirstUser.default,
method: 'post',
path: '/first-register'
}, {
handler: _forgotPassword.default,
method: 'post',
path: '/forgot-password'
}, {
handler: _resetPassword.default,
method: 'post',
path: '/reset-password'
});
}
endpoints.push({
handler: _init.default,
method: 'get',
path: '/init'
}, {
handler: _me.default,
method: 'get',
path: '/me'
}, {
handler: _logout.default,
method: 'post',
path: '/logout'
}, {
handler: _refresh.default,
method: 'post',
path: '/refresh-token'
});
}
if (collection.versions) {
endpoints.push({
handler: _findVersions.default,
method: 'get',
path: '/versions'
}, {
handler: _findVersionByID.default,
method: 'get',
path: '/versions/:id'
}, {
handler: _restoreVersion.default,
method: 'post',
path: '/versions/:id'
});
}
endpoints.push({
handler: _find.default,
method: 'get',
path: '/'
}, {
handler: _create.default,
method: 'post',
path: '/'
}, {
handler: _docAccess.default,
method: 'get',
path: '/access/:id'
}, {
handler: _docAccess.default,
method: 'post',
path: '/access/:id'
}, {
handler: _docAccess.default,
method: 'post',
path: '/access'
}, {
handler: _updateByID.deprecatedUpdate,
method: 'put',
path: '/:id'
}, {
handler: _update.default,
method: 'patch',
path: '/'
}, {
handler: _updateByID.default,
method: 'patch',
path: '/:id'
}, {
handler: _findByID.default,
method: 'get',
path: '/:id'
}, {
handler: _deleteByID.default,
method: 'delete',
path: '/:id'
}, {
handler: _delete.default,
method: 'delete',
path: '/'
});
return endpoints;
};
const _default = buildEndpoints;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9idWlsZEVuZHBvaW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50IH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBmb3Jnb3RQYXNzd29yZEhhbmRsZXIgZnJvbSAnLi4vYXV0aC9yZXF1ZXN0SGFuZGxlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdEhhbmRsZXIgZnJvbSAnLi4vYXV0aC9yZXF1ZXN0SGFuZGxlcnMvaW5pdCdcbmltcG9ydCBsb2dpbkhhbmRsZXIgZnJvbSAnLi4vYXV0aC9yZXF1ZXN0SGFuZGxlcnMvbG9naW4nXG5pbXBvcnQgbG9nb3V0SGFuZGxlciBmcm9tICcuLi9hdXRoL3JlcXVlc3RIYW5kbGVycy9sb2dvdXQnXG5pbXBvcnQgbWVIYW5kbGVyIGZyb20gJy4uL2F1dGgvcmVxdWVzdEhhbmRsZXJzL21lJ1xuaW1wb3J0IHJlZnJlc2hIYW5kbGVyIGZyb20gJy4uL2F1dGgvcmVxdWVzdEhhbmRsZXJzL3JlZnJlc2gnXG5pbXBvcnQgcmVnaXN0ZXJGaXJzdFVzZXJIYW5kbGVyIGZyb20gJy4uL2F1dGgvcmVxdWVzdEhhbmRsZXJzL3JlZ2lzdGVyRmlyc3RVc2VyJ1xuaW1wb3J0IHJlc2V0UGFzc3dvcmQgZnJvbSAnLi4vYXV0aC9yZXF1ZXN0SGFuZGxlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vYXV0aC9yZXF1ZXN0SGFuZGxlcnMvdW5sb2NrJ1xuaW1wb3J0IHZlcmlmeUVtYWlsIGZyb20gJy4uL2F1dGgvcmVxdWVzdEhhbmRsZXJzL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IGNyZWF0ZSBmcm9tICcuL3JlcXVlc3RIYW5kbGVycy9jcmVhdGUnXG5pbXBvcnQgZGVsZXRlSGFuZGxlciBmcm9tICcuL3JlcXVlc3RIYW5kbGVycy9kZWxldGUnXG5pbXBvcnQgZGVsZXRlQnlJRCBmcm9tICcuL3JlcXVlc3RIYW5kbGVycy9kZWxldGVCeUlEJ1xuaW1wb3J0IGRvY0FjY2Vzc1JlcXVlc3RIYW5kbGVyIGZyb20gJy4vcmVxdWVzdEhhbmRsZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kIGZyb20gJy4vcmVxdWVzdEhhbmRsZXJzL2ZpbmQnXG5pbXBvcnQgZmluZEJ5SUQgZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvZmluZEJ5SUQnXG5pbXBvcnQgZmluZFZlcnNpb25CeUlEIGZyb20gJy4vcmVxdWVzdEhhbmRsZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnMgZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHJlc3RvcmVWZXJzaW9uIGZyb20gJy4vcmVxdWVzdEhhbmRsZXJzL3Jlc3RvcmVWZXJzaW9uJ1xuaW1wb3J0IHVwZGF0ZSBmcm9tICcuL3JlcXVlc3RIYW5kbGVycy91cGRhdGUnXG5pbXBvcnQgdXBkYXRlQnlJRCwgeyBkZXByZWNhdGVkVXBkYXRlIH0gZnJvbSAnLi9yZXF1ZXN0SGFuZGxlcnMvdXBkYXRlQnlJRCdcblxuY29uc3QgYnVpbGRFbmRwb2ludHMgPSAoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyk6IEVuZHBvaW50W10gPT4ge1xuICBpZiAoIWNvbGxlY3Rpb24uZW5kcG9pbnRzKSByZXR1cm4gW11cbiAgY29uc3QgZW5kcG9pbnRzID0gWy4uLmNvbGxlY3Rpb24uZW5kcG9pbnRzXVxuXG4gIGlmIChjb2xsZWN0aW9uLmF1dGgpIHtcbiAgICBpZiAoIWNvbGxlY3Rpb24uYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC52ZXJpZnkpIHtcbiAgICAgICAgZW5kcG9pbnRzLnB1c2goe1xuICAgICAgICAgIGhhbmRsZXI6IHZlcmlmeUVtYWlsLFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgIHBhdGg6ICcvdmVyaWZ5Lzp0b2tlbicsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChjb2xsZWN0aW9uLmF1dGgubWF4TG9naW5BdHRlbXB0cyA+IDApIHtcbiAgICAgICAgZW5kcG9pbnRzLnB1c2goe1xuICAgICAgICAgIGhhbmRsZXI6IHVubG9jayxcbiAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICBwYXRoOiAnL3VubG9jaycsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGVuZHBvaW50cy5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgaGFuZGxlcjogbG9naW5IYW5kbGVyLFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgIHBhdGg6ICcvbG9naW4nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaGFuZGxlcjogcmVnaXN0ZXJGaXJzdFVzZXJIYW5kbGVyLFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgIHBhdGg6ICcvZmlyc3QtcmVnaXN0ZXInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaGFuZGxlcjogZm9yZ290UGFzc3dvcmRIYW5kbGVyLFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgIHBhdGg6ICcvZm9yZ290LXBhc3N3b3JkJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhhbmRsZXI6IHJlc2V0UGFzc3dvcmQsXG4gICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgcGF0aDogJy9yZXNldC1wYXNzd29yZCcsXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgfVxuXG4gICAgZW5kcG9pbnRzLnB1c2goXG4gICAgICB7XG4gICAgICAgIGhhbmRsZXI6IGluaXRIYW5kbGVyLFxuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICBwYXRoOiAnL2luaXQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGFuZGxlcjogbWVIYW5kbGVyLFxuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICBwYXRoOiAnL21lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhhbmRsZXI6IGxvZ291dEhhbmRsZXIsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBwYXRoOiAnL2xvZ291dCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoYW5kbGVyOiByZWZyZXNoSGFuZGxlcixcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHBhdGg6ICcvcmVmcmVzaC10b2tlbicsXG4gICAgICB9LFxuICAgIClcbiAgfVxuXG4gIGlmIChjb2xsZWN0aW9uLnZlcnNpb25zKSB7XG4gICAgZW5kcG9pbnRzLnB1c2goXG4gICAgICB7XG4gICAgICAgIGhhbmRsZXI6IGZpbmRWZXJzaW9ucyxcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgcGF0aDogJy92ZXJzaW9ucycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoYW5kbGVyOiBmaW5kVmVyc2lvbkJ5SUQsXG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHBhdGg6ICcvdmVyc2lvbnMvOmlkJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhhbmRsZXI6IHJlc3RvcmVWZXJzaW9uLFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgcGF0aDogJy92ZXJzaW9ucy86aWQnLFxuICAgICAgfSxcbiAgICApXG4gIH1cblxuICBlbmRwb2ludHMucHVzaChcbiAgICB7XG4gICAgICBoYW5kbGVyOiBmaW5kLFxuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHBhdGg6ICcvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhhbmRsZXI6IGNyZWF0ZSxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgcGF0aDogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogZG9jQWNjZXNzUmVxdWVzdEhhbmRsZXIsXG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgcGF0aDogJy9hY2Nlc3MvOmlkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhhbmRsZXI6IGRvY0FjY2Vzc1JlcXVlc3RIYW5kbGVyLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBwYXRoOiAnL2FjY2Vzcy86aWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogZG9jQWNjZXNzUmVxdWVzdEhhbmRsZXIsXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHBhdGg6ICcvYWNjZXNzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhhbmRsZXI6IGRlcHJlY2F0ZWRVcGRhdGUsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgcGF0aDogJy86aWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogdXBkYXRlLFxuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgcGF0aDogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogdXBkYXRlQnlJRCxcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICAgIHBhdGg6ICcvOmlkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhhbmRsZXI6IGZpbmRCeUlELFxuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHBhdGg6ICcvOmlkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhhbmRsZXI6IGRlbGV0ZUJ5SUQsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgcGF0aDogJy86aWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgaGFuZGxlcjogZGVsZXRlSGFuZGxlcixcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICBwYXRoOiAnLycsXG4gICAgfSxcbiAgKVxuXG4gIHJldHVybiBlbmRwb2ludHNcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRFbmRwb2ludHNcbiJdLCJuYW1lcyI6WyJidWlsZEVuZHBvaW50cyIsImNvbGxlY3Rpb24iLCJlbmRwb2ludHMiLCJhdXRoIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJ2ZXJpZnkiLCJwdXNoIiwiaGFuZGxlciIsInZlcmlmeUVtYWlsIiwibWV0aG9kIiwicGF0aCIsIm1heExvZ2luQXR0ZW1wdHMiLCJ1bmxvY2siLCJsb2dpbkhhbmRsZXIiLCJyZWdpc3RlckZpcnN0VXNlckhhbmRsZXIiLCJmb3Jnb3RQYXNzd29yZEhhbmRsZXIiLCJyZXNldFBhc3N3b3JkIiwiaW5pdEhhbmRsZXIiLCJtZUhhbmRsZXIiLCJsb2dvdXRIYW5kbGVyIiwicmVmcmVzaEhhbmRsZXIiLCJ2ZXJzaW9ucyIsImZpbmRWZXJzaW9ucyIsImZpbmRWZXJzaW9uQnlJRCIsInJlc3RvcmVWZXJzaW9uIiwiZmluZCIsImNyZWF0ZSIsImRvY0FjY2Vzc1JlcXVlc3RIYW5kbGVyIiwiZGVwcmVjYXRlZFVwZGF0ZSIsInVwZGF0ZSIsInVwZGF0ZUJ5SUQiLCJmaW5kQnlJRCIsImRlbGV0ZUJ5SUQiLCJkZWxldGVIYW5kbGVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdMQTs7O2VBQUE7Ozt1RUE3S2tDOzZEQUNWOzhEQUNDOytEQUNDOzJEQUNKO2dFQUNLOzBFQUNVO3NFQUNYOytEQUNQO29FQUNLOytEQUNMOytEQUNPO21FQUNIO2tFQUNhOzZEQUNuQjtpRUFDSTt3RUFDTztxRUFDSDt1RUFDRTsrREFDUjtvRUFDMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLE1BQU1BLGlCQUFpQixDQUFDQztJQUN0QixJQUFJLENBQUNBLFdBQVdDLFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDcEMsTUFBTUEsWUFBWTtXQUFJRCxXQUFXQyxTQUFTO0tBQUM7SUFFM0MsSUFBSUQsV0FBV0UsSUFBSSxFQUFFO1FBQ25CLElBQUksQ0FBQ0YsV0FBV0UsSUFBSSxDQUFDQyxvQkFBb0IsRUFBRTtZQUN6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