payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
42 lines (41 loc) • 5.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _express = /*#__PURE__*/ _interop_require_default(require("express"));
const _passport = /*#__PURE__*/ _interop_require_default(require("passport"));
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
const _getExecuteStaticAccess = /*#__PURE__*/ _interop_require_default(require("../auth/getExecuteStaticAccess"));
const _authenticate = /*#__PURE__*/ _interop_require_default(require("./middleware/authenticate"));
const _corsHeaders = /*#__PURE__*/ _interop_require_default(require("./middleware/corsHeaders"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function initStatic(ctx) {
Object.entries(ctx.collections).forEach(([_, collection])=>{
const { config } = collection;
if (config.upload && config.upload.staticURL.startsWith('/')) {
const router = _express.default.Router();
router.use((0, _corsHeaders.default)(ctx.config));
router.use(_passport.default.initialize());
router.use((0, _authenticate.default)(ctx.config));
router.use((0, _getExecuteStaticAccess.default)(config));
if (Array.isArray(config.upload?.handlers)) {
router.get('/:filename*', config.upload.handlers);
}
const staticPath = _path.default.resolve(ctx.config.paths.configDir, config.upload.staticDir);
router.use(_express.default.static(staticPath, config.upload.staticOptions || {}));
ctx.express.use(`${config.upload.staticURL}`, router);
}
});
}
const _default = initStatic;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHByZXNzL3N0YXRpYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHBhc3Nwb3J0IGZyb20gJ3Bhc3Nwb3J0J1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vcGF5bG9hZCdcblxuaW1wb3J0IGdldEV4ZWN1dGVTdGF0aWNBY2Nlc3MgZnJvbSAnLi4vYXV0aC9nZXRFeGVjdXRlU3RhdGljQWNjZXNzJ1xuaW1wb3J0IGF1dGhlbnRpY2F0ZSBmcm9tICcuL21pZGRsZXdhcmUvYXV0aGVudGljYXRlJ1xuaW1wb3J0IGNvcnNIZWFkZXJzIGZyb20gJy4vbWlkZGxld2FyZS9jb3JzSGVhZGVycydcblxuZnVuY3Rpb24gaW5pdFN0YXRpYyhjdHg6IFBheWxvYWQpOiB2b2lkIHtcbiAgT2JqZWN0LmVudHJpZXMoY3R4LmNvbGxlY3Rpb25zKS5mb3JFYWNoKChbXywgY29sbGVjdGlvbl0pID0+IHtcbiAgICBjb25zdCB7IGNvbmZpZyB9ID0gY29sbGVjdGlvblxuXG4gICAgaWYgKGNvbmZpZy51cGxvYWQgJiYgY29uZmlnLnVwbG9hZC5zdGF0aWNVUkwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBjb25zdCByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpXG5cbiAgICAgIHJvdXRlci51c2UoY29yc0hlYWRlcnMoY3R4LmNvbmZpZykpXG4gICAgICByb3V0ZXIudXNlKHBhc3Nwb3J0LmluaXRpYWxpemUoKSlcbiAgICAgIHJvdXRlci51c2UoYXV0aGVudGljYXRlKGN0eC5jb25maWcpKVxuXG4gICAgICByb3V0ZXIudXNlKGdldEV4ZWN1dGVTdGF0aWNBY2Nlc3MoY29uZmlnKSlcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLnVwbG9hZD8uaGFuZGxlcnMpKSB7XG4gICAgICAgIHJvdXRlci5nZXQoJy86ZmlsZW5hbWUqJywgY29uZmlnLnVwbG9hZC5oYW5kbGVycylcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhdGljUGF0aCA9IHBhdGgucmVzb2x2ZShjdHguY29uZmlnLnBhdGhzLmNvbmZpZ0RpciwgY29uZmlnLnVwbG9hZC5zdGF0aWNEaXIpXG5cbiAgICAgIHJvdXRlci51c2UoZXhwcmVzcy5zdGF0aWMoc3RhdGljUGF0aCwgY29uZmlnLnVwbG9hZC5zdGF0aWNPcHRpb25zIHx8IHt9KSlcblxuICAgICAgY3R4LmV4cHJlc3MudXNlKGAke2NvbmZpZy51cGxvYWQuc3RhdGljVVJMfWAsIHJvdXRlcilcbiAgICB9XG4gIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGluaXRTdGF0aWNcbiJdLCJuYW1lcyI6WyJpbml0U3RhdGljIiwiY3R4IiwiT2JqZWN0IiwiZW50cmllcyIsImNvbGxlY3Rpb25zIiwiZm9yRWFjaCIsIl8iLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwidXBsb2FkIiwic3RhdGljVVJMIiwic3RhcnRzV2l0aCIsInJvdXRlciIsImV4cHJlc3MiLCJSb3V0ZXIiLCJ1c2UiLCJjb3JzSGVhZGVycyIsInBhc3Nwb3J0IiwiaW5pdGlhbGl6ZSIsImF1dGhlbnRpY2F0ZSIsImdldEV4ZWN1dGVTdGF0aWNBY2Nlc3MiLCJBcnJheSIsImlzQXJyYXkiLCJoYW5kbGVycyIsImdldCIsInN0YXRpY1BhdGgiLCJwYXRoIiwicmVzb2x2ZSIsInBhdGhzIiwiY29uZmlnRGlyIiwic3RhdGljRGlyIiwic3RhdGljIiwic3RhdGljT3B0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQ0E7OztlQUFBOzs7Z0VBcENvQjtpRUFDQzs2REFDSjsrRUFJa0I7cUVBQ1Y7b0VBQ0Q7Ozs7OztBQUV4QixTQUFTQSxXQUFXQyxHQUFZO0lBQzlCQyxPQUFPQyxPQUFPLENBQUNGLElBQUlHLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsR0FBR0MsV0FBVztRQUN0RCxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtRQUVuQixJQUFJQyxPQUFPQyxNQUFNLElBQUlELE9BQU9DLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxVQUFVLENBQUMsTUFBTTtZQUM1RCxNQUFNQyxTQUFTQyxnQkFBTyxDQUFDQyxNQUFNO1lBRTdCRixPQUFPRyxHQUFHLENBQUNDLElBQUFBLG9CQUFXLEVBQUNmLElBQUlPLE1BQU07WUFDakNJLE9BQU9HLEdBQUcsQ0FBQ0UsaUJBQVEsQ0FBQ0MsVUFBVTtZQUM5Qk4sT0FBT0csR0FBRyxDQUFDSSxJQUFBQSxxQkFBWSxFQUFDbEIsSUFBSU8sTUFBTTtZQUVsQ0ksT0FBT0csR0FBRyxDQUFDSyxJQUFBQSwrQkFBc0IsRUFBQ1o7WUFFbEMsSUFBSWEsTUFBTUMsT0FBTyxDQUFDZCxPQUFPQyxNQUFNLEVBQUVjLFdBQVc7Z0JBQzFDWCxPQUFPWSxHQUFHLENBQUMsZUFBZWhCLE9BQU9DLE1BQU0sQ0FBQ2MsUUFBUTtZQUNsRDtZQUVBLE1BQU1FLGFBQWFDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDMUIsSUFBSU8sTUFBTSxDQUFDb0IsS0FBSyxDQUFDQyxTQUFTLEVBQUVyQixPQUFPQyxNQUFNLENBQUNxQixTQUFTO1lBRW5GbEIsT0FBT0csR0FBRyxDQUFDRixnQkFBTyxDQUFDa0IsTUFBTSxDQUFDTixZQUFZakIsT0FBT0MsTUFBTSxDQUFDdUIsYUFBYSxJQUFJLENBQUM7WUFFdEUvQixJQUFJWSxPQUFPLENBQUNFLEdBQUcsQ0FBQyxDQUFDLEVBQUVQLE9BQU9DLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLENBQUMsRUFBRUU7UUFDaEQ7SUFDRjtBQUNGO01BRUEsV0FBZVoifQ==