mzinga
Version:
Node, React and MongoDB Headless CMS and Application Framework
42 lines (41 loc) • 5.31 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHByZXNzL3N0YXRpYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHBhc3Nwb3J0IGZyb20gJ3Bhc3Nwb3J0J1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vbXppbmdhJ1xuXG5pbXBvcnQgZ2V0RXhlY3V0ZVN0YXRpY0FjY2VzcyBmcm9tICcuLi9hdXRoL2dldEV4ZWN1dGVTdGF0aWNBY2Nlc3MnXG5pbXBvcnQgYXV0aGVudGljYXRlIGZyb20gJy4vbWlkZGxld2FyZS9hdXRoZW50aWNhdGUnXG5pbXBvcnQgY29yc0hlYWRlcnMgZnJvbSAnLi9taWRkbGV3YXJlL2NvcnNIZWFkZXJzJ1xuXG5mdW5jdGlvbiBpbml0U3RhdGljKGN0eDogUGF5bG9hZCk6IHZvaWQge1xuICBPYmplY3QuZW50cmllcyhjdHguY29sbGVjdGlvbnMpLmZvckVhY2goKFtfLCBjb2xsZWN0aW9uXSkgPT4ge1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSBjb2xsZWN0aW9uXG5cbiAgICBpZiAoY29uZmlnLnVwbG9hZCAmJiBjb25maWcudXBsb2FkLnN0YXRpY1VSTC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgIGNvbnN0IHJvdXRlciA9IGV4cHJlc3MuUm91dGVyKClcblxuICAgICAgcm91dGVyLnVzZShjb3JzSGVhZGVycyhjdHguY29uZmlnKSlcbiAgICAgIHJvdXRlci51c2UocGFzc3BvcnQuaW5pdGlhbGl6ZSgpKVxuICAgICAgcm91dGVyLnVzZShhdXRoZW50aWNhdGUoY3R4LmNvbmZpZykpXG5cbiAgICAgIHJvdXRlci51c2UoZ2V0RXhlY3V0ZVN0YXRpY0FjY2Vzcyhjb25maWcpKVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb25maWcudXBsb2FkPy5oYW5kbGVycykpIHtcbiAgICAgICAgcm91dGVyLmdldCgnLzpmaWxlbmFtZSonLCBjb25maWcudXBsb2FkLmhhbmRsZXJzKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGF0aWNQYXRoID0gcGF0aC5yZXNvbHZlKGN0eC5jb25maWcucGF0aHMuY29uZmlnRGlyLCBjb25maWcudXBsb2FkLnN0YXRpY0RpcilcblxuICAgICAgcm91dGVyLnVzZShleHByZXNzLnN0YXRpYyhzdGF0aWNQYXRoLCBjb25maWcudXBsb2FkLnN0YXRpY09wdGlvbnMgfHwge30pKVxuXG4gICAgICBjdHguZXhwcmVzcy51c2UoYCR7Y29uZmlnLnVwbG9hZC5zdGF0aWNVUkx9YCwgcm91dGVyKVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdFN0YXRpY1xuIl0sIm5hbWVzIjpbImluaXRTdGF0aWMiLCJjdHgiLCJPYmplY3QiLCJlbnRyaWVzIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwiXyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJ1cGxvYWQiLCJzdGF0aWNVUkwiLCJzdGFydHNXaXRoIiwicm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsInVzZSIsImNvcnNIZWFkZXJzIiwicGFzc3BvcnQiLCJpbml0aWFsaXplIiwiYXV0aGVudGljYXRlIiwiZ2V0RXhlY3V0ZVN0YXRpY0FjY2VzcyIsIkFycmF5IiwiaXNBcnJheSIsImhhbmRsZXJzIiwiZ2V0Iiwic3RhdGljUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwicGF0aHMiLCJjb25maWdEaXIiLCJzdGF0aWNEaXIiLCJzdGF0aWMiLCJzdGF0aWNPcHRpb25zIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQ0E7OztlQUFBOzs7Z0VBcENvQjtpRUFDQzs2REFDSjsrRUFJa0I7cUVBQ1Y7b0VBQ0Q7Ozs7OztBQUV4QixTQUFTQSxXQUFXQyxHQUFZO0lBQzlCQyxPQUFPQyxPQUFPLENBQUNGLElBQUlHLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsR0FBR0MsV0FBVztRQUN0RCxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtRQUVuQixJQUFJQyxPQUFPQyxNQUFNLElBQUlELE9BQU9DLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxVQUFVLENBQUMsTUFBTTtZQUM1RCxNQUFNQyxTQUFTQyxnQkFBTyxDQUFDQyxNQUFNO1lBRTdCRixPQUFPRyxHQUFHLENBQUNDLElBQUFBLG9CQUFXLEVBQUNmLElBQUlPLE1BQU07WUFDakNJLE9BQU9HLEdBQUcsQ0FBQ0UsaUJBQVEsQ0FBQ0MsVUFBVTtZQUM5Qk4sT0FBT0csR0FBRyxDQUFDSSxJQUFBQSxxQkFBWSxFQUFDbEIsSUFBSU8sTUFBTTtZQUVsQ0ksT0FBT0csR0FBRyxDQUFDSyxJQUFBQSwrQkFBc0IsRUFBQ1o7WUFFbEMsSUFBSWEsTUFBTUMsT0FBTyxDQUFDZCxPQUFPQyxNQUFNLEVBQUVjLFdBQVc7Z0JBQzFDWCxPQUFPWSxHQUFHLENBQUMsZUFBZWhCLE9BQU9DLE1BQU0sQ0FBQ2MsUUFBUTtZQUNsRDtZQUVBLE1BQU1FLGFBQWFDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDMUIsSUFBSU8sTUFBTSxDQUFDb0IsS0FBSyxDQUFDQyxTQUFTLEVBQUVyQixPQUFPQyxNQUFNLENBQUNxQixTQUFTO1lBRW5GbEIsT0FBT0csR0FBRyxDQUFDRixnQkFBTyxDQUFDa0IsTUFBTSxDQUFDTixZQUFZakIsT0FBT0MsTUFBTSxDQUFDdUIsYUFBYSxJQUFJLENBQUM7WUFFdEUvQixJQUFJWSxPQUFPLENBQUNFLEdBQUcsQ0FBQyxDQUFDLEVBQUVQLE9BQU9DLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLENBQUMsRUFBRUU7UUFDaEQ7SUFDRjtBQUNGO01BRUEsV0FBZVoifQ==
;