@strapi/plugin-graphql 5.12.0 → 5.12.2
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/admin/index.js +18 -143
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +14 -141
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +143 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +124 -0
- package/dist/admin/package.json.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/{chunks/dk-D3k_Atlh.js → translations/dk.json.js} +2 -2
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/{chunks/dk-Bji21OvY.mjs → translations/dk.json.mjs} +1 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/{chunks/en-DzY_FEd6.js → translations/en.json.js} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-COko3s6d.mjs → translations/en.json.mjs} +1 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/es-D02rvX4A.js → translations/es.json.js} +2 -2
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/{chunks/es-BoUVfXlb.mjs → translations/es.json.mjs} +1 -1
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/{chunks/fr-D9dcL-gU.js → translations/fr.json.js} +2 -2
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/{chunks/fr-DFbQQgkK.mjs → translations/fr.json.mjs} +1 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/{chunks/pl-DRSWvr2y.js → translations/pl.json.js} +2 -2
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/{chunks/pl-Bih5cA3Y.mjs → translations/pl.json.mjs} +1 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/{chunks/ru-zDn7cu6t.js → translations/ru.json.js} +2 -2
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/{chunks/ru-Bxi2fB6E.mjs → translations/ru.json.mjs} +1 -1
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/{chunks/sv-Dq2aVH0_.js → translations/sv.json.js} +2 -2
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/{chunks/sv-B2uIJv_a.mjs → translations/sv.json.mjs} +1 -1
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/{chunks/tr-B0yEuVnS.js → translations/tr.json.js} +2 -2
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/{chunks/tr-DwO6hyQD.mjs → translations/tr.json.mjs} +1 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-DJGNjXWk.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-_25RY9BK.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-Hans-DxlDvlSo.js → translations/zh-Hans.json.js} +2 -2
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/{chunks/zh-Hans-DUab611K.mjs → translations/zh-Hans.json.mjs} +1 -1
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-BkiTjJnf.js → translations/zh.json.js} +2 -2
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/{chunks/zh-DVvz1qsT.mjs → translations/zh.json.mjs} +1 -1
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/server/bootstrap.js +180 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +177 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config/default-config.js +13 -0
- package/dist/server/config/default-config.js.map +1 -0
- package/dist/server/config/default-config.mjs +11 -0
- package/dist/server/config/default-config.mjs.map +1 -0
- package/dist/server/config/index.js +10 -0
- package/dist/server/config/index.js.map +1 -0
- package/dist/server/config/index.mjs +8 -0
- package/dist/server/config/index.mjs.map +1 -0
- package/dist/server/format-graphql-error.js +60 -0
- package/dist/server/format-graphql-error.js.map +1 -0
- package/dist/server/format-graphql-error.mjs +58 -0
- package/dist/server/format-graphql-error.mjs.map +1 -0
- package/dist/server/index.js +6 -3719
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +3 -3698
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/services/builders/dynamic-zones.js +75 -0
- package/dist/server/services/builders/dynamic-zones.js.map +1 -0
- package/dist/server/services/builders/dynamic-zones.mjs +73 -0
- package/dist/server/services/builders/dynamic-zones.mjs.map +1 -0
- package/dist/server/services/builders/entity.js +38 -0
- package/dist/server/services/builders/entity.js.map +1 -0
- package/dist/server/services/builders/entity.mjs +36 -0
- package/dist/server/services/builders/entity.mjs.map +1 -0
- package/dist/server/services/builders/enums.js +24 -0
- package/dist/server/services/builders/enums.js.map +1 -0
- package/dist/server/services/builders/enums.mjs +22 -0
- package/dist/server/services/builders/enums.mjs.map +1 -0
- package/dist/server/services/builders/filters/content-type.js +94 -0
- package/dist/server/services/builders/filters/content-type.js.map +1 -0
- package/dist/server/services/builders/filters/content-type.mjs +92 -0
- package/dist/server/services/builders/filters/content-type.mjs.map +1 -0
- package/dist/server/services/builders/filters/index.js +10 -0
- package/dist/server/services/builders/filters/index.js.map +1 -0
- package/dist/server/services/builders/filters/index.mjs +8 -0
- package/dist/server/services/builders/filters/index.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/and.js +17 -0
- package/dist/server/services/builders/filters/operators/and.js.map +1 -0
- package/dist/server/services/builders/filters/operators/and.mjs +15 -0
- package/dist/server/services/builders/filters/operators/and.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/between.js +17 -0
- package/dist/server/services/builders/filters/operators/between.js.map +1 -0
- package/dist/server/services/builders/filters/operators/between.mjs +15 -0
- package/dist/server/services/builders/filters/operators/between.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/contains.js +15 -0
- package/dist/server/services/builders/filters/operators/contains.js.map +1 -0
- package/dist/server/services/builders/filters/operators/contains.mjs +13 -0
- package/dist/server/services/builders/filters/operators/contains.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/containsi.js +15 -0
- package/dist/server/services/builders/filters/operators/containsi.js.map +1 -0
- package/dist/server/services/builders/filters/operators/containsi.mjs +13 -0
- package/dist/server/services/builders/filters/operators/containsi.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/ends-with.js +15 -0
- package/dist/server/services/builders/filters/operators/ends-with.js.map +1 -0
- package/dist/server/services/builders/filters/operators/ends-with.mjs +13 -0
- package/dist/server/services/builders/filters/operators/ends-with.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/eq.js +22 -0
- package/dist/server/services/builders/filters/operators/eq.js.map +1 -0
- package/dist/server/services/builders/filters/operators/eq.mjs +20 -0
- package/dist/server/services/builders/filters/operators/eq.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/eqi.js +15 -0
- package/dist/server/services/builders/filters/operators/eqi.js.map +1 -0
- package/dist/server/services/builders/filters/operators/eqi.mjs +13 -0
- package/dist/server/services/builders/filters/operators/eqi.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/gt.js +15 -0
- package/dist/server/services/builders/filters/operators/gt.js.map +1 -0
- package/dist/server/services/builders/filters/operators/gt.mjs +13 -0
- package/dist/server/services/builders/filters/operators/gt.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/gte.js +15 -0
- package/dist/server/services/builders/filters/operators/gte.js.map +1 -0
- package/dist/server/services/builders/filters/operators/gte.mjs +13 -0
- package/dist/server/services/builders/filters/operators/gte.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/in.js +17 -0
- package/dist/server/services/builders/filters/operators/in.js.map +1 -0
- package/dist/server/services/builders/filters/operators/in.mjs +15 -0
- package/dist/server/services/builders/filters/operators/in.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/index.js +57 -0
- package/dist/server/services/builders/filters/operators/index.js.map +1 -0
- package/dist/server/services/builders/filters/operators/index.mjs +55 -0
- package/dist/server/services/builders/filters/operators/index.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/lt.js +15 -0
- package/dist/server/services/builders/filters/operators/lt.js.map +1 -0
- package/dist/server/services/builders/filters/operators/lt.mjs +13 -0
- package/dist/server/services/builders/filters/operators/lt.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/lte.js +15 -0
- package/dist/server/services/builders/filters/operators/lte.js.map +1 -0
- package/dist/server/services/builders/filters/operators/lte.mjs +13 -0
- package/dist/server/services/builders/filters/operators/lte.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/ne.js +15 -0
- package/dist/server/services/builders/filters/operators/ne.js.map +1 -0
- package/dist/server/services/builders/filters/operators/ne.mjs +13 -0
- package/dist/server/services/builders/filters/operators/ne.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/nei.js +15 -0
- package/dist/server/services/builders/filters/operators/nei.js.map +1 -0
- package/dist/server/services/builders/filters/operators/nei.mjs +13 -0
- package/dist/server/services/builders/filters/operators/nei.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/not-contains.js +15 -0
- package/dist/server/services/builders/filters/operators/not-contains.js.map +1 -0
- package/dist/server/services/builders/filters/operators/not-contains.mjs +13 -0
- package/dist/server/services/builders/filters/operators/not-contains.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/not-containsi.js +15 -0
- package/dist/server/services/builders/filters/operators/not-containsi.js.map +1 -0
- package/dist/server/services/builders/filters/operators/not-containsi.mjs +13 -0
- package/dist/server/services/builders/filters/operators/not-containsi.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/not-in.js +17 -0
- package/dist/server/services/builders/filters/operators/not-in.js.map +1 -0
- package/dist/server/services/builders/filters/operators/not-in.mjs +15 -0
- package/dist/server/services/builders/filters/operators/not-in.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/not-null.js +13 -0
- package/dist/server/services/builders/filters/operators/not-null.js.map +1 -0
- package/dist/server/services/builders/filters/operators/not-null.mjs +11 -0
- package/dist/server/services/builders/filters/operators/not-null.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/not.js +24 -0
- package/dist/server/services/builders/filters/operators/not.js.map +1 -0
- package/dist/server/services/builders/filters/operators/not.mjs +22 -0
- package/dist/server/services/builders/filters/operators/not.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/null.js +13 -0
- package/dist/server/services/builders/filters/operators/null.js.map +1 -0
- package/dist/server/services/builders/filters/operators/null.mjs +11 -0
- package/dist/server/services/builders/filters/operators/null.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/or.js +17 -0
- package/dist/server/services/builders/filters/operators/or.js.map +1 -0
- package/dist/server/services/builders/filters/operators/or.mjs +15 -0
- package/dist/server/services/builders/filters/operators/or.mjs.map +1 -0
- package/dist/server/services/builders/filters/operators/starts-with.js +15 -0
- package/dist/server/services/builders/filters/operators/starts-with.js.map +1 -0
- package/dist/server/services/builders/filters/operators/starts-with.mjs +13 -0
- package/dist/server/services/builders/filters/operators/starts-with.mjs.map +1 -0
- package/dist/server/services/builders/generic-morph.js +38 -0
- package/dist/server/services/builders/generic-morph.js.map +1 -0
- package/dist/server/services/builders/generic-morph.mjs +36 -0
- package/dist/server/services/builders/generic-morph.mjs.map +1 -0
- package/dist/server/services/builders/index.js +75 -0
- package/dist/server/services/builders/index.js.map +1 -0
- package/dist/server/services/builders/index.mjs +73 -0
- package/dist/server/services/builders/index.mjs.map +1 -0
- package/dist/server/services/builders/input.js +89 -0
- package/dist/server/services/builders/input.js.map +1 -0
- package/dist/server/services/builders/input.mjs +87 -0
- package/dist/server/services/builders/input.mjs.map +1 -0
- package/dist/server/services/builders/mutations/collection-type.js +155 -0
- package/dist/server/services/builders/mutations/collection-type.js.map +1 -0
- package/dist/server/services/builders/mutations/collection-type.mjs +153 -0
- package/dist/server/services/builders/mutations/collection-type.mjs.map +1 -0
- package/dist/server/services/builders/mutations/index.js +12 -0
- package/dist/server/services/builders/mutations/index.js.map +1 -0
- package/dist/server/services/builders/mutations/index.mjs +10 -0
- package/dist/server/services/builders/mutations/index.mjs.map +1 -0
- package/dist/server/services/builders/mutations/single-type.js +123 -0
- package/dist/server/services/builders/mutations/single-type.js.map +1 -0
- package/dist/server/services/builders/mutations/single-type.mjs +121 -0
- package/dist/server/services/builders/mutations/single-type.mjs.map +1 -0
- package/dist/server/services/builders/queries/collection-type.js +152 -0
- package/dist/server/services/builders/queries/collection-type.js.map +1 -0
- package/dist/server/services/builders/queries/collection-type.mjs +150 -0
- package/dist/server/services/builders/queries/collection-type.mjs.map +1 -0
- package/dist/server/services/builders/queries/index.js +12 -0
- package/dist/server/services/builders/queries/index.js.map +1 -0
- package/dist/server/services/builders/queries/index.mjs +10 -0
- package/dist/server/services/builders/queries/index.mjs.map +1 -0
- package/dist/server/services/builders/queries/single-type.js +70 -0
- package/dist/server/services/builders/queries/single-type.js.map +1 -0
- package/dist/server/services/builders/queries/single-type.mjs +68 -0
- package/dist/server/services/builders/queries/single-type.mjs.map +1 -0
- package/dist/server/services/builders/relation-response-collection.js +35 -0
- package/dist/server/services/builders/relation-response-collection.js.map +1 -0
- package/dist/server/services/builders/relation-response-collection.mjs +33 -0
- package/dist/server/services/builders/relation-response-collection.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/association.js +74 -0
- package/dist/server/services/builders/resolvers/association.js.map +1 -0
- package/dist/server/services/builders/resolvers/association.mjs +72 -0
- package/dist/server/services/builders/resolvers/association.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/component.js +27 -0
- package/dist/server/services/builders/resolvers/component.js.map +1 -0
- package/dist/server/services/builders/resolvers/component.mjs +25 -0
- package/dist/server/services/builders/resolvers/component.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/dynamic-zone.js +12 -0
- package/dist/server/services/builders/resolvers/dynamic-zone.js.map +1 -0
- package/dist/server/services/builders/resolvers/dynamic-zone.mjs +10 -0
- package/dist/server/services/builders/resolvers/dynamic-zone.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/index.js +20 -0
- package/dist/server/services/builders/resolvers/index.js.map +1 -0
- package/dist/server/services/builders/resolvers/index.mjs +18 -0
- package/dist/server/services/builders/resolvers/index.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/pagination.js +29 -0
- package/dist/server/services/builders/resolvers/pagination.js.map +1 -0
- package/dist/server/services/builders/resolvers/pagination.mjs +27 -0
- package/dist/server/services/builders/resolvers/pagination.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/query.js +55 -0
- package/dist/server/services/builders/resolvers/query.js.map +1 -0
- package/dist/server/services/builders/resolvers/query.mjs +53 -0
- package/dist/server/services/builders/resolvers/query.mjs.map +1 -0
- package/dist/server/services/builders/response-collection.js +50 -0
- package/dist/server/services/builders/response-collection.js.map +1 -0
- package/dist/server/services/builders/response-collection.mjs +48 -0
- package/dist/server/services/builders/response-collection.mjs.map +1 -0
- package/dist/server/services/builders/response.js +28 -0
- package/dist/server/services/builders/response.js.map +1 -0
- package/dist/server/services/builders/response.mjs +26 -0
- package/dist/server/services/builders/response.mjs.map +1 -0
- package/dist/server/services/builders/type.js +347 -0
- package/dist/server/services/builders/type.js.map +1 -0
- package/dist/server/services/builders/type.mjs +345 -0
- package/dist/server/services/builders/type.mjs.map +1 -0
- package/dist/server/services/builders/utils.js +113 -0
- package/dist/server/services/builders/utils.js.map +1 -0
- package/dist/server/services/builders/utils.mjs +111 -0
- package/dist/server/services/builders/utils.mjs.map +1 -0
- package/dist/server/services/constants.js +139 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +137 -0
- package/dist/server/services/constants.mjs.map +1 -0
- package/dist/server/services/content-api/index.js +184 -0
- package/dist/server/services/content-api/index.js.map +1 -0
- package/dist/server/services/content-api/index.mjs +182 -0
- package/dist/server/services/content-api/index.mjs.map +1 -0
- package/dist/server/services/content-api/policy.js +54 -0
- package/dist/server/services/content-api/policy.js.map +1 -0
- package/dist/server/services/content-api/policy.mjs +52 -0
- package/dist/server/services/content-api/policy.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/collection-type.js +41 -0
- package/dist/server/services/content-api/register-functions/collection-type.js.map +1 -0
- package/dist/server/services/content-api/register-functions/collection-type.mjs +39 -0
- package/dist/server/services/content-api/register-functions/collection-type.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/component.js +16 -0
- package/dist/server/services/content-api/register-functions/component.js.map +1 -0
- package/dist/server/services/content-api/register-functions/component.mjs +14 -0
- package/dist/server/services/content-api/register-functions/component.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/dynamic-zones.js +31 -0
- package/dist/server/services/content-api/register-functions/dynamic-zones.js.map +1 -0
- package/dist/server/services/content-api/register-functions/dynamic-zones.mjs +29 -0
- package/dist/server/services/content-api/register-functions/dynamic-zones.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/enums.js +23 -0
- package/dist/server/services/content-api/register-functions/enums.js.map +1 -0
- package/dist/server/services/content-api/register-functions/enums.mjs +21 -0
- package/dist/server/services/content-api/register-functions/enums.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/filters.js +16 -0
- package/dist/server/services/content-api/register-functions/filters.js.map +1 -0
- package/dist/server/services/content-api/register-functions/filters.mjs +14 -0
- package/dist/server/services/content-api/register-functions/filters.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/inputs.js +17 -0
- package/dist/server/services/content-api/register-functions/inputs.js.map +1 -0
- package/dist/server/services/content-api/register-functions/inputs.mjs +15 -0
- package/dist/server/services/content-api/register-functions/inputs.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/internals.js +16 -0
- package/dist/server/services/content-api/register-functions/internals.js.map +1 -0
- package/dist/server/services/content-api/register-functions/internals.mjs +14 -0
- package/dist/server/services/content-api/register-functions/internals.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/polymorphic.js +49 -0
- package/dist/server/services/content-api/register-functions/polymorphic.js.map +1 -0
- package/dist/server/services/content-api/register-functions/polymorphic.mjs +47 -0
- package/dist/server/services/content-api/register-functions/polymorphic.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/scalars.js +15 -0
- package/dist/server/services/content-api/register-functions/scalars.js.map +1 -0
- package/dist/server/services/content-api/register-functions/scalars.mjs +13 -0
- package/dist/server/services/content-api/register-functions/scalars.mjs.map +1 -0
- package/dist/server/services/content-api/register-functions/single-type.js +41 -0
- package/dist/server/services/content-api/register-functions/single-type.js.map +1 -0
- package/dist/server/services/content-api/register-functions/single-type.mjs +39 -0
- package/dist/server/services/content-api/register-functions/single-type.mjs.map +1 -0
- package/dist/server/services/content-api/wrap-resolvers.js +119 -0
- package/dist/server/services/content-api/wrap-resolvers.js.map +1 -0
- package/dist/server/services/content-api/wrap-resolvers.mjs +117 -0
- package/dist/server/services/content-api/wrap-resolvers.mjs.map +1 -0
- package/dist/server/services/extension/extension.js +84 -0
- package/dist/server/services/extension/extension.js.map +1 -0
- package/dist/server/services/extension/extension.mjs +63 -0
- package/dist/server/services/extension/extension.mjs.map +1 -0
- package/dist/server/services/extension/index.js +8 -0
- package/dist/server/services/extension/index.js.map +1 -0
- package/dist/server/services/extension/index.mjs +6 -0
- package/dist/server/services/extension/index.mjs.map +1 -0
- package/dist/server/services/extension/shadow-crud-manager.js +121 -0
- package/dist/server/services/extension/shadow-crud-manager.js.map +1 -0
- package/dist/server/services/extension/shadow-crud-manager.mjs +119 -0
- package/dist/server/services/extension/shadow-crud-manager.mjs.map +1 -0
- package/dist/server/services/format/index.js +10 -0
- package/dist/server/services/format/index.js.map +1 -0
- package/dist/server/services/format/index.mjs +8 -0
- package/dist/server/services/format/index.mjs.map +1 -0
- package/dist/server/services/format/return-types.js +27 -0
- package/dist/server/services/format/return-types.js.map +1 -0
- package/dist/server/services/format/return-types.mjs +25 -0
- package/dist/server/services/format/return-types.mjs.map +1 -0
- package/dist/server/services/index.js +24 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +22 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/internals/args/index.js +14 -0
- package/dist/server/services/internals/args/index.js.map +1 -0
- package/dist/server/services/internals/args/index.mjs +12 -0
- package/dist/server/services/internals/args/index.mjs.map +1 -0
- package/dist/server/services/internals/args/pagination.js +20 -0
- package/dist/server/services/internals/args/pagination.js.map +1 -0
- package/dist/server/services/internals/args/pagination.mjs +18 -0
- package/dist/server/services/internals/args/pagination.mjs.map +1 -0
- package/dist/server/services/internals/args/publication-status.js +14 -0
- package/dist/server/services/internals/args/publication-status.js.map +1 -0
- package/dist/server/services/internals/args/publication-status.mjs +12 -0
- package/dist/server/services/internals/args/publication-status.mjs.map +1 -0
- package/dist/server/services/internals/args/sort.js +11 -0
- package/dist/server/services/internals/args/sort.js.map +1 -0
- package/dist/server/services/internals/args/sort.mjs +9 -0
- package/dist/server/services/internals/args/sort.mjs.map +1 -0
- package/dist/server/services/internals/helpers/get-enabled-scalars.js +13 -0
- package/dist/server/services/internals/helpers/get-enabled-scalars.js.map +1 -0
- package/dist/server/services/internals/helpers/get-enabled-scalars.mjs +11 -0
- package/dist/server/services/internals/helpers/get-enabled-scalars.mjs.map +1 -0
- package/dist/server/services/internals/helpers/index.js +10 -0
- package/dist/server/services/internals/helpers/index.js.map +1 -0
- package/dist/server/services/internals/helpers/index.mjs +8 -0
- package/dist/server/services/internals/helpers/index.mjs.map +1 -0
- package/dist/server/services/internals/index.js +16 -0
- package/dist/server/services/internals/index.js.map +1 -0
- package/dist/server/services/internals/index.mjs +14 -0
- package/dist/server/services/internals/index.mjs.map +1 -0
- package/dist/server/services/internals/scalars/date.js +18 -0
- package/dist/server/services/internals/scalars/date.js.map +1 -0
- package/dist/server/services/internals/scalars/date.mjs +15 -0
- package/dist/server/services/internals/scalars/date.mjs.map +1 -0
- package/dist/server/services/internals/scalars/index.js +17 -0
- package/dist/server/services/internals/scalars/index.js.map +1 -0
- package/dist/server/services/internals/scalars/index.mjs +15 -0
- package/dist/server/services/internals/scalars/index.mjs.map +1 -0
- package/dist/server/services/internals/scalars/time.js +38 -0
- package/dist/server/services/internals/scalars/time.js.map +1 -0
- package/dist/server/services/internals/scalars/time.mjs +36 -0
- package/dist/server/services/internals/scalars/time.mjs.map +1 -0
- package/dist/server/services/internals/types/delete-mutation-response.js +18 -0
- package/dist/server/services/internals/types/delete-mutation-response.js.map +1 -0
- package/dist/server/services/internals/types/delete-mutation-response.mjs +16 -0
- package/dist/server/services/internals/types/delete-mutation-response.mjs.map +1 -0
- package/dist/server/services/internals/types/error.js +32 -0
- package/dist/server/services/internals/types/error.js.map +1 -0
- package/dist/server/services/internals/types/error.mjs +30 -0
- package/dist/server/services/internals/types/error.mjs.map +1 -0
- package/dist/server/services/internals/types/filters.js +35 -0
- package/dist/server/services/internals/types/filters.js.map +1 -0
- package/dist/server/services/internals/types/filters.mjs +33 -0
- package/dist/server/services/internals/types/filters.mjs.map +1 -0
- package/dist/server/services/internals/types/index.js +30 -0
- package/dist/server/services/internals/types/index.js.map +1 -0
- package/dist/server/services/internals/types/index.mjs +28 -0
- package/dist/server/services/internals/types/index.mjs.map +1 -0
- package/dist/server/services/internals/types/pagination.js +24 -0
- package/dist/server/services/internals/types/pagination.js.map +1 -0
- package/dist/server/services/internals/types/pagination.mjs +22 -0
- package/dist/server/services/internals/types/pagination.mjs.map +1 -0
- package/dist/server/services/internals/types/publication-status.js +22 -0
- package/dist/server/services/internals/types/publication-status.js.map +1 -0
- package/dist/server/services/internals/types/publication-status.mjs +20 -0
- package/dist/server/services/internals/types/publication-status.mjs.map +1 -0
- package/dist/server/services/internals/types/response-collection-meta.js +27 -0
- package/dist/server/services/internals/types/response-collection-meta.js.map +1 -0
- package/dist/server/services/internals/types/response-collection-meta.mjs +25 -0
- package/dist/server/services/internals/types/response-collection-meta.mjs.map +1 -0
- package/dist/server/services/type-registry.js +81 -0
- package/dist/server/services/type-registry.js.map +1 -0
- package/dist/server/services/type-registry.mjs +79 -0
- package/dist/server/services/type-registry.mjs.map +1 -0
- package/dist/server/services/utils/attributes.js +65 -0
- package/dist/server/services/utils/attributes.js.map +1 -0
- package/dist/server/services/utils/attributes.mjs +63 -0
- package/dist/server/services/utils/attributes.mjs.map +1 -0
- package/dist/server/services/utils/index.js +16 -0
- package/dist/server/services/utils/index.js.map +1 -0
- package/dist/server/services/utils/index.mjs +14 -0
- package/dist/server/services/utils/index.mjs.map +1 -0
- package/dist/server/services/utils/mappers/entity-to-response-entity.js +16 -0
- package/dist/server/services/utils/mappers/entity-to-response-entity.js.map +1 -0
- package/dist/server/services/utils/mappers/entity-to-response-entity.mjs +14 -0
- package/dist/server/services/utils/mappers/entity-to-response-entity.mjs.map +1 -0
- package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js +95 -0
- package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js.map +1 -0
- package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs +93 -0
- package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs.map +1 -0
- package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js +15 -0
- package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js.map +1 -0
- package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs +13 -0
- package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs.map +1 -0
- package/dist/server/services/utils/mappers/index.js +16 -0
- package/dist/server/services/utils/mappers/index.js.map +1 -0
- package/dist/server/services/utils/mappers/index.mjs +14 -0
- package/dist/server/services/utils/mappers/index.mjs.map +1 -0
- package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js +23 -0
- package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js.map +1 -0
- package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs +21 -0
- package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs.map +1 -0
- package/dist/server/services/utils/naming.js +187 -0
- package/dist/server/services/utils/naming.js.map +1 -0
- package/dist/server/services/utils/naming.mjs +185 -0
- package/dist/server/services/utils/naming.mjs.map +1 -0
- package/dist/server/services/utils/playground.js +19 -0
- package/dist/server/services/utils/playground.js.map +1 -0
- package/dist/server/services/utils/playground.mjs +17 -0
- package/dist/server/services/utils/playground.mjs.map +1 -0
- package/package.json +6 -6
- package/dist/admin/chunks/dk-Bji21OvY.mjs.map +0 -1
- package/dist/admin/chunks/dk-D3k_Atlh.js.map +0 -1
- package/dist/admin/chunks/en-COko3s6d.mjs.map +0 -1
- package/dist/admin/chunks/en-DzY_FEd6.js.map +0 -1
- package/dist/admin/chunks/es-BoUVfXlb.mjs.map +0 -1
- package/dist/admin/chunks/es-D02rvX4A.js.map +0 -1
- package/dist/admin/chunks/fr-D9dcL-gU.js.map +0 -1
- package/dist/admin/chunks/fr-DFbQQgkK.mjs.map +0 -1
- package/dist/admin/chunks/pl-Bih5cA3Y.mjs.map +0 -1
- package/dist/admin/chunks/pl-DRSWvr2y.js.map +0 -1
- package/dist/admin/chunks/ru-Bxi2fB6E.mjs.map +0 -1
- package/dist/admin/chunks/ru-zDn7cu6t.js.map +0 -1
- package/dist/admin/chunks/sv-B2uIJv_a.mjs.map +0 -1
- package/dist/admin/chunks/sv-Dq2aVH0_.js.map +0 -1
- package/dist/admin/chunks/tr-B0yEuVnS.js.map +0 -1
- package/dist/admin/chunks/tr-DwO6hyQD.mjs.map +0 -1
- package/dist/admin/chunks/uk-DJGNjXWk.js.map +0 -1
- package/dist/admin/chunks/uk-_25RY9BK.mjs.map +0 -1
- package/dist/admin/chunks/zh-BkiTjJnf.js.map +0 -1
- package/dist/admin/chunks/zh-DVvz1qsT.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-DUab611K.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-DxlDvlSo.js.map +0 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { pruneSchema } from '@graphql-tools/utils';
|
|
2
|
+
import { makeSchema } from 'nexus';
|
|
3
|
+
import { prop, startsWith } from 'lodash/fp';
|
|
4
|
+
import { wrapResolvers } from './wrap-resolvers.mjs';
|
|
5
|
+
import { registerCollectionType } from './register-functions/collection-type.mjs';
|
|
6
|
+
import { registerSingleType } from './register-functions/single-type.mjs';
|
|
7
|
+
import { registerComponent } from './register-functions/component.mjs';
|
|
8
|
+
import { registerPolymorphicContentType } from './register-functions/polymorphic.mjs';
|
|
9
|
+
import { registerScalars } from './register-functions/scalars.mjs';
|
|
10
|
+
import { registerInternals } from './register-functions/internals.mjs';
|
|
11
|
+
import { registerDynamicZonesDefinition } from './register-functions/dynamic-zones.mjs';
|
|
12
|
+
import { registerEnumsDefinition } from './register-functions/enums.mjs';
|
|
13
|
+
import { registerInputsDefinition } from './register-functions/inputs.mjs';
|
|
14
|
+
import { registerFiltersDefinition } from './register-functions/filters.mjs';
|
|
15
|
+
|
|
16
|
+
var contentAPI = (({ strapi })=>{
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
18
|
+
const { mergeSchemas, addResolversToSchema } = require('@graphql-tools/schema');
|
|
19
|
+
const { service: getGraphQLService } = strapi.plugin('graphql');
|
|
20
|
+
const { config } = strapi.plugin('graphql');
|
|
21
|
+
const { KINDS, GENERIC_MORPH_TYPENAME } = getGraphQLService('constants');
|
|
22
|
+
const extensionService = getGraphQLService('extension');
|
|
23
|
+
// Type Registry
|
|
24
|
+
let registry;
|
|
25
|
+
// Builders Instances
|
|
26
|
+
let builders;
|
|
27
|
+
const buildSchema = ()=>{
|
|
28
|
+
const isShadowCRUDEnabled = !!config('shadowCRUD');
|
|
29
|
+
// Create a new empty type registry
|
|
30
|
+
registry = getGraphQLService('type-registry').new();
|
|
31
|
+
// Reset the builders instances associated to the
|
|
32
|
+
// content-api, and link the new type registry
|
|
33
|
+
builders = getGraphQLService('builders').new('content-api', registry);
|
|
34
|
+
registerScalars({
|
|
35
|
+
registry,
|
|
36
|
+
strapi
|
|
37
|
+
});
|
|
38
|
+
registerInternals({
|
|
39
|
+
registry,
|
|
40
|
+
strapi
|
|
41
|
+
});
|
|
42
|
+
if (isShadowCRUDEnabled) {
|
|
43
|
+
shadowCRUD();
|
|
44
|
+
}
|
|
45
|
+
// Build a merged schema from both Nexus types & SDL type definitions
|
|
46
|
+
const schema = buildMergedSchema({
|
|
47
|
+
registry
|
|
48
|
+
});
|
|
49
|
+
// Generate the extension configuration for the content API.
|
|
50
|
+
// This extension instance needs to be generated after the Nexus schema's
|
|
51
|
+
// generation, so that configurations created during types definitions
|
|
52
|
+
// can be registered before being used in the wrap resolvers operation
|
|
53
|
+
const extension = extensionService.generate({
|
|
54
|
+
typeRegistry: registry
|
|
55
|
+
});
|
|
56
|
+
// Add the extension's resolvers to the final schema
|
|
57
|
+
const schemaWithResolvers = addResolversToSchema({
|
|
58
|
+
schema,
|
|
59
|
+
resolvers: extension.resolvers
|
|
60
|
+
});
|
|
61
|
+
// Create a configuration object for the artifacts generation
|
|
62
|
+
const outputs = {
|
|
63
|
+
schema: config('artifacts.schema', false),
|
|
64
|
+
typegen: config('artifacts.typegen', false)
|
|
65
|
+
};
|
|
66
|
+
const currentEnv = strapi.config.get('environment');
|
|
67
|
+
const nexusSchema = makeSchema({
|
|
68
|
+
types: [],
|
|
69
|
+
// Build the schema from the merged GraphQL schema.
|
|
70
|
+
// Since we're passing the schema to the mergeSchema property, it'll transform our SDL type definitions
|
|
71
|
+
// into Nexus type definition, thus allowing them to be handled by Nexus plugins & other processing
|
|
72
|
+
mergeSchema: {
|
|
73
|
+
schema: schemaWithResolvers
|
|
74
|
+
},
|
|
75
|
+
// Apply user-defined plugins
|
|
76
|
+
plugins: extension.plugins,
|
|
77
|
+
// Whether to generate artifacts (GraphQL schema, TS types definitions) or not.
|
|
78
|
+
// By default, we generate artifacts only on development environment
|
|
79
|
+
shouldGenerateArtifacts: config('generateArtifacts', currentEnv === 'development'),
|
|
80
|
+
// Artifacts generation configuration
|
|
81
|
+
outputs
|
|
82
|
+
});
|
|
83
|
+
// Wrap resolvers if needed (auth, middlewares, policies...) as configured in the extension
|
|
84
|
+
const wrappedNexusSchema = wrapResolvers({
|
|
85
|
+
schema: nexusSchema,
|
|
86
|
+
strapi,
|
|
87
|
+
extension
|
|
88
|
+
});
|
|
89
|
+
// Prune schema, remove unused types
|
|
90
|
+
// eg: removes registered subscriptions if they're disabled in the config)
|
|
91
|
+
const prunedNexusSchema = pruneSchema(wrappedNexusSchema);
|
|
92
|
+
return prunedNexusSchema;
|
|
93
|
+
};
|
|
94
|
+
const buildMergedSchema = ({ registry })=>{
|
|
95
|
+
// Here we extract types, plugins & typeDefs from a temporary generated
|
|
96
|
+
// extension since there won't be any addition allowed after schemas generation
|
|
97
|
+
const { types, typeDefs = [] } = extensionService.generate({
|
|
98
|
+
typeRegistry: registry
|
|
99
|
+
});
|
|
100
|
+
// Nexus schema built with user-defined & shadow CRUD auto generated Nexus types
|
|
101
|
+
const nexusSchema = makeSchema({
|
|
102
|
+
types: [
|
|
103
|
+
registry.definitions,
|
|
104
|
+
types
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
// Merge type definitions with the Nexus schema
|
|
108
|
+
return mergeSchemas({
|
|
109
|
+
typeDefs,
|
|
110
|
+
// Give access to the shadowCRUD & nexus based types
|
|
111
|
+
// Note: This is necessary so that types defined in SDL can reference types defined with Nexus
|
|
112
|
+
schemas: [
|
|
113
|
+
nexusSchema
|
|
114
|
+
]
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
const shadowCRUD = ()=>{
|
|
118
|
+
const extensionService = getGraphQLService('extension');
|
|
119
|
+
// Get every content type & component defined in Strapi
|
|
120
|
+
const contentTypes = [
|
|
121
|
+
...Object.values(strapi.components),
|
|
122
|
+
...Object.values(strapi.contentTypes)
|
|
123
|
+
];
|
|
124
|
+
// Disable Shadow CRUD for admin content types
|
|
125
|
+
contentTypes.map(prop('uid')).filter(startsWith('admin::')).forEach((uid)=>extensionService.shadowCRUD(uid).disable());
|
|
126
|
+
const contentTypesWithShadowCRUD = contentTypes.filter((ct)=>extensionService.shadowCRUD(ct.uid).isEnabled());
|
|
127
|
+
// Generate and register definitions for every content type
|
|
128
|
+
registerAPITypes(contentTypesWithShadowCRUD);
|
|
129
|
+
// Generate and register polymorphic types' definitions
|
|
130
|
+
registerMorphTypes(contentTypesWithShadowCRUD);
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Register needed GraphQL types for every content type
|
|
134
|
+
* @param {object[]} contentTypes
|
|
135
|
+
*/ const registerAPITypes = (contentTypes)=>{
|
|
136
|
+
for (const contentType of contentTypes){
|
|
137
|
+
const { modelType } = contentType;
|
|
138
|
+
const registerOptions = {
|
|
139
|
+
registry,
|
|
140
|
+
strapi,
|
|
141
|
+
builders
|
|
142
|
+
};
|
|
143
|
+
// Generate various types associated to the content type
|
|
144
|
+
// (enums, dynamic-zones, filters, inputs...)
|
|
145
|
+
registerEnumsDefinition(contentType, registerOptions);
|
|
146
|
+
registerDynamicZonesDefinition(contentType, registerOptions);
|
|
147
|
+
registerFiltersDefinition(contentType, registerOptions);
|
|
148
|
+
registerInputsDefinition(contentType, registerOptions);
|
|
149
|
+
// Generate & register component's definition
|
|
150
|
+
if (modelType === 'component') {
|
|
151
|
+
registerComponent(contentType, registerOptions);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const { kind } = contentType;
|
|
155
|
+
// Generate & register single type's definition
|
|
156
|
+
if (kind === 'singleType') {
|
|
157
|
+
registerSingleType(contentType, registerOptions);
|
|
158
|
+
} else if (kind === 'collectionType') {
|
|
159
|
+
registerCollectionType(contentType, registerOptions);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const registerMorphTypes = (contentTypes)=>{
|
|
164
|
+
// Create & register a union type that includes every type or component registered
|
|
165
|
+
const genericMorphType = builders.buildGenericMorphDefinition();
|
|
166
|
+
registry.register(GENERIC_MORPH_TYPENAME, genericMorphType, {
|
|
167
|
+
kind: KINDS.morph
|
|
168
|
+
});
|
|
169
|
+
for (const contentType of contentTypes){
|
|
170
|
+
registerPolymorphicContentType(contentType, {
|
|
171
|
+
registry,
|
|
172
|
+
strapi
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
return {
|
|
177
|
+
buildSchema
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
export { contentAPI as default };
|
|
182
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/services/content-api/index.ts"],"sourcesContent":["import { pruneSchema } from '@graphql-tools/utils';\nimport { makeSchema } from 'nexus';\nimport { prop, startsWith } from 'lodash/fp';\nimport type * as Nexus from 'nexus';\nimport type { Core, Struct } from '@strapi/types';\n\nimport { wrapResolvers } from './wrap-resolvers';\nimport {\n registerSingleType,\n registerCollectionType,\n registerComponent,\n registerScalars,\n registerInternals,\n registerPolymorphicContentType,\n registerEnumsDefinition,\n registerInputsDefinition,\n registerFiltersDefinition,\n registerDynamicZonesDefinition,\n} from './register-functions';\nimport { TypeRegistry } from '../type-registry';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { mergeSchemas, addResolversToSchema } = require('@graphql-tools/schema');\n\n const { service: getGraphQLService } = strapi.plugin('graphql');\n const { config } = strapi.plugin('graphql');\n\n const { KINDS, GENERIC_MORPH_TYPENAME } = getGraphQLService('constants');\n const extensionService = getGraphQLService('extension');\n\n // Type Registry\n let registry: any;\n // Builders Instances\n let builders: any;\n\n const buildSchema = () => {\n const isShadowCRUDEnabled = !!config('shadowCRUD');\n\n // Create a new empty type registry\n registry = getGraphQLService('type-registry').new();\n\n // Reset the builders instances associated to the\n // content-api, and link the new type registry\n builders = getGraphQLService('builders').new('content-api', registry);\n\n registerScalars({ registry, strapi });\n registerInternals({ registry, strapi });\n\n if (isShadowCRUDEnabled) {\n shadowCRUD();\n }\n\n // Build a merged schema from both Nexus types & SDL type definitions\n const schema = buildMergedSchema({ registry });\n\n // Generate the extension configuration for the content API.\n // This extension instance needs to be generated after the Nexus schema's\n // generation, so that configurations created during types definitions\n // can be registered before being used in the wrap resolvers operation\n const extension = extensionService.generate({ typeRegistry: registry });\n\n // Add the extension's resolvers to the final schema\n const schemaWithResolvers = addResolversToSchema({\n schema,\n resolvers: extension.resolvers,\n });\n\n // Create a configuration object for the artifacts generation\n const outputs: Nexus.core.SchemaConfig['outputs'] = {\n schema: config('artifacts.schema', false),\n typegen: config('artifacts.typegen', false),\n };\n\n const currentEnv = strapi.config.get('environment');\n\n const nexusSchema = makeSchema({\n types: [],\n // Build the schema from the merged GraphQL schema.\n // Since we're passing the schema to the mergeSchema property, it'll transform our SDL type definitions\n // into Nexus type definition, thus allowing them to be handled by Nexus plugins & other processing\n mergeSchema: { schema: schemaWithResolvers },\n\n // Apply user-defined plugins\n plugins: extension.plugins,\n\n // Whether to generate artifacts (GraphQL schema, TS types definitions) or not.\n // By default, we generate artifacts only on development environment\n shouldGenerateArtifacts: config('generateArtifacts', currentEnv === 'development'),\n\n // Artifacts generation configuration\n outputs,\n });\n\n // Wrap resolvers if needed (auth, middlewares, policies...) as configured in the extension\n const wrappedNexusSchema = wrapResolvers({ schema: nexusSchema, strapi, extension });\n\n // Prune schema, remove unused types\n // eg: removes registered subscriptions if they're disabled in the config)\n const prunedNexusSchema = pruneSchema(wrappedNexusSchema);\n\n return prunedNexusSchema;\n };\n\n const buildMergedSchema = ({ registry }: { registry: TypeRegistry }) => {\n // Here we extract types, plugins & typeDefs from a temporary generated\n // extension since there won't be any addition allowed after schemas generation\n const { types, typeDefs = [] } = extensionService.generate({ typeRegistry: registry });\n\n // Nexus schema built with user-defined & shadow CRUD auto generated Nexus types\n const nexusSchema = makeSchema({ types: [registry.definitions, types] });\n\n // Merge type definitions with the Nexus schema\n return mergeSchemas({\n typeDefs,\n // Give access to the shadowCRUD & nexus based types\n // Note: This is necessary so that types defined in SDL can reference types defined with Nexus\n schemas: [nexusSchema],\n });\n };\n\n const shadowCRUD = () => {\n const extensionService = getGraphQLService('extension');\n\n // Get every content type & component defined in Strapi\n const contentTypes = [\n ...Object.values(strapi.components),\n ...Object.values(strapi.contentTypes),\n ];\n\n // Disable Shadow CRUD for admin content types\n contentTypes\n .map(prop('uid'))\n .filter(startsWith('admin::'))\n .forEach((uid) => extensionService.shadowCRUD(uid).disable());\n\n const contentTypesWithShadowCRUD = contentTypes.filter((ct) =>\n extensionService.shadowCRUD(ct.uid).isEnabled()\n );\n\n // Generate and register definitions for every content type\n registerAPITypes(contentTypesWithShadowCRUD);\n\n // Generate and register polymorphic types' definitions\n registerMorphTypes(contentTypesWithShadowCRUD);\n };\n\n /**\n * Register needed GraphQL types for every content type\n * @param {object[]} contentTypes\n */\n const registerAPITypes = (contentTypes: Struct.Schema[]) => {\n for (const contentType of contentTypes) {\n const { modelType } = contentType;\n\n const registerOptions = { registry, strapi, builders };\n\n // Generate various types associated to the content type\n // (enums, dynamic-zones, filters, inputs...)\n registerEnumsDefinition(contentType, registerOptions);\n registerDynamicZonesDefinition(contentType, registerOptions);\n registerFiltersDefinition(contentType, registerOptions);\n registerInputsDefinition(contentType, registerOptions);\n\n // Generate & register component's definition\n if (modelType === 'component') {\n registerComponent(contentType, registerOptions);\n continue;\n }\n\n const { kind } = contentType;\n\n // Generate & register single type's definition\n if (kind === 'singleType') {\n registerSingleType(contentType as Struct.SingleTypeSchema, registerOptions);\n }\n\n // Generate & register collection type's definition\n else if (kind === 'collectionType') {\n registerCollectionType(contentType as Struct.CollectionTypeSchema, registerOptions);\n }\n }\n };\n\n const registerMorphTypes = (contentTypes: Struct.Schema[]) => {\n // Create & register a union type that includes every type or component registered\n const genericMorphType = builders.buildGenericMorphDefinition();\n registry.register(GENERIC_MORPH_TYPENAME, genericMorphType, { kind: KINDS.morph });\n\n for (const contentType of contentTypes) {\n registerPolymorphicContentType(contentType, { registry, strapi });\n }\n };\n\n return { buildSchema };\n};\n"],"names":["strapi","mergeSchemas","addResolversToSchema","require","service","getGraphQLService","plugin","config","KINDS","GENERIC_MORPH_TYPENAME","extensionService","registry","builders","buildSchema","isShadowCRUDEnabled","new","registerScalars","registerInternals","shadowCRUD","schema","buildMergedSchema","extension","generate","typeRegistry","schemaWithResolvers","resolvers","outputs","typegen","currentEnv","get","nexusSchema","makeSchema","types","mergeSchema","plugins","shouldGenerateArtifacts","wrappedNexusSchema","wrapResolvers","prunedNexusSchema","pruneSchema","typeDefs","definitions","schemas","contentTypes","Object","values","components","map","prop","filter","startsWith","forEach","uid","disable","contentTypesWithShadowCRUD","ct","isEnabled","registerAPITypes","registerMorphTypes","contentType","modelType","registerOptions","registerEnumsDefinition","registerDynamicZonesDefinition","registerFiltersDefinition","registerInputsDefinition","registerComponent","kind","registerSingleType","registerCollectionType","genericMorphType","buildGenericMorphDefinition","register","morph","registerPolymorphicContentType"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fp = require('lodash/fp');
|
|
4
|
+
var utils = require('@strapi/utils');
|
|
5
|
+
|
|
6
|
+
const { PolicyError } = utils.errors;
|
|
7
|
+
const getPoliciesConfig = fp.propOr([], 'policies');
|
|
8
|
+
const createPoliciesMiddleware = (resolverConfig, { strapi })=>{
|
|
9
|
+
const resolverPolicies = getPoliciesConfig(resolverConfig);
|
|
10
|
+
const policies = strapi.get('policies').resolve(resolverPolicies, {});
|
|
11
|
+
return async (resolve, parent, args, context, info)=>{
|
|
12
|
+
// Create a graphql policy context
|
|
13
|
+
const policyContext = createGraphQLPolicyContext(parent, args, context, info);
|
|
14
|
+
// Run policies & throw an error if one of them fails
|
|
15
|
+
for (const { handler, config } of policies){
|
|
16
|
+
const result = await handler(policyContext, config, {
|
|
17
|
+
strapi
|
|
18
|
+
});
|
|
19
|
+
if (![
|
|
20
|
+
true,
|
|
21
|
+
undefined
|
|
22
|
+
].includes(result)) {
|
|
23
|
+
throw new PolicyError();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return resolve(parent, args, context, info);
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
const createGraphQLPolicyContext = (parent, args, context, info)=>{
|
|
30
|
+
const policyContext = {
|
|
31
|
+
get parent () {
|
|
32
|
+
return parent;
|
|
33
|
+
},
|
|
34
|
+
get args () {
|
|
35
|
+
return args;
|
|
36
|
+
},
|
|
37
|
+
get context () {
|
|
38
|
+
return context;
|
|
39
|
+
},
|
|
40
|
+
get info () {
|
|
41
|
+
return info;
|
|
42
|
+
},
|
|
43
|
+
get state () {
|
|
44
|
+
return this.context.state;
|
|
45
|
+
},
|
|
46
|
+
get http () {
|
|
47
|
+
return this.context.koaContext;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return utils.policy.createPolicyContext('graphql', policyContext);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.createPoliciesMiddleware = createPoliciesMiddleware;
|
|
54
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sources":["../../../../server/src/services/content-api/policy.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport { GraphQLFieldResolver, GraphQLResolveInfo } from 'graphql';\nimport { policy as policyUtils, errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst { PolicyError } = errors;\n\nconst getPoliciesConfig = propOr([], 'policies');\n\nconst createPoliciesMiddleware = (resolverConfig: any, { strapi }: { strapi: Core.Strapi }) => {\n const resolverPolicies = getPoliciesConfig(resolverConfig);\n const policies = strapi.get('policies').resolve(resolverPolicies, {});\n\n return async (\n resolve: GraphQLFieldResolver<any, any>,\n parent: any,\n args: any,\n context: any,\n info: GraphQLResolveInfo\n ) => {\n // Create a graphql policy context\n const policyContext = createGraphQLPolicyContext(parent, args, context, info);\n\n // Run policies & throw an error if one of them fails\n for (const { handler, config } of policies) {\n const result = await handler(policyContext, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new PolicyError();\n }\n }\n\n return resolve(parent, args, context, info);\n };\n};\n\nconst createGraphQLPolicyContext = (\n parent: any,\n args: any,\n context: any,\n info: GraphQLResolveInfo\n) => {\n const policyContext = {\n get parent() {\n return parent;\n },\n\n get args() {\n return args;\n },\n\n get context() {\n return context;\n },\n\n get info() {\n return info;\n },\n\n get state() {\n return this.context.state;\n },\n\n get http() {\n return this.context.koaContext;\n },\n };\n\n return policyUtils.createPolicyContext('graphql', policyContext);\n};\n\nexport { createPoliciesMiddleware };\n"],"names":["PolicyError","errors","getPoliciesConfig","propOr","createPoliciesMiddleware","resolverConfig","strapi","resolverPolicies","policies","get","resolve","parent","args","context","info","policyContext","createGraphQLPolicyContext","handler","config","result","undefined","includes","state","http","koaContext","policyUtils","createPolicyContext"],"mappings":";;;;;AAKA,MAAM,EAAEA,WAAW,EAAE,GAAGC,YAAAA;AAExB,MAAMC,iBAAAA,GAAoBC,SAAO,CAAA,EAAE,EAAE,UAAA,CAAA;AAErC,MAAMC,wBAA2B,GAAA,CAACC,cAAqB,EAAA,EAAEC,MAAM,EAA2B,GAAA;AACxF,IAAA,MAAMC,mBAAmBL,iBAAkBG,CAAAA,cAAAA,CAAAA;IAC3C,MAAMG,QAAAA,GAAWF,OAAOG,GAAG,CAAC,YAAYC,OAAO,CAACH,kBAAkB,EAAC,CAAA;AAEnE,IAAA,OAAO,OACLG,OAAAA,EACAC,MACAC,EAAAA,IAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;;AAGA,QAAA,MAAMC,aAAgBC,GAAAA,0BAAAA,CAA2BL,MAAQC,EAAAA,IAAAA,EAAMC,OAASC,EAAAA,IAAAA,CAAAA;;AAGxE,QAAA,KAAK,MAAM,EAAEG,OAAO,EAAEC,MAAM,EAAE,IAAIV,QAAU,CAAA;AAC1C,YAAA,MAAMW,MAAS,GAAA,MAAMF,OAAQF,CAAAA,aAAAA,EAAeG,MAAQ,EAAA;AAAEZ,gBAAAA;AAAO,aAAA,CAAA;AAE7D,YAAA,IAAI,CAAC;AAAC,gBAAA,IAAA;AAAMc,gBAAAA;aAAU,CAACC,QAAQ,CAACF,MAAS,CAAA,EAAA;AACvC,gBAAA,MAAM,IAAInB,WAAAA,EAAAA;AACZ;AACF;QAEA,OAAOU,OAAAA,CAAQC,MAAQC,EAAAA,IAAAA,EAAMC,OAASC,EAAAA,IAAAA,CAAAA;AACxC,KAAA;AACF;AAEA,MAAME,0BAA6B,GAAA,CACjCL,MACAC,EAAAA,IAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;AAEA,IAAA,MAAMC,aAAgB,GAAA;AACpB,QAAA,IAAIJ,MAAS,CAAA,GAAA;YACX,OAAOA,MAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;YACT,OAAOA,IAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,OAAU,CAAA,GAAA;YACZ,OAAOA,OAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;YACT,OAAOA,IAAAA;AACT,SAAA;AAEA,QAAA,IAAIQ,KAAQ,CAAA,GAAA;AACV,YAAA,OAAO,IAAI,CAACT,OAAO,CAACS,KAAK;AAC3B,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;AACT,YAAA,OAAO,IAAI,CAACV,OAAO,CAACW,UAAU;AAChC;AACF,KAAA;IAEA,OAAOC,YAAAA,CAAYC,mBAAmB,CAAC,SAAWX,EAAAA,aAAAA,CAAAA;AACpD,CAAA;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { propOr } from 'lodash/fp';
|
|
2
|
+
import { policy, errors } from '@strapi/utils';
|
|
3
|
+
|
|
4
|
+
const { PolicyError } = errors;
|
|
5
|
+
const getPoliciesConfig = propOr([], 'policies');
|
|
6
|
+
const createPoliciesMiddleware = (resolverConfig, { strapi })=>{
|
|
7
|
+
const resolverPolicies = getPoliciesConfig(resolverConfig);
|
|
8
|
+
const policies = strapi.get('policies').resolve(resolverPolicies, {});
|
|
9
|
+
return async (resolve, parent, args, context, info)=>{
|
|
10
|
+
// Create a graphql policy context
|
|
11
|
+
const policyContext = createGraphQLPolicyContext(parent, args, context, info);
|
|
12
|
+
// Run policies & throw an error if one of them fails
|
|
13
|
+
for (const { handler, config } of policies){
|
|
14
|
+
const result = await handler(policyContext, config, {
|
|
15
|
+
strapi
|
|
16
|
+
});
|
|
17
|
+
if (![
|
|
18
|
+
true,
|
|
19
|
+
undefined
|
|
20
|
+
].includes(result)) {
|
|
21
|
+
throw new PolicyError();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return resolve(parent, args, context, info);
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const createGraphQLPolicyContext = (parent, args, context, info)=>{
|
|
28
|
+
const policyContext = {
|
|
29
|
+
get parent () {
|
|
30
|
+
return parent;
|
|
31
|
+
},
|
|
32
|
+
get args () {
|
|
33
|
+
return args;
|
|
34
|
+
},
|
|
35
|
+
get context () {
|
|
36
|
+
return context;
|
|
37
|
+
},
|
|
38
|
+
get info () {
|
|
39
|
+
return info;
|
|
40
|
+
},
|
|
41
|
+
get state () {
|
|
42
|
+
return this.context.state;
|
|
43
|
+
},
|
|
44
|
+
get http () {
|
|
45
|
+
return this.context.koaContext;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return policy.createPolicyContext('graphql', policyContext);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { createPoliciesMiddleware };
|
|
52
|
+
//# sourceMappingURL=policy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.mjs","sources":["../../../../server/src/services/content-api/policy.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport { GraphQLFieldResolver, GraphQLResolveInfo } from 'graphql';\nimport { policy as policyUtils, errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst { PolicyError } = errors;\n\nconst getPoliciesConfig = propOr([], 'policies');\n\nconst createPoliciesMiddleware = (resolverConfig: any, { strapi }: { strapi: Core.Strapi }) => {\n const resolverPolicies = getPoliciesConfig(resolverConfig);\n const policies = strapi.get('policies').resolve(resolverPolicies, {});\n\n return async (\n resolve: GraphQLFieldResolver<any, any>,\n parent: any,\n args: any,\n context: any,\n info: GraphQLResolveInfo\n ) => {\n // Create a graphql policy context\n const policyContext = createGraphQLPolicyContext(parent, args, context, info);\n\n // Run policies & throw an error if one of them fails\n for (const { handler, config } of policies) {\n const result = await handler(policyContext, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new PolicyError();\n }\n }\n\n return resolve(parent, args, context, info);\n };\n};\n\nconst createGraphQLPolicyContext = (\n parent: any,\n args: any,\n context: any,\n info: GraphQLResolveInfo\n) => {\n const policyContext = {\n get parent() {\n return parent;\n },\n\n get args() {\n return args;\n },\n\n get context() {\n return context;\n },\n\n get info() {\n return info;\n },\n\n get state() {\n return this.context.state;\n },\n\n get http() {\n return this.context.koaContext;\n },\n };\n\n return policyUtils.createPolicyContext('graphql', policyContext);\n};\n\nexport { createPoliciesMiddleware };\n"],"names":["PolicyError","errors","getPoliciesConfig","propOr","createPoliciesMiddleware","resolverConfig","strapi","resolverPolicies","policies","get","resolve","parent","args","context","info","policyContext","createGraphQLPolicyContext","handler","config","result","undefined","includes","state","http","koaContext","policyUtils","createPolicyContext"],"mappings":";;;AAKA,MAAM,EAAEA,WAAW,EAAE,GAAGC,MAAAA;AAExB,MAAMC,iBAAAA,GAAoBC,MAAO,CAAA,EAAE,EAAE,UAAA,CAAA;AAErC,MAAMC,wBAA2B,GAAA,CAACC,cAAqB,EAAA,EAAEC,MAAM,EAA2B,GAAA;AACxF,IAAA,MAAMC,mBAAmBL,iBAAkBG,CAAAA,cAAAA,CAAAA;IAC3C,MAAMG,QAAAA,GAAWF,OAAOG,GAAG,CAAC,YAAYC,OAAO,CAACH,kBAAkB,EAAC,CAAA;AAEnE,IAAA,OAAO,OACLG,OAAAA,EACAC,MACAC,EAAAA,IAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;;AAGA,QAAA,MAAMC,aAAgBC,GAAAA,0BAAAA,CAA2BL,MAAQC,EAAAA,IAAAA,EAAMC,OAASC,EAAAA,IAAAA,CAAAA;;AAGxE,QAAA,KAAK,MAAM,EAAEG,OAAO,EAAEC,MAAM,EAAE,IAAIV,QAAU,CAAA;AAC1C,YAAA,MAAMW,MAAS,GAAA,MAAMF,OAAQF,CAAAA,aAAAA,EAAeG,MAAQ,EAAA;AAAEZ,gBAAAA;AAAO,aAAA,CAAA;AAE7D,YAAA,IAAI,CAAC;AAAC,gBAAA,IAAA;AAAMc,gBAAAA;aAAU,CAACC,QAAQ,CAACF,MAAS,CAAA,EAAA;AACvC,gBAAA,MAAM,IAAInB,WAAAA,EAAAA;AACZ;AACF;QAEA,OAAOU,OAAAA,CAAQC,MAAQC,EAAAA,IAAAA,EAAMC,OAASC,EAAAA,IAAAA,CAAAA;AACxC,KAAA;AACF;AAEA,MAAME,0BAA6B,GAAA,CACjCL,MACAC,EAAAA,IAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;AAEA,IAAA,MAAMC,aAAgB,GAAA;AACpB,QAAA,IAAIJ,MAAS,CAAA,GAAA;YACX,OAAOA,MAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;YACT,OAAOA,IAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,OAAU,CAAA,GAAA;YACZ,OAAOA,OAAAA;AACT,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;YACT,OAAOA,IAAAA;AACT,SAAA;AAEA,QAAA,IAAIQ,KAAQ,CAAA,GAAA;AACV,YAAA,OAAO,IAAI,CAACT,OAAO,CAACS,KAAK;AAC3B,SAAA;AAEA,QAAA,IAAIC,IAAO,CAAA,GAAA;AACT,YAAA,OAAO,IAAI,CAACV,OAAO,CAACW,UAAU;AAChC;AACF,KAAA;IAEA,OAAOC,MAAAA,CAAYC,mBAAmB,CAAC,SAAWX,EAAAA,aAAAA,CAAAA;AACpD,CAAA;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerCollectionType = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { naming } = getService('utils');
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const extension = getService('extension');
|
|
8
|
+
// Types name (as string)
|
|
9
|
+
const types = {
|
|
10
|
+
base: naming.getTypeName(contentType),
|
|
11
|
+
entity: naming.getEntityName(contentType),
|
|
12
|
+
response: naming.getEntityResponseName(contentType),
|
|
13
|
+
responseCollection: naming.getEntityResponseCollectionName(contentType),
|
|
14
|
+
relationResponseCollection: naming.getRelationResponseCollectionName(contentType),
|
|
15
|
+
queries: naming.getEntityQueriesTypeName(contentType),
|
|
16
|
+
mutations: naming.getEntityMutationsTypeName(contentType)
|
|
17
|
+
};
|
|
18
|
+
const getConfig = (kind)=>({
|
|
19
|
+
kind,
|
|
20
|
+
contentType
|
|
21
|
+
});
|
|
22
|
+
// Type definition
|
|
23
|
+
registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));
|
|
24
|
+
// Higher level entity definition
|
|
25
|
+
registry.register(types.entity, builders.buildEntityDefinition(contentType), getConfig(KINDS.entity));
|
|
26
|
+
// Responses definition
|
|
27
|
+
registry.register(types.response, builders.buildResponseDefinition(contentType), getConfig(KINDS.entityResponse));
|
|
28
|
+
registry.register(types.responseCollection, builders.buildResponseCollectionDefinition(contentType), getConfig(KINDS.entityResponseCollection));
|
|
29
|
+
registry.register(types.relationResponseCollection, builders.buildRelationResponseCollectionDefinition(contentType), getConfig(KINDS.relationResponseCollection));
|
|
30
|
+
if (extension.shadowCRUD(contentType.uid).areQueriesEnabled()) {
|
|
31
|
+
// Query extensions
|
|
32
|
+
registry.register(types.queries, builders.buildCollectionTypeQueries(contentType), getConfig(KINDS.query));
|
|
33
|
+
}
|
|
34
|
+
if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {
|
|
35
|
+
// Mutation extensions
|
|
36
|
+
registry.register(types.mutations, builders.buildCollectionTypeMutations(contentType), getConfig(KINDS.mutation));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.registerCollectionType = registerCollectionType;
|
|
41
|
+
//# sourceMappingURL=collection-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-type.js","sources":["../../../../../server/src/services/content-api/register-functions/collection-type.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerCollectionType = (\n contentType: Struct.CollectionTypeSchema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { naming } = getService('utils');\n const { KINDS } = getService('constants');\n\n const extension = getService('extension');\n\n // Types name (as string)\n const types = {\n base: naming.getTypeName(contentType),\n entity: naming.getEntityName(contentType),\n response: naming.getEntityResponseName(contentType),\n responseCollection: naming.getEntityResponseCollectionName(contentType),\n relationResponseCollection: naming.getRelationResponseCollectionName(contentType),\n queries: naming.getEntityQueriesTypeName(contentType),\n mutations: naming.getEntityMutationsTypeName(contentType),\n };\n\n const getConfig = (kind: string) => ({ kind, contentType });\n\n // Type definition\n registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));\n\n // Higher level entity definition\n registry.register(\n types.entity,\n builders.buildEntityDefinition(contentType),\n getConfig(KINDS.entity)\n );\n\n // Responses definition\n registry.register(\n types.response,\n builders.buildResponseDefinition(contentType),\n getConfig(KINDS.entityResponse)\n );\n\n registry.register(\n types.responseCollection,\n builders.buildResponseCollectionDefinition(contentType),\n getConfig(KINDS.entityResponseCollection)\n );\n\n registry.register(\n types.relationResponseCollection,\n builders.buildRelationResponseCollectionDefinition(contentType),\n getConfig(KINDS.relationResponseCollection)\n );\n\n if (extension.shadowCRUD(contentType.uid).areQueriesEnabled()) {\n // Query extensions\n registry.register(\n types.queries,\n builders.buildCollectionTypeQueries(contentType),\n getConfig(KINDS.query)\n );\n }\n\n if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {\n // Mutation extensions\n registry.register(\n types.mutations,\n builders.buildCollectionTypeMutations(contentType),\n getConfig(KINDS.mutation)\n );\n }\n};\n\nexport { registerCollectionType };\n"],"names":["registerCollectionType","contentType","registry","strapi","builders","service","getService","plugin","naming","KINDS","extension","types","base","getTypeName","entity","getEntityName","response","getEntityResponseName","responseCollection","getEntityResponseCollectionName","relationResponseCollection","getRelationResponseCollectionName","queries","getEntityQueriesTypeName","mutations","getEntityMutationsTypeName","getConfig","kind","register","buildTypeDefinition","type","buildEntityDefinition","buildResponseDefinition","entityResponse","buildResponseCollectionDefinition","entityResponseCollection","buildRelationResponseCollectionDefinition","shadowCRUD","uid","areQueriesEnabled","buildCollectionTypeQueries","query","areMutationsEnabled","buildCollectionTypeMutations","mutation"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const registerCollectionType = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { naming } = getService('utils');
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const extension = getService('extension');
|
|
6
|
+
// Types name (as string)
|
|
7
|
+
const types = {
|
|
8
|
+
base: naming.getTypeName(contentType),
|
|
9
|
+
entity: naming.getEntityName(contentType),
|
|
10
|
+
response: naming.getEntityResponseName(contentType),
|
|
11
|
+
responseCollection: naming.getEntityResponseCollectionName(contentType),
|
|
12
|
+
relationResponseCollection: naming.getRelationResponseCollectionName(contentType),
|
|
13
|
+
queries: naming.getEntityQueriesTypeName(contentType),
|
|
14
|
+
mutations: naming.getEntityMutationsTypeName(contentType)
|
|
15
|
+
};
|
|
16
|
+
const getConfig = (kind)=>({
|
|
17
|
+
kind,
|
|
18
|
+
contentType
|
|
19
|
+
});
|
|
20
|
+
// Type definition
|
|
21
|
+
registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));
|
|
22
|
+
// Higher level entity definition
|
|
23
|
+
registry.register(types.entity, builders.buildEntityDefinition(contentType), getConfig(KINDS.entity));
|
|
24
|
+
// Responses definition
|
|
25
|
+
registry.register(types.response, builders.buildResponseDefinition(contentType), getConfig(KINDS.entityResponse));
|
|
26
|
+
registry.register(types.responseCollection, builders.buildResponseCollectionDefinition(contentType), getConfig(KINDS.entityResponseCollection));
|
|
27
|
+
registry.register(types.relationResponseCollection, builders.buildRelationResponseCollectionDefinition(contentType), getConfig(KINDS.relationResponseCollection));
|
|
28
|
+
if (extension.shadowCRUD(contentType.uid).areQueriesEnabled()) {
|
|
29
|
+
// Query extensions
|
|
30
|
+
registry.register(types.queries, builders.buildCollectionTypeQueries(contentType), getConfig(KINDS.query));
|
|
31
|
+
}
|
|
32
|
+
if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {
|
|
33
|
+
// Mutation extensions
|
|
34
|
+
registry.register(types.mutations, builders.buildCollectionTypeMutations(contentType), getConfig(KINDS.mutation));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { registerCollectionType };
|
|
39
|
+
//# sourceMappingURL=collection-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-type.mjs","sources":["../../../../../server/src/services/content-api/register-functions/collection-type.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerCollectionType = (\n contentType: Struct.CollectionTypeSchema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { naming } = getService('utils');\n const { KINDS } = getService('constants');\n\n const extension = getService('extension');\n\n // Types name (as string)\n const types = {\n base: naming.getTypeName(contentType),\n entity: naming.getEntityName(contentType),\n response: naming.getEntityResponseName(contentType),\n responseCollection: naming.getEntityResponseCollectionName(contentType),\n relationResponseCollection: naming.getRelationResponseCollectionName(contentType),\n queries: naming.getEntityQueriesTypeName(contentType),\n mutations: naming.getEntityMutationsTypeName(contentType),\n };\n\n const getConfig = (kind: string) => ({ kind, contentType });\n\n // Type definition\n registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));\n\n // Higher level entity definition\n registry.register(\n types.entity,\n builders.buildEntityDefinition(contentType),\n getConfig(KINDS.entity)\n );\n\n // Responses definition\n registry.register(\n types.response,\n builders.buildResponseDefinition(contentType),\n getConfig(KINDS.entityResponse)\n );\n\n registry.register(\n types.responseCollection,\n builders.buildResponseCollectionDefinition(contentType),\n getConfig(KINDS.entityResponseCollection)\n );\n\n registry.register(\n types.relationResponseCollection,\n builders.buildRelationResponseCollectionDefinition(contentType),\n getConfig(KINDS.relationResponseCollection)\n );\n\n if (extension.shadowCRUD(contentType.uid).areQueriesEnabled()) {\n // Query extensions\n registry.register(\n types.queries,\n builders.buildCollectionTypeQueries(contentType),\n getConfig(KINDS.query)\n );\n }\n\n if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {\n // Mutation extensions\n registry.register(\n types.mutations,\n builders.buildCollectionTypeMutations(contentType),\n getConfig(KINDS.mutation)\n );\n }\n};\n\nexport { registerCollectionType };\n"],"names":["registerCollectionType","contentType","registry","strapi","builders","service","getService","plugin","naming","KINDS","extension","types","base","getTypeName","entity","getEntityName","response","getEntityResponseName","responseCollection","getEntityResponseCollectionName","relationResponseCollection","getRelationResponseCollectionName","queries","getEntityQueriesTypeName","mutations","getEntityMutationsTypeName","getConfig","kind","register","buildTypeDefinition","type","buildEntityDefinition","buildResponseDefinition","entityResponse","buildResponseCollectionDefinition","entityResponseCollection","buildRelationResponseCollectionDefinition","shadowCRUD","uid","areQueriesEnabled","buildCollectionTypeQueries","query","areMutationsEnabled","buildCollectionTypeMutations","mutation"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerComponent = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { getComponentName } = getService('utils').naming;
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const name = getComponentName(contentType);
|
|
8
|
+
const definition = builders.buildTypeDefinition(contentType);
|
|
9
|
+
registry.register(name, definition, {
|
|
10
|
+
kind: KINDS.component,
|
|
11
|
+
contentType
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.registerComponent = registerComponent;
|
|
16
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../../../server/src/services/content-api/register-functions/component.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerComponent = (\n contentType: Struct.ComponentSchema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { getComponentName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const name = getComponentName(contentType);\n const definition = builders.buildTypeDefinition(contentType);\n\n registry.register(name, definition, { kind: KINDS.component, contentType });\n};\n\nexport { registerComponent };\n"],"names":["registerComponent","contentType","registry","strapi","builders","service","getService","plugin","getComponentName","naming","KINDS","name","definition","buildTypeDefinition","register","kind","component"],"mappings":";;AAGMA,MAAAA,iBAAAA,GAAoB,CACxBC,WACA,EAAA,EACEC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EAKT,GAAA;AAED,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,gBAAgB,EAAE,GAAGF,UAAAA,CAAW,SAASG,MAAM;AACvD,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAMK,OAAOH,gBAAiBP,CAAAA,WAAAA,CAAAA;IAC9B,MAAMW,UAAAA,GAAaR,QAASS,CAAAA,mBAAmB,CAACZ,WAAAA,CAAAA;IAEhDC,QAASY,CAAAA,QAAQ,CAACH,IAAAA,EAAMC,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAML,MAAMM,SAAS;AAAEf,QAAAA;AAAY,KAAA,CAAA;AAC3E;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const registerComponent = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { getComponentName } = getService('utils').naming;
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const name = getComponentName(contentType);
|
|
6
|
+
const definition = builders.buildTypeDefinition(contentType);
|
|
7
|
+
registry.register(name, definition, {
|
|
8
|
+
kind: KINDS.component,
|
|
9
|
+
contentType
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { registerComponent };
|
|
14
|
+
//# sourceMappingURL=component.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.mjs","sources":["../../../../../server/src/services/content-api/register-functions/component.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerComponent = (\n contentType: Struct.ComponentSchema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { getComponentName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const name = getComponentName(contentType);\n const definition = builders.buildTypeDefinition(contentType);\n\n registry.register(name, definition, { kind: KINDS.component, contentType });\n};\n\nexport { registerComponent };\n"],"names":["registerComponent","contentType","registry","strapi","builders","service","getService","plugin","getComponentName","naming","KINDS","name","definition","buildTypeDefinition","register","kind","component"],"mappings":"AAGMA,MAAAA,iBAAAA,GAAoB,CACxBC,WACA,EAAA,EACEC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EAKT,GAAA;AAED,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,gBAAgB,EAAE,GAAGF,UAAAA,CAAW,SAASG,MAAM;AACvD,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAMK,OAAOH,gBAAiBP,CAAAA,WAAAA,CAAAA;IAC9B,MAAMW,UAAAA,GAAaR,QAASS,CAAAA,mBAAmB,CAACZ,WAAAA,CAAAA;IAEhDC,QAASY,CAAAA,QAAQ,CAACH,IAAAA,EAAMC,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAML,MAAMM,SAAS;AAAEf,QAAAA;AAAY,KAAA,CAAA;AAC3E;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerDynamicZonesDefinition = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { naming, attributes: { isDynamicZone } } = getService('utils');
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const { attributes } = contentType;
|
|
8
|
+
const dynamicZoneAttributes = Object.keys(attributes).filter((attributeName)=>isDynamicZone(attributes[attributeName]));
|
|
9
|
+
for (const attributeName of dynamicZoneAttributes){
|
|
10
|
+
const attribute = attributes[attributeName];
|
|
11
|
+
const dzName = naming.getDynamicZoneName(contentType, attributeName);
|
|
12
|
+
const dzInputName = naming.getDynamicZoneInputName(contentType, attributeName);
|
|
13
|
+
const [type, input] = builders.buildDynamicZoneDefinition(attribute, dzName, dzInputName);
|
|
14
|
+
const baseConfig = {
|
|
15
|
+
contentType,
|
|
16
|
+
attributeName,
|
|
17
|
+
attribute
|
|
18
|
+
};
|
|
19
|
+
registry.register(dzName, type, {
|
|
20
|
+
kind: KINDS.dynamicZone,
|
|
21
|
+
...baseConfig
|
|
22
|
+
});
|
|
23
|
+
registry.register(dzInputName, input, {
|
|
24
|
+
kind: KINDS.input,
|
|
25
|
+
...baseConfig
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.registerDynamicZonesDefinition = registerDynamicZonesDefinition;
|
|
31
|
+
//# sourceMappingURL=dynamic-zones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-zones.js","sources":["../../../../../server/src/services/content-api/register-functions/dynamic-zones.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerDynamicZonesDefinition = (\n contentType: Struct.Schema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const {\n naming,\n attributes: { isDynamicZone },\n } = getService('utils');\n const { KINDS } = getService('constants');\n\n const { attributes } = contentType;\n\n const dynamicZoneAttributes = Object.keys(attributes).filter((attributeName) =>\n isDynamicZone(attributes[attributeName])\n );\n\n for (const attributeName of dynamicZoneAttributes) {\n const attribute = attributes[attributeName];\n const dzName = naming.getDynamicZoneName(contentType, attributeName);\n const dzInputName = naming.getDynamicZoneInputName(contentType, attributeName);\n\n const [type, input] = builders.buildDynamicZoneDefinition(attribute, dzName, dzInputName);\n\n const baseConfig = {\n contentType,\n attributeName,\n attribute,\n };\n\n registry.register(dzName, type, { kind: KINDS.dynamicZone, ...baseConfig });\n registry.register(dzInputName, input, { kind: KINDS.input, ...baseConfig });\n }\n};\n\nexport { registerDynamicZonesDefinition };\n"],"names":["registerDynamicZonesDefinition","contentType","registry","strapi","builders","service","getService","plugin","naming","attributes","isDynamicZone","KINDS","dynamicZoneAttributes","Object","keys","filter","attributeName","attribute","dzName","getDynamicZoneName","dzInputName","getDynamicZoneInputName","type","input","buildDynamicZoneDefinition","baseConfig","register","kind","dynamicZone"],"mappings":";;AAGMA,MAAAA,8BAAAA,GAAiC,CACrCC,WACA,EAAA,EACEC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EAKT,GAAA;AAED,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;IAE9C,MAAM,EACJC,MAAM,EACNC,UAAAA,EAAY,EAAEC,aAAa,EAAE,EAC9B,GAAGJ,UAAW,CAAA,OAAA,CAAA;AACf,IAAA,MAAM,EAAEK,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;IAE7B,MAAM,EAAEG,UAAU,EAAE,GAAGR,WAAAA;AAEvB,IAAA,MAAMW,qBAAwBC,GAAAA,MAAAA,CAAOC,IAAI,CAACL,UAAYM,CAAAA,CAAAA,MAAM,CAAC,CAACC,aAC5DN,GAAAA,aAAAA,CAAcD,UAAU,CAACO,aAAc,CAAA,CAAA,CAAA;IAGzC,KAAK,MAAMA,iBAAiBJ,qBAAuB,CAAA;QACjD,MAAMK,SAAAA,GAAYR,UAAU,CAACO,aAAc,CAAA;AAC3C,QAAA,MAAME,MAASV,GAAAA,MAAAA,CAAOW,kBAAkB,CAAClB,WAAae,EAAAA,aAAAA,CAAAA;AACtD,QAAA,MAAMI,WAAcZ,GAAAA,MAAAA,CAAOa,uBAAuB,CAACpB,WAAae,EAAAA,aAAAA,CAAAA;QAEhE,MAAM,CAACM,MAAMC,KAAM,CAAA,GAAGnB,SAASoB,0BAA0B,CAACP,WAAWC,MAAQE,EAAAA,WAAAA,CAAAA;AAE7E,QAAA,MAAMK,UAAa,GAAA;AACjBxB,YAAAA,WAAAA;AACAe,YAAAA,aAAAA;AACAC,YAAAA;AACF,SAAA;QAEAf,QAASwB,CAAAA,QAAQ,CAACR,MAAAA,EAAQI,IAAM,EAAA;AAAEK,YAAAA,IAAAA,EAAMhB,MAAMiB,WAAW;AAAE,YAAA,GAAGH;AAAW,SAAA,CAAA;QACzEvB,QAASwB,CAAAA,QAAQ,CAACN,WAAAA,EAAaG,KAAO,EAAA;AAAEI,YAAAA,IAAAA,EAAMhB,MAAMY,KAAK;AAAE,YAAA,GAAGE;AAAW,SAAA,CAAA;AAC3E;AACF;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const registerDynamicZonesDefinition = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { naming, attributes: { isDynamicZone } } = getService('utils');
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const { attributes } = contentType;
|
|
6
|
+
const dynamicZoneAttributes = Object.keys(attributes).filter((attributeName)=>isDynamicZone(attributes[attributeName]));
|
|
7
|
+
for (const attributeName of dynamicZoneAttributes){
|
|
8
|
+
const attribute = attributes[attributeName];
|
|
9
|
+
const dzName = naming.getDynamicZoneName(contentType, attributeName);
|
|
10
|
+
const dzInputName = naming.getDynamicZoneInputName(contentType, attributeName);
|
|
11
|
+
const [type, input] = builders.buildDynamicZoneDefinition(attribute, dzName, dzInputName);
|
|
12
|
+
const baseConfig = {
|
|
13
|
+
contentType,
|
|
14
|
+
attributeName,
|
|
15
|
+
attribute
|
|
16
|
+
};
|
|
17
|
+
registry.register(dzName, type, {
|
|
18
|
+
kind: KINDS.dynamicZone,
|
|
19
|
+
...baseConfig
|
|
20
|
+
});
|
|
21
|
+
registry.register(dzInputName, input, {
|
|
22
|
+
kind: KINDS.input,
|
|
23
|
+
...baseConfig
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { registerDynamicZonesDefinition };
|
|
29
|
+
//# sourceMappingURL=dynamic-zones.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-zones.mjs","sources":["../../../../../server/src/services/content-api/register-functions/dynamic-zones.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerDynamicZonesDefinition = (\n contentType: Struct.Schema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const {\n naming,\n attributes: { isDynamicZone },\n } = getService('utils');\n const { KINDS } = getService('constants');\n\n const { attributes } = contentType;\n\n const dynamicZoneAttributes = Object.keys(attributes).filter((attributeName) =>\n isDynamicZone(attributes[attributeName])\n );\n\n for (const attributeName of dynamicZoneAttributes) {\n const attribute = attributes[attributeName];\n const dzName = naming.getDynamicZoneName(contentType, attributeName);\n const dzInputName = naming.getDynamicZoneInputName(contentType, attributeName);\n\n const [type, input] = builders.buildDynamicZoneDefinition(attribute, dzName, dzInputName);\n\n const baseConfig = {\n contentType,\n attributeName,\n attribute,\n };\n\n registry.register(dzName, type, { kind: KINDS.dynamicZone, ...baseConfig });\n registry.register(dzInputName, input, { kind: KINDS.input, ...baseConfig });\n }\n};\n\nexport { registerDynamicZonesDefinition };\n"],"names":["registerDynamicZonesDefinition","contentType","registry","strapi","builders","service","getService","plugin","naming","attributes","isDynamicZone","KINDS","dynamicZoneAttributes","Object","keys","filter","attributeName","attribute","dzName","getDynamicZoneName","dzInputName","getDynamicZoneInputName","type","input","buildDynamicZoneDefinition","baseConfig","register","kind","dynamicZone"],"mappings":"AAGMA,MAAAA,8BAAAA,GAAiC,CACrCC,WACA,EAAA,EACEC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EAKT,GAAA;AAED,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;IAE9C,MAAM,EACJC,MAAM,EACNC,UAAAA,EAAY,EAAEC,aAAa,EAAE,EAC9B,GAAGJ,UAAW,CAAA,OAAA,CAAA;AACf,IAAA,MAAM,EAAEK,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;IAE7B,MAAM,EAAEG,UAAU,EAAE,GAAGR,WAAAA;AAEvB,IAAA,MAAMW,qBAAwBC,GAAAA,MAAAA,CAAOC,IAAI,CAACL,UAAYM,CAAAA,CAAAA,MAAM,CAAC,CAACC,aAC5DN,GAAAA,aAAAA,CAAcD,UAAU,CAACO,aAAc,CAAA,CAAA,CAAA;IAGzC,KAAK,MAAMA,iBAAiBJ,qBAAuB,CAAA;QACjD,MAAMK,SAAAA,GAAYR,UAAU,CAACO,aAAc,CAAA;AAC3C,QAAA,MAAME,MAASV,GAAAA,MAAAA,CAAOW,kBAAkB,CAAClB,WAAae,EAAAA,aAAAA,CAAAA;AACtD,QAAA,MAAMI,WAAcZ,GAAAA,MAAAA,CAAOa,uBAAuB,CAACpB,WAAae,EAAAA,aAAAA,CAAAA;QAEhE,MAAM,CAACM,MAAMC,KAAM,CAAA,GAAGnB,SAASoB,0BAA0B,CAACP,WAAWC,MAAQE,EAAAA,WAAAA,CAAAA;AAE7E,QAAA,MAAMK,UAAa,GAAA;AACjBxB,YAAAA,WAAAA;AACAe,YAAAA,aAAAA;AACAC,YAAAA;AACF,SAAA;QAEAf,QAASwB,CAAAA,QAAQ,CAACR,MAAAA,EAAQI,IAAM,EAAA;AAAEK,YAAAA,IAAAA,EAAMhB,MAAMiB,WAAW;AAAE,YAAA,GAAGH;AAAW,SAAA,CAAA;QACzEvB,QAASwB,CAAAA,QAAQ,CAACN,WAAAA,EAAaG,KAAO,EAAA;AAAEI,YAAAA,IAAAA,EAAMhB,MAAMY,KAAK;AAAE,YAAA,GAAGE;AAAW,SAAA,CAAA;AAC3E;AACF;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerEnumsDefinition = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { naming, attributes: { isEnumeration } } = getService('utils');
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const { attributes } = contentType;
|
|
8
|
+
const enumAttributes = Object.keys(attributes).filter((attributeName)=>isEnumeration(attributes[attributeName]));
|
|
9
|
+
for (const attributeName of enumAttributes){
|
|
10
|
+
const attribute = attributes[attributeName];
|
|
11
|
+
const enumName = naming.getEnumName(contentType, attributeName);
|
|
12
|
+
const enumDefinition = builders.buildEnumTypeDefinition(attribute, enumName);
|
|
13
|
+
registry.register(enumName, enumDefinition, {
|
|
14
|
+
kind: KINDS.enum,
|
|
15
|
+
contentType,
|
|
16
|
+
attributeName,
|
|
17
|
+
attribute
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.registerEnumsDefinition = registerEnumsDefinition;
|
|
23
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sources":["../../../../../server/src/services/content-api/register-functions/enums.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerEnumsDefinition = (\n contentType: Struct.Schema,\n {\n registry,\n strapi,\n builders,\n }: {\n registry: TypeRegistry;\n strapi: Core.Strapi;\n builders: any;\n }\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const {\n naming,\n attributes: { isEnumeration },\n } = getService('utils');\n const { KINDS } = getService('constants');\n\n const { attributes } = contentType;\n\n const enumAttributes = Object.keys(attributes).filter((attributeName) =>\n isEnumeration(attributes[attributeName])\n );\n\n for (const attributeName of enumAttributes) {\n const attribute = attributes[attributeName];\n\n const enumName = naming.getEnumName(contentType, attributeName);\n const enumDefinition = builders.buildEnumTypeDefinition(attribute, enumName);\n\n registry.register(enumName, enumDefinition, {\n kind: KINDS.enum,\n contentType,\n attributeName,\n attribute,\n });\n }\n};\n\nexport { registerEnumsDefinition };\n"],"names":["registerEnumsDefinition","contentType","registry","strapi","builders","service","getService","plugin","naming","attributes","isEnumeration","KINDS","enumAttributes","Object","keys","filter","attributeName","attribute","enumName","getEnumName","enumDefinition","buildEnumTypeDefinition","register","kind","enum"],"mappings":";;AAGMA,MAAAA,uBAAAA,GAA0B,CAC9BC,WACA,EAAA,EACEC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EAKT,GAAA;AAED,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA;IAE9C,MAAM,EACJC,MAAM,EACNC,UAAAA,EAAY,EAAEC,aAAa,EAAE,EAC9B,GAAGJ,UAAW,CAAA,OAAA,CAAA;AACf,IAAA,MAAM,EAAEK,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;IAE7B,MAAM,EAAEG,UAAU,EAAE,GAAGR,WAAAA;AAEvB,IAAA,MAAMW,cAAiBC,GAAAA,MAAAA,CAAOC,IAAI,CAACL,UAAYM,CAAAA,CAAAA,MAAM,CAAC,CAACC,aACrDN,GAAAA,aAAAA,CAAcD,UAAU,CAACO,aAAc,CAAA,CAAA,CAAA;IAGzC,KAAK,MAAMA,iBAAiBJ,cAAgB,CAAA;QAC1C,MAAMK,SAAAA,GAAYR,UAAU,CAACO,aAAc,CAAA;AAE3C,QAAA,MAAME,QAAWV,GAAAA,MAAAA,CAAOW,WAAW,CAAClB,WAAae,EAAAA,aAAAA,CAAAA;AACjD,QAAA,MAAMI,cAAiBhB,GAAAA,QAAAA,CAASiB,uBAAuB,CAACJ,SAAWC,EAAAA,QAAAA,CAAAA;QAEnEhB,QAASoB,CAAAA,QAAQ,CAACJ,QAAAA,EAAUE,cAAgB,EAAA;AAC1CG,YAAAA,IAAAA,EAAMZ,MAAMa,IAAI;AAChBvB,YAAAA,WAAAA;AACAe,YAAAA,aAAAA;AACAC,YAAAA;AACF,SAAA,CAAA;AACF;AACF;;;;"}
|