@strapi/core 0.0.0 → 5.0.0-alpha.1
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.d.ts +9 -4
- package/dist/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +78 -52
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +80 -53
- package/dist/Strapi.mjs.map +1 -1
- package/dist/configuration/config-loader.d.ts.map +1 -0
- package/dist/configuration/config-loader.js +102 -0
- package/dist/configuration/config-loader.js.map +1 -0
- package/dist/configuration/config-loader.mjs +100 -0
- package/dist/configuration/config-loader.mjs.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.d.ts +20 -5
- package/dist/configuration/index.d.ts.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.js +28 -5
- package/dist/configuration/index.js.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.mjs +28 -5
- package/dist/configuration/index.mjs.map +1 -0
- package/dist/configuration/urls.d.ts +8 -0
- package/dist/configuration/urls.d.ts.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/core-api/controller/collection-type.d.ts +1 -1
- package/dist/core-api/controller/collection-type.d.ts.map +1 -1
- package/dist/core-api/controller/collection-type.js +9 -20
- package/dist/core-api/controller/collection-type.js.map +1 -1
- package/dist/core-api/controller/collection-type.mjs +8 -20
- package/dist/core-api/controller/collection-type.mjs.map +1 -1
- package/dist/core-api/controller/index.d.ts.map +1 -1
- package/dist/core-api/controller/index.js +8 -3
- package/dist/core-api/controller/index.js.map +1 -1
- package/dist/core-api/controller/index.mjs +8 -3
- package/dist/core-api/controller/index.mjs.map +1 -1
- package/dist/core-api/controller/single-type.d.ts +1 -1
- package/dist/core-api/controller/single-type.d.ts.map +1 -1
- package/dist/core-api/controller/single-type.js +6 -11
- package/dist/core-api/controller/single-type.js.map +1 -1
- package/dist/core-api/controller/single-type.mjs +5 -11
- package/dist/core-api/controller/single-type.mjs.map +1 -1
- package/dist/core-api/controller/transform.d.ts +9 -17
- package/dist/core-api/controller/transform.d.ts.map +1 -1
- package/dist/core-api/controller/transform.js +9 -14
- package/dist/core-api/controller/transform.js.map +1 -1
- package/dist/core-api/controller/transform.mjs +9 -14
- package/dist/core-api/controller/transform.mjs.map +1 -1
- package/dist/core-api/service/collection-type.d.ts +28 -5
- package/dist/core-api/service/collection-type.d.ts.map +1 -1
- package/dist/core-api/service/collection-type.js +47 -49
- package/dist/core-api/service/collection-type.js.map +1 -1
- package/dist/core-api/service/collection-type.mjs +47 -50
- package/dist/core-api/service/collection-type.mjs.map +1 -1
- package/dist/core-api/service/core-service.d.ts +4 -0
- package/dist/core-api/service/core-service.d.ts.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 +2 -2
- package/dist/core-api/service/index.js.map +1 -1
- package/dist/core-api/service/index.mjs +4 -4
- package/dist/core-api/service/index.mjs.map +1 -1
- package/dist/core-api/service/pagination.d.ts +1 -5
- package/dist/core-api/service/pagination.d.ts.map +1 -1
- package/dist/core-api/service/pagination.js +0 -11
- package/dist/core-api/service/pagination.js.map +1 -1
- package/dist/core-api/service/pagination.mjs +0 -11
- package/dist/core-api/service/pagination.mjs.map +1 -1
- package/dist/core-api/service/single-type.d.ts +14 -8
- package/dist/core-api/service/single-type.d.ts.map +1 -1
- package/dist/core-api/service/single-type.js +35 -50
- package/dist/core-api/service/single-type.js.map +1 -1
- package/dist/core-api/service/single-type.mjs +34 -50
- package/dist/core-api/service/single-type.mjs.map +1 -1
- package/dist/{core/domain → domain}/content-type/index.d.ts +2 -1
- package/dist/domain/content-type/index.d.ts.map +1 -0
- package/dist/{core/domain → domain}/content-type/index.js +23 -34
- package/dist/domain/content-type/index.js.map +1 -0
- package/dist/{core/domain → domain}/content-type/index.mjs +24 -35
- package/dist/domain/content-type/index.mjs.map +1 -0
- package/dist/domain/content-type/validator.d.ts.map +1 -0
- package/dist/{core/domain → domain}/content-type/validator.js +1 -1
- package/dist/domain/content-type/validator.js.map +1 -0
- package/dist/{core/domain → domain}/content-type/validator.mjs +2 -2
- package/dist/domain/content-type/validator.mjs.map +1 -0
- package/dist/domain/module/index.d.ts.map +1 -0
- package/dist/{core/domain → domain}/module/index.js +30 -31
- package/dist/domain/module/index.js.map +1 -0
- package/dist/{core/domain → domain}/module/index.mjs +3 -4
- package/dist/domain/module/index.mjs.map +1 -0
- package/dist/domain/module/validation.d.ts.map +1 -0
- package/dist/domain/module/validation.js.map +1 -0
- package/dist/domain/module/validation.mjs.map +1 -0
- package/dist/ee/index.js +2 -2
- package/dist/ee/index.js.map +1 -1
- package/dist/ee/index.mjs +2 -2
- package/dist/ee/index.mjs.map +1 -1
- package/dist/ee/license.d.ts.map +1 -1
- package/dist/ee/license.js +2 -1
- package/dist/ee/license.js.map +1 -1
- package/dist/ee/license.mjs +2 -1
- package/dist/ee/license.mjs.map +1 -1
- package/dist/factories.d.ts +2 -1
- package/dist/factories.d.ts.map +1 -1
- package/dist/factories.js +16 -11
- package/dist/factories.js.map +1 -1
- package/dist/factories.mjs +17 -12
- package/dist/factories.mjs.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/loaders/admin.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/admin.js +12 -1
- package/dist/loaders/admin.js.map +1 -0
- package/dist/{core/loaders → loaders}/admin.mjs +12 -1
- package/dist/loaders/admin.mjs.map +1 -0
- package/dist/loaders/apis.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/apis.js +20 -13
- package/dist/loaders/apis.js.map +1 -0
- package/dist/{core/loaders → loaders}/apis.mjs +19 -12
- package/dist/loaders/apis.mjs.map +1 -0
- package/dist/loaders/components.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/components.js +2 -2
- package/dist/loaders/components.js.map +1 -0
- package/dist/{core/loaders → loaders}/components.mjs +1 -1
- package/dist/loaders/components.mjs.map +1 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs.map +1 -0
- package/dist/loaders/middlewares.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/middlewares.js +1 -1
- package/dist/loaders/middlewares.js.map +1 -0
- package/dist/{core/loaders → loaders}/middlewares.mjs +1 -1
- package/dist/loaders/middlewares.mjs.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.js +4 -2
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.mjs +5 -3
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.js +3 -3
- package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.mjs +3 -3
- package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
- package/dist/loaders/plugins/index.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/index.js +18 -5
- package/dist/loaders/plugins/index.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/index.mjs +16 -3
- package/dist/loaders/plugins/index.mjs.map +1 -0
- package/dist/loaders/policies.d.ts.map +1 -0
- package/dist/loaders/policies.js.map +1 -0
- package/dist/loaders/policies.mjs.map +1 -0
- package/dist/loaders/sanitizers.d.ts.map +1 -0
- package/dist/loaders/sanitizers.js.map +1 -0
- package/dist/loaders/sanitizers.mjs.map +1 -0
- package/dist/loaders/src-index.d.ts.map +1 -0
- package/dist/loaders/src-index.js.map +1 -0
- package/dist/loaders/src-index.mjs.map +1 -0
- package/dist/loaders/validators.d.ts.map +1 -0
- package/dist/loaders/validators.js.map +1 -0
- package/dist/loaders/validators.mjs.map +1 -0
- package/dist/middlewares/favicon.d.ts +1 -0
- package/dist/middlewares/favicon.d.ts.map +1 -1
- package/dist/middlewares/index.js +2 -2
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/index.mjs +1 -1
- package/dist/middlewares/{public/index.d.ts → public.d.ts} +1 -1
- package/dist/middlewares/public.d.ts.map +1 -0
- package/dist/middlewares/public.js +34 -0
- package/dist/middlewares/public.js.map +1 -0
- package/dist/middlewares/public.mjs +32 -0
- package/dist/middlewares/public.mjs.map +1 -0
- package/dist/middlewares/security.d.ts.map +1 -1
- package/dist/middlewares/security.js +24 -3
- package/dist/middlewares/security.js.map +1 -1
- package/dist/middlewares/security.mjs +24 -3
- package/dist/middlewares/security.mjs.map +1 -1
- package/dist/migrations/draft-publish.d.ts +17 -0
- package/dist/migrations/draft-publish.d.ts.map +1 -0
- package/dist/migrations/draft-publish.js +59 -0
- package/dist/migrations/draft-publish.js.map +1 -0
- package/dist/migrations/draft-publish.mjs +59 -0
- package/dist/migrations/draft-publish.mjs.map +1 -0
- package/dist/registries/apis.d.ts.map +1 -0
- package/dist/registries/apis.js.map +1 -0
- package/dist/registries/apis.mjs.map +1 -0
- package/dist/registries/components.d.ts.map +1 -0
- package/dist/registries/components.js.map +1 -0
- package/dist/registries/components.mjs.map +1 -0
- package/dist/registries/config.d.ts +4 -0
- package/dist/registries/config.d.ts.map +1 -0
- package/dist/registries/config.js +31 -0
- package/dist/registries/config.js.map +1 -0
- package/dist/registries/config.mjs +32 -0
- package/dist/registries/config.mjs.map +1 -0
- package/dist/registries/content-types.d.ts.map +1 -0
- package/dist/{core/registries → registries}/content-types.js +6 -7
- package/dist/registries/content-types.js.map +1 -0
- package/dist/{core/registries → registries}/content-types.mjs +2 -3
- package/dist/registries/content-types.mjs.map +1 -0
- package/dist/registries/controllers.d.ts.map +1 -0
- package/dist/{core/registries → registries}/controllers.js +5 -5
- package/dist/registries/controllers.js.map +1 -0
- package/dist/{core/registries → registries}/controllers.mjs +1 -1
- package/dist/registries/controllers.mjs.map +1 -0
- package/dist/registries/custom-fields.d.ts.map +1 -0
- package/dist/registries/custom-fields.js.map +1 -0
- package/dist/registries/custom-fields.mjs.map +1 -0
- package/dist/registries/hooks.d.ts.map +1 -0
- package/dist/{core/registries → registries}/hooks.js +5 -5
- package/dist/registries/hooks.js.map +1 -0
- package/dist/{core/registries → registries}/hooks.mjs +1 -1
- package/dist/registries/hooks.mjs.map +1 -0
- package/dist/{core/registries → registries}/index.d.ts +1 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/middlewares.d.ts.map +1 -0
- package/dist/{core/registries → registries}/middlewares.js +5 -5
- package/dist/registries/middlewares.js.map +1 -0
- package/dist/{core/registries → registries}/middlewares.mjs +1 -1
- package/dist/registries/middlewares.mjs.map +1 -0
- package/dist/registries/models.d.ts +6 -0
- package/dist/registries/models.d.ts.map +1 -0
- package/dist/registries/models.js +16 -0
- package/dist/registries/models.js.map +1 -0
- package/dist/registries/models.mjs +16 -0
- package/dist/registries/models.mjs.map +1 -0
- package/dist/registries/modules.d.ts.map +1 -0
- package/dist/registries/modules.js.map +1 -0
- package/dist/registries/modules.mjs.map +1 -0
- package/dist/{core/utils.d.ts → registries/namespace.d.ts} +1 -1
- package/dist/registries/namespace.d.ts.map +1 -0
- package/dist/{core/utils.js → registries/namespace.js} +1 -1
- package/dist/registries/namespace.js.map +1 -0
- package/dist/{core/utils.mjs → registries/namespace.mjs} +1 -1
- package/dist/registries/namespace.mjs.map +1 -0
- package/dist/registries/plugins.d.ts.map +1 -0
- package/dist/registries/plugins.js.map +1 -0
- package/dist/registries/plugins.mjs.map +1 -0
- package/dist/registries/policies.d.ts.map +1 -0
- package/dist/{core/registries → registries}/policies.js +5 -5
- package/dist/registries/policies.js.map +1 -0
- package/dist/{core/registries → registries}/policies.mjs +1 -1
- package/dist/registries/policies.mjs.map +1 -0
- package/dist/registries/sanitizers.d.ts.map +1 -0
- package/dist/registries/sanitizers.js.map +1 -0
- package/dist/registries/sanitizers.mjs.map +1 -0
- package/dist/registries/services.d.ts.map +1 -0
- package/dist/{core/registries → registries}/services.js +5 -5
- package/dist/registries/services.js.map +1 -0
- package/dist/{core/registries → registries}/services.mjs +1 -1
- package/dist/registries/services.mjs.map +1 -0
- package/dist/registries/validators.d.ts.map +1 -0
- package/dist/registries/validators.js.map +1 -0
- package/dist/registries/validators.mjs.map +1 -0
- package/dist/services/core-store.d.ts +2 -22
- package/dist/services/core-store.d.ts.map +1 -1
- package/dist/services/core-store.js +5 -1
- package/dist/services/core-store.js.map +1 -1
- package/dist/services/core-store.mjs +5 -1
- package/dist/services/core-store.mjs.map +1 -1
- package/dist/services/document-service/common.d.ts +4 -0
- package/dist/services/document-service/common.d.ts.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/draft-and-publish.d.ts +10 -0
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
- 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/index.d.ts +18 -7
- package/dist/services/document-service/index.d.ts.map +1 -1
- package/dist/services/document-service/index.js +20 -190
- package/dist/services/document-service/index.js.map +1 -1
- package/dist/services/document-service/index.mjs +19 -190
- package/dist/services/document-service/index.mjs.map +1 -1
- package/dist/services/document-service/internationalization.d.ts +8 -0
- package/dist/services/document-service/internationalization.d.ts.map +1 -0
- package/dist/services/document-service/internationalization.js +54 -0
- package/dist/services/document-service/internationalization.js.map +1 -0
- package/dist/services/document-service/internationalization.mjs +54 -0
- package/dist/services/document-service/internationalization.mjs.map +1 -0
- package/dist/services/document-service/middlewares/errors.d.ts +6 -0
- package/dist/services/document-service/middlewares/errors.d.ts.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/index.d.ts +2 -10
- package/dist/services/document-service/middlewares/index.d.ts.map +1 -1
- package/dist/services/document-service/middlewares/middleware-manager.d.ts +7 -0
- package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.js +46 -0
- package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs +46 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
- package/dist/services/document-service/repository.d.ts +3 -0
- package/dist/services/document-service/repository.d.ts.map +1 -0
- package/dist/services/document-service/repository.js +295 -0
- package/dist/services/document-service/repository.js.map +1 -0
- package/dist/services/document-service/repository.mjs +295 -0
- package/dist/services/document-service/repository.mjs.map +1 -0
- package/dist/services/document-service/transform/data.d.ts +5 -0
- package/dist/services/document-service/transform/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/data.js +13 -0
- package/dist/services/document-service/transform/data.js.map +1 -0
- package/dist/services/document-service/transform/data.mjs +13 -0
- package/dist/services/document-service/transform/data.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.d.ts +5 -0
- package/dist/services/document-service/transform/fields.d.ts.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 +23 -0
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
- package/dist/services/document-service/transform/id-map.js +78 -0
- package/dist/services/document-service/transform/id-map.js.map +1 -0
- package/dist/services/document-service/transform/id-map.mjs +78 -0
- package/dist/services/document-service/transform/id-map.mjs.map +1 -0
- package/dist/services/document-service/transform/id-transform.d.ts +5 -0
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
- 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.d.ts +6 -0
- package/dist/services/document-service/transform/populate.d.ts.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/relations/extract/data-ids.d.ts +13 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js +90 -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 +90 -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.d.ts +10 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js +141 -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 +141 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.js +12 -0
- package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
- package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
- 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 +10 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
- package/dist/services/document-service/transform/types.d.ts +13 -0
- package/dist/services/document-service/transform/types.d.ts.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +10 -0
- package/dist/services/document-service/utils/populate.d.ts.map +1 -0
- package/dist/services/document-service/utils/populate.js +41 -0
- package/dist/services/document-service/utils/populate.js.map +1 -0
- package/dist/services/document-service/utils/populate.mjs +41 -0
- package/dist/services/document-service/utils/populate.mjs.map +1 -0
- package/dist/services/entity-service/components.d.ts +1 -4
- package/dist/services/entity-service/components.d.ts.map +1 -1
- package/dist/services/entity-service/components.js +13 -99
- package/dist/services/entity-service/components.js.map +1 -1
- package/dist/services/entity-service/components.mjs +14 -100
- package/dist/services/entity-service/components.mjs.map +1 -1
- package/dist/services/entity-service/index.d.ts +1 -3
- package/dist/services/entity-service/index.d.ts.map +1 -1
- package/dist/services/entity-service/index.js +34 -199
- package/dist/services/entity-service/index.js.map +1 -1
- package/dist/services/entity-service/index.mjs +27 -192
- package/dist/services/entity-service/index.mjs.map +1 -1
- package/dist/services/entity-service/params.d.ts +4 -4
- package/dist/services/entity-service/params.d.ts.map +1 -1
- package/dist/services/entity-service/params.js +1 -1
- package/dist/services/entity-service/params.js.map +1 -1
- package/dist/services/entity-service/params.mjs +1 -1
- package/dist/services/entity-service/params.mjs.map +1 -1
- package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
- package/dist/services/entity-validator/blocks-validator.js +22 -2
- package/dist/services/entity-validator/blocks-validator.js.map +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs +22 -2
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +5 -2
- package/dist/services/entity-validator/index.js.map +1 -1
- package/dist/services/entity-validator/index.mjs +5 -2
- package/dist/services/entity-validator/index.mjs.map +1 -1
- package/dist/services/entity-validator/validators.d.ts +14 -13
- package/dist/services/entity-validator/validators.d.ts.map +1 -1
- package/dist/services/entity-validator/validators.js +20 -16
- package/dist/services/entity-validator/validators.js.map +1 -1
- package/dist/services/entity-validator/validators.mjs +20 -16
- package/dist/services/entity-validator/validators.mjs.map +1 -1
- package/dist/services/features.d.ts +10 -0
- package/dist/services/features.d.ts.map +1 -0
- package/dist/services/features.js +17 -0
- package/dist/services/features.js.map +1 -0
- package/dist/services/features.mjs +17 -0
- package/dist/services/features.mjs.map +1 -0
- package/dist/services/server/compose-endpoint.d.ts.map +1 -1
- package/dist/services/server/compose-endpoint.js +3 -0
- package/dist/services/server/compose-endpoint.js.map +1 -1
- package/dist/services/server/compose-endpoint.mjs +3 -0
- package/dist/services/server/compose-endpoint.mjs.map +1 -1
- package/dist/services/server/middleware.d.ts +1 -5
- package/dist/services/server/middleware.d.ts.map +1 -1
- package/dist/services/server/middleware.js.map +1 -1
- package/dist/services/server/middleware.mjs.map +1 -1
- package/dist/services/server/register-middlewares.js +1 -1
- package/dist/services/server/register-middlewares.js.map +1 -1
- package/dist/services/server/register-middlewares.mjs +1 -1
- package/dist/services/server/register-middlewares.mjs.map +1 -1
- package/dist/services/webhook-runner.d.ts +10 -1
- package/dist/services/webhook-runner.d.ts.map +1 -1
- package/dist/services/webhook-store.d.ts +2 -22
- package/dist/services/webhook-store.d.ts.map +1 -1
- package/dist/services/webhook-store.js +7 -3
- package/dist/services/webhook-store.js.map +1 -1
- package/dist/services/webhook-store.mjs +7 -3
- package/dist/services/webhook-store.mjs.map +1 -1
- package/dist/utils/convert-custom-field-type.d.ts +1 -2
- package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
- package/dist/utils/convert-custom-field-type.js +2 -1
- package/dist/utils/convert-custom-field-type.js.map +1 -1
- package/dist/utils/convert-custom-field-type.mjs +1 -1
- package/dist/utils/convert-custom-field-type.mjs.map +1 -1
- package/dist/utils/ee.d.ts +1 -2
- package/dist/utils/ee.d.ts.map +1 -1
- package/dist/utils/fetch.d.ts +2 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +2 -2
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/fetch.mjs +2 -2
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/filepath-to-prop-path.d.ts +5 -0
- package/dist/utils/filepath-to-prop-path.d.ts.map +1 -0
- package/dist/{load → utils}/filepath-to-prop-path.js +3 -2
- package/dist/utils/filepath-to-prop-path.js.map +1 -0
- package/dist/{load → utils}/filepath-to-prop-path.mjs +2 -2
- package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
- package/dist/utils/get-dirs.d.ts +1 -2
- package/dist/utils/get-dirs.d.ts.map +1 -1
- package/dist/utils/get-dirs.js +2 -1
- package/dist/utils/get-dirs.js.map +1 -1
- package/dist/utils/get-dirs.mjs +1 -1
- package/dist/utils/get-dirs.mjs.map +1 -1
- package/dist/utils/index.d.ts +11 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/is-initialized.d.ts +1 -1
- package/dist/utils/is-initialized.d.ts.map +1 -1
- package/dist/utils/is-initialized.js +5 -4
- package/dist/utils/is-initialized.js.map +1 -1
- package/dist/utils/is-initialized.mjs +4 -4
- package/dist/utils/is-initialized.mjs.map +1 -1
- package/dist/utils/load-config-file.d.ts +2 -0
- package/dist/utils/load-config-file.d.ts.map +1 -0
- package/dist/{core/app-configuration → utils}/load-config-file.js +3 -3
- package/dist/utils/load-config-file.js.map +1 -0
- package/dist/{core/app-configuration → utils}/load-config-file.mjs +4 -4
- package/dist/utils/load-config-file.mjs.map +1 -0
- package/dist/{load → utils}/load-files.d.ts +2 -2
- package/dist/utils/load-files.d.ts.map +1 -0
- package/dist/{load → utils}/load-files.js +7 -6
- package/dist/utils/load-files.js.map +1 -0
- package/dist/{load → utils}/load-files.mjs +7 -7
- package/dist/utils/load-files.mjs.map +1 -0
- package/dist/utils/open-browser.d.ts +1 -2
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js +5 -5
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/open-browser.mjs +4 -5
- package/dist/utils/open-browser.mjs.map +1 -1
- package/dist/utils/startup-logger.d.ts +1 -2
- package/dist/utils/startup-logger.d.ts.map +1 -1
- package/dist/utils/startup-logger.js +19 -13
- package/dist/utils/startup-logger.js.map +1 -1
- package/dist/utils/startup-logger.mjs +18 -13
- package/dist/utils/startup-logger.mjs.map +1 -1
- package/dist/utils/transform-content-types-to-models.d.ts +176 -4
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
- package/dist/utils/transform-content-types-to-models.js +202 -15
- package/dist/utils/transform-content-types-to-models.js.map +1 -1
- package/dist/utils/transform-content-types-to-models.mjs +199 -15
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
- package/dist/utils/update-notifier/index.d.ts +1 -2
- package/dist/utils/update-notifier/index.d.ts.map +1 -1
- package/dist/utils/update-notifier/index.js +8 -2
- package/dist/utils/update-notifier/index.js.map +1 -1
- package/dist/utils/update-notifier/index.mjs +7 -2
- package/dist/utils/update-notifier/index.mjs.map +1 -1
- package/package.json +19 -26
- package/bin/strapi.js +0 -2
- package/dist/admin.d.ts +0 -5
- package/dist/admin.d.ts.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/commands/actions/admin/create-user/action.d.ts +0 -12
- package/dist/commands/actions/admin/create-user/action.d.ts.map +0 -1
- package/dist/commands/actions/admin/create-user/command.d.ts +0 -7
- package/dist/commands/actions/admin/create-user/command.d.ts.map +0 -1
- package/dist/commands/actions/admin/reset-user-password/action.d.ts +0 -10
- package/dist/commands/actions/admin/reset-user-password/action.d.ts.map +0 -1
- package/dist/commands/actions/admin/reset-user-password/command.d.ts +0 -7
- package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +0 -1
- package/dist/commands/actions/components/list/action.d.ts +0 -3
- package/dist/commands/actions/components/list/action.d.ts.map +0 -1
- package/dist/commands/actions/components/list/command.d.ts +0 -7
- package/dist/commands/actions/components/list/command.d.ts.map +0 -1
- package/dist/commands/actions/configuration/dump/action.d.ts +0 -11
- package/dist/commands/actions/configuration/dump/action.d.ts.map +0 -1
- package/dist/commands/actions/configuration/dump/command.d.ts +0 -7
- package/dist/commands/actions/configuration/dump/command.d.ts.map +0 -1
- package/dist/commands/actions/configuration/restore/action.d.ts +0 -11
- package/dist/commands/actions/configuration/restore/action.d.ts.map +0 -1
- package/dist/commands/actions/configuration/restore/command.d.ts +0 -7
- package/dist/commands/actions/configuration/restore/command.d.ts.map +0 -1
- package/dist/commands/actions/console/action.d.ts +0 -6
- package/dist/commands/actions/console/action.d.ts.map +0 -1
- package/dist/commands/actions/console/command.d.ts +0 -7
- package/dist/commands/actions/console/command.d.ts.map +0 -1
- package/dist/commands/actions/content-types/list/action.d.ts +0 -3
- package/dist/commands/actions/content-types/list/action.d.ts.map +0 -1
- package/dist/commands/actions/content-types/list/command.d.ts +0 -7
- package/dist/commands/actions/content-types/list/command.d.ts.map +0 -1
- package/dist/commands/actions/controllers/list/action.d.ts +0 -3
- package/dist/commands/actions/controllers/list/action.d.ts.map +0 -1
- package/dist/commands/actions/controllers/list/command.d.ts +0 -7
- package/dist/commands/actions/controllers/list/command.d.ts.map +0 -1
- package/dist/commands/actions/generate/command.d.ts +0 -7
- package/dist/commands/actions/generate/command.d.ts.map +0 -1
- package/dist/commands/actions/hooks/list/action.d.ts +0 -3
- package/dist/commands/actions/hooks/list/action.d.ts.map +0 -1
- package/dist/commands/actions/hooks/list/command.d.ts +0 -7
- package/dist/commands/actions/hooks/list/command.d.ts.map +0 -1
- package/dist/commands/actions/install/action.d.ts +0 -3
- package/dist/commands/actions/install/action.d.ts.map +0 -1
- package/dist/commands/actions/install/command.d.ts +0 -7
- package/dist/commands/actions/install/command.d.ts.map +0 -1
- package/dist/commands/actions/middlewares/list/action.d.ts +0 -3
- package/dist/commands/actions/middlewares/list/action.d.ts.map +0 -1
- package/dist/commands/actions/middlewares/list/command.d.ts +0 -7
- package/dist/commands/actions/middlewares/list/command.d.ts.map +0 -1
- package/dist/commands/actions/new/action.d.ts +0 -8
- package/dist/commands/actions/new/action.d.ts.map +0 -1
- package/dist/commands/actions/new/command.d.ts +0 -7
- package/dist/commands/actions/new/command.d.ts.map +0 -1
- package/dist/commands/actions/plugin/build-command/action.d.ts +0 -7
- package/dist/commands/actions/plugin/build-command/action.d.ts.map +0 -1
- package/dist/commands/actions/plugin/build-command/command.d.ts +0 -7
- package/dist/commands/actions/plugin/build-command/command.d.ts.map +0 -1
- package/dist/commands/actions/plugin/watch/action.d.ts +0 -7
- package/dist/commands/actions/plugin/watch/action.d.ts.map +0 -1
- package/dist/commands/actions/plugin/watch/command.d.ts +0 -7
- package/dist/commands/actions/plugin/watch/command.d.ts.map +0 -1
- package/dist/commands/actions/policies/list/action.d.ts +0 -3
- package/dist/commands/actions/policies/list/action.d.ts.map +0 -1
- package/dist/commands/actions/policies/list/command.d.ts +0 -7
- package/dist/commands/actions/policies/list/command.d.ts.map +0 -1
- package/dist/commands/actions/report/action.d.ts +0 -8
- package/dist/commands/actions/report/action.d.ts.map +0 -1
- package/dist/commands/actions/report/command.d.ts +0 -7
- package/dist/commands/actions/report/command.d.ts.map +0 -1
- package/dist/commands/actions/routes/list/action.d.ts +0 -3
- package/dist/commands/actions/routes/list/action.d.ts.map +0 -1
- package/dist/commands/actions/routes/list/command.d.ts +0 -7
- package/dist/commands/actions/routes/list/command.d.ts.map +0 -1
- package/dist/commands/actions/services/list/action.d.ts +0 -3
- package/dist/commands/actions/services/list/action.d.ts.map +0 -1
- package/dist/commands/actions/services/list/command.d.ts +0 -7
- package/dist/commands/actions/services/list/command.d.ts.map +0 -1
- package/dist/commands/actions/start/action.d.ts +0 -6
- package/dist/commands/actions/start/action.d.ts.map +0 -1
- package/dist/commands/actions/start/command.d.ts +0 -7
- package/dist/commands/actions/start/command.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/disable/action.d.ts +0 -2
- package/dist/commands/actions/telemetry/disable/action.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/disable/command.d.ts +0 -7
- package/dist/commands/actions/telemetry/disable/command.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/enable/action.d.ts +0 -3
- package/dist/commands/actions/telemetry/enable/action.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/enable/command.d.ts +0 -7
- package/dist/commands/actions/telemetry/enable/command.d.ts.map +0 -1
- package/dist/commands/actions/templates/generate/action.d.ts +0 -2
- package/dist/commands/actions/templates/generate/action.d.ts.map +0 -1
- package/dist/commands/actions/templates/generate/command.d.ts +0 -7
- package/dist/commands/actions/templates/generate/command.d.ts.map +0 -1
- package/dist/commands/actions/ts/generate-types/action.d.ts +0 -9
- package/dist/commands/actions/ts/generate-types/action.d.ts.map +0 -1
- package/dist/commands/actions/ts/generate-types/command.d.ts +0 -7
- package/dist/commands/actions/ts/generate-types/command.d.ts.map +0 -1
- package/dist/commands/actions/uninstall/action.d.ts +0 -6
- package/dist/commands/actions/uninstall/action.d.ts.map +0 -1
- package/dist/commands/actions/uninstall/command.d.ts +0 -7
- package/dist/commands/actions/uninstall/command.d.ts.map +0 -1
- package/dist/commands/actions/version/command.d.ts +0 -7
- package/dist/commands/actions/version/command.d.ts.map +0 -1
- package/dist/commands/actions/watch-admin/action.d.ts +0 -7
- package/dist/commands/actions/watch-admin/action.d.ts.map +0 -1
- package/dist/commands/actions/watch-admin/command.d.ts +0 -7
- package/dist/commands/actions/watch-admin/command.d.ts.map +0 -1
- package/dist/commands/index.d.ts +0 -37
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/types.d.ts +0 -14
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/utils/commander.d.ts +0 -36
- package/dist/commands/utils/commander.d.ts.map +0 -1
- package/dist/commands/utils/helpers.d.ts +0 -49
- package/dist/commands/utils/helpers.d.ts.map +0 -1
- package/dist/commands/utils/logger.d.ts +0 -19
- package/dist/commands/utils/logger.d.ts.map +0 -1
- package/dist/commands/utils/pkg.d.ts +0 -119
- package/dist/commands/utils/pkg.d.ts.map +0 -1
- package/dist/commands/utils/tsconfig.d.ts +0 -19
- package/dist/commands/utils/tsconfig.d.ts.map +0 -1
- package/dist/core/app-configuration/config-loader.d.ts.map +0 -1
- package/dist/core/app-configuration/config-loader.js +0 -19
- package/dist/core/app-configuration/config-loader.js.map +0 -1
- package/dist/core/app-configuration/config-loader.mjs +0 -17
- package/dist/core/app-configuration/config-loader.mjs.map +0 -1
- package/dist/core/app-configuration/index.d.ts.map +0 -1
- package/dist/core/app-configuration/index.js.map +0 -1
- package/dist/core/app-configuration/index.mjs.map +0 -1
- package/dist/core/app-configuration/load-config-file.d.ts +0 -2
- package/dist/core/app-configuration/load-config-file.d.ts.map +0 -1
- package/dist/core/app-configuration/load-config-file.js.map +0 -1
- package/dist/core/app-configuration/load-config-file.mjs.map +0 -1
- package/dist/core/bootstrap.d.ts +0 -5
- package/dist/core/bootstrap.d.ts.map +0 -1
- package/dist/core/bootstrap.js +0 -28
- package/dist/core/bootstrap.js.map +0 -1
- package/dist/core/bootstrap.mjs +0 -27
- package/dist/core/bootstrap.mjs.map +0 -1
- package/dist/core/domain/content-type/index.d.ts.map +0 -1
- package/dist/core/domain/content-type/index.js.map +0 -1
- package/dist/core/domain/content-type/index.mjs.map +0 -1
- package/dist/core/domain/content-type/validator.d.ts.map +0 -1
- package/dist/core/domain/content-type/validator.js.map +0 -1
- package/dist/core/domain/content-type/validator.mjs.map +0 -1
- package/dist/core/domain/module/index.d.ts.map +0 -1
- package/dist/core/domain/module/index.js.map +0 -1
- package/dist/core/domain/module/index.mjs.map +0 -1
- package/dist/core/domain/module/validation.d.ts.map +0 -1
- package/dist/core/domain/module/validation.js.map +0 -1
- package/dist/core/domain/module/validation.mjs.map +0 -1
- package/dist/core/loaders/admin.d.ts.map +0 -1
- package/dist/core/loaders/admin.js.map +0 -1
- package/dist/core/loaders/admin.mjs.map +0 -1
- package/dist/core/loaders/apis.d.ts.map +0 -1
- package/dist/core/loaders/apis.js.map +0 -1
- package/dist/core/loaders/apis.mjs.map +0 -1
- package/dist/core/loaders/components.d.ts.map +0 -1
- package/dist/core/loaders/components.js.map +0 -1
- package/dist/core/loaders/components.mjs.map +0 -1
- package/dist/core/loaders/index.d.ts.map +0 -1
- package/dist/core/loaders/index.js.map +0 -1
- package/dist/core/loaders/index.mjs.map +0 -1
- package/dist/core/loaders/middlewares.d.ts.map +0 -1
- package/dist/core/loaders/middlewares.js.map +0 -1
- package/dist/core/loaders/middlewares.mjs.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.d.ts.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.js.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.d.ts.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.js.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
- package/dist/core/loaders/plugins/index.d.ts.map +0 -1
- package/dist/core/loaders/plugins/index.js.map +0 -1
- package/dist/core/loaders/plugins/index.mjs.map +0 -1
- package/dist/core/loaders/policies.d.ts.map +0 -1
- package/dist/core/loaders/policies.js.map +0 -1
- package/dist/core/loaders/policies.mjs.map +0 -1
- package/dist/core/loaders/sanitizers.d.ts.map +0 -1
- package/dist/core/loaders/sanitizers.js.map +0 -1
- package/dist/core/loaders/sanitizers.mjs.map +0 -1
- package/dist/core/loaders/src-index.d.ts.map +0 -1
- package/dist/core/loaders/src-index.js.map +0 -1
- package/dist/core/loaders/src-index.mjs.map +0 -1
- package/dist/core/loaders/validators.d.ts.map +0 -1
- package/dist/core/loaders/validators.js.map +0 -1
- package/dist/core/loaders/validators.mjs.map +0 -1
- package/dist/core/registries/apis.d.ts.map +0 -1
- package/dist/core/registries/apis.js.map +0 -1
- package/dist/core/registries/apis.mjs.map +0 -1
- package/dist/core/registries/components.d.ts.map +0 -1
- package/dist/core/registries/components.js.map +0 -1
- package/dist/core/registries/components.mjs.map +0 -1
- package/dist/core/registries/config.d.ts +0 -4
- package/dist/core/registries/config.d.ts.map +0 -1
- package/dist/core/registries/config.js +0 -23
- package/dist/core/registries/config.js.map +0 -1
- package/dist/core/registries/config.mjs +0 -22
- package/dist/core/registries/config.mjs.map +0 -1
- package/dist/core/registries/content-types.d.ts.map +0 -1
- package/dist/core/registries/content-types.js.map +0 -1
- package/dist/core/registries/content-types.mjs.map +0 -1
- package/dist/core/registries/controllers.d.ts.map +0 -1
- package/dist/core/registries/controllers.js.map +0 -1
- package/dist/core/registries/controllers.mjs.map +0 -1
- package/dist/core/registries/custom-fields.d.ts.map +0 -1
- package/dist/core/registries/custom-fields.js.map +0 -1
- package/dist/core/registries/custom-fields.mjs.map +0 -1
- package/dist/core/registries/hooks.d.ts.map +0 -1
- package/dist/core/registries/hooks.js.map +0 -1
- package/dist/core/registries/hooks.mjs.map +0 -1
- package/dist/core/registries/index.d.ts.map +0 -1
- package/dist/core/registries/middlewares.d.ts.map +0 -1
- package/dist/core/registries/middlewares.js.map +0 -1
- package/dist/core/registries/middlewares.mjs.map +0 -1
- package/dist/core/registries/modules.d.ts.map +0 -1
- package/dist/core/registries/modules.js.map +0 -1
- package/dist/core/registries/modules.mjs.map +0 -1
- package/dist/core/registries/plugins.d.ts.map +0 -1
- package/dist/core/registries/plugins.js.map +0 -1
- package/dist/core/registries/plugins.mjs.map +0 -1
- package/dist/core/registries/policies.d.ts.map +0 -1
- package/dist/core/registries/policies.js.map +0 -1
- package/dist/core/registries/policies.mjs.map +0 -1
- package/dist/core/registries/sanitizers.d.ts.map +0 -1
- package/dist/core/registries/sanitizers.js.map +0 -1
- package/dist/core/registries/sanitizers.mjs.map +0 -1
- package/dist/core/registries/services.d.ts.map +0 -1
- package/dist/core/registries/services.js.map +0 -1
- package/dist/core/registries/services.mjs.map +0 -1
- package/dist/core/registries/validators.d.ts.map +0 -1
- package/dist/core/registries/validators.js.map +0 -1
- package/dist/core/registries/validators.mjs.map +0 -1
- package/dist/core/utils.d.ts.map +0 -1
- package/dist/core/utils.js.map +0 -1
- package/dist/core/utils.mjs.map +0 -1
- package/dist/core-api/service/get-fetch-params.d.ts +0 -7
- package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
- package/dist/core-api/service/get-fetch-params.js +0 -14
- package/dist/core-api/service/get-fetch-params.js.map +0 -1
- package/dist/core-api/service/get-fetch-params.mjs +0 -14
- package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
- package/dist/load/filepath-to-prop-path.d.ts +0 -6
- package/dist/load/filepath-to-prop-path.d.ts.map +0 -1
- package/dist/load/filepath-to-prop-path.js.map +0 -1
- package/dist/load/filepath-to-prop-path.mjs.map +0 -1
- package/dist/load/glob.d.ts +0 -7
- package/dist/load/glob.d.ts.map +0 -1
- package/dist/load/glob.js +0 -15
- package/dist/load/glob.js.map +0 -1
- package/dist/load/glob.mjs +0 -14
- package/dist/load/glob.mjs.map +0 -1
- package/dist/load/index.d.ts +0 -3
- package/dist/load/index.d.ts.map +0 -1
- package/dist/load/load-files.d.ts.map +0 -1
- package/dist/load/load-files.js.map +0 -1
- package/dist/load/load-files.mjs.map +0 -1
- package/dist/load/package-path.d.ts +0 -6
- package/dist/load/package-path.d.ts.map +0 -1
- package/dist/middlewares/public/assets/images/group_people_1.png +0 -0
- package/dist/middlewares/public/assets/images/group_people_2.png +0 -0
- package/dist/middlewares/public/assets/images/group_people_3.png +0 -0
- package/dist/middlewares/public/assets/images/logo_login.png +0 -0
- package/dist/middlewares/public/index.d.ts.map +0 -1
- package/dist/middlewares/public/index.html +0 -66
- package/dist/middlewares/public/index.js +0 -91
- package/dist/middlewares/public/index.js.map +0 -1
- package/dist/middlewares/public/index.mjs +0 -85
- package/dist/middlewares/public/index.mjs.map +0 -1
- package/dist/middlewares/public/serve-static.d.ts +0 -4
- package/dist/middlewares/public/serve-static.d.ts.map +0 -1
- package/dist/middlewares/public/serve-static.js +0 -24
- package/dist/middlewares/public/serve-static.js.map +0 -1
- package/dist/middlewares/public/serve-static.mjs +0 -21
- package/dist/middlewares/public/serve-static.mjs.map +0 -1
- package/dist/services/document-service/document-repository.d.ts +0 -21
- package/dist/services/document-service/document-repository.d.ts.map +0 -1
- package/dist/services/document-service/document-repository.js +0 -132
- package/dist/services/document-service/document-repository.js.map +0 -1
- package/dist/services/document-service/document-repository.mjs +0 -132
- package/dist/services/document-service/document-repository.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
- package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.js +0 -82
- package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
- package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
- package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.js +0 -40
- package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -40
- package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
- package/dist/services/document-service/middlewares/index.js +0 -59
- package/dist/services/document-service/middlewares/index.js.map +0 -1
- package/dist/services/document-service/middlewares/index.mjs +0 -59
- package/dist/services/document-service/middlewares/index.mjs.map +0 -1
- package/dist/services/utils/upload-files.d.ts +0 -8
- package/dist/services/utils/upload-files.d.ts.map +0 -1
- package/dist/services/utils/upload-files.js +0 -64
- package/dist/services/utils/upload-files.js.map +0 -1
- package/dist/services/utils/upload-files.mjs +0 -63
- package/dist/services/utils/upload-files.mjs.map +0 -1
- package/dist/utils/addSlash.d.ts +0 -3
- package/dist/utils/addSlash.d.ts.map +0 -1
- package/dist/utils/ee.js +0 -4
- package/dist/utils/ee.js.map +0 -1
- package/dist/utils/ee.mjs +0 -5
- package/dist/utils/ee.mjs.map +0 -1
- /package/dist/{core/app-configuration → configuration}/config-loader.d.ts +0 -0
- /package/dist/{core/domain → domain}/content-type/validator.d.ts +0 -0
- /package/dist/{core/domain → domain}/module/index.d.ts +0 -0
- /package/dist/{core/domain → domain}/module/validation.d.ts +0 -0
- /package/dist/{core/domain → domain}/module/validation.js +0 -0
- /package/dist/{core/domain → domain}/module/validation.mjs +0 -0
- /package/dist/{core/loaders → loaders}/admin.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/apis.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/components.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/index.js +0 -0
- /package/dist/{core/loaders → loaders}/index.mjs +0 -0
- /package/dist/{core/loaders → loaders}/middlewares.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/policies.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/policies.js +0 -0
- /package/dist/{core/loaders → loaders}/policies.mjs +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.js +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.mjs +0 -0
- /package/dist/{core/loaders → loaders}/src-index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/src-index.js +0 -0
- /package/dist/{core/loaders → loaders}/src-index.mjs +0 -0
- /package/dist/{core/loaders → loaders}/validators.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/validators.js +0 -0
- /package/dist/{core/loaders → loaders}/validators.mjs +0 -0
- /package/dist/{core/registries → registries}/apis.d.ts +0 -0
- /package/dist/{core/registries → registries}/apis.js +0 -0
- /package/dist/{core/registries → registries}/apis.mjs +0 -0
- /package/dist/{core/registries → registries}/components.d.ts +0 -0
- /package/dist/{core/registries → registries}/components.js +0 -0
- /package/dist/{core/registries → registries}/components.mjs +0 -0
- /package/dist/{core/registries → registries}/content-types.d.ts +0 -0
- /package/dist/{core/registries → registries}/controllers.d.ts +0 -0
- /package/dist/{core/registries → registries}/custom-fields.d.ts +0 -0
- /package/dist/{core/registries → registries}/custom-fields.js +0 -0
- /package/dist/{core/registries → registries}/custom-fields.mjs +0 -0
- /package/dist/{core/registries → registries}/hooks.d.ts +0 -0
- /package/dist/{core/registries → registries}/middlewares.d.ts +0 -0
- /package/dist/{core/registries → registries}/modules.d.ts +0 -0
- /package/dist/{core/registries → registries}/modules.js +0 -0
- /package/dist/{core/registries → registries}/modules.mjs +0 -0
- /package/dist/{core/registries → registries}/plugins.d.ts +0 -0
- /package/dist/{core/registries → registries}/plugins.js +0 -0
- /package/dist/{core/registries → registries}/plugins.mjs +0 -0
- /package/dist/{core/registries → registries}/policies.d.ts +0 -0
- /package/dist/{core/registries → registries}/sanitizers.d.ts +0 -0
- /package/dist/{core/registries → registries}/sanitizers.js +0 -0
- /package/dist/{core/registries → registries}/sanitizers.mjs +0 -0
- /package/dist/{core/registries → registries}/services.d.ts +0 -0
- /package/dist/{core/registries → registries}/validators.d.ts +0 -0
- /package/dist/{core/registries → registries}/validators.js +0 -0
- /package/dist/{core/registries → registries}/validators.mjs +0 -0
@@ -1,55 +1,39 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
};
|
10
|
-
|
11
|
-
|
12
|
-
})
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
return strapi.
|
21
|
-
},
|
22
|
-
/**
|
23
|
-
* Creates or updates a singleType content
|
24
|
-
*
|
25
|
-
* @return {Promise}
|
26
|
-
*/
|
27
|
-
async createOrUpdate({ data, ...params } = { data: {} }) {
|
28
|
-
const entity = await this.find({ ...params, publicationState: "preview" });
|
29
|
-
if (!entity) {
|
30
|
-
const count = await strapi.query(uid).count();
|
31
|
-
if (count >= 1) {
|
32
|
-
throw new errors.ValidationError("singleType.alreadyExists");
|
33
|
-
}
|
34
|
-
setPublishedAt(data);
|
35
|
-
return strapi.entityService?.create(uid, { ...params, data });
|
36
|
-
}
|
37
|
-
return strapi.entityService?.update(uid, entity.id, { ...params, data });
|
38
|
-
},
|
39
|
-
/**
|
40
|
-
* Deletes the singleType content
|
41
|
-
*
|
42
|
-
* @return {Promise}
|
43
|
-
*/
|
44
|
-
async delete(params = {}) {
|
45
|
-
const entity = await this.find(params);
|
46
|
-
if (!entity)
|
47
|
-
return;
|
48
|
-
return strapi.entityService?.delete(uid, entity.id);
|
1
|
+
import { CoreService } from "./core-service.mjs";
|
2
|
+
class SingleTypeService extends CoreService {
|
3
|
+
contentType;
|
4
|
+
constructor(contentType) {
|
5
|
+
super();
|
6
|
+
this.contentType = contentType;
|
7
|
+
}
|
8
|
+
async getDocumentId() {
|
9
|
+
const { uid } = this.contentType;
|
10
|
+
return strapi.db.query(uid).findOne().then((document) => document?.documentId);
|
11
|
+
}
|
12
|
+
async find(params = {}) {
|
13
|
+
const { uid } = this.contentType;
|
14
|
+
return strapi.documents(uid).findFirst(this.getFetchParams(params));
|
15
|
+
}
|
16
|
+
async createOrUpdate(params = {}) {
|
17
|
+
const { uid } = this.contentType;
|
18
|
+
const documentId = await this.getDocumentId();
|
19
|
+
if (documentId) {
|
20
|
+
return strapi.documents(uid).update(documentId, this.getFetchParams(params));
|
49
21
|
}
|
50
|
-
|
22
|
+
return strapi.documents(uid).create(this.getFetchParams(params));
|
23
|
+
}
|
24
|
+
async delete(params = {}) {
|
25
|
+
const { uid } = this.contentType;
|
26
|
+
const documentId = await this.getDocumentId();
|
27
|
+
if (!documentId)
|
28
|
+
return { deletedEntries: 0 };
|
29
|
+
return strapi.documents(uid).delete(documentId, this.getFetchParams(params));
|
30
|
+
}
|
31
|
+
}
|
32
|
+
const createSingleTypeService = (contentType) => {
|
33
|
+
return new SingleTypeService(contentType);
|
51
34
|
};
|
52
35
|
export {
|
53
|
-
|
36
|
+
SingleTypeService,
|
37
|
+
createSingleTypeService
|
54
38
|
};
|
55
39
|
//# sourceMappingURL=single-type.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import
|
1
|
+
{"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import type { Schema, CoreApi } from '@strapi/types';\nimport { CoreService } from './core-service';\n\nexport class SingleTypeService extends CoreService implements CoreApi.Service.SingleType {\n private contentType: Schema.SingleType;\n\n constructor(contentType: Schema.SingleType) {\n super();\n\n this.contentType = contentType;\n }\n\n async getDocumentId() {\n const { uid } = this.contentType;\n\n return strapi.db\n .query(uid)\n .findOne()\n .then((document) => document?.documentId as string);\n }\n\n async find(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findFirst(this.getFetchParams(params));\n }\n\n async createOrUpdate(params = {}) {\n const { uid } = this.contentType;\n\n const documentId = await this.getDocumentId();\n\n if (documentId) {\n return strapi.documents(uid).update(documentId, this.getFetchParams(params));\n }\n\n return strapi.documents(uid).create(this.getFetchParams(params));\n }\n\n async delete(params = {}) {\n const { uid } = this.contentType;\n\n const documentId = await this.getDocumentId();\n if (!documentId) return { deletedEntries: 0 };\n\n return strapi.documents(uid).delete(documentId, this.getFetchParams(params));\n }\n}\n\nconst createSingleTypeService = (contentType: Schema.SingleType): CoreApi.Service.SingleType => {\n return new SingleTypeService(contentType);\n};\n\nexport { createSingleTypeService };\n"],"names":[],"mappings":";AAGO,MAAM,0BAA0B,YAAkD;AAAA,EAC/E;AAAA,EAER,YAAY,aAAgC;AACpC;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,gBAAgB;AACd,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,GACX,MAAM,GAAG,EACT,UACA,KAAK,CAAC,aAAa,UAAU,UAAoB;AAAA,EACtD;AAAA,EAEA,MAAM,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,UAAU,KAAK,eAAe,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,MAAM,eAAe,SAAS,IAAI;AAC1B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,aAAa,MAAM,KAAK;AAE9B,QAAI,YAAY;AACP,aAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,IAC7E;AAEO,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,MAAM,OAAO,SAAS,IAAI;AAClB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,aAAa,MAAM,KAAK;AAC9B,QAAI,CAAC;AAAmB,aAAA,EAAE,gBAAgB;AAEnC,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EAC7E;AACF;AAEM,MAAA,0BAA0B,CAAC,gBAA+D;AACvF,SAAA,IAAI,kBAAkB,WAAW;AAC1C;"}
|
@@ -5,5 +5,6 @@ export type ContentTypeDefinition = {
|
|
5
5
|
lifecycles: Record<string, unknown>;
|
6
6
|
};
|
7
7
|
declare const createContentType: (uid: string, definition: ContentTypeDefinition) => Schema.ContentType;
|
8
|
-
|
8
|
+
declare const getGlobalId: (schema: Schema.ContentType, prefix?: string) => string;
|
9
|
+
export { createContentType, getGlobalId };
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAUF,QAAA,MAAM,iBAAiB,QAAS,MAAM,cAAc,qBAAqB,uBAiCxE,CAAC;AAyDF,QAAA,MAAM,WAAW,WAAY,OAAO,WAAW,WAAW,MAAM,WAK/D,CAAC;AAmBF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
|
@@ -25,39 +25,20 @@ ${e.errors}`);
|
|
25
25
|
}
|
26
26
|
const { schema, actions, lifecycles } = _.cloneDeep(definition);
|
27
27
|
Object.assign(schema, {
|
28
|
+
uid,
|
29
|
+
modelType: "contentType",
|
28
30
|
kind: schema.kind || "collectionType",
|
29
31
|
__schema__: pickSchema(definition.schema),
|
30
|
-
modelType: "contentType",
|
31
32
|
modelName: definition.schema.info.singularName,
|
32
|
-
|
33
|
+
actions,
|
34
|
+
lifecycles
|
33
35
|
});
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
});
|
41
|
-
} else if (uid.startsWith("plugin::")) {
|
42
|
-
const pluginName = uid.split("::")[1].split(".")[0];
|
43
|
-
Object.assign(schema, {
|
44
|
-
uid,
|
45
|
-
plugin: pluginName,
|
46
|
-
// TODO: to be set in load-plugins.js
|
47
|
-
collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
|
48
|
-
globalId: getGlobalId(schema, schema.info.singularName, pluginName)
|
49
|
-
});
|
50
|
-
} else if (uid.startsWith("admin::")) {
|
51
|
-
Object.assign(schema, {
|
52
|
-
uid,
|
53
|
-
plugin: "admin",
|
54
|
-
globalId: getGlobalId(schema, schema.info.singularName, "admin")
|
55
|
-
});
|
56
|
-
} else {
|
57
|
-
throw new Error(
|
58
|
-
`Incorrect Content Type UID "${uid}". The UID should start with api::, plugin:: or admin::.`
|
59
|
-
);
|
60
|
-
}
|
36
|
+
addTimestamps(schema);
|
37
|
+
addDraftAndPublish(schema);
|
38
|
+
addCreatorFields(schema);
|
39
|
+
return schema;
|
40
|
+
};
|
41
|
+
const addTimestamps = (schema) => {
|
61
42
|
Object.assign(schema.attributes, {
|
62
43
|
[CREATED_AT_ATTRIBUTE]: {
|
63
44
|
type: "datetime"
|
@@ -67,6 +48,11 @@ ${e.errors}`);
|
|
67
48
|
type: "datetime"
|
68
49
|
}
|
69
50
|
});
|
51
|
+
};
|
52
|
+
const addDraftAndPublish = (schema) => {
|
53
|
+
if (!___default.default.has(schema, "options.draftAndPublish")) {
|
54
|
+
___default.default.set(schema, "options.draftAndPublish", false);
|
55
|
+
}
|
70
56
|
schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
|
71
57
|
type: "datetime",
|
72
58
|
configurable: false,
|
@@ -76,6 +62,8 @@ ${e.errors}`);
|
|
76
62
|
return /* @__PURE__ */ new Date();
|
77
63
|
}
|
78
64
|
};
|
65
|
+
};
|
66
|
+
const addCreatorFields = (schema) => {
|
79
67
|
const isPrivate = !___default.default.get(schema, "options.populateCreatorFields", false);
|
80
68
|
schema.attributes[CREATED_BY_ATTRIBUTE] = {
|
81
69
|
type: "relation",
|
@@ -97,12 +85,11 @@ ${e.errors}`);
|
|
97
85
|
useJoinTable: false,
|
98
86
|
private: isPrivate
|
99
87
|
};
|
100
|
-
Object.assign(schema, { actions, lifecycles });
|
101
|
-
return schema;
|
102
88
|
};
|
103
|
-
const getGlobalId = (
|
89
|
+
const getGlobalId = (schema, prefix) => {
|
90
|
+
const modelName = schema.info.singularName;
|
104
91
|
const globalId = prefix ? `${prefix}-${modelName}` : modelName;
|
105
|
-
return
|
92
|
+
return schema.globalId || ___default.default.upperFirst(___default.default.camelCase(globalId));
|
106
93
|
};
|
107
94
|
const pickSchema = (model) => {
|
108
95
|
const schema = ___default.default.cloneDeep(
|
@@ -112,11 +99,13 @@ const pickSchema = (model) => {
|
|
112
99
|
"info",
|
113
100
|
"options",
|
114
101
|
"pluginOptions",
|
115
|
-
"attributes"
|
102
|
+
"attributes",
|
103
|
+
"kind"
|
116
104
|
])
|
117
105
|
);
|
118
106
|
schema.kind = model.kind || "collectionType";
|
119
107
|
return schema;
|
120
108
|
};
|
121
109
|
exports.createContentType = createContentType;
|
110
|
+
exports.getGlobalId = getGlobalId;
|
122
111
|
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/domain/content-type/index.ts"],"sourcesContent":["import { cloneDeep } from 'lodash/fp';\nimport _ from 'lodash';\nimport { yup, contentTypes as contentTypesUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\nimport { validateContentTypeDefinition } from './validator';\n\nexport type ContentTypeDefinition = {\n schema: Schema.ContentType;\n actions: Record<string, unknown>;\n lifecycles: Record<string, unknown>;\n};\n\nconst {\n CREATED_AT_ATTRIBUTE,\n UPDATED_AT_ATTRIBUTE,\n PUBLISHED_AT_ATTRIBUTE,\n CREATED_BY_ATTRIBUTE,\n UPDATED_BY_ATTRIBUTE,\n} = contentTypesUtils.constants;\n\nconst createContentType = (uid: string, definition: ContentTypeDefinition) => {\n try {\n validateContentTypeDefinition(definition);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`Content Type Definition is invalid for ${uid}'.\\n${e.errors}`);\n }\n\n throw e;\n }\n\n const { schema, actions, lifecycles } = cloneDeep(definition);\n\n // general info\n Object.assign(schema, {\n uid,\n modelType: 'contentType',\n kind: schema.kind || 'collectionType',\n __schema__: pickSchema(definition.schema),\n modelName: definition.schema.info.singularName,\n actions,\n lifecycles,\n });\n\n addTimestamps(schema);\n\n // Published at is added regardless of draft and publish being enabled\n // In case it is not enabled, value will be always published, and it will not contain a draft\n addDraftAndPublish(schema);\n\n addCreatorFields(schema);\n\n return schema;\n};\n\nconst addTimestamps = (schema: Schema.ContentType) => {\n // attributes\n Object.assign(schema.attributes, {\n [CREATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n // TODO: handle on edit set to new date\n [UPDATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n });\n};\n\nconst addDraftAndPublish = (schema: Schema.ContentType) => {\n if (!_.has(schema, 'options.draftAndPublish')) {\n _.set(schema, 'options.draftAndPublish', false); // Disabled by default\n }\n\n schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {\n type: 'datetime',\n configurable: false,\n writable: true,\n visible: false,\n default() {\n return new Date();\n },\n };\n};\n\nconst addCreatorFields = (schema: Schema.ContentType) => {\n const isPrivate = !_.get(schema, 'options.populateCreatorFields', false);\n\n schema.attributes[CREATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n\n schema.attributes[UPDATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n};\n\nconst getGlobalId = (schema: Schema.ContentType, prefix?: string) => {\n const modelName = schema.info.singularName;\n const globalId = prefix ? `${prefix}-${modelName}` : modelName;\n\n return schema.globalId || _.upperFirst(_.camelCase(globalId));\n};\n\nconst pickSchema = (model: Schema.ContentType) => {\n const schema = _.cloneDeep(\n _.pick(model, [\n 'connection',\n 'collectionName',\n 'info',\n 'options',\n 'pluginOptions',\n 'attributes',\n 'kind',\n ])\n );\n\n schema.kind = model.kind || 'collectionType';\n return schema;\n};\n\nexport { createContentType, getGlobalId };\n"],"names":["contentTypesUtils","validateContentTypeDefinition","yup","cloneDeep","_"],"mappings":";;;;;;;;AAYA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAIA,YAAAA,aAAkB;AAEhB,MAAA,oBAAoB,CAAC,KAAa,eAAsC;AACxE,MAAA;AACFC,cAAA,8BAA8B,UAAU;AAAA,WACjC,GAAG;AACN,QAAA,aAAaC,gBAAI,iBAAiB;AAC9B,YAAA,IAAI,MAAM,0CAA0C,GAAG;AAAA,EAAO,EAAE,MAAM,EAAE;AAAA,IAChF;AAEM,UAAA;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,SAAS,WAAW,IAAIC,EAAAA,UAAU,UAAU;AAG5D,SAAO,OAAO,QAAQ;AAAA,IACpB;AAAA,IACA,WAAW;AAAA,IACX,MAAM,OAAO,QAAQ;AAAA,IACrB,YAAY,WAAW,WAAW,MAAM;AAAA,IACxC,WAAW,WAAW,OAAO,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EAAA,CACD;AAED,gBAAc,MAAM;AAIpB,qBAAmB,MAAM;AAEzB,mBAAiB,MAAM;AAEhB,SAAA;AACT;AAEA,MAAM,gBAAgB,CAAC,WAA+B;AAE7C,SAAA,OAAO,OAAO,YAAY;AAAA,IAC/B,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,EAAA,CACD;AACH;AAEA,MAAM,qBAAqB,CAAC,WAA+B;AACzD,MAAI,CAACC,WAAAA,QAAE,IAAI,QAAQ,yBAAyB,GAAG;AAC3CA,eAAAA,QAAA,IAAI,QAAQ,2BAA2B,KAAK;AAAA,EAChD;AAEO,SAAA,WAAW,sBAAsB,IAAI;AAAA,IAC1C,MAAM;AAAA,IACN,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AACR,iCAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,WAA+B;AACvD,QAAM,YAAY,CAACA,mBAAE,IAAI,QAAQ,iCAAiC,KAAK;AAEhE,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAGJ,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAEb;AAEM,MAAA,cAAc,CAAC,QAA4B,WAAoB;AAC7D,QAAA,YAAY,OAAO,KAAK;AAC9B,QAAM,WAAW,SAAS,GAAG,MAAM,IAAI,SAAS,KAAK;AAErD,SAAO,OAAO,YAAYA,mBAAE,WAAWA,WAAAA,QAAE,UAAU,QAAQ,CAAC;AAC9D;AAEA,MAAM,aAAa,CAAC,UAA8B;AAChD,QAAM,SAASA,WAAAA,QAAE;AAAA,IACfA,WAAA,QAAE,KAAK,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EAAA;AAGI,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA;AACT;;;"}
|
@@ -21,39 +21,20 @@ ${e.errors}`);
|
|
21
21
|
}
|
22
22
|
const { schema, actions, lifecycles } = cloneDeep(definition);
|
23
23
|
Object.assign(schema, {
|
24
|
+
uid,
|
25
|
+
modelType: "contentType",
|
24
26
|
kind: schema.kind || "collectionType",
|
25
27
|
__schema__: pickSchema(definition.schema),
|
26
|
-
modelType: "contentType",
|
27
28
|
modelName: definition.schema.info.singularName,
|
28
|
-
|
29
|
+
actions,
|
30
|
+
lifecycles
|
29
31
|
});
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
});
|
37
|
-
} else if (uid.startsWith("plugin::")) {
|
38
|
-
const pluginName = uid.split("::")[1].split(".")[0];
|
39
|
-
Object.assign(schema, {
|
40
|
-
uid,
|
41
|
-
plugin: pluginName,
|
42
|
-
// TODO: to be set in load-plugins.js
|
43
|
-
collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
|
44
|
-
globalId: getGlobalId(schema, schema.info.singularName, pluginName)
|
45
|
-
});
|
46
|
-
} else if (uid.startsWith("admin::")) {
|
47
|
-
Object.assign(schema, {
|
48
|
-
uid,
|
49
|
-
plugin: "admin",
|
50
|
-
globalId: getGlobalId(schema, schema.info.singularName, "admin")
|
51
|
-
});
|
52
|
-
} else {
|
53
|
-
throw new Error(
|
54
|
-
`Incorrect Content Type UID "${uid}". The UID should start with api::, plugin:: or admin::.`
|
55
|
-
);
|
56
|
-
}
|
32
|
+
addTimestamps(schema);
|
33
|
+
addDraftAndPublish(schema);
|
34
|
+
addCreatorFields(schema);
|
35
|
+
return schema;
|
36
|
+
};
|
37
|
+
const addTimestamps = (schema) => {
|
57
38
|
Object.assign(schema.attributes, {
|
58
39
|
[CREATED_AT_ATTRIBUTE]: {
|
59
40
|
type: "datetime"
|
@@ -63,6 +44,11 @@ ${e.errors}`);
|
|
63
44
|
type: "datetime"
|
64
45
|
}
|
65
46
|
});
|
47
|
+
};
|
48
|
+
const addDraftAndPublish = (schema) => {
|
49
|
+
if (!_.has(schema, "options.draftAndPublish")) {
|
50
|
+
_.set(schema, "options.draftAndPublish", false);
|
51
|
+
}
|
66
52
|
schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
|
67
53
|
type: "datetime",
|
68
54
|
configurable: false,
|
@@ -72,6 +58,8 @@ ${e.errors}`);
|
|
72
58
|
return /* @__PURE__ */ new Date();
|
73
59
|
}
|
74
60
|
};
|
61
|
+
};
|
62
|
+
const addCreatorFields = (schema) => {
|
75
63
|
const isPrivate = !_.get(schema, "options.populateCreatorFields", false);
|
76
64
|
schema.attributes[CREATED_BY_ATTRIBUTE] = {
|
77
65
|
type: "relation",
|
@@ -93,12 +81,11 @@ ${e.errors}`);
|
|
93
81
|
useJoinTable: false,
|
94
82
|
private: isPrivate
|
95
83
|
};
|
96
|
-
Object.assign(schema, { actions, lifecycles });
|
97
|
-
return schema;
|
98
84
|
};
|
99
|
-
const getGlobalId = (
|
85
|
+
const getGlobalId = (schema, prefix) => {
|
86
|
+
const modelName = schema.info.singularName;
|
100
87
|
const globalId = prefix ? `${prefix}-${modelName}` : modelName;
|
101
|
-
return
|
88
|
+
return schema.globalId || _.upperFirst(_.camelCase(globalId));
|
102
89
|
};
|
103
90
|
const pickSchema = (model) => {
|
104
91
|
const schema = _.cloneDeep(
|
@@ -108,13 +95,15 @@ const pickSchema = (model) => {
|
|
108
95
|
"info",
|
109
96
|
"options",
|
110
97
|
"pluginOptions",
|
111
|
-
"attributes"
|
98
|
+
"attributes",
|
99
|
+
"kind"
|
112
100
|
])
|
113
101
|
);
|
114
102
|
schema.kind = model.kind || "collectionType";
|
115
103
|
return schema;
|
116
104
|
};
|
117
105
|
export {
|
118
|
-
createContentType
|
106
|
+
createContentType,
|
107
|
+
getGlobalId
|
119
108
|
};
|
120
109
|
//# sourceMappingURL=index.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/domain/content-type/index.ts"],"sourcesContent":["import { cloneDeep } from 'lodash/fp';\nimport _ from 'lodash';\nimport { yup, contentTypes as contentTypesUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\nimport { validateContentTypeDefinition } from './validator';\n\nexport type ContentTypeDefinition = {\n schema: Schema.ContentType;\n actions: Record<string, unknown>;\n lifecycles: Record<string, unknown>;\n};\n\nconst {\n CREATED_AT_ATTRIBUTE,\n UPDATED_AT_ATTRIBUTE,\n PUBLISHED_AT_ATTRIBUTE,\n CREATED_BY_ATTRIBUTE,\n UPDATED_BY_ATTRIBUTE,\n} = contentTypesUtils.constants;\n\nconst createContentType = (uid: string, definition: ContentTypeDefinition) => {\n try {\n validateContentTypeDefinition(definition);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`Content Type Definition is invalid for ${uid}'.\\n${e.errors}`);\n }\n\n throw e;\n }\n\n const { schema, actions, lifecycles } = cloneDeep(definition);\n\n // general info\n Object.assign(schema, {\n uid,\n modelType: 'contentType',\n kind: schema.kind || 'collectionType',\n __schema__: pickSchema(definition.schema),\n modelName: definition.schema.info.singularName,\n actions,\n lifecycles,\n });\n\n addTimestamps(schema);\n\n // Published at is added regardless of draft and publish being enabled\n // In case it is not enabled, value will be always published, and it will not contain a draft\n addDraftAndPublish(schema);\n\n addCreatorFields(schema);\n\n return schema;\n};\n\nconst addTimestamps = (schema: Schema.ContentType) => {\n // attributes\n Object.assign(schema.attributes, {\n [CREATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n // TODO: handle on edit set to new date\n [UPDATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n });\n};\n\nconst addDraftAndPublish = (schema: Schema.ContentType) => {\n if (!_.has(schema, 'options.draftAndPublish')) {\n _.set(schema, 'options.draftAndPublish', false); // Disabled by default\n }\n\n schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {\n type: 'datetime',\n configurable: false,\n writable: true,\n visible: false,\n default() {\n return new Date();\n },\n };\n};\n\nconst addCreatorFields = (schema: Schema.ContentType) => {\n const isPrivate = !_.get(schema, 'options.populateCreatorFields', false);\n\n schema.attributes[CREATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n\n schema.attributes[UPDATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n};\n\nconst getGlobalId = (schema: Schema.ContentType, prefix?: string) => {\n const modelName = schema.info.singularName;\n const globalId = prefix ? `${prefix}-${modelName}` : modelName;\n\n return schema.globalId || _.upperFirst(_.camelCase(globalId));\n};\n\nconst pickSchema = (model: Schema.ContentType) => {\n const schema = _.cloneDeep(\n _.pick(model, [\n 'connection',\n 'collectionName',\n 'info',\n 'options',\n 'pluginOptions',\n 'attributes',\n 'kind',\n ])\n );\n\n schema.kind = model.kind || 'collectionType';\n return schema;\n};\n\nexport { createContentType, getGlobalId };\n"],"names":["contentTypesUtils"],"mappings":";;;;AAYA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAIA,aAAkB;AAEhB,MAAA,oBAAoB,CAAC,KAAa,eAAsC;AACxE,MAAA;AACF,kCAA8B,UAAU;AAAA,WACjC,GAAG;AACN,QAAA,aAAa,IAAI,iBAAiB;AAC9B,YAAA,IAAI,MAAM,0CAA0C,GAAG;AAAA,EAAO,EAAE,MAAM,EAAE;AAAA,IAChF;AAEM,UAAA;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,SAAS,WAAW,IAAI,UAAU,UAAU;AAG5D,SAAO,OAAO,QAAQ;AAAA,IACpB;AAAA,IACA,WAAW;AAAA,IACX,MAAM,OAAO,QAAQ;AAAA,IACrB,YAAY,WAAW,WAAW,MAAM;AAAA,IACxC,WAAW,WAAW,OAAO,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EAAA,CACD;AAED,gBAAc,MAAM;AAIpB,qBAAmB,MAAM;AAEzB,mBAAiB,MAAM;AAEhB,SAAA;AACT;AAEA,MAAM,gBAAgB,CAAC,WAA+B;AAE7C,SAAA,OAAO,OAAO,YAAY;AAAA,IAC/B,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,EAAA,CACD;AACH;AAEA,MAAM,qBAAqB,CAAC,WAA+B;AACzD,MAAI,CAAC,EAAE,IAAI,QAAQ,yBAAyB,GAAG;AAC3C,MAAA,IAAI,QAAQ,2BAA2B,KAAK;AAAA,EAChD;AAEO,SAAA,WAAW,sBAAsB,IAAI;AAAA,IAC1C,MAAM;AAAA,IACN,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AACR,iCAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,WAA+B;AACvD,QAAM,YAAY,CAAC,EAAE,IAAI,QAAQ,iCAAiC,KAAK;AAEhE,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAGJ,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAEb;AAEM,MAAA,cAAc,CAAC,QAA4B,WAAoB;AAC7D,QAAA,YAAY,OAAO,KAAK;AAC9B,QAAM,WAAW,SAAS,GAAG,MAAM,IAAI,SAAS,KAAK;AAErD,SAAO,OAAO,YAAY,EAAE,WAAW,EAAE,UAAU,QAAQ,CAAC;AAC9D;AAEA,MAAM,aAAa,CAAC,UAA8B;AAChD,QAAM,SAAS,EAAE;AAAA,IACf,EAAE,KAAK,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EAAA;AAGI,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA;AACT;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAW,MAAM,eAAe,CAAC;AAkG7C,QAAA,MAAM,6BAA6B,SAAU,OAAO;;;;;;;;;;;;;;;;;;;GAEnD,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
@@ -40,7 +40,7 @@ const contentTypeSchemaValidator = strapiUtils.yup.object().shape({
|
|
40
40
|
for (const attrName of Object.keys(attributes)) {
|
41
41
|
const attr = attributes[attrName];
|
42
42
|
if (attr.type === "enumeration") {
|
43
|
-
const regressedValues = attr.enum.map(strapiUtils.toRegressedEnumValue);
|
43
|
+
const regressedValues = attr.enum.map(strapiUtils.strings.toRegressedEnumValue);
|
44
44
|
if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
|
45
45
|
const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;
|
46
46
|
return this.createError({ message });
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validator.js","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, strings } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst LIFECYCLES = [\n 'beforeCreate',\n 'afterCreate',\n 'beforeFindOne',\n 'afterFindOne',\n 'beforeFindMany',\n 'afterFindMany',\n 'beforeCount',\n 'afterCount',\n 'beforeCreateMany',\n 'afterCreateMany',\n 'beforeUpdate',\n 'afterUpdate',\n 'beforeUpdateMany',\n 'afterUpdateMany',\n 'beforeDelete',\n 'afterDelete',\n 'beforeDeleteMany',\n 'afterDeleteMany',\n] as const;\n\n/**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\nconst GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\nconst lifecyclesShape = _.mapValues(_.keyBy(LIFECYCLES), () => yup.mixed().nullable().isFunction());\n\nconst contentTypeSchemaValidator = yup.object().shape({\n schema: yup.object().shape({\n info: yup\n .object()\n .shape({\n displayName: yup.string().required(),\n singularName: yup.string().isKebabCase().required(),\n pluralName: yup.string().isKebabCase().required(),\n })\n .required(),\n attributes: yup.object().test({\n name: 'valuesCollide',\n message: 'Some values collide when normalized',\n test(attributes: Schema.ContentType['attributes']) {\n for (const attrName of Object.keys(attributes)) {\n const attr = attributes[attrName];\n if (attr.type === 'enumeration') {\n const regressedValues = attr.enum.map(strings.toRegressedEnumValue);\n\n // should match the GraphQL regex\n if (!regressedValues.every((value: string) => GRAPHQL_ENUM_REGEX.test(value))) {\n const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;\n\n return this.createError({ message });\n }\n\n // should not contain empty values\n if (regressedValues.some((value: string) => value === '')) {\n return this.createError({\n message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`,\n });\n }\n\n // should not collide\n const duplicates = _.uniq(\n regressedValues.filter(\n (value: string, index: number, values: string[]) => values.indexOf(value) !== index\n )\n );\n\n if (duplicates.length) {\n const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(\n ', '\n )}. Please modify your enumeration.`;\n\n return this.createError({ message });\n }\n }\n }\n\n return true;\n },\n }),\n }),\n actions: yup.object().onlyContainsFunctions(),\n lifecycles: yup.object().shape(lifecyclesShape).noUnknown(),\n});\n\nconst validateContentTypeDefinition = (data: unknown) => {\n return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });\n};\n\nexport { validateContentTypeDefinition };\n"],"names":["_","yup","strings"],"mappings":";;;;;;AAIA,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAcA,MAAM,qBAAqB;AAE3B,MAAM,kBAAkBA,WAAAA,QAAE,UAAUA,WAAA,QAAE,MAAM,UAAU,GAAG,MAAMC,YAAAA,IAAI,MAAM,EAAE,SAAS,EAAE,WAAY,CAAA;AAElG,MAAM,6BAA6BA,YAAA,IAAI,OAAO,EAAE,MAAM;AAAA,EACpD,QAAQA,YAAA,IAAI,OAAO,EAAE,MAAM;AAAA,IACzB,MAAMA,YAAA,IACH,OAAO,EACP,MAAM;AAAA,MACL,aAAaA,YAAA,IAAI,OAAO,EAAE,SAAS;AAAA,MACnC,cAAcA,YAAAA,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,MAClD,YAAYA,YAAAA,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,IACjD,CAAA,EACA,SAAS;AAAA,IACZ,YAAYA,YAAA,IAAI,OAAO,EAAE,KAAK;AAAA,MAC5B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,YAA8C;AACjD,mBAAW,YAAY,OAAO,KAAK,UAAU,GAAG;AACxC,gBAAA,OAAO,WAAW,QAAQ;AAC5B,cAAA,KAAK,SAAS,eAAe;AAC/B,kBAAM,kBAAkB,KAAK,KAAK,IAAIC,YAAAA,QAAQ,oBAAoB;AAG9D,gBAAA,CAAC,gBAAgB,MAAM,CAAC,UAAkB,mBAAmB,KAAK,KAAK,CAAC,GAAG;AACvE,oBAAA,UAAU,yJAAyJ,QAAQ;AAEjL,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAGA,gBAAI,gBAAgB,KAAK,CAAC,UAAkB,UAAU,EAAE,GAAG;AACzD,qBAAO,KAAK,YAAY;AAAA,gBACtB,SAAS,0CAA0C,QAAQ;AAAA,cAAA,CAC5D;AAAA,YACH;AAGA,kBAAM,aAAaF,WAAAA,QAAE;AAAA,cACnB,gBAAgB;AAAA,gBACd,CAAC,OAAe,OAAe,WAAqB,OAAO,QAAQ,KAAK,MAAM;AAAA,cAChF;AAAA,YAAA;AAGF,gBAAI,WAAW,QAAQ;AACrB,oBAAM,UAAU,yCAAyC,QAAQ,8BAA8B,WAAW;AAAA,gBACxG;AAAA,cACD,CAAA;AAED,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MACT;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AAAA,EACD,SAASC,YAAA,IAAI,OAAO,EAAE,sBAAsB;AAAA,EAC5C,YAAYA,YAAI,IAAA,OAAA,EAAS,MAAM,eAAe,EAAE,UAAU;AAC5D,CAAC;AAEK,MAAA,gCAAgC,CAAC,SAAkB;AAChD,SAAA,2BAA2B,aAAa,MAAM,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC1F;;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import _ from "lodash";
|
2
|
-
import { yup,
|
2
|
+
import { yup, strings } from "@strapi/utils";
|
3
3
|
const LIFECYCLES = [
|
4
4
|
"beforeCreate",
|
5
5
|
"afterCreate",
|
@@ -36,7 +36,7 @@ const contentTypeSchemaValidator = yup.object().shape({
|
|
36
36
|
for (const attrName of Object.keys(attributes)) {
|
37
37
|
const attr = attributes[attrName];
|
38
38
|
if (attr.type === "enumeration") {
|
39
|
-
const regressedValues = attr.enum.map(toRegressedEnumValue);
|
39
|
+
const regressedValues = attr.enum.map(strings.toRegressedEnumValue);
|
40
40
|
if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
|
41
41
|
const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;
|
42
42
|
return this.createError({ message });
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validator.mjs","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, strings } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst LIFECYCLES = [\n 'beforeCreate',\n 'afterCreate',\n 'beforeFindOne',\n 'afterFindOne',\n 'beforeFindMany',\n 'afterFindMany',\n 'beforeCount',\n 'afterCount',\n 'beforeCreateMany',\n 'afterCreateMany',\n 'beforeUpdate',\n 'afterUpdate',\n 'beforeUpdateMany',\n 'afterUpdateMany',\n 'beforeDelete',\n 'afterDelete',\n 'beforeDeleteMany',\n 'afterDeleteMany',\n] as const;\n\n/**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\nconst GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\nconst lifecyclesShape = _.mapValues(_.keyBy(LIFECYCLES), () => yup.mixed().nullable().isFunction());\n\nconst contentTypeSchemaValidator = yup.object().shape({\n schema: yup.object().shape({\n info: yup\n .object()\n .shape({\n displayName: yup.string().required(),\n singularName: yup.string().isKebabCase().required(),\n pluralName: yup.string().isKebabCase().required(),\n })\n .required(),\n attributes: yup.object().test({\n name: 'valuesCollide',\n message: 'Some values collide when normalized',\n test(attributes: Schema.ContentType['attributes']) {\n for (const attrName of Object.keys(attributes)) {\n const attr = attributes[attrName];\n if (attr.type === 'enumeration') {\n const regressedValues = attr.enum.map(strings.toRegressedEnumValue);\n\n // should match the GraphQL regex\n if (!regressedValues.every((value: string) => GRAPHQL_ENUM_REGEX.test(value))) {\n const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;\n\n return this.createError({ message });\n }\n\n // should not contain empty values\n if (regressedValues.some((value: string) => value === '')) {\n return this.createError({\n message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`,\n });\n }\n\n // should not collide\n const duplicates = _.uniq(\n regressedValues.filter(\n (value: string, index: number, values: string[]) => values.indexOf(value) !== index\n )\n );\n\n if (duplicates.length) {\n const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(\n ', '\n )}. Please modify your enumeration.`;\n\n return this.createError({ message });\n }\n }\n }\n\n return true;\n },\n }),\n }),\n actions: yup.object().onlyContainsFunctions(),\n lifecycles: yup.object().shape(lifecyclesShape).noUnknown(),\n});\n\nconst validateContentTypeDefinition = (data: unknown) => {\n return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });\n};\n\nexport { validateContentTypeDefinition };\n"],"names":[],"mappings":";;AAIA,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAcA,MAAM,qBAAqB;AAE3B,MAAM,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,EAAE,SAAS,EAAE,WAAY,CAAA;AAElG,MAAM,6BAA6B,IAAI,OAAO,EAAE,MAAM;AAAA,EACpD,QAAQ,IAAI,OAAO,EAAE,MAAM;AAAA,IACzB,MAAM,IACH,OAAO,EACP,MAAM;AAAA,MACL,aAAa,IAAI,OAAO,EAAE,SAAS;AAAA,MACnC,cAAc,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,MAClD,YAAY,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,IACjD,CAAA,EACA,SAAS;AAAA,IACZ,YAAY,IAAI,OAAO,EAAE,KAAK;AAAA,MAC5B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,YAA8C;AACjD,mBAAW,YAAY,OAAO,KAAK,UAAU,GAAG;AACxC,gBAAA,OAAO,WAAW,QAAQ;AAC5B,cAAA,KAAK,SAAS,eAAe;AAC/B,kBAAM,kBAAkB,KAAK,KAAK,IAAI,QAAQ,oBAAoB;AAG9D,gBAAA,CAAC,gBAAgB,MAAM,CAAC,UAAkB,mBAAmB,KAAK,KAAK,CAAC,GAAG;AACvE,oBAAA,UAAU,yJAAyJ,QAAQ;AAEjL,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAGA,gBAAI,gBAAgB,KAAK,CAAC,UAAkB,UAAU,EAAE,GAAG;AACzD,qBAAO,KAAK,YAAY;AAAA,gBACtB,SAAS,0CAA0C,QAAQ;AAAA,cAAA,CAC5D;AAAA,YACH;AAGA,kBAAM,aAAa,EAAE;AAAA,cACnB,gBAAgB;AAAA,gBACd,CAAC,OAAe,OAAe,WAAqB,OAAO,QAAQ,KAAK,MAAM;AAAA,cAChF;AAAA,YAAA;AAGF,gBAAI,WAAW,QAAQ;AACrB,oBAAM,UAAU,yCAAyC,QAAQ,8BAA8B,WAAW;AAAA,gBACxG;AAAA,cACD,CAAA;AAED,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MACT;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AAAA,EACD,SAAS,IAAI,OAAO,EAAE,sBAAsB;AAAA,EAC5C,YAAY,IAAI,OAAA,EAAS,MAAM,eAAe,EAAE,UAAU;AAC5D,CAAC;AAEK,MAAA,gCAAgC,CAAC,SAAkB;AAChD,SAAA,2BAA2B,aAAa,MAAM,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC1F;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/module/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAW5D,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;CAChD;AAiBD,eAAO,MAAM,YAAY,cAAe,MAAM,aAAa,SAAS,UAAU,MAAM,KAAG,MAoFtF,CAAC"}
|
@@ -2,13 +2,12 @@
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
3
|
const _ = require("lodash");
|
4
4
|
const strapiUtils = require("@strapi/utils");
|
5
|
-
const
|
5
|
+
const namespace = require("../../registries/namespace.js");
|
6
6
|
const validation = require("./validation.js");
|
7
7
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
8
8
|
const ___default = /* @__PURE__ */ _interopDefault(_);
|
9
|
-
const
|
10
|
-
|
11
|
-
return ___default.default.mapKeys(map, (value, key) => utils.removeNamespace(key, namespace));
|
9
|
+
const removeNamespacedKeys = (map, namespace$1) => {
|
10
|
+
return ___default.default.mapKeys(map, (value, key) => namespace.removeNamespace(key, namespace$1));
|
12
11
|
};
|
13
12
|
const defaultModule = {
|
14
13
|
config: {},
|
@@ -19,13 +18,13 @@ const defaultModule = {
|
|
19
18
|
policies: {},
|
20
19
|
middlewares: {}
|
21
20
|
};
|
22
|
-
const createModule = (
|
21
|
+
const createModule = (namespace2, rawModule, strapi) => {
|
23
22
|
___default.default.defaults(rawModule, defaultModule);
|
24
23
|
try {
|
25
24
|
validation.validateModule(rawModule);
|
26
25
|
} catch (e) {
|
27
26
|
if (e instanceof strapiUtils.yup.ValidationError) {
|
28
|
-
throw new Error(`strapi-server.js is invalid for '${
|
27
|
+
throw new Error(`strapi-server.js is invalid for '${namespace2}'.
|
29
28
|
${e.errors.join("\n")}`);
|
30
29
|
}
|
31
30
|
}
|
@@ -33,73 +32,73 @@ ${e.errors.join("\n")}`);
|
|
33
32
|
return {
|
34
33
|
async bootstrap() {
|
35
34
|
if (called.bootstrap) {
|
36
|
-
throw new Error(`Bootstrap for ${
|
35
|
+
throw new Error(`Bootstrap for ${namespace2} has already been called`);
|
37
36
|
}
|
38
37
|
called.bootstrap = true;
|
39
38
|
await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));
|
40
39
|
},
|
41
40
|
async register() {
|
42
41
|
if (called.register) {
|
43
|
-
throw new Error(`Register for ${
|
42
|
+
throw new Error(`Register for ${namespace2} has already been called`);
|
44
43
|
}
|
45
44
|
called.register = true;
|
46
45
|
await (rawModule.register && rawModule.register({ strapi }));
|
47
46
|
},
|
48
47
|
async destroy() {
|
49
48
|
if (called.destroy) {
|
50
|
-
throw new Error(`Destroy for ${
|
49
|
+
throw new Error(`Destroy for ${namespace2} has already been called`);
|
51
50
|
}
|
52
51
|
called.destroy = true;
|
53
52
|
await (rawModule.destroy && rawModule.destroy({ strapi }));
|
54
53
|
},
|
55
54
|
load() {
|
56
|
-
strapi.get("content-types").add(
|
57
|
-
strapi.get("services").add(
|
58
|
-
strapi.get("policies").add(
|
59
|
-
strapi.get("middlewares").add(
|
60
|
-
strapi.get("controllers").add(
|
61
|
-
strapi.get("config").set(
|
55
|
+
strapi.get("content-types").add(namespace2, rawModule.contentTypes);
|
56
|
+
strapi.get("services").add(namespace2, rawModule.services);
|
57
|
+
strapi.get("policies").add(namespace2, rawModule.policies);
|
58
|
+
strapi.get("middlewares").add(namespace2, rawModule.middlewares);
|
59
|
+
strapi.get("controllers").add(namespace2, rawModule.controllers);
|
60
|
+
strapi.get("config").set(namespace2, rawModule.config);
|
62
61
|
},
|
63
62
|
get routes() {
|
64
63
|
return rawModule.routes ?? {};
|
65
64
|
},
|
66
65
|
config(path, defaultValue) {
|
67
|
-
return strapi.get("config").get(`${
|
66
|
+
return strapi.get("config").get(`${namespace2}.${path}`, defaultValue);
|
68
67
|
},
|
69
68
|
contentType(ctName) {
|
70
|
-
return strapi.get("content-types").get(`${
|
69
|
+
return strapi.get("content-types").get(`${namespace2}.${ctName}`);
|
71
70
|
},
|
72
71
|
get contentTypes() {
|
73
|
-
const contentTypes = strapi.get("content-types").getAll(
|
74
|
-
return removeNamespacedKeys(contentTypes,
|
72
|
+
const contentTypes = strapi.get("content-types").getAll(namespace2);
|
73
|
+
return removeNamespacedKeys(contentTypes, namespace2);
|
75
74
|
},
|
76
75
|
service(serviceName) {
|
77
|
-
return strapi.get("services").get(`${
|
76
|
+
return strapi.get("services").get(`${namespace2}.${serviceName}`);
|
78
77
|
},
|
79
78
|
get services() {
|
80
|
-
const services = strapi.get("services").getAll(
|
81
|
-
return removeNamespacedKeys(services,
|
79
|
+
const services = strapi.get("services").getAll(namespace2);
|
80
|
+
return removeNamespacedKeys(services, namespace2);
|
82
81
|
},
|
83
82
|
policy(policyName) {
|
84
|
-
return strapi.get("policies").get(`${
|
83
|
+
return strapi.get("policies").get(`${namespace2}.${policyName}`);
|
85
84
|
},
|
86
85
|
get policies() {
|
87
|
-
const policies = strapi.get("policies").getAll(
|
88
|
-
return removeNamespacedKeys(policies,
|
86
|
+
const policies = strapi.get("policies").getAll(namespace2);
|
87
|
+
return removeNamespacedKeys(policies, namespace2);
|
89
88
|
},
|
90
89
|
middleware(middlewareName) {
|
91
|
-
return strapi.get("middlewares").get(`${
|
90
|
+
return strapi.get("middlewares").get(`${namespace2}.${middlewareName}`);
|
92
91
|
},
|
93
92
|
get middlewares() {
|
94
|
-
const middlewares = strapi.get("middlewares").getAll(
|
95
|
-
return removeNamespacedKeys(middlewares,
|
93
|
+
const middlewares = strapi.get("middlewares").getAll(namespace2);
|
94
|
+
return removeNamespacedKeys(middlewares, namespace2);
|
96
95
|
},
|
97
96
|
controller(controllerName) {
|
98
|
-
return strapi.get("controllers").get(`${
|
97
|
+
return strapi.get("controllers").get(`${namespace2}.${controllerName}`);
|
99
98
|
},
|
100
99
|
get controllers() {
|
101
|
-
const controllers = strapi.get("controllers").getAll(
|
102
|
-
return removeNamespacedKeys(controllers,
|
100
|
+
const controllers = strapi.get("controllers").getAll(namespace2);
|
101
|
+
return removeNamespacedKeys(controllers, namespace2);
|
103
102
|
}
|
104
103
|
};
|
105
104
|
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/domain/module/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup } from '@strapi/utils';\nimport type { Strapi, Common, Schema } from '@strapi/types';\n\nimport { removeNamespace } from '../../registries/namespace';\nimport { validateModule } from './validation';\n\ninterface LifecyclesState {\n bootstrap?: boolean;\n register?: boolean;\n destroy?: boolean;\n}\n\nexport interface RawModule {\n config?: Record<string, unknown>;\n routes?: Common.Module['routes'];\n controllers?: Common.Module['controllers'];\n services?: Common.Module['services'];\n contentTypes?: Common.Module['contentTypes'];\n policies?: Common.Module['policies'];\n middlewares?: Common.Module['middlewares'];\n bootstrap?: (params: { strapi: Strapi }) => Promise<void>;\n register?: (params: { strapi: Strapi }) => Promise<void>;\n destroy?: (params: { strapi: Strapi }) => Promise<void>;\n}\n\nexport interface Module {\n bootstrap: () => Promise<void>;\n register: () => Promise<void>;\n destroy: () => Promise<void>;\n load: () => void;\n routes: Common.Module['routes'];\n config: (path: string, defaultValue?: unknown) => unknown;\n contentType: (ctName: Common.UID.ContentType) => Schema.ContentType;\n contentTypes: Record<string, Schema.ContentType>;\n service: (serviceName: Common.UID.Service) => Common.Service;\n services: Record<string, Common.Service>;\n policy: (policyName: Common.UID.Policy) => Common.Policy;\n policies: Record<string, Common.Policy>;\n middleware: (middlewareName: Common.UID.Middleware) => Common.Middleware;\n middlewares: Record<string, Common.Middleware>;\n controller: (controllerName: Common.UID.Controller) => Common.Controller;\n controllers: Record<string, Common.Controller>;\n}\n\n// Removes the namespace from a map with keys prefixed with a namespace\nconst removeNamespacedKeys = <T extends Record<string, unknown>>(map: T, namespace: string) => {\n return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));\n};\n\nconst defaultModule = {\n config: {},\n routes: [],\n controllers: {},\n services: {},\n contentTypes: {},\n policies: {},\n middlewares: {},\n};\n\nexport const createModule = (namespace: string, rawModule: RawModule, strapi: Strapi): Module => {\n _.defaults(rawModule, defaultModule);\n\n try {\n validateModule(rawModule);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`strapi-server.js is invalid for '${namespace}'.\\n${e.errors.join('\\n')}`);\n }\n }\n\n const called: LifecyclesState = {};\n return {\n async bootstrap() {\n if (called.bootstrap) {\n throw new Error(`Bootstrap for ${namespace} has already been called`);\n }\n called.bootstrap = true;\n await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));\n },\n async register() {\n if (called.register) {\n throw new Error(`Register for ${namespace} has already been called`);\n }\n called.register = true;\n await (rawModule.register && rawModule.register({ strapi }));\n },\n async destroy() {\n if (called.destroy) {\n throw new Error(`Destroy for ${namespace} has already been called`);\n }\n called.destroy = true;\n await (rawModule.destroy && rawModule.destroy({ strapi }));\n },\n load() {\n strapi.get('content-types').add(namespace, rawModule.contentTypes);\n strapi.get('services').add(namespace, rawModule.services);\n strapi.get('policies').add(namespace, rawModule.policies);\n strapi.get('middlewares').add(namespace, rawModule.middlewares);\n strapi.get('controllers').add(namespace, rawModule.controllers);\n strapi.get('config').set(namespace, rawModule.config);\n },\n get routes() {\n return rawModule.routes ?? {};\n },\n config(path: string, defaultValue: unknown) {\n return strapi.get('config').get(`${namespace}.${path}`, defaultValue);\n },\n contentType(ctName: Common.UID.ContentType) {\n return strapi.get('content-types').get(`${namespace}.${ctName}`);\n },\n get contentTypes() {\n const contentTypes = strapi.get('content-types').getAll(namespace);\n return removeNamespacedKeys(contentTypes, namespace);\n },\n service(serviceName: Common.UID.Service) {\n return strapi.get('services').get(`${namespace}.${serviceName}`);\n },\n get services() {\n const services = strapi.get('services').getAll(namespace);\n return removeNamespacedKeys(services, namespace);\n },\n policy(policyName: Common.UID.Policy) {\n return strapi.get('policies').get(`${namespace}.${policyName}`);\n },\n get policies() {\n const policies = strapi.get('policies').getAll(namespace);\n return removeNamespacedKeys(policies, namespace);\n },\n middleware(middlewareName: Common.UID.Middleware) {\n return strapi.get('middlewares').get(`${namespace}.${middlewareName}`);\n },\n get middlewares() {\n const middlewares = strapi.get('middlewares').getAll(namespace);\n return removeNamespacedKeys(middlewares, namespace);\n },\n controller(controllerName: Common.UID.Controller) {\n return strapi.get('controllers').get(`${namespace}.${controllerName}`);\n },\n get controllers() {\n const controllers = strapi.get('controllers').getAll(namespace);\n return removeNamespacedKeys(controllers, namespace);\n },\n };\n};\n"],"names":["namespace","_","removeNamespace","validateModule","yup"],"mappings":"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"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import _ from "lodash";
|
2
2
|
import { yup } from "@strapi/utils";
|
3
|
-
import { removeNamespace } from "../../
|
3
|
+
import { removeNamespace } from "../../registries/namespace.mjs";
|
4
4
|
import { validateModule } from "./validation.mjs";
|
5
|
-
const uidToPath = (uid) => uid.replace("::", ".");
|
6
5
|
const removeNamespacedKeys = (map, namespace) => {
|
7
6
|
return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));
|
8
7
|
};
|
@@ -54,13 +53,13 @@ ${e.errors.join("\n")}`);
|
|
54
53
|
strapi.get("policies").add(namespace, rawModule.policies);
|
55
54
|
strapi.get("middlewares").add(namespace, rawModule.middlewares);
|
56
55
|
strapi.get("controllers").add(namespace, rawModule.controllers);
|
57
|
-
strapi.get("config").set(
|
56
|
+
strapi.get("config").set(namespace, rawModule.config);
|
58
57
|
},
|
59
58
|
get routes() {
|
60
59
|
return rawModule.routes ?? {};
|
61
60
|
},
|
62
61
|
config(path, defaultValue) {
|
63
|
-
return strapi.get("config").get(`${
|
62
|
+
return strapi.get("config").get(`${namespace}.${path}`, defaultValue);
|
64
63
|
},
|
65
64
|
contentType(ctName) {
|
66
65
|
return strapi.get("content-types").get(`${namespace}.${ctName}`);
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/domain/module/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup } from '@strapi/utils';\nimport type { Strapi, Common, Schema } from '@strapi/types';\n\nimport { removeNamespace } from '../../registries/namespace';\nimport { validateModule } from './validation';\n\ninterface LifecyclesState {\n bootstrap?: boolean;\n register?: boolean;\n destroy?: boolean;\n}\n\nexport interface RawModule {\n config?: Record<string, unknown>;\n routes?: Common.Module['routes'];\n controllers?: Common.Module['controllers'];\n services?: Common.Module['services'];\n contentTypes?: Common.Module['contentTypes'];\n policies?: Common.Module['policies'];\n middlewares?: Common.Module['middlewares'];\n bootstrap?: (params: { strapi: Strapi }) => Promise<void>;\n register?: (params: { strapi: Strapi }) => Promise<void>;\n destroy?: (params: { strapi: Strapi }) => Promise<void>;\n}\n\nexport interface Module {\n bootstrap: () => Promise<void>;\n register: () => Promise<void>;\n destroy: () => Promise<void>;\n load: () => void;\n routes: Common.Module['routes'];\n config: (path: string, defaultValue?: unknown) => unknown;\n contentType: (ctName: Common.UID.ContentType) => Schema.ContentType;\n contentTypes: Record<string, Schema.ContentType>;\n service: (serviceName: Common.UID.Service) => Common.Service;\n services: Record<string, Common.Service>;\n policy: (policyName: Common.UID.Policy) => Common.Policy;\n policies: Record<string, Common.Policy>;\n middleware: (middlewareName: Common.UID.Middleware) => Common.Middleware;\n middlewares: Record<string, Common.Middleware>;\n controller: (controllerName: Common.UID.Controller) => Common.Controller;\n controllers: Record<string, Common.Controller>;\n}\n\n// Removes the namespace from a map with keys prefixed with a namespace\nconst removeNamespacedKeys = <T extends Record<string, unknown>>(map: T, namespace: string) => {\n return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));\n};\n\nconst defaultModule = {\n config: {},\n routes: [],\n controllers: {},\n services: {},\n contentTypes: {},\n policies: {},\n middlewares: {},\n};\n\nexport const createModule = (namespace: string, rawModule: RawModule, strapi: Strapi): Module => {\n _.defaults(rawModule, defaultModule);\n\n try {\n validateModule(rawModule);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`strapi-server.js is invalid for '${namespace}'.\\n${e.errors.join('\\n')}`);\n }\n }\n\n const called: LifecyclesState = {};\n return {\n async bootstrap() {\n if (called.bootstrap) {\n throw new Error(`Bootstrap for ${namespace} has already been called`);\n }\n called.bootstrap = true;\n await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));\n },\n async register() {\n if (called.register) {\n throw new Error(`Register for ${namespace} has already been called`);\n }\n called.register = true;\n await (rawModule.register && rawModule.register({ strapi }));\n },\n async destroy() {\n if (called.destroy) {\n throw new Error(`Destroy for ${namespace} has already been called`);\n }\n called.destroy = true;\n await (rawModule.destroy && rawModule.destroy({ strapi }));\n },\n load() {\n strapi.get('content-types').add(namespace, rawModule.contentTypes);\n strapi.get('services').add(namespace, rawModule.services);\n strapi.get('policies').add(namespace, rawModule.policies);\n strapi.get('middlewares').add(namespace, rawModule.middlewares);\n strapi.get('controllers').add(namespace, rawModule.controllers);\n strapi.get('config').set(namespace, rawModule.config);\n },\n get routes() {\n return rawModule.routes ?? {};\n },\n config(path: string, defaultValue: unknown) {\n return strapi.get('config').get(`${namespace}.${path}`, defaultValue);\n },\n contentType(ctName: Common.UID.ContentType) {\n return strapi.get('content-types').get(`${namespace}.${ctName}`);\n },\n get contentTypes() {\n const contentTypes = strapi.get('content-types').getAll(namespace);\n return removeNamespacedKeys(contentTypes, namespace);\n },\n service(serviceName: Common.UID.Service) {\n return strapi.get('services').get(`${namespace}.${serviceName}`);\n },\n get services() {\n const services = strapi.get('services').getAll(namespace);\n return removeNamespacedKeys(services, namespace);\n },\n policy(policyName: Common.UID.Policy) {\n return strapi.get('policies').get(`${namespace}.${policyName}`);\n },\n get policies() {\n const policies = strapi.get('policies').getAll(namespace);\n return removeNamespacedKeys(policies, namespace);\n },\n middleware(middlewareName: Common.UID.Middleware) {\n return strapi.get('middlewares').get(`${namespace}.${middlewareName}`);\n },\n get middlewares() {\n const middlewares = strapi.get('middlewares').getAll(namespace);\n return removeNamespacedKeys(middlewares, namespace);\n },\n controller(controllerName: Common.UID.Controller) {\n return strapi.get('controllers').get(`${namespace}.${controllerName}`);\n },\n get controllers() {\n const controllers = strapi.get('controllers').getAll(namespace);\n return removeNamespacedKeys(controllers, namespace);\n },\n };\n};\n"],"names":[],"mappings":"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"}
|