@strapi/strapi 4.14.0-beta.0 → 4.14.0
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.
- package/README.md +25 -29
- package/bin/strapi.js +1 -1
- package/dist/Strapi.d.ts +102 -0
- package/dist/Strapi.js +544 -0
- package/dist/Strapi.js.map +1 -0
- package/dist/commands/actions/admin/create-user/action.d.ts +11 -0
- package/dist/commands/actions/admin/create-user/action.js +97 -0
- package/dist/commands/actions/admin/create-user/action.js.map +1 -0
- package/dist/commands/actions/admin/create-user/command.d.ts +6 -0
- package/dist/commands/actions/admin/create-user/command.js +19 -0
- package/dist/commands/actions/admin/create-user/command.js.map +1 -0
- package/dist/commands/actions/admin/reset-user-password/action.d.ts +9 -0
- package/dist/commands/actions/admin/reset-user-password/action.js +43 -0
- package/dist/commands/actions/admin/reset-user-password/action.js.map +1 -0
- package/dist/commands/actions/admin/reset-user-password/command.d.ts +6 -0
- package/dist/commands/actions/admin/reset-user-password/command.js +17 -0
- package/dist/commands/actions/admin/reset-user-password/command.js.map +1 -0
- package/dist/commands/actions/build-command/action.d.ts +9 -0
- package/dist/commands/actions/build-command/action.js +20 -0
- package/dist/commands/actions/build-command/action.js.map +1 -0
- package/dist/commands/actions/build-command/command.d.ts +6 -0
- package/dist/commands/actions/build-command/command.js +15 -0
- package/dist/commands/actions/build-command/command.js.map +1 -0
- package/dist/commands/actions/components/list/action.d.ts +2 -0
- package/dist/commands/actions/components/list/action.js +20 -0
- package/dist/commands/actions/components/list/action.js.map +1 -0
- package/dist/commands/actions/components/list/command.d.ts +6 -0
- package/dist/commands/actions/components/list/command.js +14 -0
- package/dist/commands/actions/components/list/command.js.map +1 -0
- package/dist/commands/actions/configuration/dump/action.d.ts +10 -0
- package/dist/commands/actions/configuration/dump/action.js +46 -0
- package/dist/commands/actions/configuration/dump/action.js.map +1 -0
- package/dist/commands/actions/configuration/dump/command.d.ts +6 -0
- package/dist/commands/actions/configuration/dump/command.js +17 -0
- package/dist/commands/actions/configuration/dump/command.js.map +1 -0
- package/dist/commands/actions/configuration/restore/action.d.ts +10 -0
- package/dist/commands/actions/configuration/restore/action.js +153 -0
- package/dist/commands/actions/configuration/restore/action.js.map +1 -0
- package/dist/commands/actions/configuration/restore/command.d.ts +6 -0
- package/dist/commands/actions/configuration/restore/command.js +17 -0
- package/dist/commands/actions/configuration/restore/command.js.map +1 -0
- package/dist/commands/actions/console/action.d.ts +5 -0
- package/dist/commands/actions/console/action.js +26 -0
- package/dist/commands/actions/console/action.js.map +1 -0
- package/dist/commands/actions/console/command.d.ts +6 -0
- package/dist/commands/actions/console/command.js +14 -0
- package/dist/commands/actions/console/command.js.map +1 -0
- package/dist/commands/actions/content-types/list/action.d.ts +2 -0
- package/dist/commands/actions/content-types/list/action.js +20 -0
- package/dist/commands/actions/content-types/list/action.js.map +1 -0
- package/dist/commands/actions/content-types/list/command.d.ts +6 -0
- package/dist/commands/actions/content-types/list/command.js +14 -0
- package/dist/commands/actions/content-types/list/command.js.map +1 -0
- package/dist/commands/actions/controllers/list/action.d.ts +2 -0
- package/dist/commands/actions/controllers/list/action.js +20 -0
- package/dist/commands/actions/controllers/list/action.js.map +1 -0
- package/dist/commands/actions/controllers/list/command.d.ts +6 -0
- package/dist/commands/actions/controllers/list/command.js +14 -0
- package/dist/commands/actions/controllers/list/command.js.map +1 -0
- package/dist/commands/actions/develop/action.d.ts +86 -0
- package/dist/commands/actions/develop/action.js +190 -0
- package/dist/commands/actions/develop/action.js.map +1 -0
- package/dist/commands/actions/develop/command.d.ts +6 -0
- package/dist/commands/actions/develop/command.js +19 -0
- package/dist/commands/actions/develop/command.js.map +1 -0
- package/dist/commands/actions/generate/command.d.ts +6 -0
- package/dist/commands/actions/generate/command.js +19 -0
- package/dist/commands/actions/generate/command.js.map +1 -0
- package/dist/commands/actions/hooks/list/action.d.ts +2 -0
- package/dist/commands/actions/hooks/list/action.js +20 -0
- package/dist/commands/actions/hooks/list/action.js.map +1 -0
- package/dist/commands/actions/hooks/list/command.d.ts +6 -0
- package/dist/commands/actions/hooks/list/command.js +14 -0
- package/dist/commands/actions/hooks/list/command.js.map +1 -0
- package/dist/commands/actions/install/action.d.ts +2 -0
- package/dist/commands/actions/install/action.js +49 -0
- package/dist/commands/actions/install/action.js.map +1 -0
- package/dist/commands/actions/install/command.d.ts +6 -0
- package/dist/commands/actions/install/command.js +14 -0
- package/dist/commands/actions/install/command.js.map +1 -0
- package/dist/commands/actions/middlewares/list/action.d.ts +2 -0
- package/dist/commands/actions/middlewares/list/action.js +20 -0
- package/dist/commands/actions/middlewares/list/action.js.map +1 -0
- package/dist/commands/actions/middlewares/list/command.d.ts +6 -0
- package/dist/commands/actions/middlewares/list/command.js +14 -0
- package/dist/commands/actions/middlewares/list/command.js.map +1 -0
- package/dist/commands/actions/new/action.d.ts +7 -0
- package/dist/commands/actions/new/action.js +12 -0
- package/dist/commands/actions/new/action.js.map +1 -0
- package/dist/commands/actions/new/command.d.ts +6 -0
- package/dist/commands/actions/new/command.js +35 -0
- package/dist/commands/actions/new/command.js.map +1 -0
- package/dist/commands/actions/plugin/build-command/action.d.ts +6 -0
- package/dist/commands/actions/plugin/build-command/action.js +105 -0
- package/dist/commands/actions/plugin/build-command/action.js.map +1 -0
- package/dist/commands/actions/plugin/build-command/command.d.ts +6 -0
- package/dist/commands/actions/plugin/build-command/command.js +17 -0
- package/dist/commands/actions/plugin/build-command/command.js.map +1 -0
- package/dist/commands/actions/policies/list/action.d.ts +2 -0
- package/dist/commands/actions/policies/list/action.js +20 -0
- package/dist/commands/actions/policies/list/action.js.map +1 -0
- package/dist/commands/actions/policies/list/command.d.ts +6 -0
- package/dist/commands/actions/policies/list/command.js +14 -0
- package/dist/commands/actions/policies/list/command.js.map +1 -0
- package/dist/commands/actions/report/action.d.ts +7 -0
- package/dist/commands/actions/report/action.js +32 -0
- package/dist/commands/actions/report/action.js.map +1 -0
- package/dist/commands/actions/report/command.d.ts +6 -0
- package/dist/commands/actions/report/command.js +17 -0
- package/dist/commands/actions/report/command.js.map +1 -0
- package/dist/commands/actions/routes/list/action.d.ts +2 -0
- package/dist/commands/actions/routes/list/action.js +26 -0
- package/dist/commands/actions/routes/list/action.js.map +1 -0
- package/dist/commands/actions/routes/list/command.d.ts +6 -0
- package/dist/commands/actions/routes/list/command.js +14 -0
- package/dist/commands/actions/routes/list/command.js.map +1 -0
- package/dist/commands/actions/services/list/action.d.ts +2 -0
- package/dist/commands/actions/services/list/action.js +20 -0
- package/dist/commands/actions/services/list/action.js.map +1 -0
- package/dist/commands/actions/services/list/command.d.ts +6 -0
- package/dist/commands/actions/services/list/command.js +14 -0
- package/dist/commands/actions/services/list/command.js.map +1 -0
- package/dist/commands/actions/start/action.d.ts +78 -0
- package/dist/commands/actions/start/action.js +22 -0
- package/dist/commands/actions/start/action.js.map +1 -0
- package/dist/commands/actions/start/command.d.ts +6 -0
- package/dist/commands/actions/start/command.js +14 -0
- package/dist/commands/actions/start/command.js.map +1 -0
- package/dist/commands/actions/telemetry/disable/action.d.ts +1 -0
- package/dist/commands/actions/telemetry/disable/action.js +83 -0
- package/dist/commands/actions/telemetry/disable/action.js.map +1 -0
- package/dist/commands/actions/telemetry/disable/command.d.ts +6 -0
- package/dist/commands/actions/telemetry/disable/command.js +14 -0
- package/dist/commands/actions/telemetry/disable/command.js.map +1 -0
- package/dist/commands/actions/telemetry/enable/action.d.ts +2 -0
- package/dist/commands/actions/telemetry/enable/action.js +103 -0
- package/dist/commands/actions/telemetry/enable/action.js.map +1 -0
- package/dist/commands/actions/telemetry/enable/command.d.ts +6 -0
- package/dist/commands/actions/telemetry/enable/command.js +14 -0
- package/dist/commands/actions/telemetry/enable/command.js.map +1 -0
- package/dist/commands/actions/templates/generate/action.d.ts +1 -0
- package/dist/commands/actions/templates/generate/action.js +85 -0
- package/dist/commands/actions/templates/generate/action.js.map +1 -0
- package/dist/commands/actions/templates/generate/command.d.ts +6 -0
- package/dist/commands/actions/templates/generate/command.js +14 -0
- package/dist/commands/actions/templates/generate/command.js.map +1 -0
- package/dist/commands/actions/ts/generate-types/action.d.ts +8 -0
- package/dist/commands/actions/ts/generate-types/action.js +28 -0
- package/dist/commands/actions/ts/generate-types/action.js.map +1 -0
- package/dist/commands/actions/ts/generate-types/command.d.ts +6 -0
- package/dist/commands/actions/ts/generate-types/command.js +18 -0
- package/dist/commands/actions/ts/generate-types/command.js.map +1 -0
- package/dist/commands/actions/uninstall/action.d.ts +5 -0
- package/dist/commands/actions/uninstall/action.js +67 -0
- package/dist/commands/actions/uninstall/action.js.map +1 -0
- package/dist/commands/actions/uninstall/command.d.ts +6 -0
- package/dist/commands/actions/uninstall/command.js +15 -0
- package/dist/commands/actions/uninstall/command.js.map +1 -0
- package/dist/commands/actions/version/command.d.ts +6 -0
- package/dist/commands/actions/version/command.js +19 -0
- package/dist/commands/actions/version/command.js.map +1 -0
- package/dist/commands/actions/watch-admin/action.d.ts +4 -0
- package/dist/commands/actions/watch-admin/action.js +36 -0
- package/dist/commands/actions/watch-admin/action.js.map +1 -0
- package/dist/commands/actions/watch-admin/command.d.ts +6 -0
- package/dist/commands/actions/watch-admin/command.js +15 -0
- package/dist/commands/actions/watch-admin/command.js.map +1 -0
- package/dist/commands/builders/admin.d.ts +8 -0
- package/dist/commands/builders/admin.js +52 -0
- package/dist/commands/builders/admin.js.map +1 -0
- package/dist/commands/builders/index.d.ts +3 -0
- package/dist/commands/builders/index.js +11 -0
- package/dist/commands/builders/index.js.map +1 -0
- package/dist/commands/builders/packages.d.ts +37 -0
- package/dist/commands/builders/packages.js +166 -0
- package/dist/commands/builders/packages.js.map +1 -0
- package/dist/commands/builders/tasks/dts.d.ts +13 -0
- package/dist/commands/builders/tasks/dts.js +143 -0
- package/dist/commands/builders/tasks/dts.js.map +1 -0
- package/dist/commands/builders/tasks/index.d.ts +14 -0
- package/dist/commands/builders/tasks/index.js +14 -0
- package/dist/commands/builders/tasks/index.js.map +1 -0
- package/dist/commands/builders/tasks/vite.d.ts +15 -0
- package/dist/commands/builders/tasks/vite.js +114 -0
- package/dist/commands/builders/tasks/vite.js.map +1 -0
- package/dist/commands/builders/typescript.d.ts +6 -0
- package/dist/commands/builders/typescript.js +29 -0
- package/dist/commands/builders/typescript.js.map +1 -0
- package/dist/commands/index.d.ts +34 -0
- package/dist/commands/index.js +100 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/types.d.ts +5 -0
- package/dist/commands/types.js +3 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/utils/commander.d.ts +35 -0
- package/dist/commands/utils/commander.js +138 -0
- package/dist/commands/utils/commander.js.map +1 -0
- package/dist/commands/utils/helpers.d.ts +50 -0
- package/dist/commands/utils/helpers.js +165 -0
- package/dist/commands/utils/helpers.js.map +1 -0
- package/dist/commands/utils/logger.d.ts +16 -0
- package/dist/commands/utils/logger.js +53 -0
- package/dist/commands/utils/logger.js.map +1 -0
- package/dist/commands/utils/pkg.d.ts +237 -0
- package/dist/commands/utils/pkg.js +316 -0
- package/dist/commands/utils/pkg.js.map +1 -0
- package/dist/compile.d.ts +9 -0
- package/dist/compile.js +20 -0
- package/dist/compile.js.map +1 -0
- package/dist/container.d.ts +2 -0
- package/dist/container.js +39 -0
- package/dist/container.js.map +1 -0
- package/dist/core/app-configuration/config-loader.d.ts +2 -0
- package/dist/core/app-configuration/config-loader.js +22 -0
- package/dist/core/app-configuration/config-loader.js.map +1 -0
- package/dist/core/app-configuration/index.d.ts +35 -0
- package/dist/core/app-configuration/index.js +54 -0
- package/dist/core/app-configuration/index.js.map +1 -0
- package/dist/core/app-configuration/load-config-file.d.ts +1 -0
- package/dist/core/app-configuration/load-config-file.js +49 -0
- package/dist/core/app-configuration/load-config-file.js.map +1 -0
- package/dist/core/bootstrap.d.ts +4 -0
- package/dist/core/bootstrap.js +27 -0
- package/dist/core/bootstrap.js.map +1 -0
- package/dist/core/domain/content-type/index.d.ts +8 -0
- package/dist/core/domain/content-type/index.js +117 -0
- package/dist/core/domain/content-type/index.js.map +1 -0
- package/dist/core/domain/content-type/validator.d.ts +21 -0
- package/dist/core/domain/content-type/validator.js +91 -0
- package/dist/core/domain/content-type/validator.js.map +1 -0
- package/dist/core/domain/module/index.d.ts +38 -0
- package/dist/core/domain/module/index.js +110 -0
- package/dist/core/domain/module/index.js.map +1 -0
- package/dist/core/domain/module/validation.d.ts +13 -0
- package/dist/core/domain/module/validation.js +29 -0
- package/dist/core/domain/module/validation.js.map +1 -0
- package/dist/core/loaders/admin.d.ts +2 -0
- package/dist/core/loaders/admin.js +18 -0
- package/dist/core/loaders/admin.js.map +1 -0
- package/dist/core/loaders/apis.d.ts +2 -0
- package/dist/core/loaders/apis.js +156 -0
- package/dist/core/loaders/apis.js.map +1 -0
- package/dist/core/loaders/components.d.ts +6 -0
- package/dist/core/loaders/components.js +37 -0
- package/dist/core/loaders/components.js.map +1 -0
- package/dist/core/loaders/index.d.ts +18 -0
- package/dist/core/loaders/index.js +26 -0
- package/dist/core/loaders/index.js.map +1 -0
- package/dist/core/loaders/middlewares.d.ts +2 -0
- package/dist/core/loaders/middlewares.js +34 -0
- package/dist/core/loaders/middlewares.js.map +1 -0
- package/dist/core/loaders/plugins/get-enabled-plugins.d.ts +4 -0
- package/dist/core/loaders/plugins/get-enabled-plugins.js +113 -0
- package/dist/core/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/core/loaders/plugins/get-user-plugins-config.d.ts +6 -0
- package/dist/core/loaders/plugins/get-user-plugins-config.js +31 -0
- package/dist/core/loaders/plugins/get-user-plugins-config.js.map +1 -0
- package/dist/core/loaders/plugins/index.d.ts +2 -0
- package/dist/core/loaders/plugins/index.js +109 -0
- package/dist/core/loaders/plugins/index.js.map +1 -0
- package/dist/core/loaders/policies.d.ts +2 -0
- package/dist/core/loaders/policies.js +28 -0
- package/dist/core/loaders/policies.js.map +1 -0
- package/dist/core/loaders/sanitizers.d.ts +3 -0
- package/dist/core/loaders/sanitizers.js +6 -0
- package/dist/core/loaders/sanitizers.js.map +1 -0
- package/dist/core/loaders/src-index.d.ts +3 -0
- package/dist/core/loaders/src-index.js +37 -0
- package/dist/core/loaders/src-index.js.map +1 -0
- package/dist/core/loaders/validators.d.ts +3 -0
- package/dist/core/loaders/validators.js +6 -0
- package/dist/core/loaders/validators.js.map +1 -0
- package/dist/core/registries/apis.d.ts +7 -0
- package/dist/core/registries/apis.js +24 -0
- package/dist/core/registries/apis.js.map +1 -0
- package/dist/core/registries/config.d.ts +3 -0
- package/dist/core/registries/config.js +23 -0
- package/dist/core/registries/config.js.map +1 -0
- package/dist/core/registries/content-types.d.ts +32 -0
- package/dist/core/registries/content-types.js +70 -0
- package/dist/core/registries/content-types.js.map +1 -0
- package/dist/core/registries/controllers.d.ts +34 -0
- package/dist/core/registries/controllers.js +81 -0
- package/dist/core/registries/controllers.js.map +1 -0
- package/dist/core/registries/custom-fields.d.ts +7 -0
- package/dist/core/registries/custom-fields.js +74 -0
- package/dist/core/registries/custom-fields.js.map +1 -0
- package/dist/core/registries/hooks.d.ts +43 -0
- package/dist/core/registries/hooks.js +59 -0
- package/dist/core/registries/hooks.js.map +1 -0
- package/dist/core/registries/middlewares.d.ts +30 -0
- package/dist/core/registries/middlewares.js +62 -0
- package/dist/core/registries/middlewares.js.map +1 -0
- package/dist/core/registries/modules.d.ts +14 -0
- package/dist/core/registries/modules.js +40 -0
- package/dist/core/registries/modules.js.map +1 -0
- package/dist/core/registries/plugins.d.ts +8 -0
- package/dist/core/registries/plugins.js +24 -0
- package/dist/core/registries/plugins.js.map +1 -0
- package/dist/core/registries/policies.d.ts +33 -0
- package/dist/core/registries/policies.js +64 -0
- package/dist/core/registries/policies.js.map +1 -0
- package/dist/core/registries/sanitizers.d.ts +9 -0
- package/dist/core/registries/sanitizers.js +27 -0
- package/dist/core/registries/sanitizers.js.map +1 -0
- package/dist/core/registries/services.d.ts +34 -0
- package/dist/core/registries/services.js +82 -0
- package/dist/core/registries/services.js.map +1 -0
- package/dist/core/registries/validators.d.ts +9 -0
- package/dist/core/registries/validators.js +27 -0
- package/dist/core/registries/validators.js.map +1 -0
- package/dist/core/utils.d.ts +4 -0
- package/dist/core/utils.js +28 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/core-api/controller/collection-type.d.ts +10 -0
- package/dist/core-api/controller/collection-type.js +95 -0
- package/dist/core-api/controller/collection-type.js.map +1 -0
- package/dist/core-api/controller/index.d.ts +5 -0
- package/dist/core-api/controller/index.js +50 -0
- package/dist/core-api/controller/index.js.map +1 -0
- package/dist/core-api/controller/single-type.d.ts +9 -0
- package/dist/core-api/controller/single-type.js +52 -0
- package/dist/core-api/controller/single-type.js.map +1 -0
- package/dist/core-api/controller/transform.d.ts +21 -0
- package/dist/core-api/controller/transform.js +86 -0
- package/dist/core-api/controller/transform.js.map +1 -0
- package/dist/core-api/routes/index.d.ts +23 -0
- package/dist/core-api/routes/index.js +68 -0
- package/dist/core-api/routes/index.js.map +1 -0
- package/dist/core-api/service/collection-type.d.ts +9 -0
- package/dist/core-api/service/collection-type.js +61 -0
- package/dist/core-api/service/collection-type.js.map +1 -0
- package/dist/core-api/service/get-fetch-params.d.ts +6 -0
- package/dist/core-api/service/get-fetch-params.js +16 -0
- package/dist/core-api/service/get-fetch-params.js.map +1 -0
- package/dist/core-api/service/index.d.ts +8 -0
- package/dist/core-api/service/index.js +18 -0
- package/dist/core-api/service/index.js.map +1 -0
- package/dist/core-api/service/pagination.d.ts +40 -0
- package/dist/core-api/service/pagination.js +97 -0
- package/dist/core-api/service/pagination.js.map +1 -0
- package/dist/core-api/service/single-type.d.ts +8 -0
- package/dist/core-api/service/single-type.js +57 -0
- package/dist/core-api/service/single-type.js.map +1 -0
- package/dist/ee/index.d.ts +19 -0
- package/dist/ee/index.js +185 -0
- package/dist/ee/index.js.map +1 -0
- package/dist/ee/license.d.ts +20 -0
- package/dist/ee/license.js +94 -0
- package/dist/ee/license.js.map +1 -0
- package/dist/factories.d.ts +12 -0
- package/dist/factories.js +70 -0
- package/dist/factories.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/load/filepath-to-prop-path.d.ts +5 -0
- package/dist/load/filepath-to-prop-path.js +21 -0
- package/dist/load/filepath-to-prop-path.js.map +1 -0
- package/dist/load/glob.d.ts +6 -0
- package/dist/load/glob.js +20 -0
- package/dist/load/glob.js.map +1 -0
- package/dist/load/index.d.ts +2 -0
- package/dist/load/index.js +11 -0
- package/dist/load/index.js.map +1 -0
- package/dist/load/load-files.d.ts +9 -0
- package/dist/load/load-files.js +44 -0
- package/dist/load/load-files.js.map +1 -0
- package/dist/load/package-path.d.ts +5 -0
- package/dist/load/package-path.js +11 -0
- package/dist/load/package-path.js.map +1 -0
- package/dist/middlewares/body.d.ts +5 -0
- package/dist/middlewares/body.js +78 -0
- package/dist/middlewares/body.js.map +1 -0
- package/dist/middlewares/compression.d.ts +4 -0
- package/dist/middlewares/compression.js +10 -0
- package/dist/middlewares/compression.js.map +1 -0
- package/dist/middlewares/cors.d.ts +12 -0
- package/dist/middlewares/cors.js +54 -0
- package/dist/middlewares/cors.js.map +1 -0
- package/dist/middlewares/errors.d.ts +3 -0
- package/dist/middlewares/errors.js +35 -0
- package/dist/middlewares/errors.js.map +1 -0
- package/dist/middlewares/favicon.d.ts +4 -0
- package/dist/middlewares/favicon.js +30 -0
- package/dist/middlewares/favicon.js.map +1 -0
- package/dist/middlewares/index.d.ts +2 -0
- package/dist/middlewares/index.js +34 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/ip.d.ts +4 -0
- package/dist/middlewares/ip.js +10 -0
- package/dist/middlewares/ip.js.map +1 -0
- package/dist/middlewares/logger.d.ts +2 -0
- package/dist/middlewares/logger.js +13 -0
- package/dist/middlewares/logger.js.map +1 -0
- package/dist/middlewares/powered-by.d.ts +5 -0
- package/dist/middlewares/powered-by.js +15 -0
- package/dist/middlewares/powered-by.js.map +1 -0
- package/dist/middlewares/public/index.d.ts +2 -0
- package/dist/middlewares/public/index.js +112 -0
- package/dist/middlewares/public/index.js.map +1 -0
- package/dist/middlewares/public/serve-static.d.ts +3 -0
- package/dist/middlewares/public/serve-static.js +27 -0
- package/dist/middlewares/public/serve-static.js.map +1 -0
- package/dist/middlewares/query.d.ts +2 -0
- package/dist/middlewares/query.js +45 -0
- package/dist/middlewares/query.js.map +1 -0
- package/dist/middlewares/response-time.d.ts +2 -0
- package/dist/middlewares/response-time.js +13 -0
- package/dist/middlewares/response-time.js.map +1 -0
- package/dist/middlewares/responses.d.ts +5 -0
- package/dist/middlewares/responses.js +16 -0
- package/dist/middlewares/responses.js.map +1 -0
- package/dist/middlewares/security.d.ts +4 -0
- package/dist/middlewares/security.js +52 -0
- package/dist/middlewares/security.js.map +1 -0
- package/dist/middlewares/session.d.ts +3 -0
- package/dist/middlewares/session.js +30 -0
- package/dist/middlewares/session.js.map +1 -0
- package/dist/migrations/draft-publish.d.ts +8 -0
- package/dist/migrations/draft-publish.js +46 -0
- package/dist/migrations/draft-publish.js.map +1 -0
- package/dist/services/auth/index.d.ts +25 -0
- package/dist/services/auth/index.js +84 -0
- package/dist/services/auth/index.js.map +1 -0
- package/dist/services/content-api/index.d.ts +53 -0
- package/dist/services/content-api/index.js +62 -0
- package/dist/services/content-api/index.js.map +1 -0
- package/dist/services/content-api/permissions/engine.d.ts +4 -0
- package/dist/services/content-api/permissions/engine.js +8 -0
- package/dist/services/content-api/permissions/engine.js.map +1 -0
- package/dist/services/content-api/permissions/index.d.ts +51 -0
- package/dist/services/content-api/permissions/index.js +110 -0
- package/dist/services/content-api/permissions/index.js.map +1 -0
- package/dist/services/content-api/permissions/providers/action.d.ts +19 -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/condition.d.ts +23 -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/index.d.ts +2 -0
- package/dist/services/content-api/permissions/providers/index.js +11 -0
- package/dist/services/content-api/permissions/providers/index.js.map +1 -0
- package/dist/services/core-store.d.ts +52 -0
- package/dist/services/core-store.js +123 -0
- package/dist/services/core-store.js.map +1 -0
- package/dist/services/cron.d.ts +26 -0
- package/dist/services/cron.js +69 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/custom-fields.d.ts +3 -0
- package/dist/services/custom-fields.js +11 -0
- package/dist/services/custom-fields.js.map +1 -0
- package/dist/services/entity-service/attributes/index.d.ts +5 -0
- package/dist/services/entity-service/attributes/index.js +26 -0
- package/dist/services/entity-service/attributes/index.js.map +1 -0
- package/dist/services/entity-service/attributes/transforms.d.ts +9 -0
- package/dist/services/entity-service/attributes/transforms.js +22 -0
- package/dist/services/entity-service/attributes/transforms.js.map +1 -0
- package/dist/services/entity-service/components.d.ts +22 -0
- package/dist/services/entity-service/components.js +381 -0
- package/dist/services/entity-service/components.js.map +1 -0
- package/dist/services/entity-service/index.d.ts +14 -0
- package/dist/services/entity-service/index.js +311 -0
- package/dist/services/entity-service/index.js.map +1 -0
- package/dist/services/entity-service/params.d.ts +7 -0
- package/dist/services/entity-service/params.js +9 -0
- package/dist/services/entity-service/params.js.map +1 -0
- package/dist/services/entity-validator/blocks-validator.d.ts +2 -0
- package/dist/services/entity-validator/blocks-validator.js +127 -0
- package/dist/services/entity-validator/blocks-validator.js.map +1 -0
- package/dist/services/entity-validator/index.d.ts +7 -0
- package/dist/services/entity-validator/index.js +332 -0
- package/dist/services/entity-validator/index.js.map +1 -0
- package/dist/services/entity-validator/validators.d.ts +36 -0
- package/dist/services/entity-validator/validators.js +149 -0
- package/dist/services/entity-validator/validators.js.map +1 -0
- package/dist/services/errors.d.ts +39 -0
- package/dist/services/errors.js +78 -0
- package/dist/services/errors.js.map +1 -0
- package/dist/services/event-hub.d.ts +18 -0
- package/dist/services/event-hub.js +77 -0
- package/dist/services/event-hub.js.map +1 -0
- package/dist/services/fs.d.ts +12 -0
- package/dist/services/fs.js +54 -0
- package/dist/services/fs.js.map +1 -0
- package/dist/services/metrics/admin-user-hash.d.ts +6 -0
- package/dist/services/metrics/admin-user-hash.js +19 -0
- package/dist/services/metrics/admin-user-hash.js.map +1 -0
- package/dist/services/metrics/index.d.ts +13 -0
- package/dist/services/metrics/index.js +53 -0
- package/dist/services/metrics/index.js.map +1 -0
- package/dist/services/metrics/is-truthy.d.ts +2 -0
- package/dist/services/metrics/is-truthy.js +11 -0
- package/dist/services/metrics/is-truthy.js.map +1 -0
- package/dist/services/metrics/middleware.d.ts +6 -0
- package/dist/services/metrics/middleware.js +28 -0
- package/dist/services/metrics/middleware.js.map +1 -0
- package/dist/services/metrics/rate-limiter.d.ts +6 -0
- package/dist/services/metrics/rate-limiter.js +21 -0
- package/dist/services/metrics/rate-limiter.js.map +1 -0
- package/dist/services/metrics/sender.d.ts +12 -0
- package/dist/services/metrics/sender.js +80 -0
- package/dist/services/metrics/sender.js.map +1 -0
- package/dist/services/request-context.d.ts +6 -0
- package/dist/services/request-context.js +14 -0
- package/dist/services/request-context.js.map +1 -0
- package/dist/services/server/admin-api.d.ts +10 -0
- package/dist/services/server/admin-api.js +13 -0
- package/dist/services/server/admin-api.js.map +1 -0
- package/dist/services/server/api.d.ts +14 -0
- package/dist/services/server/api.js +32 -0
- package/dist/services/server/api.js.map +1 -0
- package/dist/services/server/compose-endpoint.d.ts +6 -0
- package/dist/services/server/compose-endpoint.js +121 -0
- package/dist/services/server/compose-endpoint.js.map +1 -0
- package/dist/services/server/content-api.d.ts +10 -0
- package/dist/services/server/content-api.js +13 -0
- package/dist/services/server/content-api.js.map +1 -0
- package/dist/services/server/http-server.d.ts +9 -0
- package/dist/services/server/http-server.js +54 -0
- package/dist/services/server/http-server.js.map +1 -0
- package/dist/services/server/index.d.ts +3 -0
- package/dist/services/server/index.js +91 -0
- package/dist/services/server/index.js.map +1 -0
- package/dist/services/server/koa.d.ts +15 -0
- package/dist/services/server/koa.js +56 -0
- package/dist/services/server/koa.js.map +1 -0
- package/dist/services/server/middleware.d.ts +14 -0
- package/dist/services/server/middleware.js +103 -0
- package/dist/services/server/middleware.js.map +1 -0
- package/dist/services/server/policy.d.ts +3 -0
- package/dist/services/server/policy.js +21 -0
- package/dist/services/server/policy.js.map +1 -0
- package/dist/services/server/register-middlewares.d.ts +6 -0
- package/dist/services/server/register-middlewares.js +82 -0
- package/dist/services/server/register-middlewares.js.map +1 -0
- package/dist/services/server/register-routes.d.ts +6 -0
- package/dist/services/server/register-routes.js +94 -0
- package/dist/services/server/register-routes.js.map +1 -0
- package/dist/services/server/routing.d.ts +32 -0
- package/dist/services/server/routing.js +105 -0
- package/dist/services/server/routing.js.map +1 -0
- package/dist/services/utils/dynamic-zones.d.ts +2 -0
- package/dist/services/utils/dynamic-zones.js +13 -0
- package/dist/services/utils/dynamic-zones.js.map +1 -0
- package/dist/services/utils/upload-files.d.ts +7 -0
- package/dist/services/utils/upload-files.js +74 -0
- package/dist/services/utils/upload-files.js.map +1 -0
- package/dist/services/webhook-runner.d.ts +48 -0
- package/dist/services/webhook-runner.js +141 -0
- package/dist/services/webhook-runner.js.map +1 -0
- package/dist/services/webhook-store.d.ts +49 -0
- package/dist/services/webhook-store.js +106 -0
- package/dist/services/webhook-store.js.map +1 -0
- package/dist/services/worker-queue.d.ts +19 -0
- package/dist/services/worker-queue.js +64 -0
- package/dist/services/worker-queue.js.map +1 -0
- package/dist/utils/addSlash.d.ts +2 -0
- package/dist/utils/addSlash.js +15 -0
- package/dist/utils/addSlash.js.map +1 -0
- package/dist/utils/convert-custom-field-type.d.ts +3 -0
- package/dist/utils/convert-custom-field-type.js +20 -0
- package/dist/utils/convert-custom-field-type.js.map +1 -0
- package/dist/utils/cron.d.ts +7 -0
- package/dist/utils/cron.js +56 -0
- package/dist/utils/cron.js.map +1 -0
- package/dist/utils/ee.d.ts +2 -0
- package/dist/utils/ee.js +8 -0
- package/dist/utils/ee.js.map +1 -0
- package/dist/utils/fetch.d.ts +8 -0
- package/dist/utils/fetch.js +23 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/get-dirs.d.ts +9 -0
- package/dist/utils/get-dirs.js +30 -0
- package/dist/utils/get-dirs.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +13 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/is-initialized.d.ts +5 -0
- package/dist/utils/is-initialized.js +21 -0
- package/dist/utils/is-initialized.js.map +1 -0
- package/dist/utils/lifecycles.d.ts +5 -0
- package/dist/utils/lifecycles.js +9 -0
- package/dist/utils/lifecycles.js.map +1 -0
- package/dist/utils/machine-id.d.ts +2 -0
- package/dist/utils/machine-id.js +15 -0
- package/dist/utils/machine-id.js.map +1 -0
- package/dist/utils/open-browser.d.ts +4 -0
- package/dist/utils/open-browser.js +13 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/postinstall.d.ts +1 -0
- package/dist/utils/postinstall.js +32 -0
- package/dist/utils/postinstall.js.map +1 -0
- package/dist/utils/signals.d.ts +2 -0
- package/dist/utils/signals.js +20 -0
- package/dist/utils/signals.js.map +1 -0
- package/dist/utils/startup-logger.d.ts +10 -0
- package/dist/utils/startup-logger.js +68 -0
- package/dist/utils/startup-logger.js.map +1 -0
- package/dist/utils/update-notifier/index.d.ts +8 -0
- package/dist/utils/update-notifier/index.js +85 -0
- package/dist/utils/update-notifier/index.js.map +1 -0
- package/index.js +5 -0
- package/package.json +57 -25
- package/scripts/postinstall.js +7 -0
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -4
- package/ee/LICENSE.txt +0 -1
- package/ee/index.js +0 -213
- package/ee/license.js +0 -109
- package/lib/Strapi.js +0 -591
- package/lib/commands/actions/admin/create-user/action.js +0 -113
- package/lib/commands/actions/admin/create-user/command.js +0 -19
- package/lib/commands/actions/admin/reset-user-password/action.js +0 -52
- package/lib/commands/actions/admin/reset-user-password/command.js +0 -17
- package/lib/commands/actions/build-command/action.js +0 -18
- package/lib/commands/actions/build-command/command.js +0 -15
- package/lib/commands/actions/components/list/action.js +0 -23
- package/lib/commands/actions/components/list/command.js +0 -14
- package/lib/commands/actions/configuration/dump/action.js +0 -51
- package/lib/commands/actions/configuration/dump/command.js +0 -17
- package/lib/commands/actions/configuration/restore/action.js +0 -172
- package/lib/commands/actions/configuration/restore/command.js +0 -17
- package/lib/commands/actions/console/action.js +0 -27
- package/lib/commands/actions/console/command.js +0 -14
- package/lib/commands/actions/content-types/list/action.js +0 -23
- package/lib/commands/actions/content-types/list/command.js +0 -14
- package/lib/commands/actions/controllers/list/action.js +0 -23
- package/lib/commands/actions/controllers/list/command.js +0 -14
- package/lib/commands/actions/develop/action.js +0 -217
- package/lib/commands/actions/develop/command.js +0 -19
- package/lib/commands/actions/export/action.js +0 -184
- package/lib/commands/actions/export/command.js +0 -45
- package/lib/commands/actions/generate/command.js +0 -18
- package/lib/commands/actions/hooks/list/action.js +0 -23
- package/lib/commands/actions/hooks/list/command.js +0 -14
- package/lib/commands/actions/import/action.js +0 -181
- package/lib/commands/actions/import/command.js +0 -97
- package/lib/commands/actions/install/action.js +0 -48
- package/lib/commands/actions/install/command.js +0 -14
- package/lib/commands/actions/middlewares/list/action.js +0 -23
- package/lib/commands/actions/middlewares/list/command.js +0 -14
- package/lib/commands/actions/new/action.js +0 -13
- package/lib/commands/actions/new/command.js +0 -35
- package/lib/commands/actions/plugin/build-command/action.js +0 -137
- package/lib/commands/actions/plugin/build-command/command.js +0 -17
- package/lib/commands/actions/policies/list/action.js +0 -23
- package/lib/commands/actions/policies/list/command.js +0 -14
- package/lib/commands/actions/report/action.js +0 -35
- package/lib/commands/actions/report/command.js +0 -17
- package/lib/commands/actions/routes/list/action.js +0 -29
- package/lib/commands/actions/routes/list/command.js +0 -14
- package/lib/commands/actions/services/list/action.js +0 -23
- package/lib/commands/actions/services/list/command.js +0 -14
- package/lib/commands/actions/start/action.js +0 -25
- package/lib/commands/actions/start/command.js +0 -14
- package/lib/commands/actions/telemetry/disable/action.js +0 -88
- package/lib/commands/actions/telemetry/disable/command.js +0 -14
- package/lib/commands/actions/telemetry/enable/action.js +0 -104
- package/lib/commands/actions/telemetry/enable/command.js +0 -14
- package/lib/commands/actions/templates/generate/action.js +0 -96
- package/lib/commands/actions/templates/generate/command.js +0 -14
- package/lib/commands/actions/transfer/action.js +0 -200
- package/lib/commands/actions/transfer/command.js +0 -115
- package/lib/commands/actions/ts/generate-types/action.js +0 -29
- package/lib/commands/actions/ts/generate-types/command.js +0 -21
- package/lib/commands/actions/uninstall/action.js +0 -68
- package/lib/commands/actions/uninstall/command.js +0 -15
- package/lib/commands/actions/version/command.js +0 -19
- package/lib/commands/actions/watch-admin/action.js +0 -40
- package/lib/commands/actions/watch-admin/command.js +0 -15
- package/lib/commands/builders/admin.js +0 -57
- package/lib/commands/builders/index.js +0 -9
- package/lib/commands/builders/packages.js +0 -252
- package/lib/commands/builders/tasks/dts.js +0 -199
- package/lib/commands/builders/tasks/index.js +0 -29
- package/lib/commands/builders/tasks/vite.js +0 -144
- package/lib/commands/builders/typescript.js +0 -32
- package/lib/commands/index.js +0 -68
- package/lib/commands/utils/commander.js +0 -157
- package/lib/commands/utils/data-transfer.js +0 -427
- package/lib/commands/utils/helpers.js +0 -218
- package/lib/commands/utils/logger.js +0 -97
- package/lib/commands/utils/pkg.js +0 -421
- package/lib/compile.js +0 -20
- package/lib/container.js +0 -45
- package/lib/core/app-configuration/config-loader.js +0 -22
- package/lib/core/app-configuration/index.js +0 -61
- package/lib/core/app-configuration/load-config-file.js +0 -43
- package/lib/core/bootstrap.js +0 -33
- package/lib/core/domain/component/index.js +0 -24
- package/lib/core/domain/component/validator.js +0 -23
- package/lib/core/domain/content-type/index.js +0 -134
- package/lib/core/domain/content-type/validator.js +0 -105
- package/lib/core/domain/module/index.js +0 -108
- package/lib/core/domain/module/validation.js +0 -32
- package/lib/core/loaders/admin.js +0 -16
- package/lib/core/loaders/apis.js +0 -161
- package/lib/core/loaders/components.js +0 -42
- package/lib/core/loaders/index.js +0 -13
- package/lib/core/loaders/middlewares.js +0 -37
- package/lib/core/loaders/plugins/get-enabled-plugins.js +0 -151
- package/lib/core/loaders/plugins/get-user-plugins-config.js +0 -37
- package/lib/core/loaders/plugins/index.js +0 -121
- package/lib/core/loaders/policies.js +0 -29
- package/lib/core/loaders/sanitizers.js +0 -5
- package/lib/core/loaders/src-index.js +0 -39
- package/lib/core/loaders/validators.js +0 -5
- package/lib/core/registries/apis.js +0 -29
- package/lib/core/registries/config.js +0 -21
- package/lib/core/registries/content-types.js +0 -97
- package/lib/core/registries/controllers.d.ts +0 -7
- package/lib/core/registries/controllers.js +0 -114
- package/lib/core/registries/custom-fields.js +0 -89
- package/lib/core/registries/hooks.d.ts +0 -17
- package/lib/core/registries/hooks.js +0 -87
- package/lib/core/registries/middlewares.d.ts +0 -5
- package/lib/core/registries/middlewares.js +0 -89
- package/lib/core/registries/modules.js +0 -44
- package/lib/core/registries/plugins.js +0 -28
- package/lib/core/registries/policies.d.ts +0 -13
- package/lib/core/registries/policies.js +0 -89
- package/lib/core/registries/sanitizers.js +0 -26
- package/lib/core/registries/services.js +0 -114
- package/lib/core/registries/validators.js +0 -26
- package/lib/core/utils.js +0 -32
- package/lib/core-api/controller/collection-type.js +0 -115
- package/lib/core-api/controller/index.js +0 -63
- package/lib/core-api/controller/single-type.js +0 -65
- package/lib/core-api/controller/transform.js +0 -97
- package/lib/core-api/routes/index.js +0 -71
- package/lib/core-api/service/collection-type.js +0 -80
- package/lib/core-api/service/index.js +0 -45
- package/lib/core-api/service/pagination.js +0 -125
- package/lib/core-api/service/single-type.js +0 -72
- package/lib/factories.d.ts +0 -18
- package/lib/factories.js +0 -93
- package/lib/global.d.ts +0 -22
- package/lib/index.d.ts +0 -6
- package/lib/index.js +0 -8
- package/lib/load/filepath-to-prop-path.js +0 -22
- package/lib/load/glob.js +0 -15
- package/lib/load/index.js +0 -9
- package/lib/load/load-files.js +0 -58
- package/lib/load/package-path.js +0 -9
- package/lib/middlewares/body.js +0 -82
- package/lib/middlewares/compression.js +0 -8
- package/lib/middlewares/cors.js +0 -59
- package/lib/middlewares/errors.js +0 -40
- package/lib/middlewares/favicon.js +0 -32
- package/lib/middlewares/index.d.ts +0 -5
- package/lib/middlewares/index.js +0 -33
- package/lib/middlewares/ip.js +0 -8
- package/lib/middlewares/logger.js +0 -14
- package/lib/middlewares/powered-by.js +0 -20
- package/lib/middlewares/public/index.js +0 -94
- package/lib/middlewares/public/serve-static.js +0 -23
- package/lib/middlewares/query.js +0 -52
- package/lib/middlewares/response-time.js +0 -15
- package/lib/middlewares/responses.js +0 -19
- package/lib/middlewares/security.js +0 -57
- package/lib/middlewares/session.js +0 -30
- package/lib/migrations/draft-publish.js +0 -53
- package/lib/services/auth/index.js +0 -109
- package/lib/services/content-api/index.js +0 -74
- package/lib/services/content-api/permissions/engine.js +0 -5
- package/lib/services/content-api/permissions/index.js +0 -148
- package/lib/services/content-api/permissions/providers/action.js +0 -19
- package/lib/services/content-api/permissions/providers/condition.js +0 -19
- package/lib/services/content-api/permissions/providers/index.js +0 -9
- package/lib/services/core-store.js +0 -145
- package/lib/services/cron.js +0 -71
- package/lib/services/custom-fields.js +0 -11
- package/lib/services/entity-service/attributes/index.js +0 -31
- package/lib/services/entity-service/attributes/transforms.js +0 -20
- package/lib/services/entity-service/components.js +0 -497
- package/lib/services/entity-service/index.d.ts +0 -1
- package/lib/services/entity-service/index.js +0 -434
- package/lib/services/entity-service/params.js +0 -9
- package/lib/services/entity-service/types/index.d.ts +0 -228
- package/lib/services/entity-service/types/params/attributes.d.ts +0 -146
- package/lib/services/entity-service/types/params/data.d.ts +0 -4
- package/lib/services/entity-service/types/params/fields.d.ts +0 -74
- package/lib/services/entity-service/types/params/filters/index.d.ts +0 -90
- package/lib/services/entity-service/types/params/filters/operators.d.ts +0 -30
- package/lib/services/entity-service/types/params/index.d.ts +0 -79
- package/lib/services/entity-service/types/params/pagination.d.ts +0 -13
- package/lib/services/entity-service/types/params/populate.d.ts +0 -130
- package/lib/services/entity-service/types/params/publication-state.d.ts +0 -38
- package/lib/services/entity-service/types/params/search.d.ts +0 -1
- package/lib/services/entity-service/types/params/sort.d.ts +0 -106
- package/lib/services/entity-service/types/plugin.d.ts +0 -11
- package/lib/services/entity-service/types/result.d.ts +0 -205
- package/lib/services/entity-validator/index.js +0 -382
- package/lib/services/entity-validator/validators.js +0 -216
- package/lib/services/errors.js +0 -87
- package/lib/services/event-hub.js +0 -83
- package/lib/services/fs.js +0 -58
- package/lib/services/metrics/admin-user-hash.js +0 -21
- package/lib/services/metrics/index.js +0 -61
- package/lib/services/metrics/is-truthy.js +0 -9
- package/lib/services/metrics/middleware.js +0 -33
- package/lib/services/metrics/rate-limiter.js +0 -27
- package/lib/services/metrics/sender.js +0 -90
- package/lib/services/metrics/stringify-deep.js +0 -22
- package/lib/services/request-context.js +0 -17
- package/lib/services/server/admin-api.js +0 -14
- package/lib/services/server/api.js +0 -36
- package/lib/services/server/compose-endpoint.js +0 -141
- package/lib/services/server/content-api.js +0 -16
- package/lib/services/server/http-server.js +0 -64
- package/lib/services/server/index.js +0 -129
- package/lib/services/server/koa.js +0 -62
- package/lib/services/server/middleware.js +0 -132
- package/lib/services/server/policy.js +0 -32
- package/lib/services/server/register-middlewares.js +0 -109
- package/lib/services/server/register-routes.js +0 -105
- package/lib/services/server/routing.js +0 -105
- package/lib/services/utils/dynamic-zones.js +0 -13
- package/lib/services/utils/upload-files.js +0 -79
- package/lib/services/webhook-runner.js +0 -156
- package/lib/services/webhook-store.js +0 -120
- package/lib/services/worker-queue.js +0 -59
- package/lib/types/core/attributes/base.d.ts +0 -77
- package/lib/types/core/attributes/biginteger.d.ts +0 -15
- package/lib/types/core/attributes/boolean.d.ts +0 -14
- package/lib/types/core/attributes/common.d.ts +0 -77
- package/lib/types/core/attributes/component.d.ts +0 -36
- package/lib/types/core/attributes/date-time.d.ts +0 -16
- package/lib/types/core/attributes/date.d.ts +0 -13
- package/lib/types/core/attributes/decimal.d.ts +0 -15
- package/lib/types/core/attributes/dynamic-zone.d.ts +0 -29
- package/lib/types/core/attributes/email.d.ts +0 -14
- package/lib/types/core/attributes/enumeration.d.ts +0 -18
- package/lib/types/core/attributes/float.d.ts +0 -13
- package/lib/types/core/attributes/index.d.ts +0 -26
- package/lib/types/core/attributes/integer.d.ts +0 -15
- package/lib/types/core/attributes/json.d.ts +0 -11
- package/lib/types/core/attributes/media.d.ts +0 -42
- package/lib/types/core/attributes/password.d.ts +0 -15
- package/lib/types/core/attributes/relation.d.ts +0 -152
- package/lib/types/core/attributes/richtext.d.ts +0 -15
- package/lib/types/core/attributes/string.d.ts +0 -20
- package/lib/types/core/attributes/text.d.ts +0 -20
- package/lib/types/core/attributes/time.d.ts +0 -13
- package/lib/types/core/attributes/timestamp.d.ts +0 -15
- package/lib/types/core/attributes/uid.d.ts +0 -43
- package/lib/types/core/attributes/utils.d.ts +0 -143
- package/lib/types/core/commands/index.d.ts +0 -6
- package/lib/types/core/common/controller.d.ts +0 -8
- package/lib/types/core/common/index.d.ts +0 -16
- package/lib/types/core/common/schema.d.ts +0 -3
- package/lib/types/core/common/service.d.ts +0 -5
- package/lib/types/core/common/uid.d.ts +0 -58
- package/lib/types/core/index.d.ts +0 -9
- package/lib/types/core/namespace.d.ts +0 -99
- package/lib/types/core/plugins/index.d.ts +0 -16
- package/lib/types/core/registry.d.ts +0 -68
- package/lib/types/core/schemas/index.d.ts +0 -133
- package/lib/types/core/strapi/index.d.ts +0 -453
- package/lib/types/core/uid.d.ts +0 -167
- package/lib/types/core-api/controller.d.ts +0 -54
- package/lib/types/core-api/index.d.ts +0 -3
- package/lib/types/core-api/router.d.ts +0 -68
- package/lib/types/core-api/service.d.ts +0 -50
- package/lib/types/index.d.ts +0 -8
- package/lib/types/shared/entity-service.d.ts +0 -1
- package/lib/types/shared/index.d.ts +0 -3
- package/lib/types/shared/plugins.d.ts +0 -3
- package/lib/types/shared/registries.d.ts +0 -45
- package/lib/types/utils/array.d.ts +0 -25
- package/lib/types/utils/expression.d.ts +0 -91
- package/lib/types/utils/guard.d.ts +0 -27
- package/lib/types/utils/index.d.ts +0 -27
- package/lib/types/utils/object.d.ts +0 -63
- package/lib/types/utils/string.d.ts +0 -59
- package/lib/types/utils/tuple.d.ts +0 -13
- package/lib/utils/addSlash.js +0 -11
- package/lib/utils/convert-custom-field-type.js +0 -22
- package/lib/utils/cron.js +0 -56
- package/lib/utils/ee.js +0 -3
- package/lib/utils/fetch.js +0 -23
- package/lib/utils/get-dirs.js +0 -31
- package/lib/utils/index.js +0 -11
- package/lib/utils/is-initialized.js +0 -23
- package/lib/utils/lifecycles.js +0 -15
- package/lib/utils/machine-id.js +0 -14
- package/lib/utils/open-browser.js +0 -12
- package/lib/utils/run-checks.js +0 -22
- package/lib/utils/signals.js +0 -24
- package/lib/utils/startup-logger.js +0 -88
- package/lib/utils/success.js +0 -35
- package/lib/utils/update-notifier/index.js +0 -97
- package/lib/utils/url-from-segments.js +0 -12
- /package/{lib → dist}/middlewares/public/assets/images/group_people_1.png +0 -0
- /package/{lib → dist}/middlewares/public/assets/images/group_people_2.png +0 -0
- /package/{lib → dist}/middlewares/public/assets/images/group_people_3.png +0 -0
- /package/{lib → dist}/middlewares/public/assets/images/logo_login.png +0 -0
- /package/{lib → dist}/middlewares/public/index.html +0 -0
- /package/{ee/resources → resources}/key.pub +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.responses = void 0;
|
|
4
|
+
const fp_1 = require("lodash/fp");
|
|
5
|
+
const responses = (config = {}) => {
|
|
6
|
+
return async (ctx, next) => {
|
|
7
|
+
await next();
|
|
8
|
+
const { status } = ctx;
|
|
9
|
+
const handler = config?.handlers?.[status];
|
|
10
|
+
if ((0, fp_1.isFunction)(handler)) {
|
|
11
|
+
await handler(ctx, next);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.responses = responses;
|
|
16
|
+
//# sourceMappingURL=responses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/middlewares/responses.ts"],"names":[],"mappings":";;;AAAA,kCAAuC;AAOhC,MAAM,SAAS,GAAqC,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE;IACzE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,IAAI,EAAE,CAAC;QAEb,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE;YACvB,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.security = void 0;
|
|
7
|
+
const fp_1 = require("lodash/fp");
|
|
8
|
+
const koa_helmet_1 = __importDefault(require("koa-helmet"));
|
|
9
|
+
const defaults = {
|
|
10
|
+
crossOriginEmbedderPolicy: false,
|
|
11
|
+
crossOriginOpenerPolicy: false,
|
|
12
|
+
crossOriginResourcePolicy: false,
|
|
13
|
+
originAgentCluster: false,
|
|
14
|
+
contentSecurityPolicy: {
|
|
15
|
+
useDefaults: true,
|
|
16
|
+
directives: {
|
|
17
|
+
'connect-src': ["'self'", 'https:'],
|
|
18
|
+
'img-src': ["'self'", 'data:', 'blob:', 'https://market-assets.strapi.io'],
|
|
19
|
+
'media-src': ["'self'", 'data:', 'blob:'],
|
|
20
|
+
upgradeInsecureRequests: null,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
xssFilter: false,
|
|
24
|
+
hsts: {
|
|
25
|
+
maxAge: 31536000,
|
|
26
|
+
includeSubDomains: true,
|
|
27
|
+
},
|
|
28
|
+
frameguard: {
|
|
29
|
+
action: 'sameorigin',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const security = (config, { strapi }) => (ctx, next) => {
|
|
33
|
+
let helmetConfig = (0, fp_1.defaultsDeep)(defaults, config);
|
|
34
|
+
const specialPaths = ['/documentation'];
|
|
35
|
+
if (strapi.plugin('graphql')) {
|
|
36
|
+
const { config: gqlConfig } = strapi.plugin('graphql');
|
|
37
|
+
specialPaths.push(gqlConfig('endpoint'));
|
|
38
|
+
}
|
|
39
|
+
if (ctx.method === 'GET' && specialPaths.some((str) => ctx.path.startsWith(str))) {
|
|
40
|
+
helmetConfig = (0, fp_1.merge)(helmetConfig, {
|
|
41
|
+
contentSecurityPolicy: {
|
|
42
|
+
directives: {
|
|
43
|
+
'script-src': ["'self'", "'unsafe-inline'", 'cdn.jsdelivr.net'],
|
|
44
|
+
'img-src': ["'self'", 'data:', 'cdn.jsdelivr.net', 'strapi.io'],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return (0, koa_helmet_1.default)(helmetConfig)(ctx, next);
|
|
50
|
+
};
|
|
51
|
+
exports.security = security;
|
|
52
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/middlewares/security.ts"],"names":[],"mappings":";;;;;;AAAA,kCAAgD;AAChD,4DAA+C;AAM/C,MAAM,QAAQ,GAAW;IACvB,yBAAyB,EAAE,KAAK;IAChC,uBAAuB,EAAE,KAAK;IAC9B,yBAAyB,EAAE,KAAK;IAChC,kBAAkB,EAAE,KAAK;IACzB,qBAAqB,EAAE;QACrB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE;YACV,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACnC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,iCAAiC,CAAC;YAC1E,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YACzC,uBAAuB,EAAE,IAAI;SAC9B;KACF;IACD,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,IAAI;KACxB;IACD,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACF,CAAC;AAEK,MAAM,QAAQ,GACnB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CACvB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,IAAI,YAAY,GAAW,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QAChF,YAAY,GAAG,IAAA,UAAK,EAAC,YAAY,EAAE;YACjC,qBAAqB,EAAE;gBACrB,UAAU,EAAE;oBACV,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;oBAC/D,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC;iBAChE;aACF;SACF,CAAC,CAAC;KACJ;IAED,OAAO,IAAA,oBAAM,EAAC,YAAY,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC;AAxBS,QAAA,QAAQ,YAwBjB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.session = void 0;
|
|
7
|
+
const fp_1 = require("lodash/fp");
|
|
8
|
+
const koa_session_1 = __importDefault(require("koa-session"));
|
|
9
|
+
const defaultConfig = {
|
|
10
|
+
key: 'koa.sess',
|
|
11
|
+
maxAge: 86400000,
|
|
12
|
+
autoCommit: true,
|
|
13
|
+
overwrite: true,
|
|
14
|
+
httpOnly: true,
|
|
15
|
+
signed: true,
|
|
16
|
+
rolling: false,
|
|
17
|
+
renew: false,
|
|
18
|
+
secure: process.env.NODE_ENV === 'production',
|
|
19
|
+
sameSite: undefined,
|
|
20
|
+
};
|
|
21
|
+
const session = (userConfig, { strapi }) => {
|
|
22
|
+
const { keys } = strapi.server.app;
|
|
23
|
+
if (!(0, fp_1.isArray)(keys) || (0, fp_1.isEmpty)(keys) || keys.some(fp_1.isEmpty)) {
|
|
24
|
+
throw new Error(`App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])`);
|
|
25
|
+
}
|
|
26
|
+
const config = { ...defaultConfig, ...userConfig };
|
|
27
|
+
strapi.server.use((0, koa_session_1.default)(config, strapi.server.app));
|
|
28
|
+
};
|
|
29
|
+
exports.session = session;
|
|
30
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/middlewares/session.ts"],"names":[],"mappings":";;;;;;AAAA,kCAA6C;AAC7C,8DAAqC;AAGrC,MAAM,aAAa,GAAG;IACpB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC7C,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEK,MAAM,OAAO,GAAuD,CACzE,UAAU,EACV,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IACnC,IAAI,CAAC,IAAA,YAAO,EAAC,IAAI,CAAC,IAAI,IAAA,YAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAO,CAAC,EAAE;QACzD,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;KACH;IAED,MAAM,MAAM,GAA6B,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;IAE7E,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AAdW,QAAA,OAAO,WAclB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Schema } from '@strapi/types';
|
|
2
|
+
interface Input {
|
|
3
|
+
oldContentTypes: Record<string, Schema.ContentType>;
|
|
4
|
+
contentTypes: Record<string, Schema.ContentType>;
|
|
5
|
+
}
|
|
6
|
+
declare const enableDraftAndPublish: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
|
|
7
|
+
declare const disableDraftAndPublish: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
|
|
8
|
+
export { enableDraftAndPublish as enable, disableDraftAndPublish as disable };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.disable = exports.enable = void 0;
|
|
4
|
+
const utils_1 = require("@strapi/utils");
|
|
5
|
+
const enableDraftAndPublish = async ({ oldContentTypes, contentTypes }) => {
|
|
6
|
+
if (!oldContentTypes) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
// run the after content types migrations
|
|
10
|
+
for (const uid in contentTypes) {
|
|
11
|
+
if (!oldContentTypes[uid]) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const oldContentType = oldContentTypes[uid];
|
|
15
|
+
const contentType = contentTypes[uid];
|
|
16
|
+
// if d&p was enabled set publishedAt to eq createdAt
|
|
17
|
+
if (!utils_1.contentTypes.hasDraftAndPublish(oldContentType) &&
|
|
18
|
+
utils_1.contentTypes.hasDraftAndPublish(contentType)) {
|
|
19
|
+
const qb = strapi.db?.queryBuilder(uid);
|
|
20
|
+
await qb
|
|
21
|
+
.update({ published_at: qb.ref('created_at') })
|
|
22
|
+
.where({ published_at: null })
|
|
23
|
+
.execute();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.enable = enableDraftAndPublish;
|
|
28
|
+
const disableDraftAndPublish = async ({ oldContentTypes, contentTypes }) => {
|
|
29
|
+
if (!oldContentTypes) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
for (const uid in contentTypes) {
|
|
33
|
+
if (!oldContentTypes[uid]) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const oldContentType = oldContentTypes[uid];
|
|
37
|
+
const contentType = contentTypes[uid];
|
|
38
|
+
// if d&p was disabled remove unpublish content before sync
|
|
39
|
+
if (utils_1.contentTypes.hasDraftAndPublish(oldContentType) &&
|
|
40
|
+
!utils_1.contentTypes.hasDraftAndPublish(contentType)) {
|
|
41
|
+
await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.disable = disableDraftAndPublish;
|
|
46
|
+
//# sourceMappingURL=draft-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-publish.js","sourceRoot":"","sources":["../../src/migrations/draft-publish.ts"],"names":[],"mappings":";;;AAAA,yCAAkE;AAQlE,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,EAAS,EAAE,EAAE;IAC/E,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO;KACR;IACD,yCAAyC;IAEzC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzB,SAAS;SACV;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtC,qDAAqD;QACrD,IACE,CAAC,oBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;YACrD,oBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EACjD;YACA,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,EAAE;iBACL,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;iBAC9C,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iBAC7B,OAAO,EAAE,CAAC;SACd;KACF;AACH,CAAC,CAAC;AAyBgC,uCAAM;AAvBxC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,EAAS,EAAE,EAAE;IAChF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO;KACR;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzB,SAAS;SACV;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtC,2DAA2D;QAC3D,IACE,oBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;YACpD,CAAC,oBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAClD;YACA,MAAM,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SACrF;KACF;AACH,CAAC,CAAC;AAEkE,yCAAO"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Common } from '@strapi/types';
|
|
2
|
+
import type { ParameterizedContext } from 'koa';
|
|
3
|
+
interface AuthenticationResponse {
|
|
4
|
+
authenticated?: boolean;
|
|
5
|
+
credentials?: unknown;
|
|
6
|
+
ability?: unknown;
|
|
7
|
+
error?: Error | null;
|
|
8
|
+
}
|
|
9
|
+
interface AuthenticationInfo {
|
|
10
|
+
strategy: Strategy;
|
|
11
|
+
credentials: unknown;
|
|
12
|
+
ability: unknown;
|
|
13
|
+
}
|
|
14
|
+
interface Strategy {
|
|
15
|
+
name: string;
|
|
16
|
+
authenticate: (ctx: ParameterizedContext) => Promise<AuthenticationResponse>;
|
|
17
|
+
verify?: (auth: AuthenticationInfo, config: Common.RouteConfig['auth']) => Promise<any>;
|
|
18
|
+
}
|
|
19
|
+
interface Authentication {
|
|
20
|
+
register: (type: string, strategy: Strategy) => Authentication;
|
|
21
|
+
authenticate: Common.MiddlewareHandler;
|
|
22
|
+
verify: (auth: AuthenticationInfo, config?: Common.RouteConfig['auth']) => Promise<any>;
|
|
23
|
+
}
|
|
24
|
+
declare const createAuthentication: () => Authentication;
|
|
25
|
+
export default createAuthentication;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const strict_1 = __importDefault(require("assert/strict"));
|
|
7
|
+
const fp_1 = require("lodash/fp");
|
|
8
|
+
const utils_1 = require("@strapi/utils");
|
|
9
|
+
const INVALID_STRATEGY_MSG = 'Invalid auth strategy. Expecting an object with properties {name: string, authenticate: function, verify: function}';
|
|
10
|
+
const validStrategy = (strategy) => {
|
|
11
|
+
(0, strict_1.default)((0, fp_1.has)('authenticate', strategy), INVALID_STRATEGY_MSG);
|
|
12
|
+
(0, strict_1.default)(typeof strategy.authenticate === 'function', INVALID_STRATEGY_MSG);
|
|
13
|
+
if ((0, fp_1.has)('verify', strategy)) {
|
|
14
|
+
(0, strict_1.default)(typeof strategy.verify === 'function', INVALID_STRATEGY_MSG);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const createAuthentication = () => {
|
|
18
|
+
const strategies = {};
|
|
19
|
+
return {
|
|
20
|
+
register(type, strategy) {
|
|
21
|
+
validStrategy(strategy);
|
|
22
|
+
if (!strategies[type]) {
|
|
23
|
+
strategies[type] = [];
|
|
24
|
+
}
|
|
25
|
+
strategies[type].push(strategy);
|
|
26
|
+
return this;
|
|
27
|
+
},
|
|
28
|
+
async authenticate(ctx, next) {
|
|
29
|
+
const route = ctx.state.route;
|
|
30
|
+
// use route strategy
|
|
31
|
+
const config = route?.config?.auth;
|
|
32
|
+
if (config === false) {
|
|
33
|
+
return next();
|
|
34
|
+
}
|
|
35
|
+
const routeStrategies = route.info.type ? strategies[route.info.type] : [];
|
|
36
|
+
const configStrategies = (config?.strategies ?? routeStrategies ?? []);
|
|
37
|
+
const strategiesToUse = configStrategies.reduce((acc, strategy) => {
|
|
38
|
+
// Resolve by strategy name
|
|
39
|
+
if (typeof strategy === 'string') {
|
|
40
|
+
const routeStrategy = routeStrategies.find((rs) => rs.name === strategy);
|
|
41
|
+
if (routeStrategy) {
|
|
42
|
+
acc.push(routeStrategy);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Use the given strategy as is
|
|
46
|
+
else if (typeof strategy === 'object') {
|
|
47
|
+
validStrategy(strategy);
|
|
48
|
+
acc.push(strategy);
|
|
49
|
+
}
|
|
50
|
+
return acc;
|
|
51
|
+
}, []);
|
|
52
|
+
for (const strategy of strategiesToUse) {
|
|
53
|
+
const result = await strategy.authenticate(ctx);
|
|
54
|
+
const { authenticated = false, credentials, ability = null, error = null } = result || {};
|
|
55
|
+
if (error !== null) {
|
|
56
|
+
return ctx.unauthorized(error);
|
|
57
|
+
}
|
|
58
|
+
if (authenticated) {
|
|
59
|
+
ctx.state.isAuthenticated = true;
|
|
60
|
+
ctx.state.auth = {
|
|
61
|
+
strategy,
|
|
62
|
+
credentials,
|
|
63
|
+
ability,
|
|
64
|
+
};
|
|
65
|
+
return next();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return ctx.unauthorized('Missing or invalid credentials');
|
|
69
|
+
},
|
|
70
|
+
async verify(auth, config = {}) {
|
|
71
|
+
if (config === false) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (!auth) {
|
|
75
|
+
throw new utils_1.errors.UnauthorizedError();
|
|
76
|
+
}
|
|
77
|
+
if (typeof auth.strategy.verify === 'function') {
|
|
78
|
+
return auth.strategy.verify(auth, config);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
exports.default = createAuthentication;
|
|
84
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/auth/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Strapi, Common } from '@strapi/types';
|
|
2
|
+
/**
|
|
3
|
+
* Create a content API container that holds logic, tools and utils. (eg: permissions, ...)
|
|
4
|
+
*/
|
|
5
|
+
declare const createContentAPI: (strapi: Strapi) => {
|
|
6
|
+
permissions: {
|
|
7
|
+
engine: import("@strapi/permissions/dist/engine").Engine;
|
|
8
|
+
providers: {
|
|
9
|
+
action: {
|
|
10
|
+
register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
11
|
+
hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
|
|
12
|
+
delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
13
|
+
get(key: string): {
|
|
14
|
+
[x: string]: unknown;
|
|
15
|
+
} | undefined;
|
|
16
|
+
getWhere(filters?: Record<string, unknown> | undefined): {
|
|
17
|
+
[x: string]: unknown;
|
|
18
|
+
}[];
|
|
19
|
+
values(): {
|
|
20
|
+
[x: string]: unknown;
|
|
21
|
+
}[];
|
|
22
|
+
keys(): string[];
|
|
23
|
+
has(key: string): boolean;
|
|
24
|
+
size(): number;
|
|
25
|
+
clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
26
|
+
};
|
|
27
|
+
condition: {
|
|
28
|
+
register(condition: import("./permissions/providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
29
|
+
hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
|
|
30
|
+
delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
31
|
+
get(key: string): {
|
|
32
|
+
[x: string]: unknown;
|
|
33
|
+
} | undefined;
|
|
34
|
+
getWhere(filters?: Record<string, unknown> | undefined): {
|
|
35
|
+
[x: string]: unknown;
|
|
36
|
+
}[];
|
|
37
|
+
values(): {
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
}[];
|
|
40
|
+
keys(): string[];
|
|
41
|
+
has(key: string): boolean;
|
|
42
|
+
size(): number;
|
|
43
|
+
clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
registerActions: () => Promise<void>;
|
|
47
|
+
getActionsMap: () => Record<string, {
|
|
48
|
+
controllers: Record<string, string[]>;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
getRoutesMap: () => Promise<Record<string, Common.Route[]>>;
|
|
52
|
+
};
|
|
53
|
+
export default createContentAPI;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const permissions_1 = __importDefault(require("./permissions"));
|
|
8
|
+
const transformRoutePrefixFor = (pluginName) => (route) => {
|
|
9
|
+
const prefix = route.config && route.config.prefix;
|
|
10
|
+
const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;
|
|
11
|
+
return {
|
|
12
|
+
...route,
|
|
13
|
+
path,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
const filterContentAPI = (route) => route.info.type === 'content-api';
|
|
17
|
+
/**
|
|
18
|
+
* Create a content API container that holds logic, tools and utils. (eg: permissions, ...)
|
|
19
|
+
*/
|
|
20
|
+
const createContentAPI = (strapi) => {
|
|
21
|
+
const getRoutesMap = async () => {
|
|
22
|
+
const routesMap = {};
|
|
23
|
+
lodash_1.default.forEach(strapi.api, (api, apiName) => {
|
|
24
|
+
const routes = lodash_1.default.flatMap(api.routes, (route) => {
|
|
25
|
+
if ('routes' in route) {
|
|
26
|
+
return route.routes;
|
|
27
|
+
}
|
|
28
|
+
return route;
|
|
29
|
+
}).filter(filterContentAPI);
|
|
30
|
+
if (routes.length === 0) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const apiPrefix = strapi.config.get('api.rest.prefix');
|
|
34
|
+
routesMap[`api::${apiName}`] = routes.map((route) => ({
|
|
35
|
+
...route,
|
|
36
|
+
path: `${apiPrefix}${route.path}`,
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
lodash_1.default.forEach(strapi.plugins, (plugin, pluginName) => {
|
|
40
|
+
const transformPrefix = transformRoutePrefixFor(pluginName);
|
|
41
|
+
if (Array.isArray(plugin.routes)) {
|
|
42
|
+
return plugin.routes.map(transformPrefix).filter(filterContentAPI);
|
|
43
|
+
}
|
|
44
|
+
const routes = lodash_1.default.flatMap(plugin.routes, (route) => route.routes.map(transformPrefix)).filter(filterContentAPI);
|
|
45
|
+
if (routes.length === 0) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const apiPrefix = strapi.config.get('api.rest.prefix');
|
|
49
|
+
routesMap[`plugin::${pluginName}`] = routes.map((route) => ({
|
|
50
|
+
...route,
|
|
51
|
+
path: `${apiPrefix}${route.path}`,
|
|
52
|
+
}));
|
|
53
|
+
});
|
|
54
|
+
return routesMap;
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
permissions: (0, permissions_1.default)(strapi),
|
|
58
|
+
getRoutesMap,
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.default = createContentAPI;
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/content-api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const permissions_1 = __importDefault(require("@strapi/permissions"));
|
|
7
|
+
exports.default = ({ providers }) => permissions_1.default.engine.new({ providers });
|
|
8
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/services/content-api/permissions/engine.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAI9C,kBAAe,CAAC,EAAE,SAAS,EAAW,EAAE,EAAE,CAAC,qBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Strapi } from '@strapi/types';
|
|
2
|
+
/**
|
|
3
|
+
* Create instances of providers and permission engine for the core content-API service.
|
|
4
|
+
* Also, expose utilities to get informations about available actions and such.
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: (strapi: Strapi) => {
|
|
7
|
+
engine: import("@strapi/permissions/dist/engine").Engine;
|
|
8
|
+
providers: {
|
|
9
|
+
action: {
|
|
10
|
+
register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
11
|
+
hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
|
|
12
|
+
delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
13
|
+
get(key: string): {
|
|
14
|
+
[x: string]: unknown;
|
|
15
|
+
} | undefined;
|
|
16
|
+
getWhere(filters?: Record<string, unknown> | undefined): {
|
|
17
|
+
[x: string]: unknown;
|
|
18
|
+
}[];
|
|
19
|
+
values(): {
|
|
20
|
+
[x: string]: unknown;
|
|
21
|
+
}[];
|
|
22
|
+
keys(): string[];
|
|
23
|
+
has(key: string): boolean;
|
|
24
|
+
size(): number;
|
|
25
|
+
clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
26
|
+
};
|
|
27
|
+
condition: {
|
|
28
|
+
register(condition: import("./providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
29
|
+
hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
|
|
30
|
+
delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
31
|
+
get(key: string): {
|
|
32
|
+
[x: string]: unknown;
|
|
33
|
+
} | undefined;
|
|
34
|
+
getWhere(filters?: Record<string, unknown> | undefined): {
|
|
35
|
+
[x: string]: unknown;
|
|
36
|
+
}[];
|
|
37
|
+
values(): {
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
}[];
|
|
40
|
+
keys(): string[];
|
|
41
|
+
has(key: string): boolean;
|
|
42
|
+
size(): number;
|
|
43
|
+
clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
registerActions: () => Promise<void>;
|
|
47
|
+
getActionsMap: () => Record<string, {
|
|
48
|
+
controllers: Record<string, string[]>;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
export default _default;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const providers_1 = require("./providers");
|
|
8
|
+
const engine_1 = __importDefault(require("./engine"));
|
|
9
|
+
const typeSymbol = Symbol.for('__type__');
|
|
10
|
+
/**
|
|
11
|
+
* Creates an handler that checks if the permission's action exists in the action registry
|
|
12
|
+
*/
|
|
13
|
+
const createValidatePermissionHandler = (actionProvider) => ({ permission }) => {
|
|
14
|
+
const action = actionProvider.get(permission.action);
|
|
15
|
+
// If the action isn't registered into the action provider, then ignore the permission and warn the user
|
|
16
|
+
if (!action) {
|
|
17
|
+
strapi.log.debug(`Unknown action "${permission.action}" supplied when registering a new permission`);
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Create instances of providers and permission engine for the core content-API service.
|
|
24
|
+
* Also, expose utilities to get informations about available actions and such.
|
|
25
|
+
*/
|
|
26
|
+
exports.default = (strapi) => {
|
|
27
|
+
// NOTE: Here we define both an action and condition provider,
|
|
28
|
+
// but at the moment, we're only using the action one.
|
|
29
|
+
const providers = {
|
|
30
|
+
action: (0, providers_1.createActionProvider)(),
|
|
31
|
+
condition: (0, providers_1.createConditionProvider)(),
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Get a tree representation of the available Content API actions
|
|
35
|
+
* based on the methods of the Content API controllers.
|
|
36
|
+
*
|
|
37
|
+
* @note Only actions bound to a content-API route are returned.
|
|
38
|
+
*/
|
|
39
|
+
const getActionsMap = () => {
|
|
40
|
+
const actionMap = {};
|
|
41
|
+
/**
|
|
42
|
+
* Check if a controller's action is bound to the
|
|
43
|
+
* content-api by looking at a potential __type__ symbol
|
|
44
|
+
*/
|
|
45
|
+
const isContentApi = (action) => {
|
|
46
|
+
if (!lodash_1.default.has(action, typeSymbol)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return action[typeSymbol].includes('content-api');
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Register actions from a specific API source into the result tree
|
|
53
|
+
*/
|
|
54
|
+
const registerAPIsActions = (apis, source) => {
|
|
55
|
+
lodash_1.default.forEach(apis, (api, apiName) => {
|
|
56
|
+
const controllers = lodash_1.default.reduce(api.controllers, (acc, controller, controllerName) => {
|
|
57
|
+
const contentApiActions = lodash_1.default.pickBy(controller, isContentApi);
|
|
58
|
+
if (lodash_1.default.isEmpty(contentApiActions)) {
|
|
59
|
+
return acc;
|
|
60
|
+
}
|
|
61
|
+
acc[controllerName] = Object.keys(contentApiActions);
|
|
62
|
+
return acc;
|
|
63
|
+
}, {});
|
|
64
|
+
if (!lodash_1.default.isEmpty(controllers)) {
|
|
65
|
+
actionMap[`${source}::${apiName}`] = { controllers };
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
registerAPIsActions(strapi.api, 'api');
|
|
70
|
+
registerAPIsActions(strapi.plugins, 'plugin');
|
|
71
|
+
return actionMap;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Register all the content-API's controllers actions into the action provider.
|
|
75
|
+
* This method make use of the {@link getActionsMap} to generate the list of actions to register.
|
|
76
|
+
*
|
|
77
|
+
* @return {void}
|
|
78
|
+
*/
|
|
79
|
+
const registerActions = async () => {
|
|
80
|
+
const actionsMap = getActionsMap();
|
|
81
|
+
// For each API
|
|
82
|
+
for (const [api, value] of Object.entries(actionsMap)) {
|
|
83
|
+
const { controllers } = value;
|
|
84
|
+
// Register controllers methods as actions
|
|
85
|
+
for (const [controller, actions] of Object.entries(controllers)) {
|
|
86
|
+
// Register each action individually
|
|
87
|
+
await Promise.all(actions.map((action) => {
|
|
88
|
+
const actionUID = `${api}.${controller}.${action}`;
|
|
89
|
+
return providers.action.register(actionUID, {
|
|
90
|
+
api,
|
|
91
|
+
controller,
|
|
92
|
+
action,
|
|
93
|
+
uid: actionUID,
|
|
94
|
+
});
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
// Create an instance of a content-API permission engine
|
|
100
|
+
// and binds a custom validation handler to it
|
|
101
|
+
const engine = (0, engine_1.default)({ providers });
|
|
102
|
+
engine.on('before-format::validate.permission', createValidatePermissionHandler(providers.action));
|
|
103
|
+
return {
|
|
104
|
+
engine,
|
|
105
|
+
providers,
|
|
106
|
+
registerActions,
|
|
107
|
+
getActionsMap,
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/content-api/permissions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: (options?: {}) => {
|
|
2
|
+
register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
3
|
+
hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
|
|
4
|
+
delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
5
|
+
get(key: string): {
|
|
6
|
+
[x: string]: unknown;
|
|
7
|
+
} | undefined;
|
|
8
|
+
getWhere(filters?: Record<string, unknown> | undefined): {
|
|
9
|
+
[x: string]: unknown;
|
|
10
|
+
}[];
|
|
11
|
+
values(): {
|
|
12
|
+
[x: string]: unknown;
|
|
13
|
+
}[];
|
|
14
|
+
keys(): string[];
|
|
15
|
+
has(key: string): boolean;
|
|
16
|
+
size(): number;
|
|
17
|
+
clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|