@strapi/core 0.0.0-experimental.d3cdf79a0d5f803dfeb6d0f055bb2f3b913bb015 → 0.0.0-experimental.d4b8dd9e74eefeba4fc0574502c919ba4d091e1e
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.map +1 -1
- package/dist/Strapi.js +428 -408
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +428 -408
- package/dist/Strapi.mjs.map +1 -1
- package/dist/compile.js +23 -14
- package/dist/compile.js.map +1 -1
- package/dist/compile.mjs +22 -14
- package/dist/compile.mjs.map +1 -1
- package/dist/configuration/config-loader.js +110 -96
- package/dist/configuration/config-loader.js.map +1 -1
- package/dist/configuration/config-loader.mjs +109 -95
- package/dist/configuration/config-loader.mjs.map +1 -1
- package/dist/configuration/get-dirs.js +31 -29
- package/dist/configuration/get-dirs.js.map +1 -1
- package/dist/configuration/get-dirs.mjs +30 -30
- package/dist/configuration/get-dirs.mjs.map +1 -1
- package/dist/configuration/index.d.ts +1 -0
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +85 -78
- package/dist/configuration/index.js.map +1 -1
- package/dist/configuration/index.mjs +84 -74
- package/dist/configuration/index.mjs.map +1 -1
- package/dist/configuration/urls.d.ts.map +1 -1
- package/dist/configuration/urls.js +74 -61
- package/dist/configuration/urls.js.map +1 -1
- package/dist/configuration/urls.mjs +73 -62
- package/dist/configuration/urls.mjs.map +1 -1
- package/dist/container.js +27 -23
- package/dist/container.js.map +1 -1
- package/dist/container.mjs +26 -24
- package/dist/container.mjs.map +1 -1
- package/dist/core-api/controller/collection-type.js +77 -76
- package/dist/core-api/controller/collection-type.js.map +1 -1
- package/dist/core-api/controller/collection-type.mjs +76 -77
- package/dist/core-api/controller/collection-type.mjs.map +1 -1
- package/dist/core-api/controller/index.js +63 -48
- package/dist/core-api/controller/index.js.map +1 -1
- package/dist/core-api/controller/index.mjs +62 -49
- package/dist/core-api/controller/index.mjs.map +1 -1
- package/dist/core-api/controller/single-type.js +41 -40
- package/dist/core-api/controller/single-type.js.map +1 -1
- package/dist/core-api/controller/single-type.mjs +40 -41
- package/dist/core-api/controller/single-type.mjs.map +1 -1
- package/dist/core-api/controller/transform.js +72 -63
- package/dist/core-api/controller/transform.js.map +1 -1
- package/dist/core-api/controller/transform.mjs +71 -64
- package/dist/core-api/controller/transform.mjs.map +1 -1
- package/dist/core-api/routes/index.js +64 -62
- package/dist/core-api/routes/index.js.map +1 -1
- package/dist/core-api/routes/index.mjs +62 -62
- package/dist/core-api/routes/index.mjs.map +1 -1
- package/dist/core-api/service/collection-type.js +73 -60
- package/dist/core-api/service/collection-type.js.map +1 -1
- package/dist/core-api/service/collection-type.mjs +72 -62
- package/dist/core-api/service/collection-type.mjs.map +1 -1
- package/dist/core-api/service/core-service.js +9 -8
- package/dist/core-api/service/core-service.js.map +1 -1
- package/dist/core-api/service/core-service.mjs +8 -9
- package/dist/core-api/service/core-service.mjs.map +1 -1
- package/dist/core-api/service/index.js +13 -13
- package/dist/core-api/service/index.js.map +1 -1
- package/dist/core-api/service/index.mjs +12 -14
- package/dist/core-api/service/index.mjs.map +1 -1
- package/dist/core-api/service/pagination.js +69 -43
- package/dist/core-api/service/pagination.js.map +1 -1
- package/dist/core-api/service/pagination.mjs +68 -47
- package/dist/core-api/service/pagination.mjs.map +1 -1
- package/dist/core-api/service/single-type.js +43 -38
- package/dist/core-api/service/single-type.js.map +1 -1
- package/dist/core-api/service/single-type.mjs +42 -40
- package/dist/core-api/service/single-type.mjs.map +1 -1
- package/dist/domain/content-type/index.js +95 -100
- package/dist/domain/content-type/index.js.map +1 -1
- package/dist/domain/content-type/index.mjs +94 -100
- package/dist/domain/content-type/index.mjs.map +1 -1
- package/dist/domain/content-type/validator.js +84 -69
- package/dist/domain/content-type/validator.js.map +1 -1
- package/dist/domain/content-type/validator.mjs +83 -68
- package/dist/domain/content-type/validator.mjs.map +1 -1
- package/dist/domain/module/index.js +109 -100
- package/dist/domain/module/index.js.map +1 -1
- package/dist/domain/module/index.mjs +108 -99
- package/dist/domain/module/index.mjs.map +1 -1
- package/dist/domain/module/validation.js +25 -20
- package/dist/domain/module/validation.js.map +1 -1
- package/dist/domain/module/validation.mjs +24 -21
- package/dist/domain/module/validation.mjs.map +1 -1
- package/dist/ee/index.d.ts +7 -0
- package/dist/ee/index.d.ts.map +1 -1
- package/dist/ee/index.js +197 -137
- package/dist/ee/index.js.map +1 -1
- package/dist/ee/index.mjs +196 -139
- package/dist/ee/index.mjs.map +1 -1
- package/dist/ee/license.d.ts +3 -1
- package/dist/ee/license.d.ts.map +1 -1
- package/dist/ee/license.js +105 -75
- package/dist/ee/license.js.map +1 -1
- package/dist/ee/license.mjs +103 -76
- package/dist/ee/license.mjs.map +1 -1
- package/dist/factories.js +72 -67
- package/dist/factories.js.map +1 -1
- package/dist/factories.mjs +71 -71
- package/dist/factories.mjs.map +1 -1
- package/dist/index.js +29 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -29
- package/dist/index.mjs.map +1 -1
- package/dist/loaders/admin.d.ts.map +1 -1
- package/dist/loaders/admin.js +21 -20
- package/dist/loaders/admin.js.map +1 -1
- package/dist/loaders/admin.mjs +20 -20
- package/dist/loaders/admin.mjs.map +1 -1
- package/dist/loaders/apis.js +143 -120
- package/dist/loaders/apis.js.map +1 -1
- package/dist/loaders/apis.mjs +142 -119
- package/dist/loaders/apis.mjs.map +1 -1
- package/dist/loaders/components.js +33 -34
- package/dist/loaders/components.js.map +1 -1
- package/dist/loaders/components.mjs +32 -34
- package/dist/loaders/components.mjs.map +1 -1
- package/dist/loaders/index.js +22 -20
- package/dist/loaders/index.js.map +1 -1
- package/dist/loaders/index.mjs +21 -21
- package/dist/loaders/index.mjs.map +1 -1
- package/dist/loaders/middlewares.js +29 -25
- package/dist/loaders/middlewares.js.map +1 -1
- package/dist/loaders/middlewares.mjs +28 -25
- package/dist/loaders/middlewares.mjs.map +1 -1
- package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
- package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
- package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
- package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
- package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
- package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
- package/dist/loaders/plugins/index.js +132 -121
- package/dist/loaders/plugins/index.js.map +1 -1
- package/dist/loaders/plugins/index.mjs +121 -112
- package/dist/loaders/plugins/index.mjs.map +1 -1
- package/dist/loaders/policies.js +24 -20
- package/dist/loaders/policies.js.map +1 -1
- package/dist/loaders/policies.mjs +23 -20
- package/dist/loaders/policies.mjs.map +1 -1
- package/dist/loaders/sanitizers.js +10 -4
- package/dist/loaders/sanitizers.js.map +1 -1
- package/dist/loaders/sanitizers.mjs +9 -6
- package/dist/loaders/sanitizers.mjs.map +1 -1
- package/dist/loaders/src-index.js +35 -27
- package/dist/loaders/src-index.js.map +1 -1
- package/dist/loaders/src-index.mjs +34 -29
- package/dist/loaders/src-index.mjs.map +1 -1
- package/dist/loaders/validators.js +9 -4
- package/dist/loaders/validators.js.map +1 -1
- package/dist/loaders/validators.mjs +8 -6
- package/dist/loaders/validators.mjs.map +1 -1
- package/dist/middlewares/body.d.ts.map +1 -1
- package/dist/middlewares/body.js +58 -54
- package/dist/middlewares/body.js.map +1 -1
- package/dist/middlewares/body.mjs +57 -51
- package/dist/middlewares/body.mjs.map +1 -1
- package/dist/middlewares/compression.js +6 -6
- package/dist/middlewares/compression.js.map +1 -1
- package/dist/middlewares/compression.mjs +5 -5
- package/dist/middlewares/compression.mjs.map +1 -1
- package/dist/middlewares/cors.js +59 -48
- package/dist/middlewares/cors.js.map +1 -1
- package/dist/middlewares/cors.mjs +58 -47
- package/dist/middlewares/cors.mjs.map +1 -1
- package/dist/middlewares/errors.js +32 -30
- package/dist/middlewares/errors.js.map +1 -1
- package/dist/middlewares/errors.mjs +31 -31
- package/dist/middlewares/errors.mjs.map +1 -1
- package/dist/middlewares/favicon.js +27 -17
- package/dist/middlewares/favicon.js.map +1 -1
- package/dist/middlewares/favicon.mjs +26 -16
- package/dist/middlewares/favicon.mjs.map +1 -1
- package/dist/middlewares/index.js +32 -30
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/index.mjs +31 -31
- package/dist/middlewares/index.mjs.map +1 -1
- package/dist/middlewares/ip.js +6 -6
- package/dist/middlewares/ip.js.map +1 -1
- package/dist/middlewares/ip.mjs +5 -5
- package/dist/middlewares/ip.mjs.map +1 -1
- package/dist/middlewares/logger.js +10 -9
- package/dist/middlewares/logger.js.map +1 -1
- package/dist/middlewares/logger.mjs +9 -10
- package/dist/middlewares/logger.mjs.map +1 -1
- package/dist/middlewares/powered-by.js +13 -9
- package/dist/middlewares/powered-by.js.map +1 -1
- package/dist/middlewares/powered-by.mjs +12 -10
- package/dist/middlewares/powered-by.mjs.map +1 -1
- package/dist/middlewares/public.js +33 -29
- package/dist/middlewares/public.js.map +1 -1
- package/dist/middlewares/public.mjs +32 -28
- package/dist/middlewares/public.mjs.map +1 -1
- package/dist/middlewares/query.js +35 -32
- package/dist/middlewares/query.js.map +1 -1
- package/dist/middlewares/query.mjs +34 -31
- package/dist/middlewares/query.mjs.map +1 -1
- package/dist/middlewares/response-time.js +10 -9
- package/dist/middlewares/response-time.js.map +1 -1
- package/dist/middlewares/response-time.mjs +9 -10
- package/dist/middlewares/response-time.mjs.map +1 -1
- package/dist/middlewares/responses.js +14 -12
- package/dist/middlewares/responses.js.map +1 -1
- package/dist/middlewares/responses.mjs +13 -13
- package/dist/middlewares/responses.mjs.map +1 -1
- package/dist/middlewares/security.js +109 -71
- package/dist/middlewares/security.js.map +1 -1
- package/dist/middlewares/security.mjs +108 -70
- package/dist/middlewares/security.mjs.map +1 -1
- package/dist/middlewares/session.js +26 -25
- package/dist/middlewares/session.js.map +1 -1
- package/dist/middlewares/session.mjs +25 -24
- package/dist/middlewares/session.mjs.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
- package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.js +152 -90
- package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
- package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -92
- package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
- package/dist/migrations/draft-publish.d.ts +1 -1
- package/dist/migrations/draft-publish.d.ts.map +1 -1
- package/dist/migrations/draft-publish.js +61 -34
- package/dist/migrations/draft-publish.js.map +1 -1
- package/dist/migrations/draft-publish.mjs +60 -36
- package/dist/migrations/draft-publish.mjs.map +1 -1
- package/dist/migrations/i18n.js +62 -45
- package/dist/migrations/i18n.js.map +1 -1
- package/dist/migrations/i18n.mjs +61 -47
- package/dist/migrations/i18n.mjs.map +1 -1
- package/dist/migrations/index.js +24 -10
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/index.mjs +23 -12
- package/dist/migrations/index.mjs.map +1 -1
- package/dist/package.json.js +184 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +161 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/providers/admin.js +27 -17
- package/dist/providers/admin.js.map +1 -1
- package/dist/providers/admin.mjs +26 -19
- package/dist/providers/admin.mjs.map +1 -1
- package/dist/providers/coreStore.js +13 -8
- package/dist/providers/coreStore.js.map +1 -1
- package/dist/providers/coreStore.mjs +12 -10
- package/dist/providers/coreStore.mjs.map +1 -1
- package/dist/providers/cron.js +19 -16
- package/dist/providers/cron.js.map +1 -1
- package/dist/providers/cron.mjs +18 -18
- package/dist/providers/cron.mjs.map +1 -1
- package/dist/providers/index.js +18 -9
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/index.mjs +17 -10
- package/dist/providers/index.mjs.map +1 -1
- package/dist/providers/provider.js +4 -3
- package/dist/providers/provider.js.map +1 -1
- package/dist/providers/provider.mjs +3 -4
- package/dist/providers/provider.mjs.map +1 -1
- package/dist/providers/registries.js +37 -32
- package/dist/providers/registries.js.map +1 -1
- package/dist/providers/registries.mjs +36 -34
- package/dist/providers/registries.mjs.map +1 -1
- package/dist/providers/telemetry.js +19 -16
- package/dist/providers/telemetry.js.map +1 -1
- package/dist/providers/telemetry.mjs +18 -18
- package/dist/providers/telemetry.mjs.map +1 -1
- package/dist/providers/webhooks.js +28 -26
- package/dist/providers/webhooks.js.map +1 -1
- package/dist/providers/webhooks.mjs +27 -28
- package/dist/providers/webhooks.mjs.map +1 -1
- package/dist/registries/apis.js +23 -20
- package/dist/registries/apis.js.map +1 -1
- package/dist/registries/apis.mjs +22 -22
- package/dist/registries/apis.mjs.map +1 -1
- package/dist/registries/components.js +35 -37
- package/dist/registries/components.js.map +1 -1
- package/dist/registries/components.mjs +34 -39
- package/dist/registries/components.mjs.map +1 -1
- package/dist/registries/content-types.js +54 -59
- package/dist/registries/content-types.js.map +1 -1
- package/dist/registries/content-types.mjs +53 -61
- package/dist/registries/content-types.mjs.map +1 -1
- package/dist/registries/controllers.js +70 -71
- package/dist/registries/controllers.js.map +1 -1
- package/dist/registries/controllers.mjs +69 -73
- package/dist/registries/controllers.mjs.map +1 -1
- package/dist/registries/custom-fields.js +75 -65
- package/dist/registries/custom-fields.js.map +1 -1
- package/dist/registries/custom-fields.mjs +74 -67
- package/dist/registries/custom-fields.mjs.map +1 -1
- package/dist/registries/hooks.js +46 -49
- package/dist/registries/hooks.js.map +1 -1
- package/dist/registries/hooks.mjs +45 -51
- package/dist/registries/hooks.mjs.map +1 -1
- package/dist/registries/middlewares.js +49 -51
- package/dist/registries/middlewares.js.map +1 -1
- package/dist/registries/middlewares.mjs +48 -53
- package/dist/registries/middlewares.mjs.map +1 -1
- package/dist/registries/models.js +14 -13
- package/dist/registries/models.js.map +1 -1
- package/dist/registries/models.mjs +13 -14
- package/dist/registries/models.mjs.map +1 -1
- package/dist/registries/modules.js +39 -36
- package/dist/registries/modules.js.map +1 -1
- package/dist/registries/modules.mjs +38 -38
- package/dist/registries/modules.mjs.map +1 -1
- package/dist/registries/namespace.js +21 -20
- package/dist/registries/namespace.js.map +1 -1
- package/dist/registries/namespace.mjs +20 -23
- package/dist/registries/namespace.mjs.map +1 -1
- package/dist/registries/plugins.js +23 -20
- package/dist/registries/plugins.js.map +1 -1
- package/dist/registries/plugins.mjs +22 -22
- package/dist/registries/plugins.mjs.map +1 -1
- package/dist/registries/policies.js +103 -96
- package/dist/registries/policies.js.map +1 -1
- package/dist/registries/policies.mjs +102 -98
- package/dist/registries/policies.mjs.map +1 -1
- package/dist/registries/sanitizers.js +23 -22
- package/dist/registries/sanitizers.js.map +1 -1
- package/dist/registries/sanitizers.mjs +22 -22
- package/dist/registries/sanitizers.mjs.map +1 -1
- package/dist/registries/services.js +71 -71
- package/dist/registries/services.js.map +1 -1
- package/dist/registries/services.mjs +70 -73
- package/dist/registries/services.mjs.map +1 -1
- package/dist/registries/validators.js +23 -22
- package/dist/registries/validators.js.map +1 -1
- package/dist/registries/validators.mjs +22 -22
- package/dist/registries/validators.mjs.map +1 -1
- package/dist/services/auth/index.js +74 -74
- package/dist/services/auth/index.js.map +1 -1
- package/dist/services/auth/index.mjs +73 -74
- package/dist/services/auth/index.mjs.map +1 -1
- package/dist/services/config.js +47 -43
- package/dist/services/config.js.map +1 -1
- package/dist/services/config.mjs +46 -44
- package/dist/services/config.mjs.map +1 -1
- package/dist/services/content-api/index.js +80 -79
- package/dist/services/content-api/index.js.map +1 -1
- package/dist/services/content-api/index.mjs +79 -79
- package/dist/services/content-api/index.mjs.map +1 -1
- package/dist/services/content-api/permissions/engine.js +8 -5
- package/dist/services/content-api/permissions/engine.js.map +1 -1
- package/dist/services/content-api/permissions/engine.mjs +7 -5
- package/dist/services/content-api/permissions/engine.mjs.map +1 -1
- package/dist/services/content-api/permissions/index.js +101 -81
- package/dist/services/content-api/permissions/index.js.map +1 -1
- package/dist/services/content-api/permissions/index.mjs +100 -81
- package/dist/services/content-api/permissions/index.mjs.map +1 -1
- package/dist/services/content-api/permissions/providers/action.js +17 -14
- package/dist/services/content-api/permissions/providers/action.js.map +1 -1
- package/dist/services/content-api/permissions/providers/action.mjs +16 -16
- package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
- package/dist/services/content-api/permissions/providers/condition.js +17 -14
- package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
- package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
- package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
- package/dist/services/core-store.d.ts +2 -2
- package/dist/services/core-store.d.ts.map +1 -1
- package/dist/services/core-store.js +115 -95
- package/dist/services/core-store.js.map +1 -1
- package/dist/services/core-store.mjs +114 -97
- package/dist/services/core-store.mjs.map +1 -1
- package/dist/services/cron.js +74 -64
- package/dist/services/cron.js.map +1 -1
- package/dist/services/cron.mjs +73 -66
- package/dist/services/cron.mjs.map +1 -1
- package/dist/services/custom-fields.js +9 -7
- package/dist/services/custom-fields.js.map +1 -1
- package/dist/services/custom-fields.mjs +8 -9
- package/dist/services/custom-fields.mjs.map +1 -1
- package/dist/services/document-service/attributes/index.js +23 -18
- package/dist/services/document-service/attributes/index.js.map +1 -1
- package/dist/services/document-service/attributes/index.mjs +22 -19
- package/dist/services/document-service/attributes/index.mjs.map +1 -1
- package/dist/services/document-service/attributes/transforms.js +16 -15
- package/dist/services/document-service/attributes/transforms.js.map +1 -1
- package/dist/services/document-service/attributes/transforms.mjs +15 -15
- package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
- package/dist/services/document-service/common.js +5 -4
- package/dist/services/document-service/common.js.map +1 -1
- package/dist/services/document-service/common.mjs +4 -5
- package/dist/services/document-service/common.mjs.map +1 -1
- package/dist/services/document-service/components.d.ts.map +1 -1
- package/dist/services/document-service/components.js +255 -257
- package/dist/services/document-service/components.js.map +1 -1
- package/dist/services/document-service/components.mjs +254 -262
- package/dist/services/document-service/components.mjs.map +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
- package/dist/services/document-service/draft-and-publish.js +88 -48
- package/dist/services/document-service/draft-and-publish.js.map +1 -1
- package/dist/services/document-service/draft-and-publish.mjs +87 -54
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
- package/dist/services/document-service/entries.d.ts.map +1 -1
- package/dist/services/document-service/entries.js +151 -91
- package/dist/services/document-service/entries.js.map +1 -1
- package/dist/services/document-service/entries.mjs +150 -92
- package/dist/services/document-service/entries.mjs.map +1 -1
- package/dist/services/document-service/events.d.ts +1 -1
- package/dist/services/document-service/events.d.ts.map +1 -1
- package/dist/services/document-service/events.js +52 -40
- package/dist/services/document-service/events.js.map +1 -1
- package/dist/services/document-service/events.mjs +51 -41
- package/dist/services/document-service/events.mjs.map +1 -1
- package/dist/services/document-service/index.js +53 -33
- package/dist/services/document-service/index.js.map +1 -1
- package/dist/services/document-service/index.mjs +52 -34
- package/dist/services/document-service/index.mjs.map +1 -1
- package/dist/services/document-service/internationalization.d.ts +6 -1
- package/dist/services/document-service/internationalization.d.ts.map +1 -1
- package/dist/services/document-service/internationalization.js +94 -46
- package/dist/services/document-service/internationalization.js.map +1 -1
- package/dist/services/document-service/internationalization.mjs +92 -50
- package/dist/services/document-service/internationalization.mjs.map +1 -1
- package/dist/services/document-service/middlewares/errors.js +23 -19
- package/dist/services/document-service/middlewares/errors.js.map +1 -1
- package/dist/services/document-service/middlewares/errors.mjs +22 -20
- package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
- package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
- package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
- package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
- package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
- package/dist/services/document-service/params.js +11 -5
- package/dist/services/document-service/params.js.map +1 -1
- package/dist/services/document-service/params.mjs +10 -6
- package/dist/services/document-service/params.mjs.map +1 -1
- package/dist/services/document-service/repository.d.ts.map +1 -1
- package/dist/services/document-service/repository.js +354 -321
- package/dist/services/document-service/repository.js.map +1 -1
- package/dist/services/document-service/repository.mjs +353 -322
- package/dist/services/document-service/repository.mjs.map +1 -1
- package/dist/services/document-service/transform/data.js +22 -12
- package/dist/services/document-service/transform/data.js.map +1 -1
- package/dist/services/document-service/transform/data.mjs +21 -13
- package/dist/services/document-service/transform/data.mjs.map +1 -1
- package/dist/services/document-service/transform/fields.js +26 -17
- package/dist/services/document-service/transform/fields.js.map +1 -1
- package/dist/services/document-service/transform/fields.mjs +25 -18
- package/dist/services/document-service/transform/fields.mjs.map +1 -1
- package/dist/services/document-service/transform/id-map.d.ts +1 -1
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-map.js +115 -75
- package/dist/services/document-service/transform/id-map.js.map +1 -1
- package/dist/services/document-service/transform/id-map.mjs +114 -76
- package/dist/services/document-service/transform/id-map.mjs.map +1 -1
- package/dist/services/document-service/transform/id-transform.d.ts +1 -1
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-transform.js +37 -29
- package/dist/services/document-service/transform/id-transform.js.map +1 -1
- package/dist/services/document-service/transform/id-transform.mjs +36 -30
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
- package/dist/services/document-service/transform/populate.js +23 -18
- package/dist/services/document-service/transform/populate.js.map +1 -1
- package/dist/services/document-service/transform/populate.mjs +22 -19
- package/dist/services/document-service/transform/populate.mjs.map +1 -1
- package/dist/services/document-service/transform/query.js +11 -6
- package/dist/services/document-service/transform/query.js.map +1 -1
- package/dist/services/document-service/transform/query.mjs +10 -7
- package/dist/services/document-service/transform/query.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.js +70 -54
- package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs +69 -55
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.js +96 -71
- package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs +95 -72
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
- package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
- package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
- package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
- package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -70
- package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -72
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
- package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
- package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
- package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
- package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
- package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
- package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +1 -1
- package/dist/services/document-service/utils/populate.d.ts.map +1 -1
- package/dist/services/document-service/utils/populate.js +66 -42
- package/dist/services/document-service/utils/populate.js.map +1 -1
- package/dist/services/document-service/utils/populate.mjs +65 -43
- package/dist/services/document-service/utils/populate.mjs.map +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.js +110 -62
- package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -64
- package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
- package/dist/services/entity-service/index.js +230 -161
- package/dist/services/entity-service/index.js.map +1 -1
- package/dist/services/entity-service/index.mjs +229 -160
- package/dist/services/entity-service/index.mjs.map +1 -1
- package/dist/services/entity-validator/blocks-validator.js +135 -103
- package/dist/services/entity-validator/blocks-validator.js.map +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs +134 -104
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
- package/dist/services/entity-validator/index.d.ts +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +370 -366
- package/dist/services/entity-validator/index.js.map +1 -1
- package/dist/services/entity-validator/index.mjs +366 -363
- package/dist/services/entity-validator/index.mjs.map +1 -1
- package/dist/services/entity-validator/validators.d.ts +1 -0
- package/dist/services/entity-validator/validators.d.ts.map +1 -1
- package/dist/services/entity-validator/validators.js +270 -209
- package/dist/services/entity-validator/validators.js.map +1 -1
- package/dist/services/entity-validator/validators.mjs +269 -215
- package/dist/services/entity-validator/validators.mjs.map +1 -1
- package/dist/services/errors.js +65 -65
- package/dist/services/errors.js.map +1 -1
- package/dist/services/errors.mjs +64 -66
- package/dist/services/errors.mjs.map +1 -1
- package/dist/services/event-hub.js +82 -69
- package/dist/services/event-hub.js.map +1 -1
- package/dist/services/event-hub.mjs +81 -71
- package/dist/services/event-hub.mjs.map +1 -1
- package/dist/services/features.js +19 -14
- package/dist/services/features.js.map +1 -1
- package/dist/services/features.mjs +18 -15
- package/dist/services/features.mjs.map +1 -1
- package/dist/services/fs.js +41 -40
- package/dist/services/fs.js.map +1 -1
- package/dist/services/fs.mjs +40 -39
- package/dist/services/fs.mjs.map +1 -1
- package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
- package/dist/services/metrics/admin-user-hash.js +13 -11
- package/dist/services/metrics/admin-user-hash.js.map +1 -1
- package/dist/services/metrics/admin-user-hash.mjs +12 -10
- package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
- package/dist/services/metrics/index.js +46 -39
- package/dist/services/metrics/index.js.map +1 -1
- package/dist/services/metrics/index.mjs +45 -41
- package/dist/services/metrics/index.mjs.map +1 -1
- package/dist/services/metrics/is-truthy.js +13 -6
- package/dist/services/metrics/is-truthy.js.map +1 -1
- package/dist/services/metrics/is-truthy.mjs +12 -6
- package/dist/services/metrics/is-truthy.mjs.map +1 -1
- package/dist/services/metrics/middleware.d.ts.map +1 -1
- package/dist/services/metrics/middleware.js +37 -22
- package/dist/services/metrics/middleware.js.map +1 -1
- package/dist/services/metrics/middleware.mjs +36 -24
- package/dist/services/metrics/middleware.mjs.map +1 -1
- package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
- package/dist/services/metrics/rate-limiter.js +24 -19
- package/dist/services/metrics/rate-limiter.js.map +1 -1
- package/dist/services/metrics/rate-limiter.mjs +23 -21
- package/dist/services/metrics/rate-limiter.mjs.map +1 -1
- package/dist/services/metrics/sender.d.ts.map +1 -1
- package/dist/services/metrics/sender.js +78 -69
- package/dist/services/metrics/sender.js.map +1 -1
- package/dist/services/metrics/sender.mjs +77 -64
- package/dist/services/metrics/sender.mjs.map +1 -1
- package/dist/services/query-params.js +13 -10
- package/dist/services/query-params.js.map +1 -1
- package/dist/services/query-params.mjs +12 -12
- package/dist/services/query-params.mjs.map +1 -1
- package/dist/services/reloader.js +35 -32
- package/dist/services/reloader.js.map +1 -1
- package/dist/services/reloader.mjs +34 -33
- package/dist/services/reloader.mjs.map +1 -1
- package/dist/services/request-context.js +11 -8
- package/dist/services/request-context.js.map +1 -1
- package/dist/services/request-context.mjs +10 -10
- package/dist/services/request-context.mjs.map +1 -1
- package/dist/services/server/admin-api.js +11 -10
- package/dist/services/server/admin-api.js.map +1 -1
- package/dist/services/server/admin-api.mjs +10 -11
- package/dist/services/server/admin-api.mjs.map +1 -1
- package/dist/services/server/api.js +33 -27
- package/dist/services/server/api.js.map +1 -1
- package/dist/services/server/api.mjs +32 -26
- package/dist/services/server/api.mjs.map +1 -1
- package/dist/services/server/compose-endpoint.js +116 -105
- package/dist/services/server/compose-endpoint.js.map +1 -1
- package/dist/services/server/compose-endpoint.mjs +115 -105
- package/dist/services/server/compose-endpoint.mjs.map +1 -1
- package/dist/services/server/content-api.js +11 -9
- package/dist/services/server/content-api.js.map +1 -1
- package/dist/services/server/content-api.mjs +10 -10
- package/dist/services/server/content-api.mjs.map +1 -1
- package/dist/services/server/http-server.js +48 -44
- package/dist/services/server/http-server.js.map +1 -1
- package/dist/services/server/http-server.mjs +47 -43
- package/dist/services/server/http-server.mjs.map +1 -1
- package/dist/services/server/index.js +85 -82
- package/dist/services/server/index.js.map +1 -1
- package/dist/services/server/index.mjs +84 -81
- package/dist/services/server/index.mjs.map +1 -1
- package/dist/services/server/koa.js +49 -47
- package/dist/services/server/koa.js.map +1 -1
- package/dist/services/server/koa.mjs +48 -44
- package/dist/services/server/koa.mjs.map +1 -1
- package/dist/services/server/middleware.js +86 -82
- package/dist/services/server/middleware.js.map +1 -1
- package/dist/services/server/middleware.mjs +85 -82
- package/dist/services/server/middleware.mjs.map +1 -1
- package/dist/services/server/policy.js +24 -17
- package/dist/services/server/policy.js.map +1 -1
- package/dist/services/server/policy.mjs +23 -18
- package/dist/services/server/policy.mjs.map +1 -1
- package/dist/services/server/register-middlewares.js +68 -61
- package/dist/services/server/register-middlewares.js.map +1 -1
- package/dist/services/server/register-middlewares.mjs +67 -63
- package/dist/services/server/register-middlewares.mjs.map +1 -1
- package/dist/services/server/register-routes.js +90 -67
- package/dist/services/server/register-routes.js.map +1 -1
- package/dist/services/server/register-routes.mjs +89 -67
- package/dist/services/server/register-routes.mjs.map +1 -1
- package/dist/services/server/routing.js +94 -81
- package/dist/services/server/routing.js.map +1 -1
- package/dist/services/server/routing.mjs +93 -81
- package/dist/services/server/routing.mjs.map +1 -1
- package/dist/services/utils/conditional-fields.d.ts +3 -0
- package/dist/services/utils/conditional-fields.d.ts.map +1 -0
- package/dist/services/utils/conditional-fields.js +22 -0
- package/dist/services/utils/conditional-fields.js.map +1 -0
- package/dist/services/utils/conditional-fields.mjs +20 -0
- package/dist/services/utils/conditional-fields.mjs.map +1 -0
- package/dist/services/utils/dynamic-zones.js +13 -14
- package/dist/services/utils/dynamic-zones.js.map +1 -1
- package/dist/services/utils/dynamic-zones.mjs +12 -16
- package/dist/services/utils/dynamic-zones.mjs.map +1 -1
- package/dist/services/webhook-runner.js +124 -122
- package/dist/services/webhook-runner.js.map +1 -1
- package/dist/services/webhook-runner.mjs +123 -121
- package/dist/services/webhook-runner.mjs.map +1 -1
- package/dist/services/webhook-store.js +132 -99
- package/dist/services/webhook-store.js.map +1 -1
- package/dist/services/webhook-store.mjs +131 -101
- package/dist/services/webhook-store.mjs.map +1 -1
- package/dist/services/worker-queue.js +44 -49
- package/dist/services/worker-queue.js.map +1 -1
- package/dist/services/worker-queue.mjs +43 -49
- package/dist/services/worker-queue.mjs.map +1 -1
- package/dist/utils/convert-custom-field-type.js +17 -20
- package/dist/utils/convert-custom-field-type.js.map +1 -1
- package/dist/utils/convert-custom-field-type.mjs +16 -21
- package/dist/utils/convert-custom-field-type.mjs.map +1 -1
- package/dist/utils/cron.js +64 -30
- package/dist/utils/cron.js.map +1 -1
- package/dist/utils/cron.mjs +63 -31
- package/dist/utils/cron.mjs.map +1 -1
- package/dist/utils/fetch.d.ts +5 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +28 -18
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/fetch.mjs +27 -19
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/filepath-to-prop-path.js +20 -28
- package/dist/utils/filepath-to-prop-path.js.map +1 -1
- package/dist/utils/filepath-to-prop-path.mjs +19 -26
- package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
- package/dist/utils/is-initialized.js +21 -12
- package/dist/utils/is-initialized.js.map +1 -1
- package/dist/utils/is-initialized.mjs +20 -13
- package/dist/utils/is-initialized.mjs.map +1 -1
- package/dist/utils/lifecycles.js +6 -5
- package/dist/utils/lifecycles.js.map +1 -1
- package/dist/utils/lifecycles.mjs +5 -6
- package/dist/utils/lifecycles.mjs.map +1 -1
- package/dist/utils/load-config-file.js +40 -38
- package/dist/utils/load-config-file.js.map +1 -1
- package/dist/utils/load-config-file.mjs +39 -36
- package/dist/utils/load-config-file.mjs.map +1 -1
- package/dist/utils/load-files.js +40 -34
- package/dist/utils/load-files.js.map +1 -1
- package/dist/utils/load-files.mjs +39 -31
- package/dist/utils/load-files.mjs.map +1 -1
- package/dist/utils/open-browser.js +8 -8
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/open-browser.mjs +7 -7
- package/dist/utils/open-browser.mjs.map +1 -1
- package/dist/utils/resolve-working-dirs.js +23 -10
- package/dist/utils/resolve-working-dirs.js.map +1 -1
- package/dist/utils/resolve-working-dirs.mjs +22 -9
- package/dist/utils/resolve-working-dirs.mjs.map +1 -1
- package/dist/utils/signals.js +20 -14
- package/dist/utils/signals.js.map +1 -1
- package/dist/utils/signals.mjs +19 -15
- package/dist/utils/signals.mjs.map +1 -1
- package/dist/utils/startup-logger.js +107 -83
- package/dist/utils/startup-logger.js.map +1 -1
- package/dist/utils/startup-logger.mjs +106 -80
- package/dist/utils/startup-logger.mjs.map +1 -1
- package/dist/utils/transform-content-types-to-models.d.ts +197 -0
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
- package/dist/utils/transform-content-types-to-models.js +350 -261
- package/dist/utils/transform-content-types-to-models.js.map +1 -1
- package/dist/utils/transform-content-types-to-models.mjs +349 -269
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
- package/dist/utils/update-notifier/index.d.ts.map +1 -1
- package/dist/utils/update-notifier/index.js +68 -73
- package/dist/utils/update-notifier/index.js.map +1 -1
- package/dist/utils/update-notifier/index.mjs +67 -67
- package/dist/utils/update-notifier/index.mjs.map +1 -1
- package/package.json +26 -24
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"id-map.js","sources":["../../../../src/services/document-service/transform/id-map.ts"],"sourcesContent":["import { Core, Data, UID } from '@strapi/types';\nimport { async, contentTypes } from '@strapi/utils';\n\nconst hasDraftAndPublish = (uid: UID.CollectionType) => {\n const model = strapi.getModel(uid);\n return contentTypes.hasDraftAndPublish(model);\n};\n\n/**\n * TODO: Find a better way to encode keys than this\n * This converts an object into a string by joining its keys and values,\n * so it can be used as a key in a Map.\n *\n * @example\n * const obj = { a: 1, b: 2 };\n * const key = encodeKey(obj);\n * ^ \"a:::1&&b:::2\"\n */\nconst encodeKey = (obj: any) => {\n // Ignore status field for models without draft and publish\n if (!hasDraftAndPublish(obj.uid)) {\n delete obj.status;\n }\n\n // Sort keys to always keep the same order when encoding\n const keys = Object.keys(obj).sort();\n return keys.map((key) => `${key}:::${obj[key]}`).join('&&');\n};\n\ninterface KeyFields {\n uid: string;\n documentId: Data.ID;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\nexport interface IdMap {\n loadedIds: Map<string, string>;\n toLoadIds: Map<string, KeyFields>;\n // Make the Keys type to be the params of add\n add(keys: KeyFields): void;\n load(): Promise<void>;\n get(keys: KeyFields): string | undefined;\n clear(): void;\n}\n\n/**\n * Holds a registry of document ids and their corresponding entity ids.\n */\nconst createIdMap = ({ strapi }: { strapi: Core.Strapi }): IdMap => {\n const loadedIds = new Map();\n const toLoadIds = new Map();\n\n return {\n loadedIds,\n toLoadIds,\n /**\n * Register a new document id and its corresponding entity id.\n */\n add(keyFields: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keyFields });\n\n // If the id is already loaded, do nothing\n if (loadedIds.has(key)) return;\n // If the id is already in the toLoadIds, do nothing\n if (toLoadIds.has(key)) return;\n\n // Add the id to the toLoadIds\n toLoadIds.set(key, keyFields);\n },\n\n /**\n * Load all ids from the registry.\n */\n async load() {\n // Document Id to Entry Id queries are batched by its uid and locale\n // TODO: Add publication state too\n const loadIdValues = Array.from(toLoadIds.values());\n\n // 1. Group ids to query together\n const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest }) => {\n const key = encodeKey(rest);\n const ids = acc[key] || { ...rest, documentIds: [] };\n ids.documentIds.push(documentId);\n return { ...acc, [key]: ids };\n }, {});\n\n // 2. Query ids\n await async.map(\n Object.values(idsByUidAndLocale),\n async ({ uid, locale, documentIds, status }: any) => {\n const findParams = {\n select: ['id', 'documentId', 'locale', 'publishedAt'],\n where: {\n documentId: { $in: documentIds },\n locale: locale || null,\n },\n } as any;\n\n if (hasDraftAndPublish(uid)) {\n findParams.where.publishedAt = status === 'draft' ? null : { $ne: null };\n }\n\n const result = await strapi?.db?.query(uid).findMany(findParams);\n\n // 3. Store result in loadedIds\n result?.forEach(({ documentId, id, locale, publishedAt }: any) => {\n const key = encodeKey({\n documentId,\n uid,\n locale,\n status: publishedAt ? 'published' : 'draft',\n });\n loadedIds.set(key, id);\n });\n }\n );\n\n // 4. Clear toLoadIds\n toLoadIds.clear();\n },\n\n /**\n * Get the entity id for a given document id.\n */\n get(keys: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keys });\n return loadedIds.get(key);\n },\n\n /**\n * Clear the registry.\n */\n clear() {\n loadedIds.clear();\n toLoadIds.clear();\n },\n };\n};\n\nexport { createIdMap };\n"],"names":["
|
1
|
+
{"version":3,"file":"id-map.js","sources":["../../../../src/services/document-service/transform/id-map.ts"],"sourcesContent":["import type { Core, Data, UID } from '@strapi/types';\nimport { async, contentTypes } from '@strapi/utils';\n\nconst hasDraftAndPublish = (uid: UID.CollectionType) => {\n const model = strapi.getModel(uid);\n return contentTypes.hasDraftAndPublish(model);\n};\n\n/**\n * TODO: Find a better way to encode keys than this\n * This converts an object into a string by joining its keys and values,\n * so it can be used as a key in a Map.\n *\n * @example\n * const obj = { a: 1, b: 2 };\n * const key = encodeKey(obj);\n * ^ \"a:::1&&b:::2\"\n */\nconst encodeKey = (obj: any) => {\n // Ignore status field for models without draft and publish\n if (!hasDraftAndPublish(obj.uid)) {\n delete obj.status;\n }\n\n // Sort keys to always keep the same order when encoding\n const keys = Object.keys(obj).sort();\n return keys.map((key) => `${key}:::${obj[key]}`).join('&&');\n};\n\ninterface KeyFields {\n uid: string;\n documentId: Data.ID;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\nexport interface IdMap {\n loadedIds: Map<string, string>;\n toLoadIds: Map<string, KeyFields>;\n // Make the Keys type to be the params of add\n add(keys: KeyFields): void;\n load(): Promise<void>;\n get(keys: KeyFields): string | undefined;\n clear(): void;\n}\n\n/**\n * Holds a registry of document ids and their corresponding entity ids.\n */\nconst createIdMap = ({ strapi }: { strapi: Core.Strapi }): IdMap => {\n const loadedIds = new Map();\n const toLoadIds = new Map();\n\n return {\n loadedIds,\n toLoadIds,\n /**\n * Register a new document id and its corresponding entity id.\n */\n add(keyFields: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keyFields });\n\n // If the id is already loaded, do nothing\n if (loadedIds.has(key)) return;\n // If the id is already in the toLoadIds, do nothing\n if (toLoadIds.has(key)) return;\n\n // Add the id to the toLoadIds\n toLoadIds.set(key, keyFields);\n },\n\n /**\n * Load all ids from the registry.\n */\n async load() {\n // Document Id to Entry Id queries are batched by its uid and locale\n // TODO: Add publication state too\n const loadIdValues = Array.from(toLoadIds.values());\n\n // 1. Group ids to query together\n const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest }) => {\n const key = encodeKey(rest);\n const ids = acc[key] || { ...rest, documentIds: [] };\n ids.documentIds.push(documentId);\n return { ...acc, [key]: ids };\n }, {});\n\n // 2. Query ids\n await async.map(\n Object.values(idsByUidAndLocale),\n async ({ uid, locale, documentIds, status }: any) => {\n const findParams = {\n select: ['id', 'documentId', 'locale', 'publishedAt'],\n where: {\n documentId: { $in: documentIds },\n locale: locale || null,\n },\n } as any;\n\n if (hasDraftAndPublish(uid)) {\n findParams.where.publishedAt = status === 'draft' ? null : { $ne: null };\n }\n\n const result = await strapi?.db?.query(uid).findMany(findParams);\n\n // 3. Store result in loadedIds\n result?.forEach(({ documentId, id, locale, publishedAt }: any) => {\n const key = encodeKey({\n documentId,\n uid,\n locale,\n status: publishedAt ? 'published' : 'draft',\n });\n loadedIds.set(key, id);\n });\n }\n );\n\n // 4. Clear toLoadIds\n toLoadIds.clear();\n },\n\n /**\n * Get the entity id for a given document id.\n */\n get(keys: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keys });\n return loadedIds.get(key);\n },\n\n /**\n * Clear the registry.\n */\n clear() {\n loadedIds.clear();\n toLoadIds.clear();\n },\n };\n};\n\nexport { createIdMap };\n"],"names":["hasDraftAndPublish","uid","model","strapi","getModel","contentTypes","encodeKey","obj","status","keys","Object","sort","map","key","join","createIdMap","loadedIds","Map","toLoadIds","add","keyFields","locale","has","set","load","loadIdValues","Array","from","values","idsByUidAndLocale","reduce","acc","documentId","rest","ids","documentIds","push","async","findParams","select","where","$in","publishedAt","$ne","result","db","query","findMany","forEach","id","clear","get"],"mappings":"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"}
|
@@ -1,85 +1,123 @@
|
|
1
|
-
import { async, contentTypes } from
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import { async, contentTypes } from '@strapi/utils';
|
2
|
+
|
3
|
+
const hasDraftAndPublish = (uid)=>{
|
4
|
+
const model = strapi.getModel(uid);
|
5
|
+
return contentTypes.hasDraftAndPublish(model);
|
5
6
|
};
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
/**
|
8
|
+
* TODO: Find a better way to encode keys than this
|
9
|
+
* This converts an object into a string by joining its keys and values,
|
10
|
+
* so it can be used as a key in a Map.
|
11
|
+
*
|
12
|
+
* @example
|
13
|
+
* const obj = { a: 1, b: 2 };
|
14
|
+
* const key = encodeKey(obj);
|
15
|
+
* ^ "a:::1&&b:::2"
|
16
|
+
*/ const encodeKey = (obj)=>{
|
17
|
+
// Ignore status field for models without draft and publish
|
18
|
+
if (!hasDraftAndPublish(obj.uid)) {
|
19
|
+
delete obj.status;
|
20
|
+
}
|
21
|
+
// Sort keys to always keep the same order when encoding
|
22
|
+
const keys = Object.keys(obj).sort();
|
23
|
+
return keys.map((key)=>`${key}:::${obj[key]}`).join('&&');
|
12
24
|
};
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
25
|
+
/**
|
26
|
+
* Holds a registry of document ids and their corresponding entity ids.
|
27
|
+
*/ const createIdMap = ({ strapi: strapi1 })=>{
|
28
|
+
const loadedIds = new Map();
|
29
|
+
const toLoadIds = new Map();
|
30
|
+
return {
|
31
|
+
loadedIds,
|
32
|
+
toLoadIds,
|
33
|
+
/**
|
20
34
|
* Register a new document id and its corresponding entity id.
|
21
|
-
*/
|
22
|
-
add(keyFields) {
|
23
|
-
const key = encodeKey({ status: "published", locale: null, ...keyFields });
|
24
|
-
if (loadedIds.has(key)) return;
|
25
|
-
if (toLoadIds.has(key)) return;
|
26
|
-
toLoadIds.set(key, keyFields);
|
27
|
-
},
|
28
|
-
/**
|
29
|
-
* Load all ids from the registry.
|
30
|
-
*/
|
31
|
-
async load() {
|
32
|
-
const loadIdValues = Array.from(toLoadIds.values());
|
33
|
-
const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest }) => {
|
34
|
-
const key = encodeKey(rest);
|
35
|
-
const ids = acc[key] || { ...rest, documentIds: [] };
|
36
|
-
ids.documentIds.push(documentId);
|
37
|
-
return { ...acc, [key]: ids };
|
38
|
-
}, {});
|
39
|
-
await async.map(
|
40
|
-
Object.values(idsByUidAndLocale),
|
41
|
-
async ({ uid, locale, documentIds, status }) => {
|
42
|
-
const findParams = {
|
43
|
-
select: ["id", "documentId", "locale", "publishedAt"],
|
44
|
-
where: {
|
45
|
-
documentId: { $in: documentIds },
|
46
|
-
locale: locale || null
|
47
|
-
}
|
48
|
-
};
|
49
|
-
if (hasDraftAndPublish(uid)) {
|
50
|
-
findParams.where.publishedAt = status === "draft" ? null : { $ne: null };
|
51
|
-
}
|
52
|
-
const result = await strapi2?.db?.query(uid).findMany(findParams);
|
53
|
-
result?.forEach(({ documentId, id, locale: locale2, publishedAt }) => {
|
35
|
+
*/ add (keyFields) {
|
54
36
|
const key = encodeKey({
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
status: publishedAt ? "published" : "draft"
|
37
|
+
status: 'published',
|
38
|
+
locale: null,
|
39
|
+
...keyFields
|
59
40
|
});
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
41
|
+
// If the id is already loaded, do nothing
|
42
|
+
if (loadedIds.has(key)) return;
|
43
|
+
// If the id is already in the toLoadIds, do nothing
|
44
|
+
if (toLoadIds.has(key)) return;
|
45
|
+
// Add the id to the toLoadIds
|
46
|
+
toLoadIds.set(key, keyFields);
|
47
|
+
},
|
48
|
+
/**
|
49
|
+
* Load all ids from the registry.
|
50
|
+
*/ async load () {
|
51
|
+
// Document Id to Entry Id queries are batched by its uid and locale
|
52
|
+
// TODO: Add publication state too
|
53
|
+
const loadIdValues = Array.from(toLoadIds.values());
|
54
|
+
// 1. Group ids to query together
|
55
|
+
const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest })=>{
|
56
|
+
const key = encodeKey(rest);
|
57
|
+
const ids = acc[key] || {
|
58
|
+
...rest,
|
59
|
+
documentIds: []
|
60
|
+
};
|
61
|
+
ids.documentIds.push(documentId);
|
62
|
+
return {
|
63
|
+
...acc,
|
64
|
+
[key]: ids
|
65
|
+
};
|
66
|
+
}, {});
|
67
|
+
// 2. Query ids
|
68
|
+
await async.map(Object.values(idsByUidAndLocale), async ({ uid, locale, documentIds, status })=>{
|
69
|
+
const findParams = {
|
70
|
+
select: [
|
71
|
+
'id',
|
72
|
+
'documentId',
|
73
|
+
'locale',
|
74
|
+
'publishedAt'
|
75
|
+
],
|
76
|
+
where: {
|
77
|
+
documentId: {
|
78
|
+
$in: documentIds
|
79
|
+
},
|
80
|
+
locale: locale || null
|
81
|
+
}
|
82
|
+
};
|
83
|
+
if (hasDraftAndPublish(uid)) {
|
84
|
+
findParams.where.publishedAt = status === 'draft' ? null : {
|
85
|
+
$ne: null
|
86
|
+
};
|
87
|
+
}
|
88
|
+
const result = await strapi1?.db?.query(uid).findMany(findParams);
|
89
|
+
// 3. Store result in loadedIds
|
90
|
+
result?.forEach(({ documentId, id, locale, publishedAt })=>{
|
91
|
+
const key = encodeKey({
|
92
|
+
documentId,
|
93
|
+
uid,
|
94
|
+
locale,
|
95
|
+
status: publishedAt ? 'published' : 'draft'
|
96
|
+
});
|
97
|
+
loadedIds.set(key, id);
|
98
|
+
});
|
99
|
+
});
|
100
|
+
// 4. Clear toLoadIds
|
101
|
+
toLoadIds.clear();
|
102
|
+
},
|
103
|
+
/**
|
67
104
|
* Get the entity id for a given document id.
|
68
|
-
*/
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
105
|
+
*/ get (keys) {
|
106
|
+
const key = encodeKey({
|
107
|
+
status: 'published',
|
108
|
+
locale: null,
|
109
|
+
...keys
|
110
|
+
});
|
111
|
+
return loadedIds.get(key);
|
112
|
+
},
|
113
|
+
/**
|
74
114
|
* Clear the registry.
|
75
|
-
*/
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
}
|
80
|
-
};
|
81
|
-
};
|
82
|
-
export {
|
83
|
-
createIdMap
|
115
|
+
*/ clear () {
|
116
|
+
loadedIds.clear();
|
117
|
+
toLoadIds.clear();
|
118
|
+
}
|
119
|
+
};
|
84
120
|
};
|
121
|
+
|
122
|
+
export { createIdMap };
|
85
123
|
//# sourceMappingURL=id-map.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"id-map.mjs","sources":["../../../../src/services/document-service/transform/id-map.ts"],"sourcesContent":["import { Core, Data, UID } from '@strapi/types';\nimport { async, contentTypes } from '@strapi/utils';\n\nconst hasDraftAndPublish = (uid: UID.CollectionType) => {\n const model = strapi.getModel(uid);\n return contentTypes.hasDraftAndPublish(model);\n};\n\n/**\n * TODO: Find a better way to encode keys than this\n * This converts an object into a string by joining its keys and values,\n * so it can be used as a key in a Map.\n *\n * @example\n * const obj = { a: 1, b: 2 };\n * const key = encodeKey(obj);\n * ^ \"a:::1&&b:::2\"\n */\nconst encodeKey = (obj: any) => {\n // Ignore status field for models without draft and publish\n if (!hasDraftAndPublish(obj.uid)) {\n delete obj.status;\n }\n\n // Sort keys to always keep the same order when encoding\n const keys = Object.keys(obj).sort();\n return keys.map((key) => `${key}:::${obj[key]}`).join('&&');\n};\n\ninterface KeyFields {\n uid: string;\n documentId: Data.ID;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\nexport interface IdMap {\n loadedIds: Map<string, string>;\n toLoadIds: Map<string, KeyFields>;\n // Make the Keys type to be the params of add\n add(keys: KeyFields): void;\n load(): Promise<void>;\n get(keys: KeyFields): string | undefined;\n clear(): void;\n}\n\n/**\n * Holds a registry of document ids and their corresponding entity ids.\n */\nconst createIdMap = ({ strapi }: { strapi: Core.Strapi }): IdMap => {\n const loadedIds = new Map();\n const toLoadIds = new Map();\n\n return {\n loadedIds,\n toLoadIds,\n /**\n * Register a new document id and its corresponding entity id.\n */\n add(keyFields: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keyFields });\n\n // If the id is already loaded, do nothing\n if (loadedIds.has(key)) return;\n // If the id is already in the toLoadIds, do nothing\n if (toLoadIds.has(key)) return;\n\n // Add the id to the toLoadIds\n toLoadIds.set(key, keyFields);\n },\n\n /**\n * Load all ids from the registry.\n */\n async load() {\n // Document Id to Entry Id queries are batched by its uid and locale\n // TODO: Add publication state too\n const loadIdValues = Array.from(toLoadIds.values());\n\n // 1. Group ids to query together\n const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest }) => {\n const key = encodeKey(rest);\n const ids = acc[key] || { ...rest, documentIds: [] };\n ids.documentIds.push(documentId);\n return { ...acc, [key]: ids };\n }, {});\n\n // 2. Query ids\n await async.map(\n Object.values(idsByUidAndLocale),\n async ({ uid, locale, documentIds, status }: any) => {\n const findParams = {\n select: ['id', 'documentId', 'locale', 'publishedAt'],\n where: {\n documentId: { $in: documentIds },\n locale: locale || null,\n },\n } as any;\n\n if (hasDraftAndPublish(uid)) {\n findParams.where.publishedAt = status === 'draft' ? null : { $ne: null };\n }\n\n const result = await strapi?.db?.query(uid).findMany(findParams);\n\n // 3. Store result in loadedIds\n result?.forEach(({ documentId, id, locale, publishedAt }: any) => {\n const key = encodeKey({\n documentId,\n uid,\n locale,\n status: publishedAt ? 'published' : 'draft',\n });\n loadedIds.set(key, id);\n });\n }\n );\n\n // 4. Clear toLoadIds\n toLoadIds.clear();\n },\n\n /**\n * Get the entity id for a given document id.\n */\n get(keys: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keys });\n return loadedIds.get(key);\n },\n\n /**\n * Clear the registry.\n */\n clear() {\n loadedIds.clear();\n toLoadIds.clear();\n },\n };\n};\n\nexport { createIdMap };\n"],"names":["strapi","locale"],"mappings":"
|
1
|
+
{"version":3,"file":"id-map.mjs","sources":["../../../../src/services/document-service/transform/id-map.ts"],"sourcesContent":["import type { Core, Data, UID } from '@strapi/types';\nimport { async, contentTypes } from '@strapi/utils';\n\nconst hasDraftAndPublish = (uid: UID.CollectionType) => {\n const model = strapi.getModel(uid);\n return contentTypes.hasDraftAndPublish(model);\n};\n\n/**\n * TODO: Find a better way to encode keys than this\n * This converts an object into a string by joining its keys and values,\n * so it can be used as a key in a Map.\n *\n * @example\n * const obj = { a: 1, b: 2 };\n * const key = encodeKey(obj);\n * ^ \"a:::1&&b:::2\"\n */\nconst encodeKey = (obj: any) => {\n // Ignore status field for models without draft and publish\n if (!hasDraftAndPublish(obj.uid)) {\n delete obj.status;\n }\n\n // Sort keys to always keep the same order when encoding\n const keys = Object.keys(obj).sort();\n return keys.map((key) => `${key}:::${obj[key]}`).join('&&');\n};\n\ninterface KeyFields {\n uid: string;\n documentId: Data.ID;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\nexport interface IdMap {\n loadedIds: Map<string, string>;\n toLoadIds: Map<string, KeyFields>;\n // Make the Keys type to be the params of add\n add(keys: KeyFields): void;\n load(): Promise<void>;\n get(keys: KeyFields): string | undefined;\n clear(): void;\n}\n\n/**\n * Holds a registry of document ids and their corresponding entity ids.\n */\nconst createIdMap = ({ strapi }: { strapi: Core.Strapi }): IdMap => {\n const loadedIds = new Map();\n const toLoadIds = new Map();\n\n return {\n loadedIds,\n toLoadIds,\n /**\n * Register a new document id and its corresponding entity id.\n */\n add(keyFields: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keyFields });\n\n // If the id is already loaded, do nothing\n if (loadedIds.has(key)) return;\n // If the id is already in the toLoadIds, do nothing\n if (toLoadIds.has(key)) return;\n\n // Add the id to the toLoadIds\n toLoadIds.set(key, keyFields);\n },\n\n /**\n * Load all ids from the registry.\n */\n async load() {\n // Document Id to Entry Id queries are batched by its uid and locale\n // TODO: Add publication state too\n const loadIdValues = Array.from(toLoadIds.values());\n\n // 1. Group ids to query together\n const idsByUidAndLocale = loadIdValues.reduce((acc, { documentId, ...rest }) => {\n const key = encodeKey(rest);\n const ids = acc[key] || { ...rest, documentIds: [] };\n ids.documentIds.push(documentId);\n return { ...acc, [key]: ids };\n }, {});\n\n // 2. Query ids\n await async.map(\n Object.values(idsByUidAndLocale),\n async ({ uid, locale, documentIds, status }: any) => {\n const findParams = {\n select: ['id', 'documentId', 'locale', 'publishedAt'],\n where: {\n documentId: { $in: documentIds },\n locale: locale || null,\n },\n } as any;\n\n if (hasDraftAndPublish(uid)) {\n findParams.where.publishedAt = status === 'draft' ? null : { $ne: null };\n }\n\n const result = await strapi?.db?.query(uid).findMany(findParams);\n\n // 3. Store result in loadedIds\n result?.forEach(({ documentId, id, locale, publishedAt }: any) => {\n const key = encodeKey({\n documentId,\n uid,\n locale,\n status: publishedAt ? 'published' : 'draft',\n });\n loadedIds.set(key, id);\n });\n }\n );\n\n // 4. Clear toLoadIds\n toLoadIds.clear();\n },\n\n /**\n * Get the entity id for a given document id.\n */\n get(keys: KeyFields) {\n const key = encodeKey({ status: 'published', locale: null, ...keys });\n return loadedIds.get(key);\n },\n\n /**\n * Clear the registry.\n */\n clear() {\n loadedIds.clear();\n toLoadIds.clear();\n },\n };\n};\n\nexport { createIdMap };\n"],"names":["hasDraftAndPublish","uid","model","strapi","getModel","contentTypes","encodeKey","obj","status","keys","Object","sort","map","key","join","createIdMap","loadedIds","Map","toLoadIds","add","keyFields","locale","has","set","load","loadIdValues","Array","from","values","idsByUidAndLocale","reduce","acc","documentId","rest","ids","documentIds","push","async","findParams","select","where","$in","publishedAt","$ne","result","db","query","findMany","forEach","id","clear","get"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/// <reference types="lodash" />
|
2
|
-
import { UID, Modules } from '@strapi/types';
|
2
|
+
import type { UID, Modules } from '@strapi/types';
|
3
3
|
declare const curriedTransformParamsDocumentId: import("lodash").CurriedFunction2<UID.Schema, Modules.Documents.Params.All, Promise<Modules.Documents.Params.All>>;
|
4
4
|
export { curriedTransformParamsDocumentId as transformParamsDocumentId };
|
5
5
|
//# sourceMappingURL=id-transform.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"id-transform.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"id-transform.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA0ClD,QAAA,MAAM,gCAAgC,oHAAmC,CAAC;AAE1E,OAAO,EAAE,gCAAgC,IAAI,yBAAyB,EAAE,CAAC"}
|
@@ -1,33 +1,41 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var fp = require('lodash/fp');
|
4
|
+
var data = require('./data.js');
|
5
|
+
var fields = require('./fields.js');
|
6
|
+
var populate = require('./populate.js');
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Transform input of a query to map document ids to entity ids.
|
10
|
+
*/ async function transformParamsDocumentId(uid, query) {
|
11
|
+
// Transform relational documentIds to entity ids
|
12
|
+
let data$1 = query.data;
|
13
|
+
if (query.data) {
|
14
|
+
data$1 = await data.transformData(query.data, {
|
15
|
+
locale: query.locale,
|
16
|
+
status: query.status,
|
17
|
+
uid
|
18
|
+
});
|
19
|
+
}
|
20
|
+
// Make sure documentId is always present in the response
|
21
|
+
let fields$1 = query.fields;
|
22
|
+
if (query.fields) {
|
23
|
+
fields$1 = fields.transformFields(query.fields);
|
24
|
+
}
|
25
|
+
let populate$1 = query.populate;
|
26
|
+
if (query.populate) {
|
27
|
+
populate$1 = await populate.transformPopulate(query.populate, {
|
28
|
+
uid
|
29
|
+
});
|
30
|
+
}
|
31
|
+
return {
|
32
|
+
...query,
|
33
|
+
data: data$1,
|
34
|
+
fields: fields$1,
|
35
|
+
populate: populate$1
|
36
|
+
};
|
30
37
|
}
|
31
38
|
const curriedTransformParamsDocumentId = fp.curry(transformParamsDocumentId);
|
39
|
+
|
32
40
|
exports.transformParamsDocumentId = curriedTransformParamsDocumentId;
|
33
41
|
//# sourceMappingURL=id-transform.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"id-transform.js","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport { UID, Modules } from '@strapi/types';\n\nimport { transformData } from './data';\nimport { transformFields } from './fields';\nimport { transformPopulate } from './populate';\n\n/**\n * Transform input of a query to map document ids to entity ids.\n */\nasync function transformParamsDocumentId(\n uid: UID.Schema,\n query: Modules.Documents.Params.All\n): Promise<Modules.Documents.Params.All> {\n // Transform relational documentIds to entity ids\n let data = query.data;\n if (query.data) {\n data = await transformData(query.data, {\n locale: query.locale,\n status: query.status,\n uid,\n });\n }\n\n // Make sure documentId is always present in the response\n let fields = query.fields;\n if (query.fields) {\n fields = transformFields(query.fields) as typeof query.fields;\n }\n\n let populate = query.populate;\n if (query.populate) {\n populate = (await transformPopulate(query.populate, { uid })) as typeof query.populate;\n }\n\n return {\n ...query,\n data,\n fields,\n populate,\n };\n}\n\nconst curriedTransformParamsDocumentId = curry(transformParamsDocumentId);\n\nexport { curriedTransformParamsDocumentId as transformParamsDocumentId };\n"],"names":["data","transformData","fields","transformFields","populate","transformPopulate","curry"],"mappings":"
|
1
|
+
{"version":3,"file":"id-transform.js","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID, Modules } from '@strapi/types';\n\nimport { transformData } from './data';\nimport { transformFields } from './fields';\nimport { transformPopulate } from './populate';\n\n/**\n * Transform input of a query to map document ids to entity ids.\n */\nasync function transformParamsDocumentId(\n uid: UID.Schema,\n query: Modules.Documents.Params.All\n): Promise<Modules.Documents.Params.All> {\n // Transform relational documentIds to entity ids\n let data = query.data;\n if (query.data) {\n data = await transformData(query.data, {\n locale: query.locale,\n status: query.status,\n uid,\n });\n }\n\n // Make sure documentId is always present in the response\n let fields = query.fields;\n if (query.fields) {\n fields = transformFields(query.fields) as typeof query.fields;\n }\n\n let populate = query.populate;\n if (query.populate) {\n populate = (await transformPopulate(query.populate, { uid })) as typeof query.populate;\n }\n\n return {\n ...query,\n data,\n fields,\n populate,\n };\n}\n\nconst curriedTransformParamsDocumentId = curry(transformParamsDocumentId);\n\nexport { curriedTransformParamsDocumentId as transformParamsDocumentId };\n"],"names":["transformParamsDocumentId","uid","query","data","transformData","locale","status","fields","transformFields","populate","transformPopulate","curriedTransformParamsDocumentId","curry"],"mappings":";;;;;;;AAQA;;AAEC,IACD,eAAeA,yBAAAA,CACbC,GAAe,EACfC,KAAmC,EAAA;;IAGnC,IAAIC,MAAAA,GAAOD,MAAMC,IAAI;IACrB,IAAID,KAAAA,CAAMC,IAAI,EAAE;AACdA,QAAAA,MAAAA,GAAO,MAAMC,kBAAAA,CAAcF,KAAMC,CAAAA,IAAI,EAAE;AACrCE,YAAAA,MAAAA,EAAQH,MAAMG,MAAM;AACpBC,YAAAA,MAAAA,EAAQJ,MAAMI,MAAM;AACpBL,YAAAA;AACF,SAAA,CAAA;AACF;;IAGA,IAAIM,QAAAA,GAASL,MAAMK,MAAM;IACzB,IAAIL,KAAAA,CAAMK,MAAM,EAAE;QAChBA,QAASC,GAAAA,sBAAAA,CAAgBN,MAAMK,MAAM,CAAA;AACvC;IAEA,IAAIE,UAAAA,GAAWP,MAAMO,QAAQ;IAC7B,IAAIP,KAAAA,CAAMO,QAAQ,EAAE;AAClBA,QAAAA,UAAAA,GAAY,MAAMC,0BAAAA,CAAkBR,KAAMO,CAAAA,QAAQ,EAAE;AAAER,YAAAA;AAAI,SAAA,CAAA;AAC5D;IAEA,OAAO;AACL,QAAA,GAAGC,KAAK;AACRC,cAAAA,MAAAA;AACAI,gBAAAA,QAAAA;AACAE,kBAAAA;AACF,KAAA;AACF;AAEA,MAAME,mCAAmCC,QAAMZ,CAAAA,yBAAAA;;;;"}
|
@@ -1,33 +1,39 @@
|
|
1
|
-
import { curry } from
|
2
|
-
import { transformData } from
|
3
|
-
import { transformFields } from
|
4
|
-
import { transformPopulate } from
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
import { curry } from 'lodash/fp';
|
2
|
+
import { transformData } from './data.mjs';
|
3
|
+
import { transformFields } from './fields.mjs';
|
4
|
+
import { transformPopulate } from './populate.mjs';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Transform input of a query to map document ids to entity ids.
|
8
|
+
*/ async function transformParamsDocumentId(uid, query) {
|
9
|
+
// Transform relational documentIds to entity ids
|
10
|
+
let data = query.data;
|
11
|
+
if (query.data) {
|
12
|
+
data = await transformData(query.data, {
|
13
|
+
locale: query.locale,
|
14
|
+
status: query.status,
|
15
|
+
uid
|
16
|
+
});
|
17
|
+
}
|
18
|
+
// Make sure documentId is always present in the response
|
19
|
+
let fields = query.fields;
|
20
|
+
if (query.fields) {
|
21
|
+
fields = transformFields(query.fields);
|
22
|
+
}
|
23
|
+
let populate = query.populate;
|
24
|
+
if (query.populate) {
|
25
|
+
populate = await transformPopulate(query.populate, {
|
26
|
+
uid
|
27
|
+
});
|
28
|
+
}
|
29
|
+
return {
|
30
|
+
...query,
|
31
|
+
data,
|
32
|
+
fields,
|
33
|
+
populate
|
34
|
+
};
|
28
35
|
}
|
29
36
|
const curriedTransformParamsDocumentId = curry(transformParamsDocumentId);
|
30
|
-
|
31
|
-
|
32
|
-
};
|
37
|
+
|
38
|
+
export { curriedTransformParamsDocumentId as transformParamsDocumentId };
|
33
39
|
//# sourceMappingURL=id-transform.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"id-transform.mjs","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport { UID, Modules } from '@strapi/types';\n\nimport { transformData } from './data';\nimport { transformFields } from './fields';\nimport { transformPopulate } from './populate';\n\n/**\n * Transform input of a query to map document ids to entity ids.\n */\nasync function transformParamsDocumentId(\n uid: UID.Schema,\n query: Modules.Documents.Params.All\n): Promise<Modules.Documents.Params.All> {\n // Transform relational documentIds to entity ids\n let data = query.data;\n if (query.data) {\n data = await transformData(query.data, {\n locale: query.locale,\n status: query.status,\n uid,\n });\n }\n\n // Make sure documentId is always present in the response\n let fields = query.fields;\n if (query.fields) {\n fields = transformFields(query.fields) as typeof query.fields;\n }\n\n let populate = query.populate;\n if (query.populate) {\n populate = (await transformPopulate(query.populate, { uid })) as typeof query.populate;\n }\n\n return {\n ...query,\n data,\n fields,\n populate,\n };\n}\n\nconst curriedTransformParamsDocumentId = curry(transformParamsDocumentId);\n\nexport { curriedTransformParamsDocumentId as transformParamsDocumentId };\n"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"id-transform.mjs","sources":["../../../../src/services/document-service/transform/id-transform.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID, Modules } from '@strapi/types';\n\nimport { transformData } from './data';\nimport { transformFields } from './fields';\nimport { transformPopulate } from './populate';\n\n/**\n * Transform input of a query to map document ids to entity ids.\n */\nasync function transformParamsDocumentId(\n uid: UID.Schema,\n query: Modules.Documents.Params.All\n): Promise<Modules.Documents.Params.All> {\n // Transform relational documentIds to entity ids\n let data = query.data;\n if (query.data) {\n data = await transformData(query.data, {\n locale: query.locale,\n status: query.status,\n uid,\n });\n }\n\n // Make sure documentId is always present in the response\n let fields = query.fields;\n if (query.fields) {\n fields = transformFields(query.fields) as typeof query.fields;\n }\n\n let populate = query.populate;\n if (query.populate) {\n populate = (await transformPopulate(query.populate, { uid })) as typeof query.populate;\n }\n\n return {\n ...query,\n data,\n fields,\n populate,\n };\n}\n\nconst curriedTransformParamsDocumentId = curry(transformParamsDocumentId);\n\nexport { curriedTransformParamsDocumentId as transformParamsDocumentId };\n"],"names":["transformParamsDocumentId","uid","query","data","transformData","locale","status","fields","transformFields","populate","transformPopulate","curriedTransformParamsDocumentId","curry"],"mappings":";;;;;AAQA;;AAEC,IACD,eAAeA,yBAAAA,CACbC,GAAe,EACfC,KAAmC,EAAA;;IAGnC,IAAIC,IAAAA,GAAOD,MAAMC,IAAI;IACrB,IAAID,KAAAA,CAAMC,IAAI,EAAE;AACdA,QAAAA,IAAAA,GAAO,MAAMC,aAAAA,CAAcF,KAAMC,CAAAA,IAAI,EAAE;AACrCE,YAAAA,MAAAA,EAAQH,MAAMG,MAAM;AACpBC,YAAAA,MAAAA,EAAQJ,MAAMI,MAAM;AACpBL,YAAAA;AACF,SAAA,CAAA;AACF;;IAGA,IAAIM,MAAAA,GAASL,MAAMK,MAAM;IACzB,IAAIL,KAAAA,CAAMK,MAAM,EAAE;QAChBA,MAASC,GAAAA,eAAAA,CAAgBN,MAAMK,MAAM,CAAA;AACvC;IAEA,IAAIE,QAAAA,GAAWP,MAAMO,QAAQ;IAC7B,IAAIP,KAAAA,CAAMO,QAAQ,EAAE;AAClBA,QAAAA,QAAAA,GAAY,MAAMC,iBAAAA,CAAkBR,KAAMO,CAAAA,QAAQ,EAAE;AAAER,YAAAA;AAAI,SAAA,CAAA;AAC5D;IAEA,OAAO;AACL,QAAA,GAAGC,KAAK;AACRC,QAAAA,IAAAA;AACAI,QAAAA,MAAAA;AACAE,QAAAA;AACF,KAAA;AACF;AAEA,MAAME,mCAAmCC,KAAMZ,CAAAA,yBAAAA;;;;"}
|
@@ -1,21 +1,26 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
async ({ attribute, key, value }, { set })
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var strapiUtils = require('@strapi/utils');
|
4
|
+
var fields = require('./fields.js');
|
5
|
+
|
6
|
+
const transformPopulate = async (data, opts)=>{
|
7
|
+
return strapiUtils.traverse.traverseQueryPopulate(async ({ attribute, key, value }, { set })=>{
|
8
|
+
if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
/*
|
12
|
+
If the attribute is a relation
|
13
|
+
Look for fields in the value
|
14
|
+
and apply the relevant transformation to these objects
|
15
|
+
*/ if ('fields' in value && Array.isArray(value.fields)) {
|
16
|
+
value.fields = fields.transformFields(value.fields);
|
17
|
+
}
|
18
|
+
set(key, value);
|
19
|
+
}, {
|
20
|
+
schema: strapi.getModel(opts.uid),
|
21
|
+
getModel: strapi.getModel.bind(strapi)
|
22
|
+
}, data);
|
19
23
|
};
|
24
|
+
|
20
25
|
exports.transformPopulate = transformPopulate;
|
21
26
|
//# sourceMappingURL=populate.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"populate.js","sources":["../../../../src/services/document-service/transform/populate.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { type Data } from './types';\nimport { transformFields } from './fields';\n\nexport const transformPopulate = async (data: Data, opts: { uid: UID.Schema }) => {\n return traverse.traverseQueryPopulate(\n async ({ attribute, key, value }, { set }) => {\n if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {\n return;\n }\n\n /*\n If the attribute is a relation\n Look for fields in the value\n and apply the relevant transformation to these objects\n */\n if ('fields' in value && Array.isArray(value.fields)) {\n value.fields = transformFields(value.fields);\n }\n\n set(key, value);\n },\n { schema: strapi.getModel(opts.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n"],"names":["traverse","transformFields"],"mappings":"
|
1
|
+
{"version":3,"file":"populate.js","sources":["../../../../src/services/document-service/transform/populate.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { type Data } from './types';\nimport { transformFields } from './fields';\n\nexport const transformPopulate = async (data: Data, opts: { uid: UID.Schema }) => {\n return traverse.traverseQueryPopulate(\n async ({ attribute, key, value }, { set }) => {\n if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {\n return;\n }\n\n /*\n If the attribute is a relation\n Look for fields in the value\n and apply the relevant transformation to these objects\n */\n if ('fields' in value && Array.isArray(value.fields)) {\n value.fields = transformFields(value.fields);\n }\n\n set(key, value);\n },\n { schema: strapi.getModel(opts.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n"],"names":["transformPopulate","data","opts","traverse","traverseQueryPopulate","attribute","key","value","set","type","Array","isArray","fields","transformFields","schema","strapi","getModel","uid","bind"],"mappings":";;;;;AAMO,MAAMA,iBAAoB,GAAA,OAAOC,IAAYC,EAAAA,IAAAA,GAAAA;AAClD,IAAA,OAAOC,oBAASC,CAAAA,qBAAqB,CACnC,OAAO,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,EAAE,EAAE,EAAEC,GAAG,EAAE,GAAA;AACvC,QAAA,IAAI,CAACD,KAAS,IAAA,OAAOA,UAAU,QAAYF,IAAAA,SAAAA,EAAWI,SAAS,UAAY,EAAA;AACzE,YAAA;AACF;AAEA;;;;SAKA,IAAI,YAAYF,KAASG,IAAAA,KAAAA,CAAMC,OAAO,CAACJ,KAAAA,CAAMK,MAAM,CAAG,EAAA;AACpDL,YAAAA,KAAAA,CAAMK,MAAM,GAAGC,sBAAgBN,CAAAA,KAAAA,CAAMK,MAAM,CAAA;AAC7C;AAEAJ,QAAAA,GAAAA,CAAIF,GAAKC,EAAAA,KAAAA,CAAAA;KAEX,EAAA;AAAEO,QAAAA,MAAAA,EAAQC,MAAOC,CAAAA,QAAQ,CAACd,IAAAA,CAAKe,GAAG,CAAA;AAAGD,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACE,IAAI,CAACH,MAAAA;KACpEd,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
|
@@ -1,21 +1,24 @@
|
|
1
|
-
import { traverse } from
|
2
|
-
import { transformFields } from
|
3
|
-
|
4
|
-
|
5
|
-
async ({ attribute, key, value }, { set })
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}
|
18
|
-
|
19
|
-
|
1
|
+
import { traverse } from '@strapi/utils';
|
2
|
+
import { transformFields } from './fields.mjs';
|
3
|
+
|
4
|
+
const transformPopulate = async (data, opts)=>{
|
5
|
+
return traverse.traverseQueryPopulate(async ({ attribute, key, value }, { set })=>{
|
6
|
+
if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {
|
7
|
+
return;
|
8
|
+
}
|
9
|
+
/*
|
10
|
+
If the attribute is a relation
|
11
|
+
Look for fields in the value
|
12
|
+
and apply the relevant transformation to these objects
|
13
|
+
*/ if ('fields' in value && Array.isArray(value.fields)) {
|
14
|
+
value.fields = transformFields(value.fields);
|
15
|
+
}
|
16
|
+
set(key, value);
|
17
|
+
}, {
|
18
|
+
schema: strapi.getModel(opts.uid),
|
19
|
+
getModel: strapi.getModel.bind(strapi)
|
20
|
+
}, data);
|
20
21
|
};
|
22
|
+
|
23
|
+
export { transformPopulate };
|
21
24
|
//# sourceMappingURL=populate.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"populate.mjs","sources":["../../../../src/services/document-service/transform/populate.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { type Data } from './types';\nimport { transformFields } from './fields';\n\nexport const transformPopulate = async (data: Data, opts: { uid: UID.Schema }) => {\n return traverse.traverseQueryPopulate(\n async ({ attribute, key, value }, { set }) => {\n if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {\n return;\n }\n\n /*\n If the attribute is a relation\n Look for fields in the value\n and apply the relevant transformation to these objects\n */\n if ('fields' in value && Array.isArray(value.fields)) {\n value.fields = transformFields(value.fields);\n }\n\n set(key, value);\n },\n { schema: strapi.getModel(opts.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"populate.mjs","sources":["../../../../src/services/document-service/transform/populate.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { type Data } from './types';\nimport { transformFields } from './fields';\n\nexport const transformPopulate = async (data: Data, opts: { uid: UID.Schema }) => {\n return traverse.traverseQueryPopulate(\n async ({ attribute, key, value }, { set }) => {\n if (!value || typeof value !== 'object' || attribute?.type !== 'relation') {\n return;\n }\n\n /*\n If the attribute is a relation\n Look for fields in the value\n and apply the relevant transformation to these objects\n */\n if ('fields' in value && Array.isArray(value.fields)) {\n value.fields = transformFields(value.fields);\n }\n\n set(key, value);\n },\n { schema: strapi.getModel(opts.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n"],"names":["transformPopulate","data","opts","traverse","traverseQueryPopulate","attribute","key","value","set","type","Array","isArray","fields","transformFields","schema","strapi","getModel","uid","bind"],"mappings":";;;AAMO,MAAMA,iBAAoB,GAAA,OAAOC,IAAYC,EAAAA,IAAAA,GAAAA;AAClD,IAAA,OAAOC,QAASC,CAAAA,qBAAqB,CACnC,OAAO,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,EAAE,EAAE,EAAEC,GAAG,EAAE,GAAA;AACvC,QAAA,IAAI,CAACD,KAAS,IAAA,OAAOA,UAAU,QAAYF,IAAAA,SAAAA,EAAWI,SAAS,UAAY,EAAA;AACzE,YAAA;AACF;AAEA;;;;SAKA,IAAI,YAAYF,KAASG,IAAAA,KAAAA,CAAMC,OAAO,CAACJ,KAAAA,CAAMK,MAAM,CAAG,EAAA;AACpDL,YAAAA,KAAAA,CAAMK,MAAM,GAAGC,eAAgBN,CAAAA,KAAAA,CAAMK,MAAM,CAAA;AAC7C;AAEAJ,QAAAA,GAAAA,CAAIF,GAAKC,EAAAA,KAAAA,CAAAA;KAEX,EAAA;AAAEO,QAAAA,MAAAA,EAAQC,MAAOC,CAAAA,QAAQ,CAACd,IAAAA,CAAKe,GAAG,CAAA;AAAGD,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACE,IAAI,CAACH,MAAAA;KACpEd,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
|