@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @strapi/core might be problematic. Click here for more details.
- package/LICENSE +22 -0
- package/README.md +1 -0
- package/dist/Strapi.d.ts +98 -0
- package/dist/Strapi.d.ts.map +1 -0
- package/dist/Strapi.js +443 -0
- package/dist/Strapi.js.map +1 -0
- package/dist/Strapi.mjs +442 -0
- package/dist/Strapi.mjs.map +1 -0
- package/dist/compile.d.ts +10 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +18 -0
- package/dist/compile.js.map +1 -0
- package/dist/compile.mjs +17 -0
- package/dist/compile.mjs.map +1 -0
- package/dist/configuration/config-loader.d.ts +3 -0
- package/dist/configuration/config-loader.d.ts.map +1 -0
- package/dist/configuration/config-loader.js +102 -0
- package/dist/configuration/config-loader.js.map +1 -0
- package/dist/configuration/config-loader.mjs +100 -0
- package/dist/configuration/config-loader.mjs.map +1 -0
- package/dist/configuration/index.d.ts +51 -0
- package/dist/configuration/index.d.ts.map +1 -0
- package/dist/configuration/index.js +78 -0
- package/dist/configuration/index.js.map +1 -0
- package/dist/configuration/index.mjs +74 -0
- package/dist/configuration/index.mjs.map +1 -0
- package/dist/container.d.ts +8 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +30 -0
- package/dist/container.js.map +1 -0
- package/dist/container.mjs +30 -0
- package/dist/container.mjs.map +1 -0
- package/dist/core-api/controller/collection-type.d.ts +11 -0
- package/dist/core-api/controller/collection-type.d.ts.map +1 -0
- package/dist/core-api/controller/collection-type.js +92 -0
- package/dist/core-api/controller/collection-type.js.map +1 -0
- package/dist/core-api/controller/collection-type.mjs +93 -0
- package/dist/core-api/controller/collection-type.mjs.map +1 -0
- package/dist/core-api/controller/index.d.ts +6 -0
- package/dist/core-api/controller/index.d.ts.map +1 -0
- package/dist/core-api/controller/index.js +47 -0
- package/dist/core-api/controller/index.js.map +1 -0
- package/dist/core-api/controller/index.mjs +47 -0
- package/dist/core-api/controller/index.mjs.map +1 -0
- package/dist/core-api/controller/single-type.d.ts +10 -0
- package/dist/core-api/controller/single-type.d.ts.map +1 -0
- package/dist/core-api/controller/single-type.js +50 -0
- package/dist/core-api/controller/single-type.js.map +1 -0
- package/dist/core-api/controller/single-type.mjs +51 -0
- package/dist/core-api/controller/single-type.mjs.map +1 -0
- package/dist/core-api/controller/transform.d.ts +22 -0
- package/dist/core-api/controller/transform.d.ts.map +1 -0
- package/dist/core-api/controller/transform.js +84 -0
- package/dist/core-api/controller/transform.js.map +1 -0
- package/dist/core-api/controller/transform.mjs +84 -0
- package/dist/core-api/controller/transform.mjs.map +1 -0
- package/dist/core-api/routes/index.d.ts +24 -0
- package/dist/core-api/routes/index.d.ts.map +1 -0
- package/dist/core-api/routes/index.js +67 -0
- package/dist/core-api/routes/index.js.map +1 -0
- package/dist/core-api/routes/index.mjs +67 -0
- package/dist/core-api/routes/index.mjs.map +1 -0
- package/dist/core-api/service/collection-type.d.ts +10 -0
- package/dist/core-api/service/collection-type.d.ts.map +1 -0
- package/dist/core-api/service/collection-type.js +58 -0
- package/dist/core-api/service/collection-type.js.map +1 -0
- package/dist/core-api/service/collection-type.mjs +59 -0
- package/dist/core-api/service/collection-type.mjs.map +1 -0
- package/dist/core-api/service/get-fetch-params.d.ts +7 -0
- package/dist/core-api/service/get-fetch-params.d.ts.map +1 -0
- package/dist/core-api/service/get-fetch-params.js +14 -0
- package/dist/core-api/service/get-fetch-params.js.map +1 -0
- package/dist/core-api/service/get-fetch-params.mjs +14 -0
- package/dist/core-api/service/get-fetch-params.mjs.map +1 -0
- package/dist/core-api/service/index.d.ts +9 -0
- package/dist/core-api/service/index.d.ts.map +1 -0
- package/dist/core-api/service/index.js +16 -0
- package/dist/core-api/service/index.js.map +1 -0
- package/dist/core-api/service/index.mjs +16 -0
- package/dist/core-api/service/index.mjs.map +1 -0
- package/dist/core-api/service/pagination.d.ts +41 -0
- package/dist/core-api/service/pagination.d.ts.map +1 -0
- package/dist/core-api/service/pagination.js +89 -0
- package/dist/core-api/service/pagination.js.map +1 -0
- package/dist/core-api/service/pagination.mjs +89 -0
- package/dist/core-api/service/pagination.mjs.map +1 -0
- package/dist/core-api/service/single-type.d.ts +9 -0
- package/dist/core-api/service/single-type.d.ts.map +1 -0
- package/dist/core-api/service/single-type.js +54 -0
- package/dist/core-api/service/single-type.js.map +1 -0
- package/dist/core-api/service/single-type.mjs +55 -0
- package/dist/core-api/service/single-type.mjs.map +1 -0
- package/dist/domain/content-type/index.d.ts +10 -0
- package/dist/domain/content-type/index.d.ts.map +1 -0
- package/dist/domain/content-type/index.js +108 -0
- package/dist/domain/content-type/index.js.map +1 -0
- package/dist/domain/content-type/index.mjs +106 -0
- package/dist/domain/content-type/index.mjs.map +1 -0
- package/dist/domain/content-type/validator.d.ts +23 -0
- package/dist/domain/content-type/validator.d.ts.map +1 -0
- package/dist/domain/content-type/validator.js +77 -0
- package/dist/domain/content-type/validator.js.map +1 -0
- package/dist/domain/content-type/validator.mjs +75 -0
- package/dist/domain/content-type/validator.mjs.map +1 -0
- package/dist/domain/module/index.d.ts +39 -0
- package/dist/domain/module/index.d.ts.map +1 -0
- package/dist/domain/module/index.js +107 -0
- package/dist/domain/module/index.js.map +1 -0
- package/dist/domain/module/index.mjs +105 -0
- package/dist/domain/module/index.mjs.map +1 -0
- package/dist/domain/module/validation.d.ts +15 -0
- package/dist/domain/module/validation.d.ts.map +1 -0
- package/dist/domain/module/validation.js +25 -0
- package/dist/domain/module/validation.js.map +1 -0
- package/dist/domain/module/validation.mjs +25 -0
- package/dist/domain/module/validation.mjs.map +1 -0
- package/dist/ee/index.d.ts +20 -0
- package/dist/ee/index.d.ts.map +1 -0
- package/dist/ee/index.js +153 -0
- package/dist/ee/index.js.map +1 -0
- package/dist/ee/index.mjs +154 -0
- package/dist/ee/index.mjs.map +1 -0
- package/dist/ee/license.d.ts +21 -0
- package/dist/ee/license.d.ts.map +1 -0
- package/dist/ee/license.js +90 -0
- package/dist/ee/license.js.map +1 -0
- package/dist/ee/license.mjs +87 -0
- package/dist/ee/license.mjs.map +1 -0
- package/dist/factories.d.ts +14 -0
- package/dist/factories.d.ts.map +1 -0
- package/dist/factories.js +86 -0
- package/dist/factories.js.map +1 -0
- package/dist/factories.mjs +86 -0
- package/dist/factories.mjs.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -0
- package/dist/loaders/admin.d.ts +3 -0
- package/dist/loaders/admin.d.ts.map +1 -0
- package/dist/loaders/admin.js +27 -0
- package/dist/loaders/admin.js.map +1 -0
- package/dist/loaders/admin.mjs +26 -0
- package/dist/loaders/admin.mjs.map +1 -0
- package/dist/loaders/apis.d.ts +3 -0
- package/dist/loaders/apis.d.ts.map +1 -0
- package/dist/loaders/apis.js +137 -0
- package/dist/loaders/apis.js.map +1 -0
- package/dist/loaders/apis.mjs +135 -0
- package/dist/loaders/apis.mjs.map +1 -0
- package/dist/loaders/components.d.ts +3 -0
- package/dist/loaders/components.d.ts.map +1 -0
- package/dist/loaders/components.js +38 -0
- package/dist/loaders/components.js.map +1 -0
- package/dist/loaders/components.mjs +37 -0
- package/dist/loaders/components.mjs.map +1 -0
- package/dist/loaders/index.d.ts +3 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +26 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs +26 -0
- package/dist/loaders/index.mjs.map +1 -0
- package/dist/loaders/middlewares.d.ts +3 -0
- package/dist/loaders/middlewares.d.ts.map +1 -0
- package/dist/loaders/middlewares.js +31 -0
- package/dist/loaders/middlewares.js.map +1 -0
- package/dist/loaders/middlewares.mjs +30 -0
- package/dist/loaders/middlewares.mjs.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.d.ts +5 -0
- package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.js +111 -0
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs +109 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.d.ts +7 -0
- package/dist/loaders/plugins/get-user-plugins-config.d.ts.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.js +27 -0
- package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.mjs +25 -0
- package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
- package/dist/loaders/plugins/index.d.ts +3 -0
- package/dist/loaders/plugins/index.d.ts.map +1 -0
- package/dist/loaders/plugins/index.js +118 -0
- package/dist/loaders/plugins/index.js.map +1 -0
- package/dist/loaders/plugins/index.mjs +117 -0
- package/dist/loaders/plugins/index.mjs.map +1 -0
- package/dist/loaders/policies.d.ts +3 -0
- package/dist/loaders/policies.d.ts.map +1 -0
- package/dist/loaders/policies.js +25 -0
- package/dist/loaders/policies.js.map +1 -0
- package/dist/loaders/policies.mjs +24 -0
- package/dist/loaders/policies.mjs.map +1 -0
- package/dist/loaders/sanitizers.d.ts +4 -0
- package/dist/loaders/sanitizers.d.ts.map +1 -0
- package/dist/loaders/sanitizers.js +6 -0
- package/dist/loaders/sanitizers.js.map +1 -0
- package/dist/loaders/sanitizers.mjs +7 -0
- package/dist/loaders/sanitizers.mjs.map +1 -0
- package/dist/loaders/src-index.d.ts +4 -0
- package/dist/loaders/src-index.d.ts.map +1 -0
- package/dist/loaders/src-index.js +33 -0
- package/dist/loaders/src-index.js.map +1 -0
- package/dist/loaders/src-index.mjs +34 -0
- package/dist/loaders/src-index.mjs.map +1 -0
- package/dist/loaders/validators.d.ts +4 -0
- package/dist/loaders/validators.d.ts.map +1 -0
- package/dist/loaders/validators.js +6 -0
- package/dist/loaders/validators.js.map +1 -0
- package/dist/loaders/validators.mjs +7 -0
- package/dist/loaders/validators.mjs.map +1 -0
- package/dist/middlewares/body.d.ts +6 -0
- package/dist/middlewares/body.d.ts.map +1 -0
- package/dist/middlewares/body.js +65 -0
- package/dist/middlewares/body.js.map +1 -0
- package/dist/middlewares/body.mjs +61 -0
- package/dist/middlewares/body.mjs.map +1 -0
- package/dist/middlewares/compression.d.ts +5 -0
- package/dist/middlewares/compression.d.ts.map +1 -0
- package/dist/middlewares/compression.js +8 -0
- package/dist/middlewares/compression.js.map +1 -0
- package/dist/middlewares/compression.mjs +6 -0
- package/dist/middlewares/compression.mjs.map +1 -0
- package/dist/middlewares/cors.d.ts +13 -0
- package/dist/middlewares/cors.d.ts.map +1 -0
- package/dist/middlewares/cors.js +51 -0
- package/dist/middlewares/cors.js.map +1 -0
- package/dist/middlewares/cors.mjs +49 -0
- package/dist/middlewares/cors.mjs.map +1 -0
- package/dist/middlewares/errors.d.ts +4 -0
- package/dist/middlewares/errors.d.ts.map +1 -0
- package/dist/middlewares/errors.js +33 -0
- package/dist/middlewares/errors.js.map +1 -0
- package/dist/middlewares/errors.mjs +33 -0
- package/dist/middlewares/errors.mjs.map +1 -0
- package/dist/middlewares/favicon.d.ts +6 -0
- package/dist/middlewares/favicon.d.ts.map +1 -0
- package/dist/middlewares/favicon.js +22 -0
- package/dist/middlewares/favicon.js.map +1 -0
- package/dist/middlewares/favicon.mjs +20 -0
- package/dist/middlewares/favicon.mjs.map +1 -0
- package/dist/middlewares/index.d.ts +3 -0
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/middlewares/index.js +34 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/index.mjs +34 -0
- package/dist/middlewares/index.mjs.map +1 -0
- package/dist/middlewares/ip.d.ts +5 -0
- package/dist/middlewares/ip.d.ts.map +1 -0
- package/dist/middlewares/ip.js +8 -0
- package/dist/middlewares/ip.js.map +1 -0
- package/dist/middlewares/ip.mjs +6 -0
- package/dist/middlewares/ip.mjs.map +1 -0
- package/dist/middlewares/logger.d.ts +3 -0
- package/dist/middlewares/logger.d.ts.map +1 -0
- package/dist/middlewares/logger.js +12 -0
- package/dist/middlewares/logger.js.map +1 -0
- package/dist/middlewares/logger.mjs +12 -0
- package/dist/middlewares/logger.mjs.map +1 -0
- package/dist/middlewares/powered-by.d.ts +6 -0
- package/dist/middlewares/powered-by.d.ts.map +1 -0
- package/dist/middlewares/powered-by.js +14 -0
- package/dist/middlewares/powered-by.js.map +1 -0
- package/dist/middlewares/powered-by.mjs +14 -0
- package/dist/middlewares/powered-by.mjs.map +1 -0
- package/dist/middlewares/public.d.ts +3 -0
- package/dist/middlewares/public.d.ts.map +1 -0
- package/dist/middlewares/public.js +34 -0
- package/dist/middlewares/public.js.map +1 -0
- package/dist/middlewares/public.mjs +32 -0
- package/dist/middlewares/public.mjs.map +1 -0
- package/dist/middlewares/query.d.ts +3 -0
- package/dist/middlewares/query.d.ts.map +1 -0
- package/dist/middlewares/query.js +40 -0
- package/dist/middlewares/query.js.map +1 -0
- package/dist/middlewares/query.mjs +38 -0
- package/dist/middlewares/query.mjs.map +1 -0
- package/dist/middlewares/response-time.d.ts +3 -0
- package/dist/middlewares/response-time.d.ts.map +1 -0
- package/dist/middlewares/response-time.js +12 -0
- package/dist/middlewares/response-time.js.map +1 -0
- package/dist/middlewares/response-time.mjs +12 -0
- package/dist/middlewares/response-time.mjs.map +1 -0
- package/dist/middlewares/responses.d.ts +6 -0
- package/dist/middlewares/responses.d.ts.map +1 -0
- package/dist/middlewares/responses.js +15 -0
- package/dist/middlewares/responses.js.map +1 -0
- package/dist/middlewares/responses.mjs +15 -0
- package/dist/middlewares/responses.mjs.map +1 -0
- package/dist/middlewares/security.d.ts +5 -0
- package/dist/middlewares/security.d.ts.map +1 -0
- package/dist/middlewares/security.js +71 -0
- package/dist/middlewares/security.js.map +1 -0
- package/dist/middlewares/security.mjs +69 -0
- package/dist/middlewares/security.mjs.map +1 -0
- package/dist/middlewares/session.d.ts +4 -0
- package/dist/middlewares/session.d.ts.map +1 -0
- package/dist/middlewares/session.js +30 -0
- package/dist/middlewares/session.js.map +1 -0
- package/dist/middlewares/session.mjs +28 -0
- package/dist/middlewares/session.mjs.map +1 -0
- package/dist/registries/apis.d.ts +8 -0
- package/dist/registries/apis.d.ts.map +1 -0
- package/dist/registries/apis.js +23 -0
- package/dist/registries/apis.js.map +1 -0
- package/dist/registries/apis.mjs +24 -0
- package/dist/registries/apis.mjs.map +1 -0
- package/dist/registries/components.d.ts +25 -0
- package/dist/registries/components.d.ts.map +1 -0
- package/dist/registries/components.js +45 -0
- package/dist/registries/components.js.map +1 -0
- package/dist/registries/components.mjs +46 -0
- package/dist/registries/components.mjs.map +1 -0
- package/dist/registries/config.d.ts +4 -0
- package/dist/registries/config.d.ts.map +1 -0
- package/dist/registries/config.js +23 -0
- package/dist/registries/config.js.map +1 -0
- package/dist/registries/config.mjs +22 -0
- package/dist/registries/config.mjs.map +1 -0
- package/dist/registries/content-types.d.ts +33 -0
- package/dist/registries/content-types.d.ts.map +1 -0
- package/dist/registries/content-types.js +71 -0
- package/dist/registries/content-types.js.map +1 -0
- package/dist/registries/content-types.mjs +72 -0
- package/dist/registries/content-types.mjs.map +1 -0
- package/dist/registries/controllers.d.ts +35 -0
- package/dist/registries/controllers.d.ts.map +1 -0
- package/dist/registries/controllers.js +80 -0
- package/dist/registries/controllers.js.map +1 -0
- package/dist/registries/controllers.mjs +81 -0
- package/dist/registries/controllers.mjs.map +1 -0
- package/dist/registries/custom-fields.d.ts +8 -0
- package/dist/registries/custom-fields.d.ts.map +1 -0
- package/dist/registries/custom-fields.js +71 -0
- package/dist/registries/custom-fields.js.map +1 -0
- package/dist/registries/custom-fields.mjs +72 -0
- package/dist/registries/custom-fields.mjs.map +1 -0
- package/dist/registries/hooks.d.ts +44 -0
- package/dist/registries/hooks.d.ts.map +1 -0
- package/dist/registries/hooks.js +58 -0
- package/dist/registries/hooks.js.map +1 -0
- package/dist/registries/hooks.mjs +59 -0
- package/dist/registries/hooks.mjs.map +1 -0
- package/dist/registries/index.d.ts +16 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/middlewares.d.ts +31 -0
- package/dist/registries/middlewares.d.ts.map +1 -0
- package/dist/registries/middlewares.js +60 -0
- package/dist/registries/middlewares.js.map +1 -0
- package/dist/registries/middlewares.mjs +61 -0
- package/dist/registries/middlewares.mjs.map +1 -0
- package/dist/registries/models.d.ts +6 -0
- package/dist/registries/models.d.ts.map +1 -0
- package/dist/registries/models.js +16 -0
- package/dist/registries/models.js.map +1 -0
- package/dist/registries/models.mjs +16 -0
- package/dist/registries/models.mjs.map +1 -0
- package/dist/registries/modules.d.ts +15 -0
- package/dist/registries/modules.d.ts.map +1 -0
- package/dist/registries/modules.js +39 -0
- package/dist/registries/modules.js.map +1 -0
- package/dist/registries/modules.mjs +40 -0
- package/dist/registries/modules.mjs.map +1 -0
- package/dist/registries/namespace.d.ts +5 -0
- package/dist/registries/namespace.d.ts.map +1 -0
- package/dist/registries/namespace.js +27 -0
- package/dist/registries/namespace.js.map +1 -0
- package/dist/registries/namespace.mjs +27 -0
- package/dist/registries/namespace.mjs.map +1 -0
- package/dist/registries/plugins.d.ts +9 -0
- package/dist/registries/plugins.d.ts.map +1 -0
- package/dist/registries/plugins.js +23 -0
- package/dist/registries/plugins.js.map +1 -0
- package/dist/registries/plugins.mjs +24 -0
- package/dist/registries/plugins.mjs.map +1 -0
- package/dist/registries/policies.d.ts +34 -0
- package/dist/registries/policies.d.ts.map +1 -0
- package/dist/registries/policies.js +62 -0
- package/dist/registries/policies.js.map +1 -0
- package/dist/registries/policies.mjs +63 -0
- package/dist/registries/policies.mjs.map +1 -0
- package/dist/registries/sanitizers.d.ts +10 -0
- package/dist/registries/sanitizers.d.ts.map +1 -0
- package/dist/registries/sanitizers.js +25 -0
- package/dist/registries/sanitizers.js.map +1 -0
- package/dist/registries/sanitizers.mjs +24 -0
- package/dist/registries/sanitizers.mjs.map +1 -0
- package/dist/registries/services.d.ts +35 -0
- package/dist/registries/services.d.ts.map +1 -0
- package/dist/registries/services.js +80 -0
- package/dist/registries/services.js.map +1 -0
- package/dist/registries/services.mjs +81 -0
- package/dist/registries/services.mjs.map +1 -0
- package/dist/registries/validators.d.ts +10 -0
- package/dist/registries/validators.d.ts.map +1 -0
- package/dist/registries/validators.js +25 -0
- package/dist/registries/validators.js.map +1 -0
- package/dist/registries/validators.mjs +24 -0
- package/dist/registries/validators.mjs.map +1 -0
- package/dist/services/auth/index.d.ts +26 -0
- package/dist/services/auth/index.d.ts.map +1 -0
- package/dist/services/auth/index.js +81 -0
- package/dist/services/auth/index.js.map +1 -0
- package/dist/services/auth/index.mjs +80 -0
- package/dist/services/auth/index.mjs.map +1 -0
- package/dist/services/content-api/index.d.ts +54 -0
- package/dist/services/content-api/index.d.ts.map +1 -0
- package/dist/services/content-api/index.js +59 -0
- package/dist/services/content-api/index.js.map +1 -0
- package/dist/services/content-api/index.mjs +58 -0
- package/dist/services/content-api/index.mjs.map +1 -0
- package/dist/services/content-api/permissions/engine.d.ts +5 -0
- package/dist/services/content-api/permissions/engine.d.ts.map +1 -0
- package/dist/services/content-api/permissions/engine.js +7 -0
- package/dist/services/content-api/permissions/engine.js.map +1 -0
- package/dist/services/content-api/permissions/engine.mjs +6 -0
- package/dist/services/content-api/permissions/engine.mjs.map +1 -0
- package/dist/services/content-api/permissions/index.d.ts +52 -0
- package/dist/services/content-api/permissions/index.d.ts.map +1 -0
- package/dist/services/content-api/permissions/index.js +87 -0
- package/dist/services/content-api/permissions/index.js.map +1 -0
- package/dist/services/content-api/permissions/index.mjs +86 -0
- package/dist/services/content-api/permissions/index.mjs.map +1 -0
- package/dist/services/content-api/permissions/providers/action.d.ts +20 -0
- package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -0
- package/dist/services/content-api/permissions/providers/action.js +16 -0
- package/dist/services/content-api/permissions/providers/action.js.map +1 -0
- package/dist/services/content-api/permissions/providers/action.mjs +17 -0
- package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
- package/dist/services/content-api/permissions/providers/condition.d.ts +24 -0
- package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -0
- package/dist/services/content-api/permissions/providers/condition.js +16 -0
- package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
- package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
- package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
- package/dist/services/content-api/permissions/providers/index.d.ts +3 -0
- package/dist/services/content-api/permissions/providers/index.d.ts.map +1 -0
- package/dist/services/core-store.d.ts +33 -0
- package/dist/services/core-store.d.ts.map +1 -0
- package/dist/services/core-store.js +107 -0
- package/dist/services/core-store.js.map +1 -0
- package/dist/services/core-store.mjs +107 -0
- package/dist/services/core-store.mjs.map +1 -0
- package/dist/services/cron.d.ts +27 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +63 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/cron.mjs +64 -0
- package/dist/services/cron.mjs.map +1 -0
- package/dist/services/custom-fields.d.ts +4 -0
- package/dist/services/custom-fields.d.ts.map +1 -0
- package/dist/services/custom-fields.js +10 -0
- package/dist/services/custom-fields.js.map +1 -0
- package/dist/services/custom-fields.mjs +11 -0
- package/dist/services/custom-fields.mjs.map +1 -0
- package/dist/services/document-service/components.d.ts +2 -0
- package/dist/services/document-service/components.d.ts.map +1 -0
- package/dist/services/document-service/document-engine.d.ts +8 -0
- package/dist/services/document-service/document-engine.d.ts.map +1 -0
- package/dist/services/document-service/document-engine.js +200 -0
- package/dist/services/document-service/document-engine.js.map +1 -0
- package/dist/services/document-service/document-engine.mjs +201 -0
- package/dist/services/document-service/document-engine.mjs.map +1 -0
- package/dist/services/document-service/document-service.d.ts +21 -0
- package/dist/services/document-service/document-service.d.ts.map +1 -0
- package/dist/services/document-service/document-service.js +132 -0
- package/dist/services/document-service/document-service.js.map +1 -0
- package/dist/services/document-service/document-service.mjs +132 -0
- package/dist/services/document-service/document-service.mjs.map +1 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +26 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +1 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +58 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +1 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +58 -0
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +1 -0
- package/dist/services/document-service/middlewares/defaults/index.d.ts +3 -0
- package/dist/services/document-service/middlewares/defaults/index.d.ts.map +1 -0
- package/dist/services/document-service/middlewares/defaults/index.js +82 -0
- package/dist/services/document-service/middlewares/defaults/index.js.map +1 -0
- package/dist/services/document-service/middlewares/defaults/index.mjs +82 -0
- package/dist/services/document-service/middlewares/defaults/index.mjs.map +1 -0
- package/dist/services/document-service/middlewares/defaults/locales.d.ts +18 -0
- package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +1 -0
- package/dist/services/document-service/middlewares/defaults/locales.js +50 -0
- package/dist/services/document-service/middlewares/defaults/locales.js.map +1 -0
- package/dist/services/document-service/middlewares/defaults/locales.mjs +50 -0
- package/dist/services/document-service/middlewares/defaults/locales.mjs.map +1 -0
- package/dist/services/document-service/middlewares/index.d.ts +11 -0
- package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
- package/dist/services/document-service/middlewares/index.js +59 -0
- package/dist/services/document-service/middlewares/index.js.map +1 -0
- package/dist/services/document-service/middlewares/index.mjs +59 -0
- package/dist/services/document-service/middlewares/index.mjs.map +1 -0
- package/dist/services/document-service/params.d.ts +2 -0
- package/dist/services/document-service/params.d.ts.map +1 -0
- package/dist/services/entity-service/attributes/index.d.ts +6 -0
- package/dist/services/entity-service/attributes/index.d.ts.map +1 -0
- package/dist/services/entity-service/attributes/index.js +22 -0
- package/dist/services/entity-service/attributes/index.js.map +1 -0
- package/dist/services/entity-service/attributes/index.mjs +22 -0
- package/dist/services/entity-service/attributes/index.mjs.map +1 -0
- package/dist/services/entity-service/attributes/transforms.d.ts +10 -0
- package/dist/services/entity-service/attributes/transforms.d.ts.map +1 -0
- package/dist/services/entity-service/attributes/transforms.js +20 -0
- package/dist/services/entity-service/attributes/transforms.js.map +1 -0
- package/dist/services/entity-service/attributes/transforms.mjs +19 -0
- package/dist/services/entity-service/attributes/transforms.mjs.map +1 -0
- package/dist/services/entity-service/components.d.ts +23 -0
- package/dist/services/entity-service/components.d.ts.map +1 -0
- package/dist/services/entity-service/components.js +384 -0
- package/dist/services/entity-service/components.js.map +1 -0
- package/dist/services/entity-service/components.mjs +382 -0
- package/dist/services/entity-service/components.mjs.map +1 -0
- package/dist/services/entity-service/index.d.ts +15 -0
- package/dist/services/entity-service/index.d.ts.map +1 -0
- package/dist/services/entity-service/index.js +328 -0
- package/dist/services/entity-service/index.js.map +1 -0
- package/dist/services/entity-service/index.mjs +326 -0
- package/dist/services/entity-service/index.mjs.map +1 -0
- package/dist/services/entity-service/params.d.ts +8 -0
- package/dist/services/entity-service/params.d.ts.map +1 -0
- package/dist/services/entity-service/params.js +8 -0
- package/dist/services/entity-service/params.js.map +1 -0
- package/dist/services/entity-service/params.mjs +8 -0
- package/dist/services/entity-service/params.mjs.map +1 -0
- package/dist/services/entity-validator/blocks-validator.d.ts +4 -0
- package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -0
- package/dist/services/entity-validator/blocks-validator.js +107 -0
- package/dist/services/entity-validator/blocks-validator.js.map +1 -0
- package/dist/services/entity-validator/blocks-validator.mjs +108 -0
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
- package/dist/services/entity-validator/index.d.ts +8 -0
- package/dist/services/entity-validator/index.d.ts.map +1 -0
- package/dist/services/entity-validator/index.js +322 -0
- package/dist/services/entity-validator/index.js.map +1 -0
- package/dist/services/entity-validator/index.mjs +321 -0
- package/dist/services/entity-validator/index.mjs.map +1 -0
- package/dist/services/entity-validator/validators.d.ts +39 -0
- package/dist/services/entity-validator/validators.d.ts.map +1 -0
- package/dist/services/entity-validator/validators.js +122 -0
- package/dist/services/entity-validator/validators.js.map +1 -0
- package/dist/services/entity-validator/validators.mjs +120 -0
- package/dist/services/entity-validator/validators.mjs.map +1 -0
- package/dist/services/errors.d.ts +40 -0
- package/dist/services/errors.d.ts.map +1 -0
- package/dist/services/errors.js +76 -0
- package/dist/services/errors.js.map +1 -0
- package/dist/services/errors.mjs +74 -0
- package/dist/services/errors.mjs.map +1 -0
- package/dist/services/event-hub.d.ts +19 -0
- package/dist/services/event-hub.d.ts.map +1 -0
- package/dist/services/event-hub.js +67 -0
- package/dist/services/event-hub.js.map +1 -0
- package/dist/services/event-hub.mjs +68 -0
- package/dist/services/event-hub.mjs.map +1 -0
- package/dist/services/features.d.ts +10 -0
- package/dist/services/features.d.ts.map +1 -0
- package/dist/services/features.js +17 -0
- package/dist/services/features.js.map +1 -0
- package/dist/services/features.mjs +17 -0
- package/dist/services/features.mjs.map +1 -0
- package/dist/services/fs.d.ts +13 -0
- package/dist/services/fs.d.ts.map +1 -0
- package/dist/services/fs.js +51 -0
- package/dist/services/fs.js.map +1 -0
- package/dist/services/fs.mjs +49 -0
- package/dist/services/fs.mjs.map +1 -0
- package/dist/services/metrics/admin-user-hash.d.ts +7 -0
- package/dist/services/metrics/admin-user-hash.d.ts.map +1 -0
- package/dist/services/metrics/admin-user-hash.js +14 -0
- package/dist/services/metrics/admin-user-hash.js.map +1 -0
- package/dist/services/metrics/admin-user-hash.mjs +12 -0
- package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
- package/dist/services/metrics/index.d.ts +14 -0
- package/dist/services/metrics/index.d.ts.map +1 -0
- package/dist/services/metrics/index.js +45 -0
- package/dist/services/metrics/index.js.map +1 -0
- package/dist/services/metrics/index.mjs +46 -0
- package/dist/services/metrics/index.mjs.map +1 -0
- package/dist/services/metrics/is-truthy.d.ts +3 -0
- package/dist/services/metrics/is-truthy.d.ts.map +1 -0
- package/dist/services/metrics/is-truthy.js +9 -0
- package/dist/services/metrics/is-truthy.js.map +1 -0
- package/dist/services/metrics/is-truthy.mjs +8 -0
- package/dist/services/metrics/is-truthy.mjs.map +1 -0
- package/dist/services/metrics/middleware.d.ts +7 -0
- package/dist/services/metrics/middleware.d.ts.map +1 -0
- package/dist/services/metrics/middleware.js +25 -0
- package/dist/services/metrics/middleware.js.map +1 -0
- package/dist/services/metrics/middleware.mjs +26 -0
- package/dist/services/metrics/middleware.mjs.map +1 -0
- package/dist/services/metrics/rate-limiter.d.ts +7 -0
- package/dist/services/metrics/rate-limiter.d.ts.map +1 -0
- package/dist/services/metrics/rate-limiter.js +21 -0
- package/dist/services/metrics/rate-limiter.js.map +1 -0
- package/dist/services/metrics/rate-limiter.mjs +22 -0
- package/dist/services/metrics/rate-limiter.mjs.map +1 -0
- package/dist/services/metrics/sender.d.ts +13 -0
- package/dist/services/metrics/sender.d.ts.map +1 -0
- package/dist/services/metrics/sender.js +76 -0
- package/dist/services/metrics/sender.js.map +1 -0
- package/dist/services/metrics/sender.mjs +70 -0
- package/dist/services/metrics/sender.mjs.map +1 -0
- package/dist/services/request-context.d.ts +7 -0
- package/dist/services/request-context.d.ts.map +1 -0
- package/dist/services/request-context.js +13 -0
- package/dist/services/request-context.js.map +1 -0
- package/dist/services/request-context.mjs +14 -0
- package/dist/services/request-context.mjs.map +1 -0
- package/dist/services/server/admin-api.d.ts +11 -0
- package/dist/services/server/admin-api.d.ts.map +1 -0
- package/dist/services/server/admin-api.js +13 -0
- package/dist/services/server/admin-api.js.map +1 -0
- package/dist/services/server/admin-api.mjs +13 -0
- package/dist/services/server/admin-api.mjs.map +1 -0
- package/dist/services/server/api.d.ts +15 -0
- package/dist/services/server/api.d.ts.map +1 -0
- package/dist/services/server/api.js +30 -0
- package/dist/services/server/api.js.map +1 -0
- package/dist/services/server/api.mjs +28 -0
- package/dist/services/server/api.mjs.map +1 -0
- package/dist/services/server/compose-endpoint.d.ts +7 -0
- package/dist/services/server/compose-endpoint.d.ts.map +1 -0
- package/dist/services/server/compose-endpoint.js +115 -0
- package/dist/services/server/compose-endpoint.js.map +1 -0
- package/dist/services/server/compose-endpoint.mjs +114 -0
- package/dist/services/server/compose-endpoint.mjs.map +1 -0
- package/dist/services/server/content-api.d.ts +11 -0
- package/dist/services/server/content-api.d.ts.map +1 -0
- package/dist/services/server/content-api.js +12 -0
- package/dist/services/server/content-api.js.map +1 -0
- package/dist/services/server/content-api.mjs +12 -0
- package/dist/services/server/content-api.mjs.map +1 -0
- package/dist/services/server/http-server.d.ts +10 -0
- package/dist/services/server/http-server.d.ts.map +1 -0
- package/dist/services/server/http-server.js +50 -0
- package/dist/services/server/http-server.js.map +1 -0
- package/dist/services/server/http-server.mjs +48 -0
- package/dist/services/server/http-server.mjs.map +1 -0
- package/dist/services/server/index.d.ts +4 -0
- package/dist/services/server/index.d.ts.map +1 -0
- package/dist/services/server/index.js +88 -0
- package/dist/services/server/index.js.map +1 -0
- package/dist/services/server/index.mjs +86 -0
- package/dist/services/server/index.mjs.map +1 -0
- package/dist/services/server/koa.d.ts +16 -0
- package/dist/services/server/koa.d.ts.map +1 -0
- package/dist/services/server/koa.js +52 -0
- package/dist/services/server/koa.js.map +1 -0
- package/dist/services/server/koa.mjs +48 -0
- package/dist/services/server/koa.mjs.map +1 -0
- package/dist/services/server/middleware.d.ts +11 -0
- package/dist/services/server/middleware.d.ts.map +1 -0
- package/dist/services/server/middleware.js +92 -0
- package/dist/services/server/middleware.js.map +1 -0
- package/dist/services/server/middleware.mjs +90 -0
- package/dist/services/server/middleware.mjs.map +1 -0
- package/dist/services/server/policy.d.ts +4 -0
- package/dist/services/server/policy.d.ts.map +1 -0
- package/dist/services/server/policy.js +20 -0
- package/dist/services/server/policy.js.map +1 -0
- package/dist/services/server/policy.mjs +20 -0
- package/dist/services/server/policy.mjs.map +1 -0
- package/dist/services/server/register-middlewares.d.ts +7 -0
- package/dist/services/server/register-middlewares.d.ts.map +1 -0
- package/dist/services/server/register-middlewares.js +72 -0
- package/dist/services/server/register-middlewares.js.map +1 -0
- package/dist/services/server/register-middlewares.mjs +73 -0
- package/dist/services/server/register-middlewares.mjs.map +1 -0
- package/dist/services/server/register-routes.d.ts +7 -0
- package/dist/services/server/register-routes.d.ts.map +1 -0
- package/dist/services/server/register-routes.js +76 -0
- package/dist/services/server/register-routes.js.map +1 -0
- package/dist/services/server/register-routes.mjs +75 -0
- package/dist/services/server/register-routes.mjs.map +1 -0
- package/dist/services/server/routing.d.ts +34 -0
- package/dist/services/server/routing.d.ts.map +1 -0
- package/dist/services/server/routing.js +91 -0
- package/dist/services/server/routing.js.map +1 -0
- package/dist/services/server/routing.mjs +89 -0
- package/dist/services/server/routing.mjs.map +1 -0
- package/dist/services/utils/dynamic-zones.d.ts +3 -0
- package/dist/services/utils/dynamic-zones.d.ts.map +1 -0
- package/dist/services/utils/dynamic-zones.js +16 -0
- package/dist/services/utils/dynamic-zones.js.map +1 -0
- package/dist/services/utils/dynamic-zones.mjs +17 -0
- package/dist/services/utils/dynamic-zones.mjs.map +1 -0
- package/dist/services/utils/upload-files.d.ts +8 -0
- package/dist/services/utils/upload-files.d.ts.map +1 -0
- package/dist/services/utils/upload-files.js +64 -0
- package/dist/services/utils/upload-files.js.map +1 -0
- package/dist/services/utils/upload-files.mjs +63 -0
- package/dist/services/utils/upload-files.mjs.map +1 -0
- package/dist/services/webhook-runner.d.ts +49 -0
- package/dist/services/webhook-runner.d.ts.map +1 -0
- package/dist/services/webhook-runner.js +133 -0
- package/dist/services/webhook-runner.js.map +1 -0
- package/dist/services/webhook-runner.mjs +131 -0
- package/dist/services/webhook-runner.mjs.map +1 -0
- package/dist/services/webhook-store.d.ts +30 -0
- package/dist/services/webhook-store.d.ts.map +1 -0
- package/dist/services/webhook-store.js +104 -0
- package/dist/services/webhook-store.js.map +1 -0
- package/dist/services/webhook-store.mjs +104 -0
- package/dist/services/webhook-store.mjs.map +1 -0
- package/dist/services/worker-queue.d.ts +20 -0
- package/dist/services/worker-queue.d.ts.map +1 -0
- package/dist/services/worker-queue.js +56 -0
- package/dist/services/worker-queue.js.map +1 -0
- package/dist/services/worker-queue.mjs +55 -0
- package/dist/services/worker-queue.mjs.map +1 -0
- package/dist/utils/convert-custom-field-type.d.ts +3 -0
- package/dist/utils/convert-custom-field-type.d.ts.map +1 -0
- package/dist/utils/convert-custom-field-type.js +24 -0
- package/dist/utils/convert-custom-field-type.js.map +1 -0
- package/dist/utils/convert-custom-field-type.mjs +24 -0
- package/dist/utils/convert-custom-field-type.mjs.map +1 -0
- package/dist/utils/cron.d.ts +8 -0
- package/dist/utils/cron.d.ts.map +1 -0
- package/dist/utils/cron.js +38 -0
- package/dist/utils/cron.js.map +1 -0
- package/dist/utils/cron.mjs +38 -0
- package/dist/utils/cron.mjs.map +1 -0
- package/dist/utils/ee.d.ts +2 -0
- package/dist/utils/ee.d.ts.map +1 -0
- package/dist/utils/fetch.d.ts +4 -0
- package/dist/utils/fetch.d.ts.map +1 -0
- package/dist/utils/fetch.js +20 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/fetch.mjs +20 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/filepath-to-prop-path.d.ts +5 -0
- package/dist/utils/filepath-to-prop-path.d.ts.map +1 -0
- package/dist/utils/filepath-to-prop-path.js +12 -0
- package/dist/utils/filepath-to-prop-path.js.map +1 -0
- package/dist/utils/filepath-to-prop-path.mjs +10 -0
- package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
- package/dist/utils/get-dirs.d.ts +9 -0
- package/dist/utils/get-dirs.d.ts.map +1 -0
- package/dist/utils/get-dirs.js +30 -0
- package/dist/utils/get-dirs.js.map +1 -0
- package/dist/utils/get-dirs.mjs +30 -0
- package/dist/utils/get-dirs.mjs.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/is-initialized.d.ts +6 -0
- package/dist/utils/is-initialized.d.ts.map +1 -0
- package/dist/utils/is-initialized.js +16 -0
- package/dist/utils/is-initialized.js.map +1 -0
- package/dist/utils/is-initialized.mjs +16 -0
- package/dist/utils/is-initialized.mjs.map +1 -0
- package/dist/utils/lifecycles.d.ts +6 -0
- package/dist/utils/lifecycles.d.ts.map +1 -0
- package/dist/utils/lifecycles.js +9 -0
- package/dist/utils/lifecycles.js.map +1 -0
- package/dist/utils/lifecycles.mjs +9 -0
- package/dist/utils/lifecycles.mjs.map +1 -0
- package/dist/utils/load-config-file.d.ts +2 -0
- package/dist/utils/load-config-file.d.ts.map +1 -0
- package/dist/utils/load-config-file.js +45 -0
- package/dist/utils/load-config-file.js.map +1 -0
- package/dist/utils/load-config-file.mjs +42 -0
- package/dist/utils/load-config-file.mjs.map +1 -0
- package/dist/utils/load-files.d.ts +11 -0
- package/dist/utils/load-files.d.ts.map +1 -0
- package/dist/utils/load-files.js +39 -0
- package/dist/utils/load-files.js.map +1 -0
- package/dist/utils/load-files.mjs +35 -0
- package/dist/utils/load-files.mjs.map +1 -0
- package/dist/utils/open-browser.d.ts +4 -0
- package/dist/utils/open-browser.d.ts.map +1 -0
- package/dist/utils/open-browser.js +11 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/open-browser.mjs +9 -0
- package/dist/utils/open-browser.mjs.map +1 -0
- package/dist/utils/signals.d.ts +3 -0
- package/dist/utils/signals.d.ts.map +1 -0
- package/dist/utils/signals.js +17 -0
- package/dist/utils/signals.js.map +1 -0
- package/dist/utils/signals.mjs +17 -0
- package/dist/utils/signals.mjs.map +1 -0
- package/dist/utils/startup-logger.d.ts +10 -0
- package/dist/utils/startup-logger.d.ts.map +1 -0
- package/dist/utils/startup-logger.js +81 -0
- package/dist/utils/startup-logger.js.map +1 -0
- package/dist/utils/startup-logger.mjs +77 -0
- package/dist/utils/startup-logger.mjs.map +1 -0
- package/dist/utils/transform-content-types-to-models.d.ts +6 -0
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -0
- package/dist/utils/transform-content-types-to-models.js +198 -0
- package/dist/utils/transform-content-types-to-models.js.map +1 -0
- package/dist/utils/transform-content-types-to-models.mjs +196 -0
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
- package/dist/utils/update-notifier/index.d.ts +8 -0
- package/dist/utils/update-notifier/index.d.ts.map +1 -0
- package/dist/utils/update-notifier/index.js +88 -0
- package/dist/utils/update-notifier/index.js.map +1 -0
- package/dist/utils/update-notifier/index.mjs +81 -0
- package/dist/utils/update-notifier/index.mjs.map +1 -0
- package/package.json +134 -0
- package/resources/key.pub +9 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { isArray } from "lodash/fp";
|
|
3
|
+
import { importDefault } from "@strapi/utils";
|
|
4
|
+
const instantiateMiddleware = (middlewareFactory, name, config, strapi) => {
|
|
5
|
+
try {
|
|
6
|
+
return middlewareFactory(config, { strapi });
|
|
7
|
+
} catch (e) {
|
|
8
|
+
if (e instanceof Error) {
|
|
9
|
+
throw new Error(`Middleware "${name}": ${e.message}`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const resolveRouteMiddlewares = (route, strapi) => {
|
|
14
|
+
const middlewaresConfig = route?.config?.middlewares ?? [];
|
|
15
|
+
if (!isArray(middlewaresConfig)) {
|
|
16
|
+
throw new Error("Route middlewares config must be an array");
|
|
17
|
+
}
|
|
18
|
+
const middlewares = resolveMiddlewares(middlewaresConfig, strapi);
|
|
19
|
+
return middlewares.map(({ handler }) => handler);
|
|
20
|
+
};
|
|
21
|
+
const dummyMiddleware = (_, next) => next();
|
|
22
|
+
const resolveMiddlewares = (config, strapi) => {
|
|
23
|
+
const middlewares = [];
|
|
24
|
+
for (const item of config) {
|
|
25
|
+
if (typeof item === "function") {
|
|
26
|
+
middlewares.push({
|
|
27
|
+
name: null,
|
|
28
|
+
handler: item
|
|
29
|
+
});
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (typeof item === "string") {
|
|
33
|
+
const middlewareFactory = strapi.middleware(item);
|
|
34
|
+
if (!middlewareFactory) {
|
|
35
|
+
throw new Error(`Middleware ${item} not found.`);
|
|
36
|
+
}
|
|
37
|
+
middlewares.push({
|
|
38
|
+
name: item,
|
|
39
|
+
handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware
|
|
40
|
+
});
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (typeof item === "object" && item !== null) {
|
|
44
|
+
const { name, resolve, config: config2 = {} } = item;
|
|
45
|
+
if (name) {
|
|
46
|
+
const middlewareFactory = strapi.middleware(name);
|
|
47
|
+
middlewares.push({
|
|
48
|
+
name,
|
|
49
|
+
handler: instantiateMiddleware(middlewareFactory, name, config2, strapi) ?? dummyMiddleware
|
|
50
|
+
});
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (resolve) {
|
|
54
|
+
const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);
|
|
55
|
+
middlewares.push({
|
|
56
|
+
name: resolve,
|
|
57
|
+
handler: instantiateMiddleware(resolvedMiddlewareFactory, resolve, config2, strapi) ?? dummyMiddleware
|
|
58
|
+
});
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
throw new Error("Invalid middleware configuration. Missing name or resolve properties.");
|
|
62
|
+
}
|
|
63
|
+
throw new Error(
|
|
64
|
+
"Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}."
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
return middlewares;
|
|
68
|
+
};
|
|
69
|
+
const resolveCustomMiddleware = (resolve, strapi) => {
|
|
70
|
+
let modulePath;
|
|
71
|
+
try {
|
|
72
|
+
modulePath = require.resolve(resolve);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
if (error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND") {
|
|
75
|
+
modulePath = path.resolve(strapi.dirs.dist.root, resolve);
|
|
76
|
+
} else {
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
return importDefault(modulePath);
|
|
82
|
+
} catch (err) {
|
|
83
|
+
throw new Error(`Could not load middleware "${modulePath}".`);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
export {
|
|
87
|
+
resolveMiddlewares,
|
|
88
|
+
resolveRouteMiddlewares
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=middleware.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.mjs","sources":["../../../src/services/server/middleware.ts"],"sourcesContent":["import path from 'path';\nimport { isArray } from 'lodash/fp';\nimport { importDefault } from '@strapi/utils';\nimport type { Strapi, Common } from '@strapi/types';\n\nconst instantiateMiddleware = (\n middlewareFactory: Common.MiddlewareFactory,\n name: string,\n config: unknown,\n strapi: Strapi\n) => {\n try {\n return middlewareFactory(config, { strapi });\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Middleware \"${name}\": ${e.message}`);\n }\n }\n};\n\nconst resolveRouteMiddlewares = (route: Common.Route, strapi: Strapi) => {\n const middlewaresConfig = route?.config?.middlewares ?? [];\n\n if (!isArray(middlewaresConfig)) {\n throw new Error('Route middlewares config must be an array');\n }\n\n const middlewares = resolveMiddlewares(middlewaresConfig, strapi);\n\n return middlewares.map(({ handler }) => handler);\n};\n\nconst dummyMiddleware: Common.MiddlewareHandler = (_, next) => next();\n\n/**\n * Initialize every configured middlewares\n */\nconst resolveMiddlewares = (\n config: Array<Common.MiddlewareName | Common.MiddlewareConfig | Common.MiddlewareHandler>,\n strapi: Strapi\n) => {\n const middlewares: {\n name: string | null;\n handler: Common.MiddlewareHandler;\n }[] = [];\n\n for (const item of config) {\n if (typeof item === 'function') {\n middlewares.push({\n name: null,\n handler: item,\n });\n\n continue;\n }\n\n if (typeof item === 'string') {\n const middlewareFactory = strapi.middleware(item);\n\n if (!middlewareFactory) {\n throw new Error(`Middleware ${item} not found.`);\n }\n\n middlewares.push({\n name: item,\n handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (typeof item === 'object' && item !== null) {\n const { name, resolve, config = {} } = item;\n\n if (name) {\n const middlewareFactory = strapi.middleware(name);\n middlewares.push({\n name,\n handler:\n instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (resolve) {\n const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);\n middlewares.push({\n name: resolve,\n handler:\n instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ??\n dummyMiddleware,\n });\n\n continue;\n }\n\n throw new Error('Invalid middleware configuration. Missing name or resolve properties.');\n }\n\n throw new Error(\n 'Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.'\n );\n }\n\n return middlewares;\n};\n\n/**\n * Resolve middleware from package name or path\n */\nconst resolveCustomMiddleware = (resolve: string, strapi: Strapi) => {\n let modulePath;\n\n try {\n modulePath = require.resolve(resolve);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {\n modulePath = path.resolve(strapi.dirs.dist.root, resolve);\n } else {\n throw error;\n }\n }\n\n try {\n return importDefault(modulePath);\n } catch (err) {\n throw new Error(`Could not load middleware \"${modulePath}\".`);\n }\n};\n\nexport { resolveRouteMiddlewares, resolveMiddlewares };\n"],"names":["config"],"mappings":";;;AAKA,MAAM,wBAAwB,CAC5B,mBACA,MACA,QACA,WACG;AACC,MAAA;AACF,WAAO,kBAAkB,QAAQ,EAAE,OAAQ,CAAA;AAAA,WACpC,GAAG;AACV,QAAI,aAAa,OAAO;AACtB,YAAM,IAAI,MAAM,eAAe,IAAI,MAAM,EAAE,OAAO,EAAE;AAAA,IACtD;AAAA,EACF;AACF;AAEM,MAAA,0BAA0B,CAAC,OAAqB,WAAmB;AACvE,QAAM,oBAAoB,OAAO,QAAQ,eAAe,CAAA;AAEpD,MAAA,CAAC,QAAQ,iBAAiB,GAAG;AACzB,UAAA,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AAEM,QAAA,cAAc,mBAAmB,mBAAmB,MAAM;AAEhE,SAAO,YAAY,IAAI,CAAC,EAAE,cAAc,OAAO;AACjD;AAEA,MAAM,kBAA4C,CAAC,GAAG,SAAS,KAAK;AAK9D,MAAA,qBAAqB,CACzB,QACA,WACG;AACH,QAAM,cAGA,CAAA;AAEN,aAAW,QAAQ,QAAQ;AACrB,QAAA,OAAO,SAAS,YAAY;AAC9B,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAED;AAAA,IACF;AAEI,QAAA,OAAO,SAAS,UAAU;AACtB,YAAA,oBAAoB,OAAO,WAAW,IAAI;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,IAAI,aAAa;AAAA,MACjD;AAEA,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS,sBAAsB,mBAAmB,MAAM,CAAC,GAAG,MAAM,KAAK;AAAA,MAAA,CACxE;AAED;AAAA,IACF;AAEA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,EAAE,MAAM,SAAS,QAAAA,UAAS,CAAA,EAAO,IAAA;AAEvC,UAAI,MAAM;AACF,cAAA,oBAAoB,OAAO,WAAW,IAAI;AAChD,oBAAY,KAAK;AAAA,UACf;AAAA,UACA,SACE,sBAAsB,mBAAmB,MAAMA,SAAQ,MAAM,KAAK;AAAA,QAAA,CACrE;AAED;AAAA,MACF;AAEA,UAAI,SAAS;AACL,cAAA,4BAA4B,wBAAwB,SAAS,MAAM;AACzE,oBAAY,KAAK;AAAA,UACf,MAAM;AAAA,UACN,SACE,sBAAsB,2BAA2B,SAASA,SAAQ,MAAM,KACxE;AAAA,QAAA,CACH;AAED;AAAA,MACF;AAEM,YAAA,IAAI,MAAM,uEAAuE;AAAA,IACzF;AAEA,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AAEO,SAAA;AACT;AAKA,MAAM,0BAA0B,CAAC,SAAiB,WAAmB;AAC/D,MAAA;AAEA,MAAA;AACW,iBAAA,QAAQ,QAAQ,OAAO;AAAA,WAC7B,OAAO;AACd,QAAI,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,oBAAoB;AAClF,mBAAa,KAAK,QAAQ,OAAO,KAAK,KAAK,MAAM,OAAO;AAAA,IAAA,OACnD;AACC,YAAA;AAAA,IACR;AAAA,EACF;AAEI,MAAA;AACF,WAAO,cAAc,UAAU;AAAA,WACxB,KAAK;AACZ,UAAM,IAAI,MAAM,8BAA8B,UAAU,IAAI;AAAA,EAC9D;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/services/server/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,QAAA,MAAM,eAAe,UAAW,OAAO,KAAK,+BAmB3C,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const strapiUtils = require("@strapi/utils");
|
|
4
|
+
const resolvePolicies = (route) => {
|
|
5
|
+
const policiesConfig = route?.config?.policies ?? [];
|
|
6
|
+
const resolvedPolicies = strapiUtils.policy.resolve(policiesConfig, route.info);
|
|
7
|
+
const policiesMiddleware = async (ctx, next) => {
|
|
8
|
+
const context = strapiUtils.policy.createPolicyContext("koa", ctx);
|
|
9
|
+
for (const { handler, config } of resolvedPolicies) {
|
|
10
|
+
const result = await handler(context, config, { strapi });
|
|
11
|
+
if (![true, void 0].includes(result)) {
|
|
12
|
+
throw new strapiUtils.errors.PolicyError();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
await next();
|
|
16
|
+
};
|
|
17
|
+
return [policiesMiddleware];
|
|
18
|
+
};
|
|
19
|
+
exports.resolvePolicies = resolvePolicies;
|
|
20
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sources":["../../../src/services/server/policy.ts"],"sourcesContent":["import { policy as policyUtils, errors } from '@strapi/utils';\nimport { Common } from '@strapi/types';\n\nconst resolvePolicies = (route: Common.Route) => {\n const policiesConfig = route?.config?.policies ?? [];\n const resolvedPolicies = policyUtils.resolve(policiesConfig, route.info);\n\n const policiesMiddleware: Common.MiddlewareHandler = async (ctx, next) => {\n const context = policyUtils.createPolicyContext('koa', ctx);\n\n for (const { handler, config } of resolvedPolicies) {\n const result = await handler(context, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new errors.PolicyError();\n }\n }\n\n await next();\n };\n\n return [policiesMiddleware];\n};\n\nexport { resolvePolicies };\n"],"names":["policyUtils","errors"],"mappings":";;;AAGM,MAAA,kBAAkB,CAAC,UAAwB;AAC/C,QAAM,iBAAiB,OAAO,QAAQ,YAAY,CAAA;AAClD,QAAM,mBAAmBA,YAAAA,OAAY,QAAQ,gBAAgB,MAAM,IAAI;AAEjE,QAAA,qBAA+C,OAAO,KAAK,SAAS;AACxE,UAAM,UAAUA,YAAA,OAAY,oBAAoB,OAAO,GAAG;AAE1D,eAAW,EAAE,SAAS,OAAO,KAAK,kBAAkB;AAClD,YAAM,SAAS,MAAM,QAAQ,SAAS,QAAQ,EAAE,QAAQ;AAExD,UAAI,CAAC,CAAC,MAAM,MAAS,EAAE,SAAS,MAAM,GAAG;AACjC,cAAA,IAAIC,YAAAA,OAAO;MACnB;AAAA,IACF;AAEA,UAAM,KAAK;AAAA,EAAA;AAGb,SAAO,CAAC,kBAAkB;AAC5B;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { policy, errors } from "@strapi/utils";
|
|
2
|
+
const resolvePolicies = (route) => {
|
|
3
|
+
const policiesConfig = route?.config?.policies ?? [];
|
|
4
|
+
const resolvedPolicies = policy.resolve(policiesConfig, route.info);
|
|
5
|
+
const policiesMiddleware = async (ctx, next) => {
|
|
6
|
+
const context = policy.createPolicyContext("koa", ctx);
|
|
7
|
+
for (const { handler, config } of resolvedPolicies) {
|
|
8
|
+
const result = await handler(context, config, { strapi });
|
|
9
|
+
if (![true, void 0].includes(result)) {
|
|
10
|
+
throw new errors.PolicyError();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
await next();
|
|
14
|
+
};
|
|
15
|
+
return [policiesMiddleware];
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
resolvePolicies
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=policy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.mjs","sources":["../../../src/services/server/policy.ts"],"sourcesContent":["import { policy as policyUtils, errors } from '@strapi/utils';\nimport { Common } from '@strapi/types';\n\nconst resolvePolicies = (route: Common.Route) => {\n const policiesConfig = route?.config?.policies ?? [];\n const resolvedPolicies = policyUtils.resolve(policiesConfig, route.info);\n\n const policiesMiddleware: Common.MiddlewareHandler = async (ctx, next) => {\n const context = policyUtils.createPolicyContext('koa', ctx);\n\n for (const { handler, config } of resolvedPolicies) {\n const result = await handler(context, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new errors.PolicyError();\n }\n }\n\n await next();\n };\n\n return [policiesMiddleware];\n};\n\nexport { resolvePolicies };\n"],"names":["policyUtils"],"mappings":";AAGM,MAAA,kBAAkB,CAAC,UAAwB;AAC/C,QAAM,iBAAiB,OAAO,QAAQ,YAAY,CAAA;AAClD,QAAM,mBAAmBA,OAAY,QAAQ,gBAAgB,MAAM,IAAI;AAEjE,QAAA,qBAA+C,OAAO,KAAK,SAAS;AACxE,UAAM,UAAUA,OAAY,oBAAoB,OAAO,GAAG;AAE1D,eAAW,EAAE,SAAS,OAAO,KAAK,kBAAkB;AAClD,YAAM,SAAS,MAAM,QAAQ,SAAS,QAAQ,EAAE,QAAQ;AAExD,UAAI,CAAC,CAAC,MAAM,MAAS,EAAE,SAAS,MAAM,GAAG;AACjC,cAAA,IAAI,OAAO;MACnB;AAAA,IACF;AAEA,UAAM,KAAK;AAAA,EAAA;AAGb,SAAO,CAAC,kBAAkB;AAC5B;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Strapi } from '@strapi/types';
|
|
2
|
+
/**
|
|
3
|
+
* Register middlewares in router
|
|
4
|
+
*/
|
|
5
|
+
declare const registerApplicationMiddlewares: (strapi: Strapi) => Promise<void>;
|
|
6
|
+
export default registerApplicationMiddlewares;
|
|
7
|
+
//# sourceMappingURL=register-middlewares.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-middlewares.d.ts","sourceRoot":"","sources":["../../../src/services/server/register-middlewares.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAiD5C;;GAEG;AACH,QAAA,MAAM,8BAA8B,WAAkB,MAAM,kBAc3D,CAAC;AAkCF,eAAe,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const strapiUtils = require("@strapi/utils");
|
|
3
|
+
const middleware = require("./middleware.js");
|
|
4
|
+
const defaultConfig = [
|
|
5
|
+
"strapi::logger",
|
|
6
|
+
"strapi::errors",
|
|
7
|
+
"strapi::security",
|
|
8
|
+
"strapi::cors",
|
|
9
|
+
"strapi::poweredBy",
|
|
10
|
+
"strapi::session",
|
|
11
|
+
"strapi::query",
|
|
12
|
+
"strapi::body",
|
|
13
|
+
"strapi::favicon",
|
|
14
|
+
"strapi::public"
|
|
15
|
+
];
|
|
16
|
+
const requiredMiddlewares = [
|
|
17
|
+
"strapi::errors",
|
|
18
|
+
"strapi::security",
|
|
19
|
+
"strapi::cors",
|
|
20
|
+
"strapi::query",
|
|
21
|
+
"strapi::body",
|
|
22
|
+
"strapi::public",
|
|
23
|
+
"strapi::favicon"
|
|
24
|
+
];
|
|
25
|
+
const middlewareConfigSchema = strapiUtils.yup.array().of(
|
|
26
|
+
strapiUtils.yup.lazy((value) => {
|
|
27
|
+
if (typeof value === "string") {
|
|
28
|
+
return strapiUtils.yup.string().required();
|
|
29
|
+
}
|
|
30
|
+
if (typeof value === "object") {
|
|
31
|
+
return strapiUtils.yup.object({
|
|
32
|
+
name: strapiUtils.yup.string(),
|
|
33
|
+
resolve: strapiUtils.yup.string(),
|
|
34
|
+
config: strapiUtils.yup.mixed()
|
|
35
|
+
}).required().noUnknown();
|
|
36
|
+
}
|
|
37
|
+
return strapiUtils.yup.mixed().test(() => false);
|
|
38
|
+
})
|
|
39
|
+
// FIXME: yup v1
|
|
40
|
+
);
|
|
41
|
+
const registerApplicationMiddlewares = async (strapi) => {
|
|
42
|
+
const middlewareConfig = strapi.config.get("middlewares", defaultConfig);
|
|
43
|
+
await validateMiddlewareConfig(middlewareConfig);
|
|
44
|
+
const middlewares = await middleware.resolveMiddlewares(middlewareConfig, strapi);
|
|
45
|
+
checkRequiredMiddlewares(middlewares);
|
|
46
|
+
for (const middleware2 of middlewares) {
|
|
47
|
+
strapi.server.use(middleware2.handler);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const validateMiddlewareConfig = async (config) => {
|
|
51
|
+
try {
|
|
52
|
+
await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });
|
|
53
|
+
} catch (error) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
"Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}."
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const checkRequiredMiddlewares = (middlewares) => {
|
|
60
|
+
const missingMiddlewares = requiredMiddlewares.filter((name) => {
|
|
61
|
+
return middlewares.findIndex((mdl) => mdl.name === name) === -1;
|
|
62
|
+
});
|
|
63
|
+
if (missingMiddlewares.length > 0) {
|
|
64
|
+
throw new Error(
|
|
65
|
+
`Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(
|
|
66
|
+
", "
|
|
67
|
+
)}".`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
module.exports = registerApplicationMiddlewares;
|
|
72
|
+
//# sourceMappingURL=register-middlewares.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-middlewares.js","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":["yup","resolveMiddlewares","middleware"],"mappings":";;;AAMA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,yBAAyBA,YAAAA,IAAI,MAAA,EAAQ;AAAA,EACzCA,gBAAI,KAAK,CAAC,UAAU;AACd,QAAA,OAAO,UAAU,UAAU;AACtB,aAAAA,gBAAI,SAAS;IACtB;AAEI,QAAA,OAAO,UAAU,UAAU;AAC7B,aAAOA,YAAAA,IACJ,OAAO;AAAA,QACN,MAAMA,gBAAI,OAAO;AAAA,QACjB,SAASA,gBAAI,OAAO;AAAA,QACpB,QAAQA,gBAAI,MAAM;AAAA,MAAA,CACnB,EACA,WACA;IACL;AAEA,WAAOA,YAAI,IAAA,MAAA,EAAQ,KAAK,MAAM,KAAK;AAAA,EAAA,CACpC;AAAA;AACH;AAKM,MAAA,iCAAiC,OAAO,WAAmB;AAC/D,QAAM,mBAAqC,OAAO,OAAO,IAAI,eAAe,aAAa;AAEzF,QAAM,yBAAyB,gBAAgB;AAE/C,QAAM,cAAc,MAAMC,WAAAA,mBAAmB,kBAAkB,MAAM;AAErE,2BAAyB,WAAW;AAIpC,aAAWC,eAAc,aAAa;AAC7B,WAAA,OAAO,IAAIA,YAAW,OAAO;AAAA,EACtC;AACF;AAMA,MAAM,2BAA2B,OAAO,WAA6B;AAC/D,MAAA;AACI,UAAA,uBAAuB,SAAS,QAAQ,EAAE,QAAQ,MAAM,YAAY,OAAO;AAAA,WAC1E,OAAO;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACF;AAMA,MAAM,2BAA2B,CAAC,gBAA2C;AAC3E,QAAM,qBAAqB,oBAAoB,OAAO,CAAC,SAAS;AAC9D,WAAO,YAAY,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM;AAAA,EAAA,CAC9D;AAEG,MAAA,mBAAmB,SAAS,GAAG;AACjC,UAAM,IAAI;AAAA,MACR,kFAAkF,mBAAmB;AAAA,QACnG;AAAA,MACD,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { yup } from "@strapi/utils";
|
|
2
|
+
import { resolveMiddlewares } from "./middleware.mjs";
|
|
3
|
+
const defaultConfig = [
|
|
4
|
+
"strapi::logger",
|
|
5
|
+
"strapi::errors",
|
|
6
|
+
"strapi::security",
|
|
7
|
+
"strapi::cors",
|
|
8
|
+
"strapi::poweredBy",
|
|
9
|
+
"strapi::session",
|
|
10
|
+
"strapi::query",
|
|
11
|
+
"strapi::body",
|
|
12
|
+
"strapi::favicon",
|
|
13
|
+
"strapi::public"
|
|
14
|
+
];
|
|
15
|
+
const requiredMiddlewares = [
|
|
16
|
+
"strapi::errors",
|
|
17
|
+
"strapi::security",
|
|
18
|
+
"strapi::cors",
|
|
19
|
+
"strapi::query",
|
|
20
|
+
"strapi::body",
|
|
21
|
+
"strapi::public",
|
|
22
|
+
"strapi::favicon"
|
|
23
|
+
];
|
|
24
|
+
const middlewareConfigSchema = yup.array().of(
|
|
25
|
+
yup.lazy((value) => {
|
|
26
|
+
if (typeof value === "string") {
|
|
27
|
+
return yup.string().required();
|
|
28
|
+
}
|
|
29
|
+
if (typeof value === "object") {
|
|
30
|
+
return yup.object({
|
|
31
|
+
name: yup.string(),
|
|
32
|
+
resolve: yup.string(),
|
|
33
|
+
config: yup.mixed()
|
|
34
|
+
}).required().noUnknown();
|
|
35
|
+
}
|
|
36
|
+
return yup.mixed().test(() => false);
|
|
37
|
+
})
|
|
38
|
+
// FIXME: yup v1
|
|
39
|
+
);
|
|
40
|
+
const registerApplicationMiddlewares = async (strapi) => {
|
|
41
|
+
const middlewareConfig = strapi.config.get("middlewares", defaultConfig);
|
|
42
|
+
await validateMiddlewareConfig(middlewareConfig);
|
|
43
|
+
const middlewares = await resolveMiddlewares(middlewareConfig, strapi);
|
|
44
|
+
checkRequiredMiddlewares(middlewares);
|
|
45
|
+
for (const middleware of middlewares) {
|
|
46
|
+
strapi.server.use(middleware.handler);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const validateMiddlewareConfig = async (config) => {
|
|
50
|
+
try {
|
|
51
|
+
await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });
|
|
52
|
+
} catch (error) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
"Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}."
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const checkRequiredMiddlewares = (middlewares) => {
|
|
59
|
+
const missingMiddlewares = requiredMiddlewares.filter((name) => {
|
|
60
|
+
return middlewares.findIndex((mdl) => mdl.name === name) === -1;
|
|
61
|
+
});
|
|
62
|
+
if (missingMiddlewares.length > 0) {
|
|
63
|
+
throw new Error(
|
|
64
|
+
`Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(
|
|
65
|
+
", "
|
|
66
|
+
)}".`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
export {
|
|
71
|
+
registerApplicationMiddlewares as default
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=register-middlewares.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-middlewares.mjs","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":[],"mappings":";;AAMA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,yBAAyB,IAAI,MAAA,EAAQ;AAAA,EACzC,IAAI,KAAK,CAAC,UAAU;AACd,QAAA,OAAO,UAAU,UAAU;AACtB,aAAA,IAAI,SAAS;IACtB;AAEI,QAAA,OAAO,UAAU,UAAU;AAC7B,aAAO,IACJ,OAAO;AAAA,QACN,MAAM,IAAI,OAAO;AAAA,QACjB,SAAS,IAAI,OAAO;AAAA,QACpB,QAAQ,IAAI,MAAM;AAAA,MAAA,CACnB,EACA,WACA;IACL;AAEA,WAAO,IAAI,MAAA,EAAQ,KAAK,MAAM,KAAK;AAAA,EAAA,CACpC;AAAA;AACH;AAKM,MAAA,iCAAiC,OAAO,WAAmB;AAC/D,QAAM,mBAAqC,OAAO,OAAO,IAAI,eAAe,aAAa;AAEzF,QAAM,yBAAyB,gBAAgB;AAE/C,QAAM,cAAc,MAAM,mBAAmB,kBAAkB,MAAM;AAErE,2BAAyB,WAAW;AAIpC,aAAW,cAAc,aAAa;AAC7B,WAAA,OAAO,IAAI,WAAW,OAAO;AAAA,EACtC;AACF;AAMA,MAAM,2BAA2B,OAAO,WAA6B;AAC/D,MAAA;AACI,UAAA,uBAAuB,SAAS,QAAQ,EAAE,QAAQ,MAAM,YAAY,OAAO;AAAA,WAC1E,OAAO;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACF;AAMA,MAAM,2BAA2B,CAAC,gBAA2C;AAC3E,QAAM,qBAAqB,oBAAoB,OAAO,CAAC,SAAS;AAC9D,WAAO,YAAY,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM;AAAA,EAAA,CAC9D;AAEG,MAAA,mBAAmB,SAAS,GAAG;AACjC,UAAM,IAAI;AAAA,MACR,kFAAkF,mBAAmB;AAAA,QACnG;AAAA,MACD,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-routes.d.ts","sourceRoot":"","sources":["../../../src/services/server/register-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAgBpD;;GAEG;iCACqB,MAAM;AAA9B,wBAIE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const _ = require("lodash");
|
|
3
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
4
|
+
const ___default = /* @__PURE__ */ _interopDefault(_);
|
|
5
|
+
const createRouteScopeGenerator = (namespace) => (route) => {
|
|
6
|
+
const prefix = namespace.endsWith("::") ? namespace : `${namespace}.`;
|
|
7
|
+
if (typeof route.handler === "string") {
|
|
8
|
+
___default.default.defaultsDeep(route, {
|
|
9
|
+
config: {
|
|
10
|
+
auth: {
|
|
11
|
+
scope: [`${route.handler.startsWith(prefix) ? "" : prefix}${route.handler}`]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const registerAllRoutes = (strapi) => {
|
|
18
|
+
registerAdminRoutes(strapi);
|
|
19
|
+
registerAPIRoutes(strapi);
|
|
20
|
+
registerPluginRoutes(strapi);
|
|
21
|
+
};
|
|
22
|
+
const registerAdminRoutes = (strapi) => {
|
|
23
|
+
const generateRouteScope = createRouteScopeGenerator(`admin::`);
|
|
24
|
+
___default.default.forEach(strapi.admin?.routes, (router) => {
|
|
25
|
+
router.type = router.type || "admin";
|
|
26
|
+
router.prefix = router.prefix || `/admin`;
|
|
27
|
+
router.routes.forEach((route) => {
|
|
28
|
+
generateRouteScope(route);
|
|
29
|
+
route.info = { pluginName: "admin" };
|
|
30
|
+
});
|
|
31
|
+
strapi.server.routes(router);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
const registerPluginRoutes = (strapi) => {
|
|
35
|
+
for (const pluginName of Object.keys(strapi.plugins)) {
|
|
36
|
+
const plugin = strapi.plugins[pluginName];
|
|
37
|
+
const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);
|
|
38
|
+
if (Array.isArray(plugin.routes)) {
|
|
39
|
+
plugin.routes.forEach((route) => {
|
|
40
|
+
generateRouteScope(route);
|
|
41
|
+
route.info = { pluginName };
|
|
42
|
+
});
|
|
43
|
+
strapi.server.routes({
|
|
44
|
+
type: "admin",
|
|
45
|
+
prefix: `/${pluginName}`,
|
|
46
|
+
routes: plugin.routes
|
|
47
|
+
});
|
|
48
|
+
} else {
|
|
49
|
+
___default.default.forEach(plugin.routes, (router) => {
|
|
50
|
+
router.type = router.type || "admin";
|
|
51
|
+
router.prefix = router.prefix || `/${pluginName}`;
|
|
52
|
+
router.routes.forEach((route) => {
|
|
53
|
+
generateRouteScope(route);
|
|
54
|
+
route.info = { pluginName };
|
|
55
|
+
});
|
|
56
|
+
strapi.server.routes(router);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const registerAPIRoutes = (strapi) => {
|
|
62
|
+
for (const apiName of Object.keys(strapi.api)) {
|
|
63
|
+
const api = strapi.api[apiName];
|
|
64
|
+
const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
|
|
65
|
+
___default.default.forEach(api.routes, (router) => {
|
|
66
|
+
router.type = "content-api";
|
|
67
|
+
router.routes?.forEach((route) => {
|
|
68
|
+
generateRouteScope(route);
|
|
69
|
+
route.info = { apiName };
|
|
70
|
+
});
|
|
71
|
+
return strapi.server.routes(router);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
module.exports = registerAllRoutes;
|
|
76
|
+
//# sourceMappingURL=register-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-routes.js","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Common.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n _.forEach(strapi.admin?.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n _.forEach(plugin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Strapi) => {\n for (const apiName of Object.keys(strapi.api)) {\n const api = strapi.api[apiName];\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n"],"names":["_"],"mappings":";;;;AAGA,MAAM,4BAA4B,CAAC,cAAsB,CAAC,UAA6B;AACrF,QAAM,SAAS,UAAU,SAAS,IAAI,IAAI,YAAY,GAAG,SAAS;AAE9D,MAAA,OAAO,MAAM,YAAY,UAAU;AACrCA,eAAA,QAAE,aAAa,OAAO;AAAA,MACpB,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,OAAO,CAAC,GAAG,MAAM,QAAQ,WAAW,MAAM,IAAI,KAAK,MAAM,GAAG,MAAM,OAAO,EAAE;AAAA,QAC7E;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAKA,MAAe,oBAAA,CAAC,WAAmB;AACjC,sBAAoB,MAAM;AAC1B,oBAAkB,MAAM;AACxB,uBAAqB,MAAM;AAC7B;AAMA,MAAM,sBAAsB,CAAC,WAAmB;AACxC,QAAA,qBAAqB,0BAA0B,SAAS;AAE9DA,aAAA,QAAE,QAAQ,OAAO,OAAO,QAAQ,CAAC,WAAW;AACnC,WAAA,OAAO,OAAO,QAAQ;AACtB,WAAA,SAAS,OAAO,UAAU;AAC1B,WAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,yBAAmB,KAAK;AAClB,YAAA,OAAO,EAAE,YAAY,QAAQ;AAAA,IAAA,CACpC;AACM,WAAA,OAAO,OAAO,MAAM;AAAA,EAAA,CAC5B;AACH;AAMA,MAAM,uBAAuB,CAAC,WAAmB;AAC/C,aAAW,cAAc,OAAO,KAAK,OAAO,OAAO,GAAG;AAC9C,UAAA,SAAS,OAAO,QAAQ,UAAU;AAExC,UAAM,qBAAqB,0BAA0B,WAAW,UAAU,EAAE;AAE5E,QAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AACzB,aAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAW,CAC3B;AAED,aAAO,OAAO,OAAO;AAAA,QACnB,MAAM;AAAA,QACN,QAAQ,IAAI,UAAU;AAAA,QACtB,QAAQ,OAAO;AAAA,MAAA,CAChB;AAAA,IAAA,OACI;AACLA,iBAAAA,QAAE,QAAQ,OAAO,QAAQ,CAAC,WAAW;AAC5B,eAAA,OAAO,OAAO,QAAQ;AAC7B,eAAO,SAAS,OAAO,UAAU,IAAI,UAAU;AACxC,eAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,6BAAmB,KAAK;AAClB,gBAAA,OAAO,EAAE;QAAW,CAC3B;AAEM,eAAA,OAAO,OAAO,MAAM;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,EACF;AACF;AAKA,MAAM,oBAAoB,CAAC,WAAmB;AAC5C,aAAW,WAAW,OAAO,KAAK,OAAO,GAAG,GAAG;AACvC,UAAA,MAAM,OAAO,IAAI,OAAO;AAE9B,UAAM,qBAAqB,0BAA0B,QAAQ,OAAO,EAAE;AAEtEA,eAAAA,QAAE,QAAQ,IAAI,QAAQ,CAAC,WAAW;AAGhC,aAAO,OAAO;AACP,aAAA,QAAQ,QAAQ,CAAC,UAAU;AAChC,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAQ,CACxB;AAEM,aAAA,OAAO,OAAO,OAAO,MAAM;AAAA,IAAA,CACnC;AAAA,EACH;AACF;;"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
2
|
+
const createRouteScopeGenerator = (namespace) => (route) => {
|
|
3
|
+
const prefix = namespace.endsWith("::") ? namespace : `${namespace}.`;
|
|
4
|
+
if (typeof route.handler === "string") {
|
|
5
|
+
_.defaultsDeep(route, {
|
|
6
|
+
config: {
|
|
7
|
+
auth: {
|
|
8
|
+
scope: [`${route.handler.startsWith(prefix) ? "" : prefix}${route.handler}`]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const registerAllRoutes = (strapi) => {
|
|
15
|
+
registerAdminRoutes(strapi);
|
|
16
|
+
registerAPIRoutes(strapi);
|
|
17
|
+
registerPluginRoutes(strapi);
|
|
18
|
+
};
|
|
19
|
+
const registerAdminRoutes = (strapi) => {
|
|
20
|
+
const generateRouteScope = createRouteScopeGenerator(`admin::`);
|
|
21
|
+
_.forEach(strapi.admin?.routes, (router) => {
|
|
22
|
+
router.type = router.type || "admin";
|
|
23
|
+
router.prefix = router.prefix || `/admin`;
|
|
24
|
+
router.routes.forEach((route) => {
|
|
25
|
+
generateRouteScope(route);
|
|
26
|
+
route.info = { pluginName: "admin" };
|
|
27
|
+
});
|
|
28
|
+
strapi.server.routes(router);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const registerPluginRoutes = (strapi) => {
|
|
32
|
+
for (const pluginName of Object.keys(strapi.plugins)) {
|
|
33
|
+
const plugin = strapi.plugins[pluginName];
|
|
34
|
+
const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);
|
|
35
|
+
if (Array.isArray(plugin.routes)) {
|
|
36
|
+
plugin.routes.forEach((route) => {
|
|
37
|
+
generateRouteScope(route);
|
|
38
|
+
route.info = { pluginName };
|
|
39
|
+
});
|
|
40
|
+
strapi.server.routes({
|
|
41
|
+
type: "admin",
|
|
42
|
+
prefix: `/${pluginName}`,
|
|
43
|
+
routes: plugin.routes
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
_.forEach(plugin.routes, (router) => {
|
|
47
|
+
router.type = router.type || "admin";
|
|
48
|
+
router.prefix = router.prefix || `/${pluginName}`;
|
|
49
|
+
router.routes.forEach((route) => {
|
|
50
|
+
generateRouteScope(route);
|
|
51
|
+
route.info = { pluginName };
|
|
52
|
+
});
|
|
53
|
+
strapi.server.routes(router);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const registerAPIRoutes = (strapi) => {
|
|
59
|
+
for (const apiName of Object.keys(strapi.api)) {
|
|
60
|
+
const api = strapi.api[apiName];
|
|
61
|
+
const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
|
|
62
|
+
_.forEach(api.routes, (router) => {
|
|
63
|
+
router.type = "content-api";
|
|
64
|
+
router.routes?.forEach((route) => {
|
|
65
|
+
generateRouteScope(route);
|
|
66
|
+
route.info = { apiName };
|
|
67
|
+
});
|
|
68
|
+
return strapi.server.routes(router);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
export {
|
|
73
|
+
registerAllRoutes as default
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=register-routes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-routes.mjs","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Common.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n _.forEach(strapi.admin?.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n _.forEach(plugin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Strapi) => {\n for (const apiName of Object.keys(strapi.api)) {\n const api = strapi.api[apiName];\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n"],"names":[],"mappings":";AAGA,MAAM,4BAA4B,CAAC,cAAsB,CAAC,UAA6B;AACrF,QAAM,SAAS,UAAU,SAAS,IAAI,IAAI,YAAY,GAAG,SAAS;AAE9D,MAAA,OAAO,MAAM,YAAY,UAAU;AACrC,MAAE,aAAa,OAAO;AAAA,MACpB,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,OAAO,CAAC,GAAG,MAAM,QAAQ,WAAW,MAAM,IAAI,KAAK,MAAM,GAAG,MAAM,OAAO,EAAE;AAAA,QAC7E;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAKA,MAAe,oBAAA,CAAC,WAAmB;AACjC,sBAAoB,MAAM;AAC1B,oBAAkB,MAAM;AACxB,uBAAqB,MAAM;AAC7B;AAMA,MAAM,sBAAsB,CAAC,WAAmB;AACxC,QAAA,qBAAqB,0BAA0B,SAAS;AAE9D,IAAE,QAAQ,OAAO,OAAO,QAAQ,CAAC,WAAW;AACnC,WAAA,OAAO,OAAO,QAAQ;AACtB,WAAA,SAAS,OAAO,UAAU;AAC1B,WAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,yBAAmB,KAAK;AAClB,YAAA,OAAO,EAAE,YAAY,QAAQ;AAAA,IAAA,CACpC;AACM,WAAA,OAAO,OAAO,MAAM;AAAA,EAAA,CAC5B;AACH;AAMA,MAAM,uBAAuB,CAAC,WAAmB;AAC/C,aAAW,cAAc,OAAO,KAAK,OAAO,OAAO,GAAG;AAC9C,UAAA,SAAS,OAAO,QAAQ,UAAU;AAExC,UAAM,qBAAqB,0BAA0B,WAAW,UAAU,EAAE;AAE5E,QAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AACzB,aAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAW,CAC3B;AAED,aAAO,OAAO,OAAO;AAAA,QACnB,MAAM;AAAA,QACN,QAAQ,IAAI,UAAU;AAAA,QACtB,QAAQ,OAAO;AAAA,MAAA,CAChB;AAAA,IAAA,OACI;AACL,QAAE,QAAQ,OAAO,QAAQ,CAAC,WAAW;AAC5B,eAAA,OAAO,OAAO,QAAQ;AAC7B,eAAO,SAAS,OAAO,UAAU,IAAI,UAAU;AACxC,eAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,6BAAmB,KAAK;AAClB,gBAAA,OAAO,EAAE;QAAW,CAC3B;AAEM,eAAA,OAAO,OAAO,MAAM;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,EACF;AACF;AAKA,MAAM,oBAAoB,CAAC,WAAmB;AAC5C,aAAW,WAAW,OAAO,KAAK,OAAO,GAAG,GAAG;AACvC,UAAA,MAAM,OAAO,IAAI,OAAO;AAE9B,UAAM,qBAAqB,0BAA0B,QAAQ,OAAO,EAAE;AAEtE,MAAE,QAAQ,IAAI,QAAQ,CAAC,WAAW;AAGhC,aAAO,OAAO;AACP,aAAA,QAAQ,QAAQ,CAAC,UAAU;AAChC,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAQ,CACxB;AAEM,aAAA,OAAO,OAAO,OAAO,MAAM;AAAA,IAAA,CACnC;AAAA,EACH;AACF;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/// <reference types="koa" />
|
|
2
|
+
/// <reference types="koa__router" />
|
|
3
|
+
import Router from '@koa/router';
|
|
4
|
+
import { yup } from '@strapi/utils';
|
|
5
|
+
import type { Strapi, Common } from '@strapi/types';
|
|
6
|
+
declare const validateRouteConfig: (routeConfig: Common.RouteInput) => import("yup/lib/object").AssertsShape<{
|
|
7
|
+
method: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
8
|
+
path: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
9
|
+
handler: import("yup/lib/Lazy").default<import("yup/lib/mixed").MixedSchema<any, Record<string, any>, any> | import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>> | import("yup/lib/array").RequiredArraySchema<yup.AnySchema, import("yup/lib/types").AnyObject, any[] | undefined>, any>;
|
|
10
|
+
config: import("yup/lib/object").OptionalObjectSchema<{
|
|
11
|
+
auth: import("yup/lib/Lazy").default<import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>> | import("yup/lib/object").OptionalObjectSchema<{
|
|
12
|
+
scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
13
|
+
}, Record<string, any>, import("yup/lib/object").TypeOfShape<{
|
|
14
|
+
scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
15
|
+
}>>, any>;
|
|
16
|
+
policies: any;
|
|
17
|
+
middlewares: any;
|
|
18
|
+
}, Record<string, any>, import("yup/lib/object").TypeOfShape<{
|
|
19
|
+
auth: import("yup/lib/Lazy").default<import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>> | import("yup/lib/object").OptionalObjectSchema<{
|
|
20
|
+
scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
21
|
+
}, Record<string, any>, import("yup/lib/object").TypeOfShape<{
|
|
22
|
+
scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
23
|
+
}>>, any>;
|
|
24
|
+
policies: any;
|
|
25
|
+
middlewares: any;
|
|
26
|
+
}>>;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
declare const createRouteManager: (strapi: Strapi, opts?: {
|
|
29
|
+
type?: string;
|
|
30
|
+
}) => {
|
|
31
|
+
addRoutes: (routes: Common.Router | Common.RouteInput[], router: Router) => Router<import("koa").DefaultState, import("koa").DefaultContext> | undefined;
|
|
32
|
+
};
|
|
33
|
+
export { validateRouteConfig, createRouteManager };
|
|
34
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/services/server/routing.ts"],"names":[],"mappings":";;AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA0DpD,QAAA,MAAM,mBAAmB,gBAAiB,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;cAY1D,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAY,MAAM,SAAQ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;wBAmBtC,aAAa,GAAG,OAAO,UAAU,EAAE,UAAU,MAAM;CAkB/E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
|