@strapi/core 0.0.0-next.39c0188c3aa01bec7b64b948211571d5159e811d → 0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76
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/dist/Strapi.js +437 -0
- package/dist/Strapi.js.map +1 -0
- package/dist/Strapi.mjs +416 -0
- package/dist/Strapi.mjs.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.js +105 -0
- package/dist/configuration/config-loader.js.map +1 -0
- package/dist/configuration/config-loader.mjs +103 -0
- package/dist/configuration/config-loader.mjs.map +1 -0
- package/dist/configuration/get-dirs.js +31 -0
- package/dist/configuration/get-dirs.js.map +1 -0
- package/dist/configuration/get-dirs.mjs +31 -0
- package/dist/configuration/get-dirs.mjs.map +1 -0
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +85 -0
- package/dist/configuration/index.js.map +1 -0
- package/dist/configuration/index.mjs +80 -0
- package/dist/configuration/index.mjs.map +1 -0
- package/dist/configuration/urls.js +68 -0
- package/dist/configuration/urls.js.map +1 -0
- package/dist/configuration/urls.mjs +66 -0
- package/dist/configuration/urls.mjs.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.js +84 -0
- package/dist/core-api/controller/collection-type.js.map +1 -0
- package/dist/core-api/controller/collection-type.mjs +84 -0
- package/dist/core-api/controller/collection-type.mjs.map +1 -0
- package/dist/core-api/controller/index.js +52 -0
- package/dist/core-api/controller/index.js.map +1 -0
- package/dist/core-api/controller/index.mjs +52 -0
- package/dist/core-api/controller/index.mjs.map +1 -0
- package/dist/core-api/controller/single-type.js +46 -0
- package/dist/core-api/controller/single-type.js.map +1 -0
- package/dist/core-api/controller/single-type.mjs +46 -0
- package/dist/core-api/controller/single-type.mjs.map +1 -0
- package/dist/core-api/controller/transform.js +76 -0
- package/dist/core-api/controller/transform.js.map +1 -0
- package/dist/core-api/controller/transform.mjs +76 -0
- package/dist/core-api/controller/transform.mjs.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.js +67 -0
- package/dist/core-api/service/collection-type.js.map +1 -0
- package/dist/core-api/service/collection-type.mjs +67 -0
- package/dist/core-api/service/collection-type.mjs.map +1 -0
- package/dist/core-api/service/core-service.js +12 -0
- package/dist/core-api/service/core-service.js.map +1 -0
- package/dist/core-api/service/core-service.mjs +12 -0
- package/dist/core-api/service/core-service.mjs.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.js +52 -0
- package/dist/core-api/service/pagination.js.map +1 -0
- package/dist/core-api/service/pagination.mjs +52 -0
- package/dist/core-api/service/pagination.mjs.map +1 -0
- package/dist/core-api/service/single-type.js +45 -0
- package/dist/core-api/service/single-type.js.map +1 -0
- package/dist/core-api/service/single-type.mjs +45 -0
- package/dist/core-api/service/single-type.mjs.map +1 -0
- package/dist/domain/content-type/index.js +111 -0
- package/dist/domain/content-type/index.js.map +1 -0
- package/dist/domain/content-type/index.mjs +109 -0
- package/dist/domain/content-type/index.mjs.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.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.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.js +158 -0
- package/dist/ee/index.js.map +1 -0
- package/dist/ee/index.mjs +159 -0
- package/dist/ee/index.mjs.map +1 -0
- package/dist/ee/license.js +91 -0
- package/dist/ee/license.js.map +1 -0
- package/dist/ee/license.mjs +88 -0
- package/dist/ee/license.mjs.map +1 -0
- package/dist/factories.js +80 -0
- package/dist/factories.js.map +1 -0
- package/dist/factories.mjs +80 -0
- package/dist/factories.mjs.map +1 -0
- package/dist/index.js +27 -9954
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -9932
- package/dist/index.mjs.map +1 -1
- package/dist/loaders/admin.js +26 -0
- package/dist/loaders/admin.js.map +1 -0
- package/dist/loaders/admin.mjs +25 -0
- package/dist/loaders/admin.mjs.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.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.js +24 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs +24 -0
- package/dist/loaders/index.mjs.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.js +141 -0
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs +117 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs.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.js +144 -0
- package/dist/loaders/plugins/index.js.map +1 -0
- package/dist/loaders/plugins/index.mjs +125 -0
- package/dist/loaders/plugins/index.mjs.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.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.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.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.map +1 -1
- 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.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.js +53 -0
- package/dist/middlewares/cors.js.map +1 -0
- package/dist/middlewares/cors.mjs +51 -0
- package/dist/middlewares/cors.mjs.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.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.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.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.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.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.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.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.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.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.js +78 -0
- package/dist/middlewares/security.js.map +1 -0
- package/dist/middlewares/security.mjs +76 -0
- package/dist/middlewares/security.mjs.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/migrations/database/5.0.0-discard-drafts.js +109 -0
- package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
- package/dist/migrations/database/5.0.0-discard-drafts.mjs +109 -0
- package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
- package/dist/migrations/draft-publish.d.ts +1 -1
- package/dist/migrations/draft-publish.d.ts.map +1 -1
- package/dist/migrations/draft-publish.js +42 -0
- package/dist/migrations/draft-publish.js.map +1 -0
- package/dist/migrations/draft-publish.mjs +42 -0
- package/dist/migrations/draft-publish.mjs.map +1 -0
- package/dist/migrations/i18n.js +54 -0
- package/dist/migrations/i18n.js.map +1 -0
- package/dist/migrations/i18n.mjs +54 -0
- package/dist/migrations/i18n.mjs.map +1 -0
- package/dist/migrations/index.js +15 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/index.mjs +15 -0
- package/dist/migrations/index.mjs.map +1 -0
- package/dist/providers/admin.js +20 -0
- package/dist/providers/admin.js.map +1 -0
- package/dist/providers/admin.mjs +21 -0
- package/dist/providers/admin.mjs.map +1 -0
- package/dist/providers/coreStore.js +11 -0
- package/dist/providers/coreStore.js.map +1 -0
- package/dist/providers/coreStore.mjs +12 -0
- package/dist/providers/coreStore.mjs.map +1 -0
- package/dist/providers/cron.js +20 -0
- package/dist/providers/cron.js.map +1 -0
- package/dist/providers/cron.mjs +21 -0
- package/dist/providers/cron.mjs.map +1 -0
- package/dist/providers/index.js +11 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/index.mjs +11 -0
- package/dist/providers/index.mjs.map +1 -0
- package/dist/providers/provider.js +5 -0
- package/dist/providers/provider.js.map +1 -0
- package/dist/providers/provider.mjs +5 -0
- package/dist/providers/provider.mjs.map +1 -0
- package/dist/providers/registries.js +35 -0
- package/dist/providers/registries.js.map +1 -0
- package/dist/providers/registries.mjs +36 -0
- package/dist/providers/registries.mjs.map +1 -0
- package/dist/providers/telemetry.js +19 -0
- package/dist/providers/telemetry.js.map +1 -0
- package/dist/providers/telemetry.mjs +20 -0
- package/dist/providers/telemetry.mjs.map +1 -0
- package/dist/providers/webhooks.js +30 -0
- package/dist/providers/webhooks.js.map +1 -0
- package/dist/providers/webhooks.mjs +31 -0
- package/dist/providers/webhooks.mjs.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.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/content-types.js +70 -0
- package/dist/registries/content-types.js.map +1 -0
- package/dist/registries/content-types.mjs +71 -0
- package/dist/registries/content-types.mjs.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.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.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/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.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.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.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.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.js +108 -0
- package/dist/registries/policies.js.map +1 -0
- package/dist/registries/policies.mjs +109 -0
- package/dist/registries/policies.mjs.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.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.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.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/config.js +47 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/config.mjs +47 -0
- package/dist/services/config.mjs.map +1 -0
- package/dist/services/content-api/index.js +85 -0
- package/dist/services/content-api/index.js.map +1 -0
- package/dist/services/content-api/index.mjs +84 -0
- package/dist/services/content-api/index.mjs.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.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.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.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/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.js +67 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/cron.mjs +68 -0
- package/dist/services/cron.mjs.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/attributes/index.js +22 -0
- package/dist/services/document-service/attributes/index.js.map +1 -0
- package/dist/services/document-service/attributes/index.mjs +22 -0
- package/dist/services/document-service/attributes/index.mjs.map +1 -0
- package/dist/services/document-service/attributes/transforms.js +20 -0
- package/dist/services/document-service/attributes/transforms.js.map +1 -0
- package/dist/services/document-service/attributes/transforms.mjs +19 -0
- package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
- package/dist/services/document-service/common.js +7 -0
- package/dist/services/document-service/common.js.map +1 -0
- package/dist/services/document-service/common.mjs +7 -0
- package/dist/services/document-service/common.mjs.map +1 -0
- package/dist/services/document-service/components.js +288 -0
- package/dist/services/document-service/components.js.map +1 -0
- package/dist/services/document-service/components.mjs +286 -0
- package/dist/services/document-service/components.mjs.map +1 -0
- package/dist/services/document-service/draft-and-publish.d.ts +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
- package/dist/services/document-service/draft-and-publish.js +69 -0
- package/dist/services/document-service/draft-and-publish.js.map +1 -0
- package/dist/services/document-service/draft-and-publish.mjs +69 -0
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
- package/dist/services/document-service/entries.js +95 -0
- package/dist/services/document-service/entries.js.map +1 -0
- package/dist/services/document-service/entries.mjs +95 -0
- package/dist/services/document-service/entries.mjs.map +1 -0
- package/dist/services/document-service/events.d.ts +1 -1
- package/dist/services/document-service/events.d.ts.map +1 -1
- package/dist/services/document-service/events.js +47 -0
- package/dist/services/document-service/events.js.map +1 -0
- package/dist/services/document-service/events.mjs +47 -0
- package/dist/services/document-service/events.mjs.map +1 -0
- package/dist/services/document-service/index.js +36 -0
- package/dist/services/document-service/index.js.map +1 -0
- package/dist/services/document-service/index.mjs +36 -0
- package/dist/services/document-service/index.mjs.map +1 -0
- package/dist/services/document-service/internationalization.js +63 -0
- package/dist/services/document-service/internationalization.js.map +1 -0
- package/dist/services/document-service/internationalization.mjs +63 -0
- package/dist/services/document-service/internationalization.mjs.map +1 -0
- package/dist/services/document-service/middlewares/errors.js +25 -0
- package/dist/services/document-service/middlewares/errors.js.map +1 -0
- package/dist/services/document-service/middlewares/errors.mjs +25 -0
- package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
- package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
- package/dist/services/document-service/params.js +8 -0
- package/dist/services/document-service/params.js.map +1 -0
- package/dist/services/document-service/params.mjs +8 -0
- package/dist/services/document-service/params.mjs.map +1 -0
- package/dist/services/document-service/repository.js +332 -0
- package/dist/services/document-service/repository.js.map +1 -0
- package/dist/services/document-service/repository.mjs +332 -0
- package/dist/services/document-service/repository.mjs.map +1 -0
- package/dist/services/document-service/transform/data.js +15 -0
- package/dist/services/document-service/transform/data.js.map +1 -0
- package/dist/services/document-service/transform/data.mjs +15 -0
- package/dist/services/document-service/transform/data.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.js +24 -0
- package/dist/services/document-service/transform/fields.js.map +1 -0
- package/dist/services/document-service/transform/fields.mjs +24 -0
- package/dist/services/document-service/transform/fields.mjs.map +1 -0
- package/dist/services/document-service/transform/id-map.d.ts +1 -1
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-map.js +85 -0
- package/dist/services/document-service/transform/id-map.js.map +1 -0
- package/dist/services/document-service/transform/id-map.mjs +85 -0
- package/dist/services/document-service/transform/id-map.mjs.map +1 -0
- package/dist/services/document-service/transform/id-transform.d.ts +1 -1
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-transform.js +33 -0
- package/dist/services/document-service/transform/id-transform.js.map +1 -0
- package/dist/services/document-service/transform/id-transform.mjs +33 -0
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
- package/dist/services/document-service/transform/populate.js +21 -0
- package/dist/services/document-service/transform/populate.js.map +1 -0
- package/dist/services/document-service/transform/populate.mjs +21 -0
- package/dist/services/document-service/transform/populate.mjs.map +1 -0
- package/dist/services/document-service/transform/query.js +9 -0
- package/dist/services/document-service/transform/query.js.map +1 -0
- package/dist/services/document-service/transform/query.mjs +9 -0
- package/dist/services/document-service/transform/query.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.js +64 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs +64 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js +85 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs +85 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
- package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.js +84 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs +84 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +1 -1
- package/dist/services/document-service/utils/populate.d.ts.map +1 -1
- package/dist/services/document-service/utils/populate.js +47 -0
- package/dist/services/document-service/utils/populate.js.map +1 -0
- package/dist/services/document-service/utils/populate.mjs +47 -0
- package/dist/services/document-service/utils/populate.mjs.map +1 -0
- package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.js +68 -0
- package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
- package/dist/services/document-service/utils/unidirectional-relations.mjs +68 -0
- package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
- package/dist/services/entity-service/index.js +169 -0
- package/dist/services/entity-service/index.js.map +1 -0
- package/dist/services/entity-service/index.mjs +167 -0
- package/dist/services/entity-service/index.mjs.map +1 -0
- package/dist/services/entity-validator/blocks-validator.js +128 -0
- package/dist/services/entity-validator/blocks-validator.js.map +1 -0
- package/dist/services/entity-validator/blocks-validator.mjs +128 -0
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
- package/dist/services/entity-validator/index.d.ts +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +389 -0
- package/dist/services/entity-validator/index.js.map +1 -0
- package/dist/services/entity-validator/index.mjs +388 -0
- package/dist/services/entity-validator/index.mjs.map +1 -0
- package/dist/services/entity-validator/validators.js +241 -0
- package/dist/services/entity-validator/validators.js.map +1 -0
- package/dist/services/entity-validator/validators.mjs +239 -0
- package/dist/services/entity-validator/validators.mjs.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.js +72 -0
- package/dist/services/event-hub.js.map +1 -0
- package/dist/services/event-hub.mjs +73 -0
- package/dist/services/event-hub.mjs.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.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.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.js +44 -0
- package/dist/services/metrics/index.js.map +1 -0
- package/dist/services/metrics/index.mjs +45 -0
- package/dist/services/metrics/index.mjs.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.js +27 -0
- package/dist/services/metrics/middleware.js.map +1 -0
- package/dist/services/metrics/middleware.mjs +28 -0
- package/dist/services/metrics/middleware.mjs.map +1 -0
- package/dist/services/metrics/rate-limiter.js +24 -0
- package/dist/services/metrics/rate-limiter.js.map +1 -0
- package/dist/services/metrics/rate-limiter.mjs +25 -0
- package/dist/services/metrics/rate-limiter.mjs.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/query-params.js +12 -0
- package/dist/services/query-params.js.map +1 -0
- package/dist/services/query-params.mjs +13 -0
- package/dist/services/query-params.mjs.map +1 -0
- package/dist/services/reloader.js +36 -0
- package/dist/services/reloader.js.map +1 -0
- package/dist/services/reloader.mjs +36 -0
- package/dist/services/reloader.mjs.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.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.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.js +117 -0
- package/dist/services/server/compose-endpoint.js.map +1 -0
- package/dist/services/server/compose-endpoint.mjs +116 -0
- package/dist/services/server/compose-endpoint.mjs.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.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.js +87 -0
- package/dist/services/server/index.js.map +1 -0
- package/dist/services/server/index.mjs +85 -0
- package/dist/services/server/index.mjs.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.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.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.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.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.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.js +17 -0
- package/dist/services/utils/dynamic-zones.js.map +1 -0
- package/dist/services/utils/dynamic-zones.mjs +18 -0
- package/dist/services/utils/dynamic-zones.mjs.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.js +110 -0
- package/dist/services/webhook-store.js.map +1 -0
- package/dist/services/webhook-store.mjs +110 -0
- package/dist/services/webhook-store.mjs.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.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.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/fetch.js +21 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/fetch.mjs +21 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/filepath-to-prop-path.js +33 -0
- package/dist/utils/filepath-to-prop-path.js.map +1 -0
- package/dist/utils/filepath-to-prop-path.mjs +30 -0
- package/dist/utils/filepath-to-prop-path.mjs.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.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.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.js +38 -0
- package/dist/utils/load-files.js.map +1 -0
- package/dist/utils/load-files.mjs +34 -0
- package/dist/utils/load-files.mjs.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/resolve-working-dirs.js +13 -0
- package/dist/utils/resolve-working-dirs.js.map +1 -0
- package/dist/utils/resolve-working-dirs.mjs +11 -0
- package/dist/utils/resolve-working-dirs.mjs.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.js +86 -0
- package/dist/utils/startup-logger.js.map +1 -0
- package/dist/utils/startup-logger.mjs +82 -0
- package/dist/utils/startup-logger.mjs.map +1 -0
- package/dist/utils/transform-content-types-to-models.js +288 -0
- package/dist/utils/transform-content-types-to-models.js.map +1 -0
- package/dist/utils/transform-content-types-to-models.mjs +285 -0
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
- package/dist/utils/update-notifier/index.d.ts.map +1 -1
- package/dist/utils/update-notifier/index.js +85 -0
- package/dist/utils/update-notifier/index.js.map +1 -0
- package/dist/utils/update-notifier/index.mjs +78 -0
- package/dist/utils/update-notifier/index.mjs.map +1 -0
- package/package.json +22 -22
@@ -0,0 +1,60 @@
|
|
1
|
+
"use strict";
|
2
|
+
const fp = require("lodash/fp");
|
3
|
+
const namespace = require("./namespace.js");
|
4
|
+
const middlewaresRegistry = () => {
|
5
|
+
const middlewares = {};
|
6
|
+
return {
|
7
|
+
/**
|
8
|
+
* Returns this list of registered middlewares uids
|
9
|
+
*/
|
10
|
+
keys() {
|
11
|
+
return Object.keys(middlewares);
|
12
|
+
},
|
13
|
+
/**
|
14
|
+
* Returns the instance of a middleware. Instantiate the middleware if not already done
|
15
|
+
*/
|
16
|
+
get(uid) {
|
17
|
+
return middlewares[uid];
|
18
|
+
},
|
19
|
+
/**
|
20
|
+
* Returns a map with all the middlewares in a namespace
|
21
|
+
*/
|
22
|
+
getAll(namespace$1) {
|
23
|
+
return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(middlewares);
|
24
|
+
},
|
25
|
+
/**
|
26
|
+
* Registers a middleware
|
27
|
+
*/
|
28
|
+
set(uid, middleware) {
|
29
|
+
middlewares[uid] = middleware;
|
30
|
+
return this;
|
31
|
+
},
|
32
|
+
/**
|
33
|
+
* Registers a map of middlewares for a specific namespace
|
34
|
+
*/
|
35
|
+
add(namespace$1, rawMiddlewares = {}) {
|
36
|
+
for (const middlewareName of Object.keys(rawMiddlewares)) {
|
37
|
+
const middleware = rawMiddlewares[middlewareName];
|
38
|
+
const uid = namespace.addNamespace(middlewareName, namespace$1);
|
39
|
+
if (fp.has(uid, middlewares)) {
|
40
|
+
throw new Error(`Middleware ${uid} has already been registered.`);
|
41
|
+
}
|
42
|
+
middlewares[uid] = middleware;
|
43
|
+
}
|
44
|
+
},
|
45
|
+
/**
|
46
|
+
* Wraps a middleware to extend it
|
47
|
+
*/
|
48
|
+
extend(uid, extendFn) {
|
49
|
+
const currentMiddleware = this.get(uid);
|
50
|
+
if (!currentMiddleware) {
|
51
|
+
throw new Error(`Middleware ${uid} doesn't exist`);
|
52
|
+
}
|
53
|
+
const newMiddleware = extendFn(currentMiddleware);
|
54
|
+
middlewares[uid] = newMiddleware;
|
55
|
+
return this;
|
56
|
+
}
|
57
|
+
};
|
58
|
+
};
|
59
|
+
module.exports = middlewaresRegistry;
|
60
|
+
//# sourceMappingURL=middlewares.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"middlewares.js","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Core.Middleware) => Core.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<UID.Middleware, Core.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: UID.Middleware, middleware: Core.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Core.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":["namespace","pickBy","hasNamespace","addNamespace","has"],"mappings":";;;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAuD,CAAC;AAEvD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACvB,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,GAAA,OAAO,CAAC,GAAG,QAAQC,uBAAa,KAAKF,WAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,YAA6B;AACpD,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,iBAAkD,IAAI;AAC3E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAMG,UAAAA,aAAa,gBAAgBH,WAAS;AAE9C,YAAAI,GAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAAA;AAElE,oBAAY,GAAG,IAAI;AAAA,MAAA;AAAA,IAEvB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAqB,UAA8B;AAClD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MAAA;AAG7C,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;;"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import { pickBy, has } from "lodash/fp";
|
2
|
+
import { hasNamespace, addNamespace } from "./namespace.mjs";
|
3
|
+
const middlewaresRegistry = () => {
|
4
|
+
const middlewares = {};
|
5
|
+
return {
|
6
|
+
/**
|
7
|
+
* Returns this list of registered middlewares uids
|
8
|
+
*/
|
9
|
+
keys() {
|
10
|
+
return Object.keys(middlewares);
|
11
|
+
},
|
12
|
+
/**
|
13
|
+
* Returns the instance of a middleware. Instantiate the middleware if not already done
|
14
|
+
*/
|
15
|
+
get(uid) {
|
16
|
+
return middlewares[uid];
|
17
|
+
},
|
18
|
+
/**
|
19
|
+
* Returns a map with all the middlewares in a namespace
|
20
|
+
*/
|
21
|
+
getAll(namespace) {
|
22
|
+
return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);
|
23
|
+
},
|
24
|
+
/**
|
25
|
+
* Registers a middleware
|
26
|
+
*/
|
27
|
+
set(uid, middleware) {
|
28
|
+
middlewares[uid] = middleware;
|
29
|
+
return this;
|
30
|
+
},
|
31
|
+
/**
|
32
|
+
* Registers a map of middlewares for a specific namespace
|
33
|
+
*/
|
34
|
+
add(namespace, rawMiddlewares = {}) {
|
35
|
+
for (const middlewareName of Object.keys(rawMiddlewares)) {
|
36
|
+
const middleware = rawMiddlewares[middlewareName];
|
37
|
+
const uid = addNamespace(middlewareName, namespace);
|
38
|
+
if (has(uid, middlewares)) {
|
39
|
+
throw new Error(`Middleware ${uid} has already been registered.`);
|
40
|
+
}
|
41
|
+
middlewares[uid] = middleware;
|
42
|
+
}
|
43
|
+
},
|
44
|
+
/**
|
45
|
+
* Wraps a middleware to extend it
|
46
|
+
*/
|
47
|
+
extend(uid, extendFn) {
|
48
|
+
const currentMiddleware = this.get(uid);
|
49
|
+
if (!currentMiddleware) {
|
50
|
+
throw new Error(`Middleware ${uid} doesn't exist`);
|
51
|
+
}
|
52
|
+
const newMiddleware = extendFn(currentMiddleware);
|
53
|
+
middlewares[uid] = newMiddleware;
|
54
|
+
return this;
|
55
|
+
}
|
56
|
+
};
|
57
|
+
};
|
58
|
+
export {
|
59
|
+
middlewaresRegistry as default
|
60
|
+
};
|
61
|
+
//# sourceMappingURL=middlewares.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"middlewares.mjs","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Core.Middleware) => Core.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<UID.Middleware, Core.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: UID.Middleware, middleware: Core.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Core.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":[],"mappings":";;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAuD,CAAC;AAEvD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACvB,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,YAA6B;AACpD,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,iBAAkD,IAAI;AAC3E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAM,aAAa,gBAAgB,SAAS;AAE9C,YAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAAA;AAElE,oBAAY,GAAG,IAAI;AAAA,MAAA;AAAA,IAEvB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAqB,UAA8B;AAClD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MAAA;AAG7C,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const registry = () => {
|
4
|
+
const models = [];
|
5
|
+
return {
|
6
|
+
add(model) {
|
7
|
+
models.push(model);
|
8
|
+
return this;
|
9
|
+
},
|
10
|
+
get() {
|
11
|
+
return models;
|
12
|
+
}
|
13
|
+
};
|
14
|
+
};
|
15
|
+
exports.registry = registry;
|
16
|
+
//# sourceMappingURL=models.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"models.js","sources":["../../src/registries/models.ts"],"sourcesContent":["import { Model } from '@strapi/database';\n\nexport const registry = () => {\n const models: Model[] = [];\n\n return {\n add(model: Model) {\n models.push(model);\n return this;\n },\n\n get() {\n return models;\n },\n };\n};\n"],"names":[],"mappings":";;AAEO,MAAM,WAAW,MAAM;AAC5B,QAAM,SAAkB,CAAC;AAElB,SAAA;AAAA,IACL,IAAI,OAAc;AAChB,aAAO,KAAK,KAAK;AACV,aAAA;AAAA,IACT;AAAA,IAEA,MAAM;AACG,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"models.mjs","sources":["../../src/registries/models.ts"],"sourcesContent":["import { Model } from '@strapi/database';\n\nexport const registry = () => {\n const models: Model[] = [];\n\n return {\n add(model: Model) {\n models.push(model);\n return this;\n },\n\n get() {\n return models;\n },\n };\n};\n"],"names":[],"mappings":"AAEO,MAAM,WAAW,MAAM;AAC5B,QAAM,SAAkB,CAAC;AAElB,SAAA;AAAA,IACL,IAAI,OAAc;AAChB,aAAO,KAAK,KAAK;AACV,aAAA;AAAA,IACT;AAAA,IAEA,MAAM;AACG,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
const fp = require("lodash/fp");
|
3
|
+
const index = require("../domain/module/index.js");
|
4
|
+
const modulesRegistry = (strapi) => {
|
5
|
+
const modules = {};
|
6
|
+
return {
|
7
|
+
get(namespace) {
|
8
|
+
return modules[namespace];
|
9
|
+
},
|
10
|
+
getAll(prefix = "") {
|
11
|
+
return fp.pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
|
12
|
+
},
|
13
|
+
add(namespace, rawModule) {
|
14
|
+
if (fp.has(namespace, modules)) {
|
15
|
+
throw new Error(`Module ${namespace} has already been registered.`);
|
16
|
+
}
|
17
|
+
modules[namespace] = index.createModule(namespace, rawModule, strapi);
|
18
|
+
modules[namespace].load();
|
19
|
+
return modules[namespace];
|
20
|
+
},
|
21
|
+
async bootstrap() {
|
22
|
+
for (const mod of Object.values(modules)) {
|
23
|
+
await mod.bootstrap();
|
24
|
+
}
|
25
|
+
},
|
26
|
+
async register() {
|
27
|
+
for (const mod of Object.values(modules)) {
|
28
|
+
await mod.register();
|
29
|
+
}
|
30
|
+
},
|
31
|
+
async destroy() {
|
32
|
+
for (const mod of Object.values(modules)) {
|
33
|
+
await mod.destroy();
|
34
|
+
}
|
35
|
+
}
|
36
|
+
};
|
37
|
+
};
|
38
|
+
module.exports = modulesRegistry;
|
39
|
+
//# sourceMappingURL=modules.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"modules.js","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Core.Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":["pickBy","has","createModule"],"mappings":";;;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAC;AAErB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAAA,GAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAAC,GAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MAAA;AAGpE,cAAQ,SAAS,IAAIC,MAAAA,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE,KAAK;AAExB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,UAAU;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,QAAQ;AAAA,MAAA;AAAA,IACpB;AAAA,EAEJ;AACF;;"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { pickBy, has } from "lodash/fp";
|
2
|
+
import { createModule } from "../domain/module/index.mjs";
|
3
|
+
const modulesRegistry = (strapi) => {
|
4
|
+
const modules = {};
|
5
|
+
return {
|
6
|
+
get(namespace) {
|
7
|
+
return modules[namespace];
|
8
|
+
},
|
9
|
+
getAll(prefix = "") {
|
10
|
+
return pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
|
11
|
+
},
|
12
|
+
add(namespace, rawModule) {
|
13
|
+
if (has(namespace, modules)) {
|
14
|
+
throw new Error(`Module ${namespace} has already been registered.`);
|
15
|
+
}
|
16
|
+
modules[namespace] = createModule(namespace, rawModule, strapi);
|
17
|
+
modules[namespace].load();
|
18
|
+
return modules[namespace];
|
19
|
+
},
|
20
|
+
async bootstrap() {
|
21
|
+
for (const mod of Object.values(modules)) {
|
22
|
+
await mod.bootstrap();
|
23
|
+
}
|
24
|
+
},
|
25
|
+
async register() {
|
26
|
+
for (const mod of Object.values(modules)) {
|
27
|
+
await mod.register();
|
28
|
+
}
|
29
|
+
},
|
30
|
+
async destroy() {
|
31
|
+
for (const mod of Object.values(modules)) {
|
32
|
+
await mod.destroy();
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
36
|
+
};
|
37
|
+
export {
|
38
|
+
modulesRegistry as default
|
39
|
+
};
|
40
|
+
//# sourceMappingURL=modules.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"modules.mjs","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Core.Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":[],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAC;AAErB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MAAA;AAGpE,cAAQ,SAAS,IAAI,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE,KAAK;AAExB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,UAAU;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,QAAQ;AAAA,MAAA;AAAA,IACpB;AAAA,EAEJ;AACF;"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const hasNamespace = (name, namespace) => {
|
4
|
+
if (!namespace) {
|
5
|
+
return true;
|
6
|
+
}
|
7
|
+
if (namespace.endsWith("::")) {
|
8
|
+
return name.startsWith(namespace);
|
9
|
+
}
|
10
|
+
return name.startsWith(`${namespace}.`);
|
11
|
+
};
|
12
|
+
const addNamespace = (name, namespace) => {
|
13
|
+
if (namespace.endsWith("::")) {
|
14
|
+
return `${namespace}${name}`;
|
15
|
+
}
|
16
|
+
return `${namespace}.${name}`;
|
17
|
+
};
|
18
|
+
const removeNamespace = (name, namespace) => {
|
19
|
+
if (namespace.endsWith("::")) {
|
20
|
+
return name.replace(namespace, "");
|
21
|
+
}
|
22
|
+
return name.replace(`${namespace}.`, "");
|
23
|
+
};
|
24
|
+
exports.addNamespace = addNamespace;
|
25
|
+
exports.hasNamespace = hasNamespace;
|
26
|
+
exports.removeNamespace = removeNamespace;
|
27
|
+
//# sourceMappingURL=namespace.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"namespace.js","sources":["../../src/registries/namespace.ts"],"sourcesContent":["const hasNamespace = (name: string, namespace: string) => {\n if (!namespace) {\n return true;\n }\n\n if (namespace.endsWith('::')) {\n return name.startsWith(namespace);\n }\n return name.startsWith(`${namespace}.`);\n};\n\nconst addNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return `${namespace}${name}`;\n }\n return `${namespace}.${name}`;\n};\n\nconst removeNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return name.replace(namespace, '');\n }\n return name.replace(`${namespace}.`, '');\n};\n\nexport { addNamespace, removeNamespace, hasNamespace };\n"],"names":[],"mappings":";;AAAM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACxD,MAAI,CAAC,WAAW;AACP,WAAA;AAAA,EAAA;AAGL,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,WAAW,SAAS;AAAA,EAAA;AAElC,SAAO,KAAK,WAAW,GAAG,SAAS,GAAG;AACxC;AAEM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACpD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,GAAG,SAAS,GAAG,IAAI;AAAA,EAAA;AAErB,SAAA,GAAG,SAAS,IAAI,IAAI;AAC7B;AAEM,MAAA,kBAAkB,CAAC,MAAc,cAAsB;AACvD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,QAAQ,WAAW,EAAE;AAAA,EAAA;AAEnC,SAAO,KAAK,QAAQ,GAAG,SAAS,KAAK,EAAE;AACzC;;;;"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
const hasNamespace = (name, namespace) => {
|
2
|
+
if (!namespace) {
|
3
|
+
return true;
|
4
|
+
}
|
5
|
+
if (namespace.endsWith("::")) {
|
6
|
+
return name.startsWith(namespace);
|
7
|
+
}
|
8
|
+
return name.startsWith(`${namespace}.`);
|
9
|
+
};
|
10
|
+
const addNamespace = (name, namespace) => {
|
11
|
+
if (namespace.endsWith("::")) {
|
12
|
+
return `${namespace}${name}`;
|
13
|
+
}
|
14
|
+
return `${namespace}.${name}`;
|
15
|
+
};
|
16
|
+
const removeNamespace = (name, namespace) => {
|
17
|
+
if (namespace.endsWith("::")) {
|
18
|
+
return name.replace(namespace, "");
|
19
|
+
}
|
20
|
+
return name.replace(`${namespace}.`, "");
|
21
|
+
};
|
22
|
+
export {
|
23
|
+
addNamespace,
|
24
|
+
hasNamespace,
|
25
|
+
removeNamespace
|
26
|
+
};
|
27
|
+
//# sourceMappingURL=namespace.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"namespace.mjs","sources":["../../src/registries/namespace.ts"],"sourcesContent":["const hasNamespace = (name: string, namespace: string) => {\n if (!namespace) {\n return true;\n }\n\n if (namespace.endsWith('::')) {\n return name.startsWith(namespace);\n }\n return name.startsWith(`${namespace}.`);\n};\n\nconst addNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return `${namespace}${name}`;\n }\n return `${namespace}.${name}`;\n};\n\nconst removeNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return name.replace(namespace, '');\n }\n return name.replace(`${namespace}.`, '');\n};\n\nexport { addNamespace, removeNamespace, hasNamespace };\n"],"names":[],"mappings":"AAAM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACxD,MAAI,CAAC,WAAW;AACP,WAAA;AAAA,EAAA;AAGL,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,WAAW,SAAS;AAAA,EAAA;AAElC,SAAO,KAAK,WAAW,GAAG,SAAS,GAAG;AACxC;AAEM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACpD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,GAAG,SAAS,GAAG,IAAI;AAAA,EAAA;AAErB,SAAA,GAAG,SAAS,IAAI,IAAI;AAC7B;AAEM,MAAA,kBAAkB,CAAC,MAAc,cAAsB;AACvD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,QAAQ,WAAW,EAAE;AAAA,EAAA;AAEnC,SAAO,KAAK,QAAQ,GAAG,SAAS,KAAK,EAAE;AACzC;"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
const fp = require("lodash/fp");
|
3
|
+
const pluginsRegistry = (strapi) => {
|
4
|
+
const plugins = {};
|
5
|
+
return {
|
6
|
+
get(name) {
|
7
|
+
return plugins[name];
|
8
|
+
},
|
9
|
+
getAll() {
|
10
|
+
return plugins;
|
11
|
+
},
|
12
|
+
add(name, pluginConfig) {
|
13
|
+
if (fp.has(name, plugins)) {
|
14
|
+
throw new Error(`Plugin ${name} has already been registered.`);
|
15
|
+
}
|
16
|
+
const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
|
17
|
+
plugins[name] = pluginModule;
|
18
|
+
return plugins[name];
|
19
|
+
}
|
20
|
+
};
|
21
|
+
};
|
22
|
+
module.exports = pluginsRegistry;
|
23
|
+
//# sourceMappingURL=plugins.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugins.js","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":["has"],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAC;AAErB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA2B;AACvC,UAAAA,GAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAAA;AAGzD,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IAAA;AAAA,EAEvB;AACF;;"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { has } from "lodash/fp";
|
2
|
+
const pluginsRegistry = (strapi) => {
|
3
|
+
const plugins = {};
|
4
|
+
return {
|
5
|
+
get(name) {
|
6
|
+
return plugins[name];
|
7
|
+
},
|
8
|
+
getAll() {
|
9
|
+
return plugins;
|
10
|
+
},
|
11
|
+
add(name, pluginConfig) {
|
12
|
+
if (has(name, plugins)) {
|
13
|
+
throw new Error(`Plugin ${name} has already been registered.`);
|
14
|
+
}
|
15
|
+
const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
|
16
|
+
plugins[name] = pluginModule;
|
17
|
+
return plugins[name];
|
18
|
+
}
|
19
|
+
};
|
20
|
+
};
|
21
|
+
export {
|
22
|
+
pluginsRegistry as default
|
23
|
+
};
|
24
|
+
//# sourceMappingURL=plugins.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":[],"mappings":";AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAC;AAErB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA2B;AACvC,UAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAAA;AAGzD,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IAAA;AAAA,EAEvB;AACF;"}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
"use strict";
|
2
|
+
const fp = require("lodash/fp");
|
3
|
+
const namespace = require("./namespace.js");
|
4
|
+
const PLUGIN_PREFIX = "plugin::";
|
5
|
+
const API_PREFIX = "api::";
|
6
|
+
const parsePolicy = (policy) => {
|
7
|
+
if (typeof policy === "string") {
|
8
|
+
return { policyName: policy, config: {} };
|
9
|
+
}
|
10
|
+
const { name, config } = policy;
|
11
|
+
return { policyName: name, config };
|
12
|
+
};
|
13
|
+
const policiesRegistry = () => {
|
14
|
+
const policies = /* @__PURE__ */ new Map();
|
15
|
+
const find = (name, namespaceInfo) => {
|
16
|
+
const { pluginName, apiName } = namespaceInfo ?? {};
|
17
|
+
const policy = policies.get(name);
|
18
|
+
if (policy) {
|
19
|
+
return policy;
|
20
|
+
}
|
21
|
+
if (pluginName) {
|
22
|
+
return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
|
23
|
+
}
|
24
|
+
if (apiName) {
|
25
|
+
return policies.get(`${API_PREFIX}${apiName}.${name}`);
|
26
|
+
}
|
27
|
+
};
|
28
|
+
function resolveHandler(policyConfig, namespaceInfo) {
|
29
|
+
if (Array.isArray(policyConfig)) {
|
30
|
+
return policyConfig.map((config2) => {
|
31
|
+
return resolveHandler(config2, namespaceInfo);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
const { policyName, config } = parsePolicy(policyConfig);
|
35
|
+
const policy = find(policyName, namespaceInfo);
|
36
|
+
if (!policy) {
|
37
|
+
throw new Error(`Policy ${policyName} not found.`);
|
38
|
+
}
|
39
|
+
if (typeof policy === "function") {
|
40
|
+
return policy;
|
41
|
+
}
|
42
|
+
if (policy.validator) {
|
43
|
+
policy.validator(config);
|
44
|
+
}
|
45
|
+
return policy.handler;
|
46
|
+
}
|
47
|
+
return {
|
48
|
+
/**
|
49
|
+
* Returns this list of registered policies uids
|
50
|
+
*/
|
51
|
+
keys() {
|
52
|
+
return Array.from(policies.keys());
|
53
|
+
},
|
54
|
+
/**
|
55
|
+
* Returns the instance of a policy. Instantiate the policy if not already done
|
56
|
+
*/
|
57
|
+
get(name, namespaceInfo) {
|
58
|
+
return find(name, namespaceInfo);
|
59
|
+
},
|
60
|
+
/**
|
61
|
+
* Checks if a policy is registered
|
62
|
+
*/
|
63
|
+
has(name, namespaceInfo) {
|
64
|
+
const res = find(name, namespaceInfo);
|
65
|
+
return !!res;
|
66
|
+
},
|
67
|
+
/**
|
68
|
+
* Returns a map with all the policies in a namespace
|
69
|
+
*/
|
70
|
+
getAll(namespace$1) {
|
71
|
+
return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
|
72
|
+
},
|
73
|
+
/**
|
74
|
+
* Registers a policy
|
75
|
+
*/
|
76
|
+
set(uid, policy) {
|
77
|
+
policies.set(uid, policy);
|
78
|
+
return this;
|
79
|
+
},
|
80
|
+
/**
|
81
|
+
* Registers a map of policies for a specific namespace
|
82
|
+
*/
|
83
|
+
add(namespace$1, newPolicies) {
|
84
|
+
for (const policyName of Object.keys(newPolicies)) {
|
85
|
+
const policy = newPolicies[policyName];
|
86
|
+
const uid = namespace.addNamespace(policyName, namespace$1);
|
87
|
+
if (fp.has(uid, policies)) {
|
88
|
+
throw new Error(`Policy ${uid} has already been registered.`);
|
89
|
+
}
|
90
|
+
policies.set(uid, policy);
|
91
|
+
}
|
92
|
+
},
|
93
|
+
/**
|
94
|
+
* Resolves a list of policies
|
95
|
+
*/
|
96
|
+
resolve(config, namespaceInfo) {
|
97
|
+
const { pluginName, apiName } = namespaceInfo ?? {};
|
98
|
+
return fp.castArray(config).map((policyConfig) => {
|
99
|
+
return {
|
100
|
+
handler: resolveHandler(policyConfig, { pluginName, apiName }),
|
101
|
+
config: typeof policyConfig === "object" && policyConfig.config || {}
|
102
|
+
};
|
103
|
+
});
|
104
|
+
}
|
105
|
+
};
|
106
|
+
};
|
107
|
+
module.exports = policiesRegistry;
|
108
|
+
//# sourceMappingURL=policies.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"policies.js","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config","namespace","pickBy","hasNamespace","addNamespace","has","castArray"],"mappings":";;;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAA,EAAG;AAAA,EAAA;AAGpC,QAAA,EAAE,MAAM,OAAA,IAAW;AAClB,SAAA,EAAE,YAAY,MAAM,OAAO;AACpC;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe,IAAyB;AAExC,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAG5C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IAAA;AAGT,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAAA;AAG7D,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IAAA;AAAA,EAEzD;AAOS,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IAAA;AAGH,UAAM,EAAE,YAAY,WAAW,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IAAA;AAG/C,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IAAA;AAGT,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IAAA;AAGzB,WAAO,OAAO;AAAA,EAAA;AAGT,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAA,CAAM;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOC,aAAmB;AACxB,aAAOC,UAAO,CAAC,GAAG,QAAQC,UAAAA,aAAa,KAAKF,WAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAMG,UAAAA,aAAa,YAAYH,WAAS;AAE1C,YAAAI,GAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAAA;AAGrD,iBAAA,IAAI,KAAK,MAAM;AAAA,MAAA;AAAA,IAE5B;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAElD,aAAOC,GAAU,UAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAA;AAAA,QACvE;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF;;"}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
import { pickBy, has, castArray } from "lodash/fp";
|
2
|
+
import { hasNamespace, addNamespace } from "./namespace.mjs";
|
3
|
+
const PLUGIN_PREFIX = "plugin::";
|
4
|
+
const API_PREFIX = "api::";
|
5
|
+
const parsePolicy = (policy) => {
|
6
|
+
if (typeof policy === "string") {
|
7
|
+
return { policyName: policy, config: {} };
|
8
|
+
}
|
9
|
+
const { name, config } = policy;
|
10
|
+
return { policyName: name, config };
|
11
|
+
};
|
12
|
+
const policiesRegistry = () => {
|
13
|
+
const policies = /* @__PURE__ */ new Map();
|
14
|
+
const find = (name, namespaceInfo) => {
|
15
|
+
const { pluginName, apiName } = namespaceInfo ?? {};
|
16
|
+
const policy = policies.get(name);
|
17
|
+
if (policy) {
|
18
|
+
return policy;
|
19
|
+
}
|
20
|
+
if (pluginName) {
|
21
|
+
return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
|
22
|
+
}
|
23
|
+
if (apiName) {
|
24
|
+
return policies.get(`${API_PREFIX}${apiName}.${name}`);
|
25
|
+
}
|
26
|
+
};
|
27
|
+
function resolveHandler(policyConfig, namespaceInfo) {
|
28
|
+
if (Array.isArray(policyConfig)) {
|
29
|
+
return policyConfig.map((config2) => {
|
30
|
+
return resolveHandler(config2, namespaceInfo);
|
31
|
+
});
|
32
|
+
}
|
33
|
+
const { policyName, config } = parsePolicy(policyConfig);
|
34
|
+
const policy = find(policyName, namespaceInfo);
|
35
|
+
if (!policy) {
|
36
|
+
throw new Error(`Policy ${policyName} not found.`);
|
37
|
+
}
|
38
|
+
if (typeof policy === "function") {
|
39
|
+
return policy;
|
40
|
+
}
|
41
|
+
if (policy.validator) {
|
42
|
+
policy.validator(config);
|
43
|
+
}
|
44
|
+
return policy.handler;
|
45
|
+
}
|
46
|
+
return {
|
47
|
+
/**
|
48
|
+
* Returns this list of registered policies uids
|
49
|
+
*/
|
50
|
+
keys() {
|
51
|
+
return Array.from(policies.keys());
|
52
|
+
},
|
53
|
+
/**
|
54
|
+
* Returns the instance of a policy. Instantiate the policy if not already done
|
55
|
+
*/
|
56
|
+
get(name, namespaceInfo) {
|
57
|
+
return find(name, namespaceInfo);
|
58
|
+
},
|
59
|
+
/**
|
60
|
+
* Checks if a policy is registered
|
61
|
+
*/
|
62
|
+
has(name, namespaceInfo) {
|
63
|
+
const res = find(name, namespaceInfo);
|
64
|
+
return !!res;
|
65
|
+
},
|
66
|
+
/**
|
67
|
+
* Returns a map with all the policies in a namespace
|
68
|
+
*/
|
69
|
+
getAll(namespace) {
|
70
|
+
return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));
|
71
|
+
},
|
72
|
+
/**
|
73
|
+
* Registers a policy
|
74
|
+
*/
|
75
|
+
set(uid, policy) {
|
76
|
+
policies.set(uid, policy);
|
77
|
+
return this;
|
78
|
+
},
|
79
|
+
/**
|
80
|
+
* Registers a map of policies for a specific namespace
|
81
|
+
*/
|
82
|
+
add(namespace, newPolicies) {
|
83
|
+
for (const policyName of Object.keys(newPolicies)) {
|
84
|
+
const policy = newPolicies[policyName];
|
85
|
+
const uid = addNamespace(policyName, namespace);
|
86
|
+
if (has(uid, policies)) {
|
87
|
+
throw new Error(`Policy ${uid} has already been registered.`);
|
88
|
+
}
|
89
|
+
policies.set(uid, policy);
|
90
|
+
}
|
91
|
+
},
|
92
|
+
/**
|
93
|
+
* Resolves a list of policies
|
94
|
+
*/
|
95
|
+
resolve(config, namespaceInfo) {
|
96
|
+
const { pluginName, apiName } = namespaceInfo ?? {};
|
97
|
+
return castArray(config).map((policyConfig) => {
|
98
|
+
return {
|
99
|
+
handler: resolveHandler(policyConfig, { pluginName, apiName }),
|
100
|
+
config: typeof policyConfig === "object" && policyConfig.config || {}
|
101
|
+
};
|
102
|
+
});
|
103
|
+
}
|
104
|
+
};
|
105
|
+
};
|
106
|
+
export {
|
107
|
+
policiesRegistry as default
|
108
|
+
};
|
109
|
+
//# sourceMappingURL=policies.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"policies.mjs","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config"],"mappings":";;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAA,EAAG;AAAA,EAAA;AAGpC,QAAA,EAAE,MAAM,OAAA,IAAW;AAClB,SAAA,EAAE,YAAY,MAAM,OAAO;AACpC;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe,IAAyB;AAExC,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAG5C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IAAA;AAGT,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAAA;AAG7D,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IAAA;AAAA,EAEzD;AAOS,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IAAA;AAGH,UAAM,EAAE,YAAY,WAAW,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IAAA;AAG/C,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IAAA;AAGT,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IAAA;AAGzB,WAAO,OAAO;AAAA,EAAA;AAGT,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAA,CAAM;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACxB,aAAO,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAM,aAAa,YAAY,SAAS;AAE1C,YAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAAA;AAGrD,iBAAA,IAAI,KAAK,MAAM;AAAA,MAAA;AAAA,IAE5B;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAElD,aAAO,UAAU,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAA;AAAA,QACvE;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF;"}
|