@strapi/plugin-graphql 5.12.1 → 5.12.3
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,21 @@
|
|
|
1
|
+
const registerEnumsDefinition = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { naming, attributes: { isEnumeration } } = getService('utils');
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const { attributes } = contentType;
|
|
6
|
+
const enumAttributes = Object.keys(attributes).filter((attributeName)=>isEnumeration(attributes[attributeName]));
|
|
7
|
+
for (const attributeName of enumAttributes){
|
|
8
|
+
const attribute = attributes[attributeName];
|
|
9
|
+
const enumName = naming.getEnumName(contentType, attributeName);
|
|
10
|
+
const enumDefinition = builders.buildEnumTypeDefinition(attribute, enumName);
|
|
11
|
+
registry.register(enumName, enumDefinition, {
|
|
12
|
+
kind: KINDS.enum,
|
|
13
|
+
contentType,
|
|
14
|
+
attributeName,
|
|
15
|
+
attribute
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { registerEnumsDefinition };
|
|
21
|
+
//# sourceMappingURL=enums.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.mjs","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;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerFiltersDefinition = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { getFiltersInputTypeName } = getService('utils').naming;
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const type = getFiltersInputTypeName(contentType);
|
|
8
|
+
const definition = builders.buildContentTypeFilters(contentType);
|
|
9
|
+
registry.register(type, definition, {
|
|
10
|
+
kind: KINDS.filtersInput,
|
|
11
|
+
contentType
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.registerFiltersDefinition = registerFiltersDefinition;
|
|
16
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sources":["../../../../../server/src/services/content-api/register-functions/filters.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerFiltersDefinition = (\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 { getFiltersInputTypeName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const type = getFiltersInputTypeName(contentType);\n const definition = builders.buildContentTypeFilters(contentType);\n\n registry.register(type, definition, { kind: KINDS.filtersInput, contentType });\n};\n\nexport { registerFiltersDefinition };\n"],"names":["registerFiltersDefinition","contentType","registry","strapi","builders","service","getService","plugin","getFiltersInputTypeName","naming","KINDS","type","definition","buildContentTypeFilters","register","kind","filtersInput"],"mappings":";;AAGMA,MAAAA,yBAAAA,GAA4B,CAChCC,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,uBAAuB,EAAE,GAAGF,UAAAA,CAAW,SAASG,MAAM;AAC9D,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAMK,OAAOH,uBAAwBP,CAAAA,WAAAA,CAAAA;IACrC,MAAMW,UAAAA,GAAaR,QAASS,CAAAA,uBAAuB,CAACZ,WAAAA,CAAAA;IAEpDC,QAASY,CAAAA,QAAQ,CAACH,IAAAA,EAAMC,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAML,MAAMM,YAAY;AAAEf,QAAAA;AAAY,KAAA,CAAA;AAC9E;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const registerFiltersDefinition = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { getFiltersInputTypeName } = getService('utils').naming;
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const type = getFiltersInputTypeName(contentType);
|
|
6
|
+
const definition = builders.buildContentTypeFilters(contentType);
|
|
7
|
+
registry.register(type, definition, {
|
|
8
|
+
kind: KINDS.filtersInput,
|
|
9
|
+
contentType
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { registerFiltersDefinition };
|
|
14
|
+
//# sourceMappingURL=filters.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.mjs","sources":["../../../../../server/src/services/content-api/register-functions/filters.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerFiltersDefinition = (\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 { getFiltersInputTypeName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const type = getFiltersInputTypeName(contentType);\n const definition = builders.buildContentTypeFilters(contentType);\n\n registry.register(type, definition, { kind: KINDS.filtersInput, contentType });\n};\n\nexport { registerFiltersDefinition };\n"],"names":["registerFiltersDefinition","contentType","registry","strapi","builders","service","getService","plugin","getFiltersInputTypeName","naming","KINDS","type","definition","buildContentTypeFilters","register","kind","filtersInput"],"mappings":"AAGMA,MAAAA,yBAAAA,GAA4B,CAChCC,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,uBAAuB,EAAE,GAAGF,UAAAA,CAAW,SAASG,MAAM;AAC9D,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAMK,OAAOH,uBAAwBP,CAAAA,WAAAA,CAAAA;IACrC,MAAMW,UAAAA,GAAaR,QAASS,CAAAA,uBAAuB,CAACZ,WAAAA,CAAAA;IAEpDC,QAASY,CAAAA,QAAQ,CAACH,IAAAA,EAAMC,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAML,MAAMM,YAAY;AAAEf,QAAAA;AAAY,KAAA,CAAA;AAC9E;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerInputsDefinition = (contentType, { registry, strapi, builders })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { getComponentInputName, getContentTypeInputName } = getService('utils').naming;
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const { modelType } = contentType;
|
|
8
|
+
const type = (modelType === 'component' ? getComponentInputName : getContentTypeInputName).call(null, contentType);
|
|
9
|
+
const definition = builders.buildInputType(contentType);
|
|
10
|
+
registry.register(type, definition, {
|
|
11
|
+
kind: KINDS.input,
|
|
12
|
+
contentType
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.registerInputsDefinition = registerInputsDefinition;
|
|
17
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sources":["../../../../../server/src/services/content-api/register-functions/inputs.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport { type TypeRegistry } from '../../type-registry';\n\nconst registerInputsDefinition = (\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 { getComponentInputName, getContentTypeInputName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const { modelType } = contentType;\n\n const type = (modelType === 'component' ? getComponentInputName : getContentTypeInputName).call(\n null,\n contentType\n );\n\n const definition = builders.buildInputType(contentType);\n\n registry.register(type, definition, { kind: KINDS.input, contentType });\n};\n\nexport { registerInputsDefinition };\n"],"names":["registerInputsDefinition","contentType","registry","strapi","builders","service","getService","plugin","getComponentInputName","getContentTypeInputName","naming","KINDS","modelType","type","call","definition","buildInputType","register","kind","input"],"mappings":";;AAGMA,MAAAA,wBAAAA,GAA2B,CAC/BC,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,EAAEC,qBAAqB,EAAEC,uBAAuB,EAAE,GAAGH,UAAAA,CAAW,SAASI,MAAM;AACrF,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;IAE7B,MAAM,EAAEM,SAAS,EAAE,GAAGX,WAAAA;IAEtB,MAAMY,IAAAA,GAAO,CAACD,SAAc,KAAA,WAAA,GAAcJ,wBAAwBC,uBAAsB,EAAGK,IAAI,CAC7F,IACAb,EAAAA,WAAAA,CAAAA;IAGF,MAAMc,UAAAA,GAAaX,QAASY,CAAAA,cAAc,CAACf,WAAAA,CAAAA;IAE3CC,QAASe,CAAAA,QAAQ,CAACJ,IAAAA,EAAME,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAMP,MAAMQ,KAAK;AAAElB,QAAAA;AAAY,KAAA,CAAA;AACvE;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const registerInputsDefinition = (contentType, { registry, strapi, builders })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { getComponentInputName, getContentTypeInputName } = getService('utils').naming;
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
const { modelType } = contentType;
|
|
6
|
+
const type = (modelType === 'component' ? getComponentInputName : getContentTypeInputName).call(null, contentType);
|
|
7
|
+
const definition = builders.buildInputType(contentType);
|
|
8
|
+
registry.register(type, definition, {
|
|
9
|
+
kind: KINDS.input,
|
|
10
|
+
contentType
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { registerInputsDefinition };
|
|
15
|
+
//# sourceMappingURL=inputs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.mjs","sources":["../../../../../server/src/services/content-api/register-functions/inputs.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport { type TypeRegistry } from '../../type-registry';\n\nconst registerInputsDefinition = (\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 { getComponentInputName, getContentTypeInputName } = getService('utils').naming;\n const { KINDS } = getService('constants');\n\n const { modelType } = contentType;\n\n const type = (modelType === 'component' ? getComponentInputName : getContentTypeInputName).call(\n null,\n contentType\n );\n\n const definition = builders.buildInputType(contentType);\n\n registry.register(type, definition, { kind: KINDS.input, contentType });\n};\n\nexport { registerInputsDefinition };\n"],"names":["registerInputsDefinition","contentType","registry","strapi","builders","service","getService","plugin","getComponentInputName","getContentTypeInputName","naming","KINDS","modelType","type","call","definition","buildInputType","register","kind","input"],"mappings":"AAGMA,MAAAA,wBAAAA,GAA2B,CAC/BC,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,EAAEC,qBAAqB,EAAEC,uBAAuB,EAAE,GAAGH,UAAAA,CAAW,SAASI,MAAM;AACrF,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;IAE7B,MAAM,EAAEM,SAAS,EAAE,GAAGX,WAAAA;IAEtB,MAAMY,IAAAA,GAAO,CAACD,SAAc,KAAA,WAAA,GAAcJ,wBAAwBC,uBAAsB,EAAGK,IAAI,CAC7F,IACAb,EAAAA,WAAAA,CAAAA;IAGF,MAAMc,UAAAA,GAAaX,QAASY,CAAAA,cAAc,CAACf,WAAAA,CAAAA;IAE3CC,QAASe,CAAAA,QAAQ,CAACJ,IAAAA,EAAME,UAAY,EAAA;AAAEG,QAAAA,IAAAA,EAAMP,MAAMQ,KAAK;AAAElB,QAAAA;AAAY,KAAA,CAAA;AACvE;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerInternals = ({ registry, strapi })=>{
|
|
4
|
+
const { buildInternalTypes } = strapi.plugin('graphql').service('internals');
|
|
5
|
+
const internalTypes = buildInternalTypes({
|
|
6
|
+
strapi
|
|
7
|
+
});
|
|
8
|
+
for (const [kind, definitions] of Object.entries(internalTypes)){
|
|
9
|
+
registry.registerMany(Object.entries(definitions), {
|
|
10
|
+
kind
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.registerInternals = registerInternals;
|
|
16
|
+
//# sourceMappingURL=internals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internals.js","sources":["../../../../../server/src/services/content-api/register-functions/internals.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nconst registerInternals = ({ registry, strapi }: Context) => {\n const { buildInternalTypes } = strapi.plugin('graphql').service('internals');\n\n const internalTypes = buildInternalTypes({ strapi });\n\n for (const [kind, definitions] of Object.entries(internalTypes)) {\n registry.registerMany(Object.entries(definitions as any), { kind });\n }\n};\n\nexport { registerInternals };\n"],"names":["registerInternals","registry","strapi","buildInternalTypes","plugin","service","internalTypes","kind","definitions","Object","entries","registerMany"],"mappings":";;AAEA,MAAMA,oBAAoB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;IACtD,MAAM,EAAEC,kBAAkB,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,WAAA,CAAA;AAEhE,IAAA,MAAMC,gBAAgBH,kBAAmB,CAAA;AAAED,QAAAA;AAAO,KAAA,CAAA;IAElD,KAAK,MAAM,CAACK,IAAMC,EAAAA,WAAAA,CAAY,IAAIC,MAAOC,CAAAA,OAAO,CAACJ,aAAgB,CAAA,CAAA;AAC/DL,QAAAA,QAAAA,CAASU,YAAY,CAACF,MAAOC,CAAAA,OAAO,CAACF,WAAqB,CAAA,EAAA;AAAED,YAAAA;AAAK,SAAA,CAAA;AACnE;AACF;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const registerInternals = ({ registry, strapi })=>{
|
|
2
|
+
const { buildInternalTypes } = strapi.plugin('graphql').service('internals');
|
|
3
|
+
const internalTypes = buildInternalTypes({
|
|
4
|
+
strapi
|
|
5
|
+
});
|
|
6
|
+
for (const [kind, definitions] of Object.entries(internalTypes)){
|
|
7
|
+
registry.registerMany(Object.entries(definitions), {
|
|
8
|
+
kind
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { registerInternals };
|
|
14
|
+
//# sourceMappingURL=internals.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internals.mjs","sources":["../../../../../server/src/services/content-api/register-functions/internals.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nconst registerInternals = ({ registry, strapi }: Context) => {\n const { buildInternalTypes } = strapi.plugin('graphql').service('internals');\n\n const internalTypes = buildInternalTypes({ strapi });\n\n for (const [kind, definitions] of Object.entries(internalTypes)) {\n registry.registerMany(Object.entries(definitions as any), { kind });\n }\n};\n\nexport { registerInternals };\n"],"names":["registerInternals","registry","strapi","buildInternalTypes","plugin","service","internalTypes","kind","definitions","Object","entries","registerMany"],"mappings":"AAEA,MAAMA,oBAAoB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;IACtD,MAAM,EAAEC,kBAAkB,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,WAAA,CAAA;AAEhE,IAAA,MAAMC,gBAAgBH,kBAAmB,CAAA;AAAED,QAAAA;AAAO,KAAA,CAAA;IAElD,KAAK,MAAM,CAACK,IAAMC,EAAAA,WAAAA,CAAY,IAAIC,MAAOC,CAAAA,OAAO,CAACJ,aAAgB,CAAA,CAAA;AAC/DL,QAAAA,QAAAA,CAASU,YAAY,CAACF,MAAOC,CAAAA,OAAO,CAACF,WAAqB,CAAA,EAAA;AAAED,YAAAA;AAAK,SAAA,CAAA;AACnE;AACF;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var nexus = require('nexus');
|
|
4
|
+
|
|
5
|
+
const registerPolymorphicContentType = (contentType, { registry, strapi })=>{
|
|
6
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
7
|
+
const { naming, attributes: { isMorphRelation } } = getService('utils');
|
|
8
|
+
const { KINDS } = getService('constants');
|
|
9
|
+
const { attributes = {} } = contentType;
|
|
10
|
+
// Isolate its polymorphic attributes
|
|
11
|
+
const morphAttributes = Object.entries(attributes).filter(([, attribute])=>isMorphRelation(attribute));
|
|
12
|
+
// For each one of those polymorphic attribute
|
|
13
|
+
for (const [attributeName, attribute] of morphAttributes){
|
|
14
|
+
const name = naming.getMorphRelationTypeName(contentType, attributeName);
|
|
15
|
+
const { target } = attribute;
|
|
16
|
+
// Ignore those whose target is not an array
|
|
17
|
+
if (!Array.isArray(target)) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
// Transform target UIDs into types names
|
|
21
|
+
const members = target// Get content types definitions
|
|
22
|
+
.map((uid)=>strapi.getModel(uid))// Resolve types names
|
|
23
|
+
.map((contentType)=>naming.getTypeName(contentType));
|
|
24
|
+
// Register the new polymorphic union type
|
|
25
|
+
registry.register(name, nexus.unionType({
|
|
26
|
+
name,
|
|
27
|
+
resolveType (obj) {
|
|
28
|
+
const contentType = strapi.getModel(obj.__type);
|
|
29
|
+
if (!contentType) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (contentType.modelType === 'component') {
|
|
33
|
+
return naming.getComponentName(contentType);
|
|
34
|
+
}
|
|
35
|
+
return naming.getTypeName(contentType);
|
|
36
|
+
},
|
|
37
|
+
definition (t) {
|
|
38
|
+
t.members(...members);
|
|
39
|
+
}
|
|
40
|
+
}), {
|
|
41
|
+
kind: KINDS.morph,
|
|
42
|
+
contentType,
|
|
43
|
+
attributeName
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.registerPolymorphicContentType = registerPolymorphicContentType;
|
|
49
|
+
//# sourceMappingURL=polymorphic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polymorphic.js","sources":["../../../../../server/src/services/content-api/register-functions/polymorphic.ts"],"sourcesContent":["import { unionType } from 'nexus';\nimport type { Struct } from '@strapi/types';\nimport type { Context } from '../../types';\n\nconst registerPolymorphicContentType = (\n contentType: Struct.Schema,\n { registry, strapi }: Context\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const {\n naming,\n attributes: { isMorphRelation },\n } = getService('utils');\n const { KINDS } = getService('constants');\n\n const { attributes = {} } = contentType;\n\n // Isolate its polymorphic attributes\n const morphAttributes = Object.entries(attributes).filter(([, attribute]) =>\n isMorphRelation(attribute)\n );\n\n // For each one of those polymorphic attribute\n for (const [attributeName, attribute] of morphAttributes) {\n const name = naming.getMorphRelationTypeName(contentType, attributeName);\n const { target } = attribute as any;\n\n // Ignore those whose target is not an array\n if (!Array.isArray(target)) {\n continue;\n }\n\n // Transform target UIDs into types names\n const members = target\n // Get content types definitions\n .map((uid) => strapi.getModel(uid))\n // Resolve types names\n .map((contentType) => naming.getTypeName(contentType));\n\n // Register the new polymorphic union type\n registry.register(\n name,\n\n unionType({\n name,\n\n resolveType(obj) {\n const contentType = strapi.getModel(obj.__type);\n\n if (!contentType) {\n return null;\n }\n\n if (contentType.modelType === 'component') {\n return naming.getComponentName(contentType);\n }\n\n return naming.getTypeName(contentType);\n },\n\n definition(t) {\n t.members(...members);\n },\n }),\n\n { kind: KINDS.morph, contentType, attributeName }\n );\n }\n};\n\nexport { registerPolymorphicContentType };\n"],"names":["registerPolymorphicContentType","contentType","registry","strapi","service","getService","plugin","naming","attributes","isMorphRelation","KINDS","morphAttributes","Object","entries","filter","attribute","attributeName","name","getMorphRelationTypeName","target","Array","isArray","members","map","uid","getModel","getTypeName","register","unionType","resolveType","obj","__type","modelType","getComponentName","definition","t","kind","morph"],"mappings":";;;;AAIA,MAAMA,iCAAiC,CACrCC,WAAAA,EACA,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;AAE7B,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;IAE9C,MAAM,EACJC,MAAM,EACNC,UAAAA,EAAY,EAAEC,eAAe,EAAE,EAChC,GAAGJ,UAAW,CAAA,OAAA,CAAA;AACf,IAAA,MAAM,EAAEK,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAM,EAAEG,UAAAA,GAAa,EAAE,EAAE,GAAGP,WAAAA;;IAG5B,MAAMU,eAAAA,GAAkBC,MAAOC,CAAAA,OAAO,CAACL,UAAAA,CAAAA,CAAYM,MAAM,CAAC,CAAC,GAAGC,SAAU,CAAA,GACtEN,eAAgBM,CAAAA,SAAAA,CAAAA,CAAAA;;AAIlB,IAAA,KAAK,MAAM,CAACC,aAAeD,EAAAA,SAAAA,CAAU,IAAIJ,eAAiB,CAAA;AACxD,QAAA,MAAMM,IAAOV,GAAAA,MAAAA,CAAOW,wBAAwB,CAACjB,WAAae,EAAAA,aAAAA,CAAAA;QAC1D,MAAM,EAAEG,MAAM,EAAE,GAAGJ,SAAAA;;AAGnB,QAAA,IAAI,CAACK,KAAAA,CAAMC,OAAO,CAACF,MAAS,CAAA,EAAA;AAC1B,YAAA;AACF;;QAGA,MAAMG,OAAAA,GAAUH,MACd;AACCI,SAAAA,GAAG,CAAC,CAACC,GAAAA,GAAQrB,OAAOsB,QAAQ,CAACD,KAC9B;AACCD,SAAAA,GAAG,CAAC,CAACtB,WAAgBM,GAAAA,MAAAA,CAAOmB,WAAW,CAACzB,WAAAA,CAAAA,CAAAA;;QAG3CC,QAASyB,CAAAA,QAAQ,CACfV,IAAAA,EAEAW,eAAU,CAAA;AACRX,YAAAA,IAAAA;AAEAY,YAAAA,WAAAA,CAAAA,CAAYC,GAAG,EAAA;AACb,gBAAA,MAAM7B,WAAcE,GAAAA,MAAAA,CAAOsB,QAAQ,CAACK,IAAIC,MAAM,CAAA;AAE9C,gBAAA,IAAI,CAAC9B,WAAa,EAAA;oBAChB,OAAO,IAAA;AACT;gBAEA,IAAIA,WAAAA,CAAY+B,SAAS,KAAK,WAAa,EAAA;oBACzC,OAAOzB,MAAAA,CAAO0B,gBAAgB,CAAChC,WAAAA,CAAAA;AACjC;gBAEA,OAAOM,MAAAA,CAAOmB,WAAW,CAACzB,WAAAA,CAAAA;AAC5B,aAAA;AAEAiC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEb,OAAO,CAAIA,GAAAA,OAAAA,CAAAA;AACf;SAGF,CAAA,EAAA;AAAEc,YAAAA,IAAAA,EAAM1B,MAAM2B,KAAK;AAAEpC,YAAAA,WAAAA;AAAae,YAAAA;AAAc,SAAA,CAAA;AAEpD;AACF;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { unionType } from 'nexus';
|
|
2
|
+
|
|
3
|
+
const registerPolymorphicContentType = (contentType, { registry, strapi })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { naming, attributes: { isMorphRelation } } = getService('utils');
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
const { attributes = {} } = contentType;
|
|
8
|
+
// Isolate its polymorphic attributes
|
|
9
|
+
const morphAttributes = Object.entries(attributes).filter(([, attribute])=>isMorphRelation(attribute));
|
|
10
|
+
// For each one of those polymorphic attribute
|
|
11
|
+
for (const [attributeName, attribute] of morphAttributes){
|
|
12
|
+
const name = naming.getMorphRelationTypeName(contentType, attributeName);
|
|
13
|
+
const { target } = attribute;
|
|
14
|
+
// Ignore those whose target is not an array
|
|
15
|
+
if (!Array.isArray(target)) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
// Transform target UIDs into types names
|
|
19
|
+
const members = target// Get content types definitions
|
|
20
|
+
.map((uid)=>strapi.getModel(uid))// Resolve types names
|
|
21
|
+
.map((contentType)=>naming.getTypeName(contentType));
|
|
22
|
+
// Register the new polymorphic union type
|
|
23
|
+
registry.register(name, unionType({
|
|
24
|
+
name,
|
|
25
|
+
resolveType (obj) {
|
|
26
|
+
const contentType = strapi.getModel(obj.__type);
|
|
27
|
+
if (!contentType) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (contentType.modelType === 'component') {
|
|
31
|
+
return naming.getComponentName(contentType);
|
|
32
|
+
}
|
|
33
|
+
return naming.getTypeName(contentType);
|
|
34
|
+
},
|
|
35
|
+
definition (t) {
|
|
36
|
+
t.members(...members);
|
|
37
|
+
}
|
|
38
|
+
}), {
|
|
39
|
+
kind: KINDS.morph,
|
|
40
|
+
contentType,
|
|
41
|
+
attributeName
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { registerPolymorphicContentType };
|
|
47
|
+
//# sourceMappingURL=polymorphic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polymorphic.mjs","sources":["../../../../../server/src/services/content-api/register-functions/polymorphic.ts"],"sourcesContent":["import { unionType } from 'nexus';\nimport type { Struct } from '@strapi/types';\nimport type { Context } from '../../types';\n\nconst registerPolymorphicContentType = (\n contentType: Struct.Schema,\n { registry, strapi }: Context\n) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const {\n naming,\n attributes: { isMorphRelation },\n } = getService('utils');\n const { KINDS } = getService('constants');\n\n const { attributes = {} } = contentType;\n\n // Isolate its polymorphic attributes\n const morphAttributes = Object.entries(attributes).filter(([, attribute]) =>\n isMorphRelation(attribute)\n );\n\n // For each one of those polymorphic attribute\n for (const [attributeName, attribute] of morphAttributes) {\n const name = naming.getMorphRelationTypeName(contentType, attributeName);\n const { target } = attribute as any;\n\n // Ignore those whose target is not an array\n if (!Array.isArray(target)) {\n continue;\n }\n\n // Transform target UIDs into types names\n const members = target\n // Get content types definitions\n .map((uid) => strapi.getModel(uid))\n // Resolve types names\n .map((contentType) => naming.getTypeName(contentType));\n\n // Register the new polymorphic union type\n registry.register(\n name,\n\n unionType({\n name,\n\n resolveType(obj) {\n const contentType = strapi.getModel(obj.__type);\n\n if (!contentType) {\n return null;\n }\n\n if (contentType.modelType === 'component') {\n return naming.getComponentName(contentType);\n }\n\n return naming.getTypeName(contentType);\n },\n\n definition(t) {\n t.members(...members);\n },\n }),\n\n { kind: KINDS.morph, contentType, attributeName }\n );\n }\n};\n\nexport { registerPolymorphicContentType };\n"],"names":["registerPolymorphicContentType","contentType","registry","strapi","service","getService","plugin","naming","attributes","isMorphRelation","KINDS","morphAttributes","Object","entries","filter","attribute","attributeName","name","getMorphRelationTypeName","target","Array","isArray","members","map","uid","getModel","getTypeName","register","unionType","resolveType","obj","__type","modelType","getComponentName","definition","t","kind","morph"],"mappings":";;AAIA,MAAMA,iCAAiC,CACrCC,WAAAA,EACA,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;AAE7B,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;IAE9C,MAAM,EACJC,MAAM,EACNC,UAAAA,EAAY,EAAEC,eAAe,EAAE,EAChC,GAAGJ,UAAW,CAAA,OAAA,CAAA;AACf,IAAA,MAAM,EAAEK,KAAK,EAAE,GAAGL,UAAW,CAAA,WAAA,CAAA;AAE7B,IAAA,MAAM,EAAEG,UAAAA,GAAa,EAAE,EAAE,GAAGP,WAAAA;;IAG5B,MAAMU,eAAAA,GAAkBC,MAAOC,CAAAA,OAAO,CAACL,UAAAA,CAAAA,CAAYM,MAAM,CAAC,CAAC,GAAGC,SAAU,CAAA,GACtEN,eAAgBM,CAAAA,SAAAA,CAAAA,CAAAA;;AAIlB,IAAA,KAAK,MAAM,CAACC,aAAeD,EAAAA,SAAAA,CAAU,IAAIJ,eAAiB,CAAA;AACxD,QAAA,MAAMM,IAAOV,GAAAA,MAAAA,CAAOW,wBAAwB,CAACjB,WAAae,EAAAA,aAAAA,CAAAA;QAC1D,MAAM,EAAEG,MAAM,EAAE,GAAGJ,SAAAA;;AAGnB,QAAA,IAAI,CAACK,KAAAA,CAAMC,OAAO,CAACF,MAAS,CAAA,EAAA;AAC1B,YAAA;AACF;;QAGA,MAAMG,OAAAA,GAAUH,MACd;AACCI,SAAAA,GAAG,CAAC,CAACC,GAAAA,GAAQrB,OAAOsB,QAAQ,CAACD,KAC9B;AACCD,SAAAA,GAAG,CAAC,CAACtB,WAAgBM,GAAAA,MAAAA,CAAOmB,WAAW,CAACzB,WAAAA,CAAAA,CAAAA;;QAG3CC,QAASyB,CAAAA,QAAQ,CACfV,IAAAA,EAEAW,SAAU,CAAA;AACRX,YAAAA,IAAAA;AAEAY,YAAAA,WAAAA,CAAAA,CAAYC,GAAG,EAAA;AACb,gBAAA,MAAM7B,WAAcE,GAAAA,MAAAA,CAAOsB,QAAQ,CAACK,IAAIC,MAAM,CAAA;AAE9C,gBAAA,IAAI,CAAC9B,WAAa,EAAA;oBAChB,OAAO,IAAA;AACT;gBAEA,IAAIA,WAAAA,CAAY+B,SAAS,KAAK,WAAa,EAAA;oBACzC,OAAOzB,MAAAA,CAAO0B,gBAAgB,CAAChC,WAAAA,CAAAA;AACjC;gBAEA,OAAOM,MAAAA,CAAOmB,WAAW,CAACzB,WAAAA,CAAAA;AAC5B,aAAA;AAEAiC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEb,OAAO,CAAIA,GAAAA,OAAAA,CAAAA;AACf;SAGF,CAAA,EAAA;AAAEc,YAAAA,IAAAA,EAAM1B,MAAM2B,KAAK;AAAEpC,YAAAA,WAAAA;AAAae,YAAAA;AAAc,SAAA,CAAA;AAEpD;AACF;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerScalars = ({ registry, strapi })=>{
|
|
4
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
5
|
+
const { scalars } = getService('internals');
|
|
6
|
+
const { KINDS } = getService('constants');
|
|
7
|
+
Object.entries(scalars).forEach(([name, definition])=>{
|
|
8
|
+
registry.register(name, definition, {
|
|
9
|
+
kind: KINDS.scalar
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.registerScalars = registerScalars;
|
|
15
|
+
//# sourceMappingURL=scalars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalars.js","sources":["../../../../../server/src/services/content-api/register-functions/scalars.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nconst registerScalars = ({ registry, strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { scalars } = getService('internals');\n const { KINDS } = getService('constants');\n\n Object.entries(scalars).forEach(([name, definition]) => {\n registry.register(name, definition, { kind: KINDS.scalar });\n });\n};\n\nexport { registerScalars };\n"],"names":["registerScalars","registry","strapi","service","getService","plugin","scalars","KINDS","Object","entries","forEach","name","definition","register","kind","scalar"],"mappings":";;AAEA,MAAMA,kBAAkB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;AACpD,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,OAAO,EAAE,GAAGF,UAAW,CAAA,WAAA,CAAA;AAC/B,IAAA,MAAM,EAAEG,KAAK,EAAE,GAAGH,UAAW,CAAA,WAAA,CAAA;IAE7BI,MAAOC,CAAAA,OAAO,CAACH,OAASI,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACC,MAAMC,UAAW,CAAA,GAAA;QACjDX,QAASY,CAAAA,QAAQ,CAACF,IAAAA,EAAMC,UAAY,EAAA;AAAEE,YAAAA,IAAAA,EAAMP,MAAMQ;AAAO,SAAA,CAAA;AAC3D,KAAA,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const registerScalars = ({ registry, strapi })=>{
|
|
2
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
3
|
+
const { scalars } = getService('internals');
|
|
4
|
+
const { KINDS } = getService('constants');
|
|
5
|
+
Object.entries(scalars).forEach(([name, definition])=>{
|
|
6
|
+
registry.register(name, definition, {
|
|
7
|
+
kind: KINDS.scalar
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { registerScalars };
|
|
13
|
+
//# sourceMappingURL=scalars.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalars.mjs","sources":["../../../../../server/src/services/content-api/register-functions/scalars.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nconst registerScalars = ({ registry, strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { scalars } = getService('internals');\n const { KINDS } = getService('constants');\n\n Object.entries(scalars).forEach(([name, definition]) => {\n registry.register(name, definition, { kind: KINDS.scalar });\n });\n};\n\nexport { registerScalars };\n"],"names":["registerScalars","registry","strapi","service","getService","plugin","scalars","KINDS","Object","entries","forEach","name","definition","register","kind","scalar"],"mappings":"AAEA,MAAMA,kBAAkB,CAAC,EAAEC,QAAQ,EAAEC,MAAM,EAAW,GAAA;AACpD,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,OAAO,EAAE,GAAGF,UAAW,CAAA,WAAA,CAAA;AAC/B,IAAA,MAAM,EAAEG,KAAK,EAAE,GAAGH,UAAW,CAAA,WAAA,CAAA;IAE7BI,MAAOC,CAAAA,OAAO,CAACH,OAASI,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACC,MAAMC,UAAW,CAAA,GAAA;QACjDX,QAASY,CAAAA,QAAQ,CAACF,IAAAA,EAAMC,UAAY,EAAA;AAAEE,YAAAA,IAAAA,EAAMP,MAAMQ;AAAO,SAAA,CAAA;AAC3D,KAAA,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const registerSingleType = (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
|
+
const types = {
|
|
9
|
+
base: naming.getTypeName(contentType),
|
|
10
|
+
entity: naming.getEntityName(contentType),
|
|
11
|
+
response: naming.getEntityResponseName(contentType),
|
|
12
|
+
responseCollection: naming.getEntityResponseCollectionName(contentType),
|
|
13
|
+
relationResponseCollection: naming.getRelationResponseCollectionName(contentType),
|
|
14
|
+
queries: naming.getEntityQueriesTypeName(contentType),
|
|
15
|
+
mutations: naming.getEntityMutationsTypeName(contentType)
|
|
16
|
+
};
|
|
17
|
+
const getConfig = (kind)=>({
|
|
18
|
+
kind,
|
|
19
|
+
contentType
|
|
20
|
+
});
|
|
21
|
+
// Single type's definition
|
|
22
|
+
registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));
|
|
23
|
+
// Higher level entity definition
|
|
24
|
+
registry.register(types.entity, builders.buildEntityDefinition(contentType), getConfig(KINDS.entity));
|
|
25
|
+
// Responses definition
|
|
26
|
+
registry.register(types.response, builders.buildResponseDefinition(contentType), getConfig(KINDS.entityResponse));
|
|
27
|
+
// Response collection definition
|
|
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
|
+
// Queries
|
|
32
|
+
registry.register(types.queries, builders.buildSingleTypeQueries(contentType), getConfig(KINDS.query));
|
|
33
|
+
}
|
|
34
|
+
if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {
|
|
35
|
+
// Mutations
|
|
36
|
+
registry.register(types.mutations, builders.buildSingleTypeMutations(contentType), getConfig(KINDS.mutation));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.registerSingleType = registerSingleType;
|
|
41
|
+
//# sourceMappingURL=single-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-type.js","sources":["../../../../../server/src/services/content-api/register-functions/single-type.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerSingleType = (\n contentType: Struct.SingleTypeSchema,\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 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 // Single type's 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 // Response collection definition\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 // Queries\n registry.register(\n types.queries,\n builders.buildSingleTypeQueries(contentType),\n getConfig(KINDS.query)\n );\n }\n\n if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {\n // Mutations\n registry.register(\n types.mutations,\n builders.buildSingleTypeMutations(contentType),\n getConfig(KINDS.mutation)\n );\n }\n};\n\nexport { registerSingleType };\n"],"names":["registerSingleType","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","buildSingleTypeQueries","query","areMutationsEnabled","buildSingleTypeMutations","mutation"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const registerSingleType = (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
|
+
const types = {
|
|
7
|
+
base: naming.getTypeName(contentType),
|
|
8
|
+
entity: naming.getEntityName(contentType),
|
|
9
|
+
response: naming.getEntityResponseName(contentType),
|
|
10
|
+
responseCollection: naming.getEntityResponseCollectionName(contentType),
|
|
11
|
+
relationResponseCollection: naming.getRelationResponseCollectionName(contentType),
|
|
12
|
+
queries: naming.getEntityQueriesTypeName(contentType),
|
|
13
|
+
mutations: naming.getEntityMutationsTypeName(contentType)
|
|
14
|
+
};
|
|
15
|
+
const getConfig = (kind)=>({
|
|
16
|
+
kind,
|
|
17
|
+
contentType
|
|
18
|
+
});
|
|
19
|
+
// Single type's definition
|
|
20
|
+
registry.register(types.base, builders.buildTypeDefinition(contentType), getConfig(KINDS.type));
|
|
21
|
+
// Higher level entity definition
|
|
22
|
+
registry.register(types.entity, builders.buildEntityDefinition(contentType), getConfig(KINDS.entity));
|
|
23
|
+
// Responses definition
|
|
24
|
+
registry.register(types.response, builders.buildResponseDefinition(contentType), getConfig(KINDS.entityResponse));
|
|
25
|
+
// Response collection definition
|
|
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
|
+
// Queries
|
|
30
|
+
registry.register(types.queries, builders.buildSingleTypeQueries(contentType), getConfig(KINDS.query));
|
|
31
|
+
}
|
|
32
|
+
if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {
|
|
33
|
+
// Mutations
|
|
34
|
+
registry.register(types.mutations, builders.buildSingleTypeMutations(contentType), getConfig(KINDS.mutation));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { registerSingleType };
|
|
39
|
+
//# sourceMappingURL=single-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-type.mjs","sources":["../../../../../server/src/services/content-api/register-functions/single-type.ts"],"sourcesContent":["import type { Core, Struct } from '@strapi/types';\nimport type { TypeRegistry } from '../../type-registry';\n\nconst registerSingleType = (\n contentType: Struct.SingleTypeSchema,\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 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 // Single type's 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 // Response collection definition\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 // Queries\n registry.register(\n types.queries,\n builders.buildSingleTypeQueries(contentType),\n getConfig(KINDS.query)\n );\n }\n\n if (extension.shadowCRUD(contentType.uid).areMutationsEnabled()) {\n // Mutations\n registry.register(\n types.mutations,\n builders.buildSingleTypeMutations(contentType),\n getConfig(KINDS.mutation)\n );\n }\n};\n\nexport { registerSingleType };\n"],"names":["registerSingleType","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","buildSingleTypeQueries","query","areMutationsEnabled","buildSingleTypeMutations","mutation"],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fp = require('lodash/fp');
|
|
4
|
+
var graphql = require('graphql');
|
|
5
|
+
var utils = require('@strapi/utils');
|
|
6
|
+
var policy = require('./policy.js');
|
|
7
|
+
|
|
8
|
+
const { ForbiddenError } = utils.errors;
|
|
9
|
+
const introspectionQueries = [
|
|
10
|
+
'__Schema',
|
|
11
|
+
'__Type',
|
|
12
|
+
'__Field',
|
|
13
|
+
'__InputValue',
|
|
14
|
+
'__EnumValue',
|
|
15
|
+
'__Directive'
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Get & parse middlewares definitions from the resolver's config
|
|
19
|
+
* @param {object} resolverConfig
|
|
20
|
+
* @param {object} strapi
|
|
21
|
+
* @return {function[]}
|
|
22
|
+
*/ const parseMiddlewares = (resolverConfig, strapi)=>{
|
|
23
|
+
const resolverMiddlewares = fp.getOr([], 'middlewares', resolverConfig);
|
|
24
|
+
// TODO: [v4] to factorize with compose endpoints (routes)
|
|
25
|
+
return resolverMiddlewares.map((middleware)=>{
|
|
26
|
+
if (fp.isFunction(middleware)) {
|
|
27
|
+
return middleware;
|
|
28
|
+
}
|
|
29
|
+
if (typeof middleware === 'string') {
|
|
30
|
+
return strapi.middleware(middleware);
|
|
31
|
+
}
|
|
32
|
+
if (typeof middleware === 'object') {
|
|
33
|
+
const { name, options = {} } = middleware;
|
|
34
|
+
return strapi.middleware(name)(options, {
|
|
35
|
+
strapi
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Invalid middleware type, expected (function,string,object), received ${typeof middleware}`);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Wrap the schema's resolvers if they've been
|
|
43
|
+
* customized using the GraphQL extension service
|
|
44
|
+
* @param {object} options
|
|
45
|
+
* @param {GraphQLSchema} options.schema
|
|
46
|
+
* @param {object} options.strapi
|
|
47
|
+
* @param {object} options.extension
|
|
48
|
+
* @return {GraphQLSchema}
|
|
49
|
+
*/ const wrapResolvers = ({ schema, strapi, extension = {} })=>{
|
|
50
|
+
// Get all the registered resolvers configuration
|
|
51
|
+
const { resolversConfig = {} } = extension;
|
|
52
|
+
// Fields filters
|
|
53
|
+
const isValidFieldName = (field)=>!field.startsWith('__');
|
|
54
|
+
const typeMap = schema.getTypeMap();
|
|
55
|
+
Object.entries(typeMap).forEach(([type, definition])=>{
|
|
56
|
+
const isGraphQLObjectType = definition instanceof graphql.GraphQLObjectType;
|
|
57
|
+
const isIgnoredType = introspectionQueries.includes(type);
|
|
58
|
+
if (!isGraphQLObjectType || isIgnoredType) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const fields = definition.getFields();
|
|
62
|
+
const fieldsToProcess = Object.entries(fields).filter(([field])=>isValidFieldName(field));
|
|
63
|
+
for (const [fieldName, fieldDefinition] of fieldsToProcess){
|
|
64
|
+
const defaultResolver = fp.get(fieldName);
|
|
65
|
+
const path = `${type}.${fieldName}`;
|
|
66
|
+
const resolverConfig = fp.getOr({}, path, resolversConfig);
|
|
67
|
+
const { resolve: baseResolver = defaultResolver } = fieldDefinition;
|
|
68
|
+
// Parse & initialize the middlewares
|
|
69
|
+
const middlewares = parseMiddlewares(resolverConfig, strapi);
|
|
70
|
+
// Generate the policy middleware
|
|
71
|
+
const policyMiddleware = policy.createPoliciesMiddleware(resolverConfig, {
|
|
72
|
+
strapi
|
|
73
|
+
});
|
|
74
|
+
// Add the policyMiddleware at the end of the middlewares collection
|
|
75
|
+
middlewares.push(policyMiddleware);
|
|
76
|
+
// Bind every middleware to the next one
|
|
77
|
+
const boundMiddlewares = middlewares.map((middleware, index, collection)=>{
|
|
78
|
+
return (parents, args, context, info)=>middleware(// Make sure the last middleware in the list calls the baseResolver
|
|
79
|
+
index >= collection.length - 1 ? baseResolver : boundMiddlewares[index + 1], parents, args, context, info);
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* GraphQL authorization flow
|
|
83
|
+
* @param {object} context
|
|
84
|
+
* @return {Promise<void>}
|
|
85
|
+
*/ const authorize = async ({ context })=>{
|
|
86
|
+
const authConfig = fp.get('auth', resolverConfig);
|
|
87
|
+
const authContext = fp.get('state.auth', context);
|
|
88
|
+
const isValidType = [
|
|
89
|
+
'Mutation',
|
|
90
|
+
'Query',
|
|
91
|
+
'Subscription'
|
|
92
|
+
].includes(type);
|
|
93
|
+
const hasConfig = !fp.isNil(authConfig);
|
|
94
|
+
const isAuthDisabled = authConfig === false;
|
|
95
|
+
if ((isValidType || hasConfig) && !isAuthDisabled) {
|
|
96
|
+
try {
|
|
97
|
+
await strapi.auth.verify(authContext, authConfig);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
throw new ForbiddenError();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Base resolver wrapper that handles authorization, middlewares & policies
|
|
105
|
+
* @return {Promise<any>}
|
|
106
|
+
*/ fieldDefinition.resolve = async (parent, args, context, info)=>{
|
|
107
|
+
await authorize({
|
|
108
|
+
context
|
|
109
|
+
});
|
|
110
|
+
// Execute middlewares (including the policy middleware which will always be included)
|
|
111
|
+
return fp.first(boundMiddlewares)(parent, args, context, info);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return schema;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
exports.wrapResolvers = wrapResolvers;
|
|
119
|
+
//# sourceMappingURL=wrap-resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-resolvers.js","sources":["../../../../server/src/services/content-api/wrap-resolvers.ts"],"sourcesContent":["import { get, getOr, isFunction, first, isNil } from 'lodash/fp';\nimport {\n GraphQLObjectType,\n GraphQLResolveInfo,\n GraphQLSchema,\n GraphQLFieldResolver,\n} from 'graphql';\nimport { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport { createPoliciesMiddleware } from './policy';\n\nconst { ForbiddenError } = errors;\n\nconst introspectionQueries = [\n '__Schema',\n '__Type',\n '__Field',\n '__InputValue',\n '__EnumValue',\n '__Directive',\n];\n\ntype GraphQLMiddleware = (\n resolve: GraphQLFieldResolver<any, any>,\n parents: unknown,\n args: unknown,\n context: unknown,\n info: GraphQLResolveInfo\n) => any;\n\n/**\n * Get & parse middlewares definitions from the resolver's config\n * @param {object} resolverConfig\n * @param {object} strapi\n * @return {function[]}\n */\nconst parseMiddlewares = (resolverConfig: any, strapi: Core.Strapi): GraphQLMiddleware[] => {\n const resolverMiddlewares = getOr([], 'middlewares', resolverConfig);\n\n // TODO: [v4] to factorize with compose endpoints (routes)\n return resolverMiddlewares.map(\n (middleware: string | Core.MiddlewareHandler | { name: string; options: any }) => {\n if (isFunction(middleware)) {\n return middleware;\n }\n\n if (typeof middleware === 'string') {\n return strapi.middleware(middleware);\n }\n\n if (typeof middleware === 'object') {\n const { name, options = {} } = middleware;\n\n return strapi.middleware(name)(options, { strapi });\n }\n\n throw new Error(\n `Invalid middleware type, expected (function,string,object), received ${typeof middleware}`\n );\n }\n );\n};\n\n/**\n * Wrap the schema's resolvers if they've been\n * customized using the GraphQL extension service\n * @param {object} options\n * @param {GraphQLSchema} options.schema\n * @param {object} options.strapi\n * @param {object} options.extension\n * @return {GraphQLSchema}\n */\nconst wrapResolvers = ({\n schema,\n strapi,\n extension = {},\n}: {\n schema: GraphQLSchema;\n strapi: Core.Strapi;\n extension: any;\n}) => {\n // Get all the registered resolvers configuration\n const { resolversConfig = {} } = extension;\n\n // Fields filters\n const isValidFieldName = (field: string) => !field.startsWith('__');\n\n const typeMap = schema.getTypeMap();\n\n Object.entries(typeMap).forEach(([type, definition]) => {\n const isGraphQLObjectType = definition instanceof GraphQLObjectType;\n const isIgnoredType = introspectionQueries.includes(type);\n\n if (!isGraphQLObjectType || isIgnoredType) {\n return;\n }\n\n const fields = definition.getFields();\n const fieldsToProcess = Object.entries(fields).filter(([field]) => isValidFieldName(field));\n\n for (const [fieldName, fieldDefinition] of fieldsToProcess) {\n const defaultResolver = get(fieldName);\n\n const path = `${type}.${fieldName}`;\n const resolverConfig = getOr({}, path, resolversConfig);\n\n const { resolve: baseResolver = defaultResolver } = fieldDefinition;\n\n // Parse & initialize the middlewares\n const middlewares = parseMiddlewares(resolverConfig, strapi);\n\n // Generate the policy middleware\n const policyMiddleware = createPoliciesMiddleware(resolverConfig, { strapi });\n\n // Add the policyMiddleware at the end of the middlewares collection\n middlewares.push(policyMiddleware);\n\n // Bind every middleware to the next one\n const boundMiddlewares = middlewares.map((middleware, index, collection) => {\n return (parents: unknown, args: unknown, context: unknown, info: GraphQLResolveInfo) =>\n middleware(\n // Make sure the last middleware in the list calls the baseResolver\n index >= collection.length - 1 ? baseResolver : boundMiddlewares[index + 1],\n parents,\n args,\n context,\n info\n );\n });\n\n /**\n * GraphQL authorization flow\n * @param {object} context\n * @return {Promise<void>}\n */\n const authorize = async ({ context }: any) => {\n const authConfig = get('auth', resolverConfig);\n const authContext = get('state.auth', context);\n\n const isValidType = ['Mutation', 'Query', 'Subscription'].includes(type);\n const hasConfig = !isNil(authConfig);\n\n const isAuthDisabled = authConfig === false;\n\n if ((isValidType || hasConfig) && !isAuthDisabled) {\n try {\n await strapi.auth.verify(authContext, authConfig);\n } catch (error) {\n throw new ForbiddenError();\n }\n }\n };\n\n /**\n * Base resolver wrapper that handles authorization, middlewares & policies\n * @return {Promise<any>}\n */\n fieldDefinition.resolve = async (parent, args, context, info) => {\n await authorize({ context });\n\n // Execute middlewares (including the policy middleware which will always be included)\n return first(boundMiddlewares)!(parent, args, context, info);\n };\n }\n });\n\n return schema;\n};\n\nexport { wrapResolvers };\n"],"names":["ForbiddenError","errors","introspectionQueries","parseMiddlewares","resolverConfig","strapi","resolverMiddlewares","getOr","map","middleware","isFunction","name","options","Error","wrapResolvers","schema","extension","resolversConfig","isValidFieldName","field","startsWith","typeMap","getTypeMap","Object","entries","forEach","type","definition","isGraphQLObjectType","GraphQLObjectType","isIgnoredType","includes","fields","getFields","fieldsToProcess","filter","fieldName","fieldDefinition","defaultResolver","get","path","resolve","baseResolver","middlewares","policyMiddleware","createPoliciesMiddleware","push","boundMiddlewares","index","collection","parents","args","context","info","length","authorize","authConfig","authContext","isValidType","hasConfig","isNil","isAuthDisabled","auth","verify","error","parent","first"],"mappings":"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"}
|