@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 @@
|
|
|
1
|
+
{"version":3,"file":"association.mjs","sources":["../../../../../server/src/services/builders/resolvers/association.ts"],"sourcesContent":["import { get } from 'lodash/fp';\nimport { async, errors } from '@strapi/utils';\nimport type { Internal } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nconst { ApplicationError } = errors;\n\nexport default ({ strapi }: Context) => {\n const { service: getGraphQLService } = strapi.plugin('graphql');\n\n const { isMorphRelation, isMedia } = getGraphQLService('utils').attributes;\n const { transformArgs } = getGraphQLService('builders').utils;\n const { toEntityResponse, toEntityResponseCollection } = getGraphQLService('format').returnTypes;\n\n return {\n buildAssociationResolver({\n contentTypeUID,\n attributeName,\n }: {\n contentTypeUID: Internal.UID.ContentType;\n attributeName: string;\n }) {\n const contentType = strapi.getModel(contentTypeUID);\n const attribute: any = contentType.attributes[attributeName];\n\n if (!attribute) {\n throw new ApplicationError(\n `Failed to build an association resolver for ${contentTypeUID}::${attributeName}`\n );\n }\n\n const isMediaAttribute = isMedia(attribute);\n const isMorphAttribute = isMorphRelation(attribute);\n\n const targetUID = isMediaAttribute ? 'plugin::upload.file' : attribute.target;\n const isToMany = isMediaAttribute ? attribute.multiple : attribute.relation.endsWith('Many');\n\n const targetContentType = strapi.getModel(targetUID);\n\n return async (parent: any, args: any = {}, context: any = {}) => {\n const { auth } = context.state;\n\n const transformedArgs = transformArgs(args, {\n contentType: targetContentType,\n usePagination: true,\n });\n\n await strapi.contentAPI.validate.query(transformedArgs, targetContentType, {\n auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(\n transformedArgs,\n targetContentType,\n {\n auth,\n }\n );\n\n const dbQuery = strapi.get('query-params').transform(targetUID, sanitizedQuery);\n\n const data = await strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);\n\n const info = {\n args: sanitizedQuery,\n resourceUID: targetUID,\n };\n\n // If this a polymorphic association, it sanitizes & returns the raw data\n // Note: The value needs to be wrapped in a fake object that represents its parent\n // so that the sanitize util can work properly.\n if (isMorphAttribute) {\n // Helpers used for the data cleanup\n const wrapData = (dataToWrap: any) => ({ [attributeName]: dataToWrap });\n const sanitizeData = (dataToSanitize: any) => {\n return strapi.contentAPI.sanitize.output(dataToSanitize, contentType, { auth });\n };\n const unwrapData = get(attributeName);\n\n // Sanitizer definition\n const sanitizeMorphAttribute = async.pipe(wrapData, sanitizeData, unwrapData);\n\n return sanitizeMorphAttribute(data);\n }\n\n // If this is a to-many relation, it returns an object that\n // matches what the entity-response-collection's resolvers expect\n if (isToMany) {\n return toEntityResponseCollection(data, info);\n }\n\n // Else, it returns an object that matches\n // what the entity-response's resolvers expect\n return toEntityResponse(data, info);\n };\n },\n };\n};\n"],"names":["ApplicationError","errors","strapi","service","getGraphQLService","plugin","isMorphRelation","isMedia","attributes","transformArgs","utils","toEntityResponse","toEntityResponseCollection","returnTypes","buildAssociationResolver","contentTypeUID","attributeName","contentType","getModel","attribute","isMediaAttribute","isMorphAttribute","targetUID","target","isToMany","multiple","relation","endsWith","targetContentType","parent","args","context","auth","state","transformedArgs","usePagination","contentAPI","validate","query","sanitizedQuery","sanitize","dbQuery","get","transform","data","db","load","info","resourceUID","wrapData","dataToWrap","sanitizeData","dataToSanitize","output","unwrapData","sanitizeMorphAttribute","async","pipe"],"mappings":";;;AAMA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAE7B,2BAAe,CAAA,CAAC,EAAEC,MAAM,EAAW,GAAA;AACjC,IAAA,MAAM,EAAEC,OAASC,EAAAA,iBAAiB,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;IAErD,MAAM,EAAEC,eAAe,EAAEC,OAAO,EAAE,GAAGH,iBAAAA,CAAkB,SAASI,UAAU;AAC1E,IAAA,MAAM,EAAEC,aAAa,EAAE,GAAGL,iBAAAA,CAAkB,YAAYM,KAAK;IAC7D,MAAM,EAAEC,gBAAgB,EAAEC,0BAA0B,EAAE,GAAGR,iBAAAA,CAAkB,UAAUS,WAAW;IAEhG,OAAO;AACLC,QAAAA,wBAAAA,CAAAA,CAAyB,EACvBC,cAAc,EACdC,aAAa,EAId,EAAA;YACC,MAAMC,WAAAA,GAAcf,MAAOgB,CAAAA,QAAQ,CAACH,cAAAA,CAAAA;AACpC,YAAA,MAAMI,SAAiBF,GAAAA,WAAAA,CAAYT,UAAU,CAACQ,aAAc,CAAA;AAE5D,YAAA,IAAI,CAACG,SAAW,EAAA;gBACd,MAAM,IAAInB,iBACR,CAAC,4CAA4C,EAAEe,cAAe,CAAA,EAAE,EAAEC,aAAAA,CAAc,CAAC,CAAA;AAErF;AAEA,YAAA,MAAMI,mBAAmBb,OAAQY,CAAAA,SAAAA,CAAAA;AACjC,YAAA,MAAME,mBAAmBf,eAAgBa,CAAAA,SAAAA,CAAAA;AAEzC,YAAA,MAAMG,SAAYF,GAAAA,gBAAAA,GAAmB,qBAAwBD,GAAAA,SAAAA,CAAUI,MAAM;YAC7E,MAAMC,QAAAA,GAAWJ,mBAAmBD,SAAUM,CAAAA,QAAQ,GAAGN,SAAUO,CAAAA,QAAQ,CAACC,QAAQ,CAAC,MAAA,CAAA;YAErF,MAAMC,iBAAAA,GAAoB1B,MAAOgB,CAAAA,QAAQ,CAACI,SAAAA,CAAAA;YAE1C,OAAO,OAAOO,QAAaC,IAAY,GAAA,EAAE,EAAEC,OAAAA,GAAe,EAAE,GAAA;AAC1D,gBAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,QAAQE,KAAK;gBAE9B,MAAMC,eAAAA,GAAkBzB,cAAcqB,IAAM,EAAA;oBAC1Cb,WAAaW,EAAAA,iBAAAA;oBACbO,aAAe,EAAA;AACjB,iBAAA,CAAA;gBAEA,MAAMjC,MAAAA,CAAOkC,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,iBAAiBN,iBAAmB,EAAA;AACzEI,oBAAAA;AACF,iBAAA,CAAA;gBAEA,MAAMO,cAAAA,GAAiB,MAAMrC,MAAAA,CAAOkC,UAAU,CAACI,QAAQ,CAACF,KAAK,CAC3DJ,eAAAA,EACAN,iBACA,EAAA;AACEI,oBAAAA;AACF,iBAAA,CAAA;AAGF,gBAAA,MAAMS,UAAUvC,MAAOwC,CAAAA,GAAG,CAAC,cAAgBC,CAAAA,CAAAA,SAAS,CAACrB,SAAWiB,EAAAA,cAAAA,CAAAA;gBAEhE,MAAMK,IAAAA,GAAO,MAAM1C,MAAO2C,CAAAA,EAAE,EAAEP,KAAMvB,CAAAA,cAAAA,CAAAA,CAAgB+B,IAAKjB,CAAAA,MAAAA,EAAQb,aAAeyB,EAAAA,OAAAA,CAAAA;AAEhF,gBAAA,MAAMM,IAAO,GAAA;oBACXjB,IAAMS,EAAAA,cAAAA;oBACNS,WAAa1B,EAAAA;AACf,iBAAA;;;;AAKA,gBAAA,IAAID,gBAAkB,EAAA;;oBAEpB,MAAM4B,QAAAA,GAAW,CAACC,UAAAA,IAAqB;AAAE,4BAAA,CAAClC,gBAAgBkC;yBAAW,CAAA;AACrE,oBAAA,MAAMC,eAAe,CAACC,cAAAA,GAAAA;wBACpB,OAAOlD,MAAAA,CAAOkC,UAAU,CAACI,QAAQ,CAACa,MAAM,CAACD,gBAAgBnC,WAAa,EAAA;AAAEe,4BAAAA;AAAK,yBAAA,CAAA;AAC/E,qBAAA;AACA,oBAAA,MAAMsB,aAAaZ,GAAI1B,CAAAA,aAAAA,CAAAA;;AAGvB,oBAAA,MAAMuC,sBAAyBC,GAAAA,KAAAA,CAAMC,IAAI,CAACR,UAAUE,YAAcG,EAAAA,UAAAA,CAAAA;AAElE,oBAAA,OAAOC,sBAAuBX,CAAAA,IAAAA,CAAAA;AAChC;;;AAIA,gBAAA,IAAIpB,QAAU,EAAA;AACZ,oBAAA,OAAOZ,2BAA2BgC,IAAMG,EAAAA,IAAAA,CAAAA;AAC1C;;;AAIA,gBAAA,OAAOpC,iBAAiBiC,IAAMG,EAAAA,IAAAA,CAAAA;AAChC,aAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var componentResolvers = (({ strapi })=>({
|
|
4
|
+
buildComponentResolver ({ contentTypeUID, attributeName }) {
|
|
5
|
+
const { transformArgs } = strapi.plugin('graphql').service('builders').utils;
|
|
6
|
+
return async (parent, args, ctx)=>{
|
|
7
|
+
const contentType = strapi.getModel(contentTypeUID);
|
|
8
|
+
const { component: componentName } = contentType.attributes[attributeName];
|
|
9
|
+
const component = strapi.getModel(componentName);
|
|
10
|
+
const transformedArgs = transformArgs(args, {
|
|
11
|
+
contentType: component,
|
|
12
|
+
usePagination: true
|
|
13
|
+
});
|
|
14
|
+
await strapi.contentAPI.validate.query(transformedArgs, component, {
|
|
15
|
+
auth: ctx?.state?.auth
|
|
16
|
+
});
|
|
17
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(transformedArgs, component, {
|
|
18
|
+
auth: ctx?.state?.auth
|
|
19
|
+
});
|
|
20
|
+
const dbQuery = strapi.get('query-params').transform(component.uid, sanitizedQuery);
|
|
21
|
+
return strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
module.exports = componentResolvers;
|
|
27
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../../../server/src/services/builders/resolvers/component.ts"],"sourcesContent":["import type { Internal, Schema } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildComponentResolver({\n contentTypeUID,\n attributeName,\n }: {\n contentTypeUID: Internal.UID.ContentType;\n attributeName: string;\n }) {\n const { transformArgs } = strapi.plugin('graphql').service('builders').utils;\n\n return async (parent: any, args: any, ctx: any) => {\n const contentType = strapi.getModel(contentTypeUID);\n\n const { component: componentName } = contentType.attributes[\n attributeName\n ] as Schema.Attribute.Component;\n\n const component = strapi.getModel(componentName);\n\n const transformedArgs = transformArgs(args, { contentType: component, usePagination: true });\n await strapi.contentAPI.validate.query(transformedArgs, component, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(transformedArgs, component, {\n auth: ctx?.state?.auth,\n });\n\n const dbQuery = strapi.get('query-params').transform(component.uid, sanitizedQuery);\n\n return strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);\n };\n },\n});\n"],"names":["strapi","buildComponentResolver","contentTypeUID","attributeName","transformArgs","plugin","service","utils","parent","args","ctx","contentType","getModel","component","componentName","attributes","transformedArgs","usePagination","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","dbQuery","get","transform","uid","db","load"],"mappings":";;AAIA,yBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvCC,QAAAA,sBAAAA,CAAAA,CAAuB,EACrBC,cAAc,EACdC,aAAa,EAId,EAAA;YACC,MAAM,EAAEC,aAAa,EAAE,GAAGJ,MAAAA,CAAOK,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,UAAA,CAAA,CAAYC,KAAK;YAE5E,OAAO,OAAOC,QAAaC,IAAWC,EAAAA,GAAAA,GAAAA;gBACpC,MAAMC,WAAAA,GAAcX,MAAOY,CAAAA,QAAQ,CAACV,cAAAA,CAAAA;gBAEpC,MAAM,EAAEW,WAAWC,aAAa,EAAE,GAAGH,WAAYI,CAAAA,UAAU,CACzDZ,aACD,CAAA;gBAED,MAAMU,SAAAA,GAAYb,MAAOY,CAAAA,QAAQ,CAACE,aAAAA,CAAAA;gBAElC,MAAME,eAAAA,GAAkBZ,cAAcK,IAAM,EAAA;oBAAEE,WAAaE,EAAAA,SAAAA;oBAAWI,aAAe,EAAA;AAAK,iBAAA,CAAA;gBAC1F,MAAMjB,MAAAA,CAAOkB,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,iBAAiBH,SAAW,EAAA;AACjEQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAME,cAAAA,GAAiB,MAAMvB,MAAAA,CAAOkB,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,eAAAA,EAAiBH,SAAW,EAAA;AACxFQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAMI,OAAAA,GAAUzB,OAAO0B,GAAG,CAAC,gBAAgBC,SAAS,CAACd,SAAUe,CAAAA,GAAG,EAAEL,cAAAA,CAAAA;AAEpE,gBAAA,OAAOvB,OAAO6B,EAAE,EAAET,MAAMlB,cAAgB4B,CAAAA,CAAAA,IAAAA,CAAKtB,QAAQL,aAAesB,EAAAA,OAAAA,CAAAA;AACtE,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var componentResolvers = (({ strapi })=>({
|
|
2
|
+
buildComponentResolver ({ contentTypeUID, attributeName }) {
|
|
3
|
+
const { transformArgs } = strapi.plugin('graphql').service('builders').utils;
|
|
4
|
+
return async (parent, args, ctx)=>{
|
|
5
|
+
const contentType = strapi.getModel(contentTypeUID);
|
|
6
|
+
const { component: componentName } = contentType.attributes[attributeName];
|
|
7
|
+
const component = strapi.getModel(componentName);
|
|
8
|
+
const transformedArgs = transformArgs(args, {
|
|
9
|
+
contentType: component,
|
|
10
|
+
usePagination: true
|
|
11
|
+
});
|
|
12
|
+
await strapi.contentAPI.validate.query(transformedArgs, component, {
|
|
13
|
+
auth: ctx?.state?.auth
|
|
14
|
+
});
|
|
15
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(transformedArgs, component, {
|
|
16
|
+
auth: ctx?.state?.auth
|
|
17
|
+
});
|
|
18
|
+
const dbQuery = strapi.get('query-params').transform(component.uid, sanitizedQuery);
|
|
19
|
+
return strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
export { componentResolvers as default };
|
|
25
|
+
//# sourceMappingURL=component.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.mjs","sources":["../../../../../server/src/services/builders/resolvers/component.ts"],"sourcesContent":["import type { Internal, Schema } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildComponentResolver({\n contentTypeUID,\n attributeName,\n }: {\n contentTypeUID: Internal.UID.ContentType;\n attributeName: string;\n }) {\n const { transformArgs } = strapi.plugin('graphql').service('builders').utils;\n\n return async (parent: any, args: any, ctx: any) => {\n const contentType = strapi.getModel(contentTypeUID);\n\n const { component: componentName } = contentType.attributes[\n attributeName\n ] as Schema.Attribute.Component;\n\n const component = strapi.getModel(componentName);\n\n const transformedArgs = transformArgs(args, { contentType: component, usePagination: true });\n await strapi.contentAPI.validate.query(transformedArgs, component, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(transformedArgs, component, {\n auth: ctx?.state?.auth,\n });\n\n const dbQuery = strapi.get('query-params').transform(component.uid, sanitizedQuery);\n\n return strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);\n };\n },\n});\n"],"names":["strapi","buildComponentResolver","contentTypeUID","attributeName","transformArgs","plugin","service","utils","parent","args","ctx","contentType","getModel","component","componentName","attributes","transformedArgs","usePagination","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","dbQuery","get","transform","uid","db","load"],"mappings":"AAIA,yBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvCC,QAAAA,sBAAAA,CAAAA,CAAuB,EACrBC,cAAc,EACdC,aAAa,EAId,EAAA;YACC,MAAM,EAAEC,aAAa,EAAE,GAAGJ,MAAAA,CAAOK,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,UAAA,CAAA,CAAYC,KAAK;YAE5E,OAAO,OAAOC,QAAaC,IAAWC,EAAAA,GAAAA,GAAAA;gBACpC,MAAMC,WAAAA,GAAcX,MAAOY,CAAAA,QAAQ,CAACV,cAAAA,CAAAA;gBAEpC,MAAM,EAAEW,WAAWC,aAAa,EAAE,GAAGH,WAAYI,CAAAA,UAAU,CACzDZ,aACD,CAAA;gBAED,MAAMU,SAAAA,GAAYb,MAAOY,CAAAA,QAAQ,CAACE,aAAAA,CAAAA;gBAElC,MAAME,eAAAA,GAAkBZ,cAAcK,IAAM,EAAA;oBAAEE,WAAaE,EAAAA,SAAAA;oBAAWI,aAAe,EAAA;AAAK,iBAAA,CAAA;gBAC1F,MAAMjB,MAAAA,CAAOkB,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,iBAAiBH,SAAW,EAAA;AACjEQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAME,cAAAA,GAAiB,MAAMvB,MAAAA,CAAOkB,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,eAAAA,EAAiBH,SAAW,EAAA;AACxFQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAMI,OAAAA,GAAUzB,OAAO0B,GAAG,CAAC,gBAAgBC,SAAS,CAACd,SAAUe,CAAAA,GAAG,EAAEL,cAAAA,CAAAA;AAEpE,gBAAA,OAAOvB,OAAO6B,EAAE,EAAET,MAAMlB,cAAgB4B,CAAAA,CAAAA,IAAAA,CAAKtB,QAAQL,aAAesB,EAAAA,OAAAA,CAAAA;AACtE,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dynamicZoneResolvers = (({ strapi })=>({
|
|
4
|
+
buildDynamicZoneResolver ({ contentTypeUID, attributeName }) {
|
|
5
|
+
return async (parent)=>{
|
|
6
|
+
return strapi.db?.query(contentTypeUID).load(parent, attributeName);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
}));
|
|
10
|
+
|
|
11
|
+
module.exports = dynamicZoneResolvers;
|
|
12
|
+
//# sourceMappingURL=dynamic-zone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-zone.js","sources":["../../../../../server/src/services/builders/resolvers/dynamic-zone.ts"],"sourcesContent":["import type { Internal } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildDynamicZoneResolver({\n contentTypeUID,\n attributeName,\n }: {\n contentTypeUID: Internal.UID.ContentType;\n attributeName: string;\n }) {\n return async (parent: any) => {\n return strapi.db?.query(contentTypeUID).load(parent, attributeName);\n };\n },\n});\n"],"names":["strapi","buildDynamicZoneResolver","contentTypeUID","attributeName","parent","db","query","load"],"mappings":";;AAIA,2BAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvCC,QAAAA,wBAAAA,CAAAA,CAAyB,EACvBC,cAAc,EACdC,aAAa,EAId,EAAA;AACC,YAAA,OAAO,OAAOC,MAAAA,GAAAA;AACZ,gBAAA,OAAOJ,OAAOK,EAAE,EAAEC,KAAMJ,CAAAA,cAAAA,CAAAA,CAAgBK,KAAKH,MAAQD,EAAAA,aAAAA,CAAAA;AACvD,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var dynamicZoneResolvers = (({ strapi })=>({
|
|
2
|
+
buildDynamicZoneResolver ({ contentTypeUID, attributeName }) {
|
|
3
|
+
return async (parent)=>{
|
|
4
|
+
return strapi.db?.query(contentTypeUID).load(parent, attributeName);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
}));
|
|
8
|
+
|
|
9
|
+
export { dynamicZoneResolvers as default };
|
|
10
|
+
//# sourceMappingURL=dynamic-zone.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-zone.mjs","sources":["../../../../../server/src/services/builders/resolvers/dynamic-zone.ts"],"sourcesContent":["import type { Internal } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildDynamicZoneResolver({\n contentTypeUID,\n attributeName,\n }: {\n contentTypeUID: Internal.UID.ContentType;\n attributeName: string;\n }) {\n return async (parent: any) => {\n return strapi.db?.query(contentTypeUID).load(parent, attributeName);\n };\n },\n});\n"],"names":["strapi","buildDynamicZoneResolver","contentTypeUID","attributeName","parent","db","query","load"],"mappings":"AAIA,2BAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvCC,QAAAA,wBAAAA,CAAAA,CAAyB,EACvBC,cAAc,EACdC,aAAa,EAId,EAAA;AACC,YAAA,OAAO,OAAOC,MAAAA,GAAAA;AACZ,gBAAA,OAAOJ,OAAOK,EAAE,EAAEC,KAAMJ,CAAAA,cAAAA,CAAAA,CAAgBK,KAAKH,MAAQD,EAAAA,aAAAA,CAAAA;AACvD,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var association = require('./association.js');
|
|
4
|
+
var query = require('./query.js');
|
|
5
|
+
var component = require('./component.js');
|
|
6
|
+
var dynamicZone = require('./dynamic-zone.js');
|
|
7
|
+
var pagination = require('./pagination.js');
|
|
8
|
+
|
|
9
|
+
var resolvers = ((context)=>({
|
|
10
|
+
// Generics
|
|
11
|
+
...association(context),
|
|
12
|
+
// Builders
|
|
13
|
+
...query(context),
|
|
14
|
+
...component(context),
|
|
15
|
+
...dynamicZone(context),
|
|
16
|
+
...pagination(context)
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
module.exports = resolvers;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../server/src/services/builders/resolvers/index.ts"],"sourcesContent":["import associationResolvers from './association';\nimport queriesResolvers from './query';\nimport componentResolvers from './component';\nimport dynamicZoneResolvers from './dynamic-zone';\nimport paginationResolvers from './pagination';\n\nimport type { Context } from '../../types';\n\nexport default (context: Context) => ({\n // Generics\n ...associationResolvers(context),\n\n // Builders\n ...queriesResolvers(context),\n ...componentResolvers(context),\n ...dynamicZoneResolvers(context),\n ...paginationResolvers(context),\n});\n"],"names":["context","associationResolvers","queriesResolvers","componentResolvers","dynamicZoneResolvers","paginationResolvers"],"mappings":";;;;;;;;AAQA,gBAAe,CAAA,CAACA,OAAAA,IAAsB;;AAEpC,QAAA,GAAGC,YAAqBD,OAAQ,CAAA;;AAGhC,QAAA,GAAGE,MAAiBF,OAAQ,CAAA;AAC5B,QAAA,GAAGG,UAAmBH,OAAQ,CAAA;AAC9B,QAAA,GAAGI,YAAqBJ,OAAQ,CAAA;AAChC,QAAA,GAAGK,WAAoBL,OAAQ;AACjC,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import associationResolvers from './association.mjs';
|
|
2
|
+
import queriesResolvers from './query.mjs';
|
|
3
|
+
import componentResolvers from './component.mjs';
|
|
4
|
+
import dynamicZoneResolvers from './dynamic-zone.mjs';
|
|
5
|
+
import paginationResolvers from './pagination.mjs';
|
|
6
|
+
|
|
7
|
+
var resolvers = ((context)=>({
|
|
8
|
+
// Generics
|
|
9
|
+
...associationResolvers(context),
|
|
10
|
+
// Builders
|
|
11
|
+
...queriesResolvers(context),
|
|
12
|
+
...componentResolvers(context),
|
|
13
|
+
...dynamicZoneResolvers(context),
|
|
14
|
+
...paginationResolvers(context)
|
|
15
|
+
}));
|
|
16
|
+
|
|
17
|
+
export { resolvers as default };
|
|
18
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../server/src/services/builders/resolvers/index.ts"],"sourcesContent":["import associationResolvers from './association';\nimport queriesResolvers from './query';\nimport componentResolvers from './component';\nimport dynamicZoneResolvers from './dynamic-zone';\nimport paginationResolvers from './pagination';\n\nimport type { Context } from '../../types';\n\nexport default (context: Context) => ({\n // Generics\n ...associationResolvers(context),\n\n // Builders\n ...queriesResolvers(context),\n ...componentResolvers(context),\n ...dynamicZoneResolvers(context),\n ...paginationResolvers(context),\n});\n"],"names":["context","associationResolvers","queriesResolvers","componentResolvers","dynamicZoneResolvers","paginationResolvers"],"mappings":";;;;;;AAQA,gBAAe,CAAA,CAACA,OAAAA,IAAsB;;AAEpC,QAAA,GAAGC,qBAAqBD,OAAQ,CAAA;;AAGhC,QAAA,GAAGE,iBAAiBF,OAAQ,CAAA;AAC5B,QAAA,GAAGG,mBAAmBH,OAAQ,CAAA;AAC9B,QAAA,GAAGI,qBAAqBJ,OAAQ,CAAA;AAChC,QAAA,GAAGK,oBAAoBL,OAAQ;AACjC,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var paginationResolvers = (({ strapi })=>({
|
|
4
|
+
async resolvePagination (parent, _, ctx) {
|
|
5
|
+
const { args, resourceUID } = parent.info;
|
|
6
|
+
const { start, limit } = args;
|
|
7
|
+
const safeLimit = Math.max(limit, 1);
|
|
8
|
+
const contentType = strapi.getModel(resourceUID);
|
|
9
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
10
|
+
auth: ctx?.state?.auth
|
|
11
|
+
});
|
|
12
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
13
|
+
auth: ctx?.state?.auth
|
|
14
|
+
});
|
|
15
|
+
const total = await strapi.documents(resourceUID).count(sanitizedQuery);
|
|
16
|
+
const pageSize = limit === -1 ? total - start : safeLimit;
|
|
17
|
+
const pageCount = limit === -1 ? safeLimit : Math.ceil(total / safeLimit);
|
|
18
|
+
const page = limit === -1 ? safeLimit : Math.floor(start / safeLimit) + 1;
|
|
19
|
+
return {
|
|
20
|
+
total,
|
|
21
|
+
page,
|
|
22
|
+
pageSize,
|
|
23
|
+
pageCount
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
|
|
28
|
+
module.exports = paginationResolvers;
|
|
29
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../../../../server/src/services/builders/resolvers/pagination.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n async resolvePagination(parent: any, _: any, ctx: any) {\n const { args, resourceUID } = parent.info;\n const { start, limit } = args;\n const safeLimit = Math.max(limit, 1);\n const contentType = strapi.getModel(resourceUID);\n\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const total = await strapi.documents!(resourceUID).count(sanitizedQuery);\n\n const pageSize = limit === -1 ? total - start : safeLimit;\n const pageCount = limit === -1 ? safeLimit : Math.ceil(total / safeLimit);\n const page = limit === -1 ? safeLimit : Math.floor(start / safeLimit) + 1;\n\n return { total, page, pageSize, pageCount };\n },\n});\n"],"names":["strapi","resolvePagination","parent","_","ctx","args","resourceUID","info","start","limit","safeLimit","Math","max","contentType","getModel","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","total","documents","count","pageSize","pageCount","ceil","page","floor"],"mappings":";;AAEA,0BAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvC,QAAA,MAAMC,iBAAkBC,CAAAA,CAAAA,MAAW,EAAEC,CAAM,EAAEC,GAAQ,EAAA;AACnD,YAAA,MAAM,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGJ,OAAOK,IAAI;AACzC,YAAA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ,IAAAA;AACzB,YAAA,MAAMK,SAAYC,GAAAA,IAAAA,CAAKC,GAAG,CAACH,KAAO,EAAA,CAAA,CAAA;YAClC,MAAMI,WAAAA,GAAcb,MAAOc,CAAAA,QAAQ,CAACR,WAAAA,CAAAA;YAEpC,MAAMN,MAAAA,CAAOe,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACZ,MAAMQ,WAAa,EAAA;AACxDK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;YAEA,MAAME,cAAAA,GAAiB,MAAMpB,MAAAA,CAAOe,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACZ,IAAAA,EAAMQ,WAAa,EAAA;AAC/EK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;AAEA,YAAA,MAAMI,QAAQ,MAAMtB,MAAAA,CAAOuB,SAAS,CAAEjB,WAAAA,CAAAA,CAAakB,KAAK,CAACJ,cAAAA,CAAAA;AAEzD,YAAA,MAAMK,QAAWhB,GAAAA,KAAAA,KAAU,CAAC,CAAA,GAAIa,QAAQd,KAAQE,GAAAA,SAAAA;YAChD,MAAMgB,SAAAA,GAAYjB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKgB,CAAAA,IAAI,CAACL,KAAQZ,GAAAA,SAAAA,CAAAA;YAC/D,MAAMkB,IAAAA,GAAOnB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKkB,CAAAA,KAAK,CAACrB,KAAAA,GAAQE,SAAa,CAAA,GAAA,CAAA;YAExE,OAAO;AAAEY,gBAAAA,KAAAA;AAAOM,gBAAAA,IAAAA;AAAMH,gBAAAA,QAAAA;AAAUC,gBAAAA;AAAU,aAAA;AAC5C;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var paginationResolvers = (({ strapi })=>({
|
|
2
|
+
async resolvePagination (parent, _, ctx) {
|
|
3
|
+
const { args, resourceUID } = parent.info;
|
|
4
|
+
const { start, limit } = args;
|
|
5
|
+
const safeLimit = Math.max(limit, 1);
|
|
6
|
+
const contentType = strapi.getModel(resourceUID);
|
|
7
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
8
|
+
auth: ctx?.state?.auth
|
|
9
|
+
});
|
|
10
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
11
|
+
auth: ctx?.state?.auth
|
|
12
|
+
});
|
|
13
|
+
const total = await strapi.documents(resourceUID).count(sanitizedQuery);
|
|
14
|
+
const pageSize = limit === -1 ? total - start : safeLimit;
|
|
15
|
+
const pageCount = limit === -1 ? safeLimit : Math.ceil(total / safeLimit);
|
|
16
|
+
const page = limit === -1 ? safeLimit : Math.floor(start / safeLimit) + 1;
|
|
17
|
+
return {
|
|
18
|
+
total,
|
|
19
|
+
page,
|
|
20
|
+
pageSize,
|
|
21
|
+
pageCount
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
export { paginationResolvers as default };
|
|
27
|
+
//# sourceMappingURL=pagination.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.mjs","sources":["../../../../../server/src/services/builders/resolvers/pagination.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n async resolvePagination(parent: any, _: any, ctx: any) {\n const { args, resourceUID } = parent.info;\n const { start, limit } = args;\n const safeLimit = Math.max(limit, 1);\n const contentType = strapi.getModel(resourceUID);\n\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const total = await strapi.documents!(resourceUID).count(sanitizedQuery);\n\n const pageSize = limit === -1 ? total - start : safeLimit;\n const pageCount = limit === -1 ? safeLimit : Math.ceil(total / safeLimit);\n const page = limit === -1 ? safeLimit : Math.floor(start / safeLimit) + 1;\n\n return { total, page, pageSize, pageCount };\n },\n});\n"],"names":["strapi","resolvePagination","parent","_","ctx","args","resourceUID","info","start","limit","safeLimit","Math","max","contentType","getModel","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","total","documents","count","pageSize","pageCount","ceil","page","floor"],"mappings":"AAEA,0BAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvC,QAAA,MAAMC,iBAAkBC,CAAAA,CAAAA,MAAW,EAAEC,CAAM,EAAEC,GAAQ,EAAA;AACnD,YAAA,MAAM,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGJ,OAAOK,IAAI;AACzC,YAAA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ,IAAAA;AACzB,YAAA,MAAMK,SAAYC,GAAAA,IAAAA,CAAKC,GAAG,CAACH,KAAO,EAAA,CAAA,CAAA;YAClC,MAAMI,WAAAA,GAAcb,MAAOc,CAAAA,QAAQ,CAACR,WAAAA,CAAAA;YAEpC,MAAMN,MAAAA,CAAOe,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACZ,MAAMQ,WAAa,EAAA;AACxDK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;YAEA,MAAME,cAAAA,GAAiB,MAAMpB,MAAAA,CAAOe,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACZ,IAAAA,EAAMQ,WAAa,EAAA;AAC/EK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;AAEA,YAAA,MAAMI,QAAQ,MAAMtB,MAAAA,CAAOuB,SAAS,CAAEjB,WAAAA,CAAAA,CAAakB,KAAK,CAACJ,cAAAA,CAAAA;AAEzD,YAAA,MAAMK,QAAWhB,GAAAA,KAAAA,KAAU,CAAC,CAAA,GAAIa,QAAQd,KAAQE,GAAAA,SAAAA;YAChD,MAAMgB,SAAAA,GAAYjB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKgB,CAAAA,IAAI,CAACL,KAAQZ,GAAAA,SAAAA,CAAAA;YAC/D,MAAMkB,IAAAA,GAAOnB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKkB,CAAAA,KAAK,CAACrB,KAAAA,GAAQE,SAAa,CAAA,GAAA,CAAA;YAExE,OAAO;AAAEY,gBAAAA,KAAAA;AAAOM,gBAAAA,IAAAA;AAAMH,gBAAAA,QAAAA;AAAUC,gBAAAA;AAAU,aAAA;AAC5C;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fp = require('lodash/fp');
|
|
4
|
+
|
|
5
|
+
var queriesResolvers = (({ strapi })=>({
|
|
6
|
+
buildQueriesResolvers ({ contentType }) {
|
|
7
|
+
const { uid } = contentType;
|
|
8
|
+
return {
|
|
9
|
+
async findMany (parent, args, ctx) {
|
|
10
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
11
|
+
auth: ctx?.state?.auth
|
|
12
|
+
});
|
|
13
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
14
|
+
auth: ctx?.state?.auth
|
|
15
|
+
});
|
|
16
|
+
return strapi.documents(uid).findMany({
|
|
17
|
+
status: 'published',
|
|
18
|
+
...sanitizedQuery
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
async findFirst (parent, args, ctx) {
|
|
22
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
23
|
+
auth: ctx?.state?.auth
|
|
24
|
+
});
|
|
25
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
26
|
+
auth: ctx?.state?.auth
|
|
27
|
+
});
|
|
28
|
+
return strapi.documents(uid).findFirst({
|
|
29
|
+
status: 'published',
|
|
30
|
+
...sanitizedQuery
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
async findOne (parent, args, ctx) {
|
|
34
|
+
const { documentId } = args;
|
|
35
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
36
|
+
auth: ctx?.state?.auth
|
|
37
|
+
});
|
|
38
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
39
|
+
auth: ctx?.state?.auth
|
|
40
|
+
});
|
|
41
|
+
return strapi.documents(uid).findOne({
|
|
42
|
+
status: 'published',
|
|
43
|
+
...fp.omit([
|
|
44
|
+
'id',
|
|
45
|
+
'documentId'
|
|
46
|
+
], sanitizedQuery),
|
|
47
|
+
documentId
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
|
|
54
|
+
module.exports = queriesResolvers;
|
|
55
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sources":["../../../../../server/src/services/builders/resolvers/query.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildQueriesResolvers({ contentType }: { contentType: Schema.ContentType }) {\n const { uid } = contentType;\n\n return {\n async findMany(parent: any, args: any, ctx: any) {\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findMany({ status: 'published', ...sanitizedQuery });\n },\n\n async findFirst(parent: any, args: any, ctx: any) {\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findFirst({ status: 'published', ...sanitizedQuery });\n },\n\n async findOne(parent: any, args: any, ctx: any) {\n const { documentId } = args;\n\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findOne({\n status: 'published',\n ...omit(['id', 'documentId'], sanitizedQuery),\n documentId,\n });\n },\n };\n },\n});\n"],"names":["strapi","buildQueriesResolvers","contentType","uid","findMany","parent","args","ctx","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","documents","status","findFirst","findOne","documentId","omit"],"mappings":";;;;AAIA,uBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;QACvCC,qBAAsB,CAAA,CAAA,EAAEC,WAAW,EAAuC,EAAA;YACxE,MAAM,EAAEC,GAAG,EAAE,GAAGD,WAAAA;YAEhB,OAAO;AACL,gBAAA,MAAME,QAASC,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC7C,MAAMP,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKC,QAAQ,CAAC;wBAAEY,MAAQ,EAAA,WAAA;AAAa,wBAAA,GAAGH;AAAe,qBAAA,CAAA;AAClF,iBAAA;AAEA,gBAAA,MAAMI,SAAUZ,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC9C,MAAMP,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKc,SAAS,CAAC;wBAAED,MAAQ,EAAA,WAAA;AAAa,wBAAA,GAAGH;AAAe,qBAAA,CAAA;AACnF,iBAAA;AAEA,gBAAA,MAAMK,OAAQb,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC5C,MAAM,EAAEY,UAAU,EAAE,GAAGb,IAAAA;oBAEvB,MAAMN,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKe,OAAO,CAAC;wBACpCF,MAAQ,EAAA,WAAA;AACR,wBAAA,GAAGI,OAAK,CAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAa,yBAAA,EAAEP,cAAe,CAAA;AAC7CM,wBAAAA;AACF,qBAAA,CAAA;AACF;AACF,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { omit } from 'lodash/fp';
|
|
2
|
+
|
|
3
|
+
var queriesResolvers = (({ strapi })=>({
|
|
4
|
+
buildQueriesResolvers ({ contentType }) {
|
|
5
|
+
const { uid } = contentType;
|
|
6
|
+
return {
|
|
7
|
+
async findMany (parent, args, ctx) {
|
|
8
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
9
|
+
auth: ctx?.state?.auth
|
|
10
|
+
});
|
|
11
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
12
|
+
auth: ctx?.state?.auth
|
|
13
|
+
});
|
|
14
|
+
return strapi.documents(uid).findMany({
|
|
15
|
+
status: 'published',
|
|
16
|
+
...sanitizedQuery
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
async findFirst (parent, args, ctx) {
|
|
20
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
21
|
+
auth: ctx?.state?.auth
|
|
22
|
+
});
|
|
23
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
24
|
+
auth: ctx?.state?.auth
|
|
25
|
+
});
|
|
26
|
+
return strapi.documents(uid).findFirst({
|
|
27
|
+
status: 'published',
|
|
28
|
+
...sanitizedQuery
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
async findOne (parent, args, ctx) {
|
|
32
|
+
const { documentId } = args;
|
|
33
|
+
await strapi.contentAPI.validate.query(args, contentType, {
|
|
34
|
+
auth: ctx?.state?.auth
|
|
35
|
+
});
|
|
36
|
+
const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {
|
|
37
|
+
auth: ctx?.state?.auth
|
|
38
|
+
});
|
|
39
|
+
return strapi.documents(uid).findOne({
|
|
40
|
+
status: 'published',
|
|
41
|
+
...omit([
|
|
42
|
+
'id',
|
|
43
|
+
'documentId'
|
|
44
|
+
], sanitizedQuery),
|
|
45
|
+
documentId
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
export { queriesResolvers as default };
|
|
53
|
+
//# sourceMappingURL=query.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.mjs","sources":["../../../../../server/src/services/builders/resolvers/query.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n buildQueriesResolvers({ contentType }: { contentType: Schema.ContentType }) {\n const { uid } = contentType;\n\n return {\n async findMany(parent: any, args: any, ctx: any) {\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findMany({ status: 'published', ...sanitizedQuery });\n },\n\n async findFirst(parent: any, args: any, ctx: any) {\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findFirst({ status: 'published', ...sanitizedQuery });\n },\n\n async findOne(parent: any, args: any, ctx: any) {\n const { documentId } = args;\n\n await strapi.contentAPI.validate.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n auth: ctx?.state?.auth,\n });\n\n return strapi.documents!(uid).findOne({\n status: 'published',\n ...omit(['id', 'documentId'], sanitizedQuery),\n documentId,\n });\n },\n };\n },\n});\n"],"names":["strapi","buildQueriesResolvers","contentType","uid","findMany","parent","args","ctx","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","documents","status","findFirst","findOne","documentId","omit"],"mappings":";;AAIA,uBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;QACvCC,qBAAsB,CAAA,CAAA,EAAEC,WAAW,EAAuC,EAAA;YACxE,MAAM,EAAEC,GAAG,EAAE,GAAGD,WAAAA;YAEhB,OAAO;AACL,gBAAA,MAAME,QAASC,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC7C,MAAMP,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKC,QAAQ,CAAC;wBAAEY,MAAQ,EAAA,WAAA;AAAa,wBAAA,GAAGH;AAAe,qBAAA,CAAA;AAClF,iBAAA;AAEA,gBAAA,MAAMI,SAAUZ,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC9C,MAAMP,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKc,SAAS,CAAC;wBAAED,MAAQ,EAAA,WAAA;AAAa,wBAAA,GAAGH;AAAe,qBAAA,CAAA;AACnF,iBAAA;AAEA,gBAAA,MAAMK,OAAQb,CAAAA,CAAAA,MAAW,EAAEC,IAAS,EAAEC,GAAQ,EAAA;oBAC5C,MAAM,EAAEY,UAAU,EAAE,GAAGb,IAAAA;oBAEvB,MAAMN,MAAAA,CAAOQ,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,MAAMJ,WAAa,EAAA;AACxDS,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;oBAEA,MAAME,cAAAA,GAAiB,MAAMb,MAAAA,CAAOQ,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,IAAAA,EAAMJ,WAAa,EAAA;AAC/ES,wBAAAA,IAAAA,EAAMJ,KAAKK,KAAOD,EAAAA;AACpB,qBAAA,CAAA;AAEA,oBAAA,OAAOX,MAAOe,CAAAA,SAAS,CAAEZ,GAAAA,CAAAA,CAAKe,OAAO,CAAC;wBACpCF,MAAQ,EAAA,WAAA;AACR,wBAAA,GAAGI,IAAK,CAAA;AAAC,4BAAA,IAAA;AAAM,4BAAA;AAAa,yBAAA,EAAEP,cAAe,CAAA;AAC7CM,wBAAAA;AACF,qBAAA,CAAA;AACF;AACF,aAAA;AACF;AACF,KAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var nexus = require('nexus');
|
|
4
|
+
var fp = require('lodash/fp');
|
|
5
|
+
|
|
6
|
+
var responseCollection = (({ strapi })=>{
|
|
7
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
8
|
+
const { naming } = getService('utils');
|
|
9
|
+
const { RESPONSE_COLLECTION_META_TYPE_NAME, PAGINATION_TYPE_NAME } = getService('constants');
|
|
10
|
+
return {
|
|
11
|
+
/**
|
|
12
|
+
* Build a type definition for a content API collection response for a given content type
|
|
13
|
+
* @param {Schema.ContentType} contentType The content type which will be used to build its content API response definition
|
|
14
|
+
* @return {NexusObjectTypeDef}
|
|
15
|
+
*/ buildResponseCollectionDefinition (contentType) {
|
|
16
|
+
const name = naming.getEntityResponseCollectionName(contentType);
|
|
17
|
+
const typeName = naming.getTypeName(contentType);
|
|
18
|
+
const { resolvePagination } = getService('builders').get('content-api');
|
|
19
|
+
return nexus.objectType({
|
|
20
|
+
name,
|
|
21
|
+
definition (t) {
|
|
22
|
+
// NOTE: add edges & cursor based pagination to support the relay spec in a later version
|
|
23
|
+
t.nonNull.list.field('nodes', {
|
|
24
|
+
type: nexus.nonNull(typeName),
|
|
25
|
+
resolve: fp.pipe(fp.prop('nodes'), fp.defaultTo([]))
|
|
26
|
+
});
|
|
27
|
+
t.nonNull.field('pageInfo', {
|
|
28
|
+
type: PAGINATION_TYPE_NAME,
|
|
29
|
+
resolve: resolvePagination
|
|
30
|
+
});
|
|
31
|
+
if (strapi.plugin('graphql').config('v4CompatibilityMode', false)) {
|
|
32
|
+
t.nonNull.list.field('data', {
|
|
33
|
+
deprecation: 'Use `nodes` field instead',
|
|
34
|
+
type: nexus.nonNull(typeName),
|
|
35
|
+
resolve: fp.pipe(fp.prop('nodes'), fp.defaultTo([]))
|
|
36
|
+
});
|
|
37
|
+
t.nonNull.field('meta', {
|
|
38
|
+
deprecation: 'Use the `pageInfo` field instead',
|
|
39
|
+
type: RESPONSE_COLLECTION_META_TYPE_NAME,
|
|
40
|
+
resolve: fp.identity
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
module.exports = responseCollection;
|
|
50
|
+
//# sourceMappingURL=response-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-collection.js","sources":["../../../../server/src/services/builders/response-collection.ts"],"sourcesContent":["import { objectType, nonNull } from 'nexus';\nimport { defaultTo, prop, pipe, identity } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { naming } = getService('utils');\n const { RESPONSE_COLLECTION_META_TYPE_NAME, PAGINATION_TYPE_NAME } = getService('constants');\n\n return {\n /**\n * Build a type definition for a content API collection response for a given content type\n * @param {Schema.ContentType} contentType The content type which will be used to build its content API response definition\n * @return {NexusObjectTypeDef}\n */\n buildResponseCollectionDefinition(contentType: Schema.ContentType) {\n const name = naming.getEntityResponseCollectionName(contentType);\n const typeName = naming.getTypeName(contentType);\n const { resolvePagination } = getService('builders').get('content-api');\n\n return objectType({\n name,\n definition(t) {\n // NOTE: add edges & cursor based pagination to support the relay spec in a later version\n\n t.nonNull.list.field('nodes', {\n type: nonNull(typeName),\n resolve: pipe(prop('nodes'), defaultTo([])),\n });\n\n t.nonNull.field('pageInfo', {\n type: PAGINATION_TYPE_NAME,\n resolve: resolvePagination,\n });\n\n if (strapi.plugin('graphql').config('v4CompatibilityMode', false)) {\n t.nonNull.list.field('data', {\n deprecation: 'Use `nodes` field instead',\n type: nonNull(typeName),\n resolve: pipe(prop('nodes'), defaultTo([])),\n });\n\n t.nonNull.field('meta', {\n deprecation: 'Use the `pageInfo` field instead',\n type: RESPONSE_COLLECTION_META_TYPE_NAME,\n resolve: identity,\n });\n }\n },\n });\n },\n };\n};\n"],"names":["strapi","service","getService","plugin","naming","RESPONSE_COLLECTION_META_TYPE_NAME","PAGINATION_TYPE_NAME","buildResponseCollectionDefinition","contentType","name","getEntityResponseCollectionName","typeName","getTypeName","resolvePagination","get","objectType","definition","t","nonNull","list","field","type","resolve","pipe","prop","defaultTo","config","deprecation","identity"],"mappings":";;;;;AAKA,yBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;AACjC,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,MAAM,EAAE,GAAGF,UAAW,CAAA,OAAA,CAAA;AAC9B,IAAA,MAAM,EAAEG,kCAAkC,EAAEC,oBAAoB,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;IAEhF,OAAO;AACL;;;;AAIC,QACDK,mCAAkCC,WAA+B,EAAA;YAC/D,MAAMC,IAAAA,GAAOL,MAAOM,CAAAA,+BAA+B,CAACF,WAAAA,CAAAA;YACpD,MAAMG,QAAAA,GAAWP,MAAOQ,CAAAA,WAAW,CAACJ,WAAAA,CAAAA;AACpC,YAAA,MAAM,EAAEK,iBAAiB,EAAE,GAAGX,UAAW,CAAA,UAAA,CAAA,CAAYY,GAAG,CAAC,aAAA,CAAA;AAEzD,YAAA,OAAOC,gBAAW,CAAA;AAChBN,gBAAAA,IAAAA;AACAO,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;;AAGVA,oBAAAA,CAAAA,CAAEC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,OAAS,EAAA;AAC5BC,wBAAAA,IAAAA,EAAMH,aAAQP,CAAAA,QAAAA,CAAAA;AACdW,wBAAAA,OAAAA,EAASC,OAAKC,CAAAA,OAAAA,CAAK,OAAUC,CAAAA,EAAAA,YAAAA,CAAU,EAAE,CAAA;AAC3C,qBAAA,CAAA;AAEAR,oBAAAA,CAAAA,CAAEC,OAAO,CAACE,KAAK,CAAC,UAAY,EAAA;wBAC1BC,IAAMf,EAAAA,oBAAAA;wBACNgB,OAAST,EAAAA;AACX,qBAAA,CAAA;AAEA,oBAAA,IAAIb,OAAOG,MAAM,CAAC,WAAWuB,MAAM,CAAC,uBAAuB,KAAQ,CAAA,EAAA;AACjET,wBAAAA,CAAAA,CAAEC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,MAAQ,EAAA;4BAC3BO,WAAa,EAAA,2BAAA;AACbN,4BAAAA,IAAAA,EAAMH,aAAQP,CAAAA,QAAAA,CAAAA;AACdW,4BAAAA,OAAAA,EAASC,OAAKC,CAAAA,OAAAA,CAAK,OAAUC,CAAAA,EAAAA,YAAAA,CAAU,EAAE,CAAA;AAC3C,yBAAA,CAAA;AAEAR,wBAAAA,CAAAA,CAAEC,OAAO,CAACE,KAAK,CAAC,MAAQ,EAAA;4BACtBO,WAAa,EAAA,kCAAA;4BACbN,IAAMhB,EAAAA,kCAAAA;4BACNiB,OAASM,EAAAA;AACX,yBAAA,CAAA;AACF;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { objectType, nonNull } from 'nexus';
|
|
2
|
+
import { pipe, prop, defaultTo, identity } from 'lodash/fp';
|
|
3
|
+
|
|
4
|
+
var responseCollection = (({ strapi })=>{
|
|
5
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
6
|
+
const { naming } = getService('utils');
|
|
7
|
+
const { RESPONSE_COLLECTION_META_TYPE_NAME, PAGINATION_TYPE_NAME } = getService('constants');
|
|
8
|
+
return {
|
|
9
|
+
/**
|
|
10
|
+
* Build a type definition for a content API collection response for a given content type
|
|
11
|
+
* @param {Schema.ContentType} contentType The content type which will be used to build its content API response definition
|
|
12
|
+
* @return {NexusObjectTypeDef}
|
|
13
|
+
*/ buildResponseCollectionDefinition (contentType) {
|
|
14
|
+
const name = naming.getEntityResponseCollectionName(contentType);
|
|
15
|
+
const typeName = naming.getTypeName(contentType);
|
|
16
|
+
const { resolvePagination } = getService('builders').get('content-api');
|
|
17
|
+
return objectType({
|
|
18
|
+
name,
|
|
19
|
+
definition (t) {
|
|
20
|
+
// NOTE: add edges & cursor based pagination to support the relay spec in a later version
|
|
21
|
+
t.nonNull.list.field('nodes', {
|
|
22
|
+
type: nonNull(typeName),
|
|
23
|
+
resolve: pipe(prop('nodes'), defaultTo([]))
|
|
24
|
+
});
|
|
25
|
+
t.nonNull.field('pageInfo', {
|
|
26
|
+
type: PAGINATION_TYPE_NAME,
|
|
27
|
+
resolve: resolvePagination
|
|
28
|
+
});
|
|
29
|
+
if (strapi.plugin('graphql').config('v4CompatibilityMode', false)) {
|
|
30
|
+
t.nonNull.list.field('data', {
|
|
31
|
+
deprecation: 'Use `nodes` field instead',
|
|
32
|
+
type: nonNull(typeName),
|
|
33
|
+
resolve: pipe(prop('nodes'), defaultTo([]))
|
|
34
|
+
});
|
|
35
|
+
t.nonNull.field('meta', {
|
|
36
|
+
deprecation: 'Use the `pageInfo` field instead',
|
|
37
|
+
type: RESPONSE_COLLECTION_META_TYPE_NAME,
|
|
38
|
+
resolve: identity
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export { responseCollection as default };
|
|
48
|
+
//# sourceMappingURL=response-collection.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-collection.mjs","sources":["../../../../server/src/services/builders/response-collection.ts"],"sourcesContent":["import { objectType, nonNull } from 'nexus';\nimport { defaultTo, prop, pipe, identity } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { naming } = getService('utils');\n const { RESPONSE_COLLECTION_META_TYPE_NAME, PAGINATION_TYPE_NAME } = getService('constants');\n\n return {\n /**\n * Build a type definition for a content API collection response for a given content type\n * @param {Schema.ContentType} contentType The content type which will be used to build its content API response definition\n * @return {NexusObjectTypeDef}\n */\n buildResponseCollectionDefinition(contentType: Schema.ContentType) {\n const name = naming.getEntityResponseCollectionName(contentType);\n const typeName = naming.getTypeName(contentType);\n const { resolvePagination } = getService('builders').get('content-api');\n\n return objectType({\n name,\n definition(t) {\n // NOTE: add edges & cursor based pagination to support the relay spec in a later version\n\n t.nonNull.list.field('nodes', {\n type: nonNull(typeName),\n resolve: pipe(prop('nodes'), defaultTo([])),\n });\n\n t.nonNull.field('pageInfo', {\n type: PAGINATION_TYPE_NAME,\n resolve: resolvePagination,\n });\n\n if (strapi.plugin('graphql').config('v4CompatibilityMode', false)) {\n t.nonNull.list.field('data', {\n deprecation: 'Use `nodes` field instead',\n type: nonNull(typeName),\n resolve: pipe(prop('nodes'), defaultTo([])),\n });\n\n t.nonNull.field('meta', {\n deprecation: 'Use the `pageInfo` field instead',\n type: RESPONSE_COLLECTION_META_TYPE_NAME,\n resolve: identity,\n });\n }\n },\n });\n },\n };\n};\n"],"names":["strapi","service","getService","plugin","naming","RESPONSE_COLLECTION_META_TYPE_NAME","PAGINATION_TYPE_NAME","buildResponseCollectionDefinition","contentType","name","getEntityResponseCollectionName","typeName","getTypeName","resolvePagination","get","objectType","definition","t","nonNull","list","field","type","resolve","pipe","prop","defaultTo","config","deprecation","identity"],"mappings":";;;AAKA,yBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;AACjC,IAAA,MAAM,EAAEC,OAASC,EAAAA,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,MAAM,EAAE,GAAGF,UAAW,CAAA,OAAA,CAAA;AAC9B,IAAA,MAAM,EAAEG,kCAAkC,EAAEC,oBAAoB,EAAE,GAAGJ,UAAW,CAAA,WAAA,CAAA;IAEhF,OAAO;AACL;;;;AAIC,QACDK,mCAAkCC,WAA+B,EAAA;YAC/D,MAAMC,IAAAA,GAAOL,MAAOM,CAAAA,+BAA+B,CAACF,WAAAA,CAAAA;YACpD,MAAMG,QAAAA,GAAWP,MAAOQ,CAAAA,WAAW,CAACJ,WAAAA,CAAAA;AACpC,YAAA,MAAM,EAAEK,iBAAiB,EAAE,GAAGX,UAAW,CAAA,UAAA,CAAA,CAAYY,GAAG,CAAC,aAAA,CAAA;AAEzD,YAAA,OAAOC,UAAW,CAAA;AAChBN,gBAAAA,IAAAA;AACAO,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;;AAGVA,oBAAAA,CAAAA,CAAEC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,OAAS,EAAA;AAC5BC,wBAAAA,IAAAA,EAAMH,OAAQP,CAAAA,QAAAA,CAAAA;AACdW,wBAAAA,OAAAA,EAASC,IAAKC,CAAAA,IAAAA,CAAK,OAAUC,CAAAA,EAAAA,SAAAA,CAAU,EAAE,CAAA;AAC3C,qBAAA,CAAA;AAEAR,oBAAAA,CAAAA,CAAEC,OAAO,CAACE,KAAK,CAAC,UAAY,EAAA;wBAC1BC,IAAMf,EAAAA,oBAAAA;wBACNgB,OAAST,EAAAA;AACX,qBAAA,CAAA;AAEA,oBAAA,IAAIb,OAAOG,MAAM,CAAC,WAAWuB,MAAM,CAAC,uBAAuB,KAAQ,CAAA,EAAA;AACjET,wBAAAA,CAAAA,CAAEC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,MAAQ,EAAA;4BAC3BO,WAAa,EAAA,2BAAA;AACbN,4BAAAA,IAAAA,EAAMH,OAAQP,CAAAA,QAAAA,CAAAA;AACdW,4BAAAA,OAAAA,EAASC,IAAKC,CAAAA,IAAAA,CAAK,OAAUC,CAAAA,EAAAA,SAAAA,CAAU,EAAE,CAAA;AAC3C,yBAAA,CAAA;AAEAR,wBAAAA,CAAAA,CAAEC,OAAO,CAACE,KAAK,CAAC,MAAQ,EAAA;4BACtBO,WAAa,EAAA,kCAAA;4BACbN,IAAMhB,EAAAA,kCAAAA;4BACNiB,OAASM,EAAAA;AACX,yBAAA,CAAA;AACF;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var nexus = require('nexus');
|
|
4
|
+
var fp = require('lodash/fp');
|
|
5
|
+
|
|
6
|
+
var response = (({ strapi })=>{
|
|
7
|
+
const { naming } = strapi.plugin('graphql').service('utils');
|
|
8
|
+
return {
|
|
9
|
+
/**
|
|
10
|
+
* Build a type definition for a content API response for a given content type
|
|
11
|
+
*/ buildResponseDefinition (contentType) {
|
|
12
|
+
const name = naming.getEntityResponseName(contentType);
|
|
13
|
+
const typeName = naming.getTypeName(contentType);
|
|
14
|
+
return nexus.objectType({
|
|
15
|
+
name,
|
|
16
|
+
definition (t) {
|
|
17
|
+
t.field('data', {
|
|
18
|
+
type: typeName,
|
|
19
|
+
resolve: fp.prop('value')
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
module.exports = response;
|
|
28
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sources":["../../../../server/src/services/builders/response.ts"],"sourcesContent":["import { objectType } from 'nexus';\nimport { prop } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { naming } = strapi.plugin('graphql').service('utils');\n\n return {\n /**\n * Build a type definition for a content API response for a given content type\n */\n buildResponseDefinition(contentType: Schema.ContentType) {\n const name = naming.getEntityResponseName(contentType);\n const typeName = naming.getTypeName(contentType);\n\n return objectType({\n name,\n\n definition(t) {\n t.field('data', {\n type: typeName,\n\n resolve: prop('value'),\n });\n },\n });\n },\n };\n};\n"],"names":["strapi","naming","plugin","service","buildResponseDefinition","contentType","name","getEntityResponseName","typeName","getTypeName","objectType","definition","t","field","type","resolve","prop"],"mappings":";;;;;AAKA,eAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;IACjC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,OAAA,CAAA;IAEpD,OAAO;AACL;;AAEC,QACDC,yBAAwBC,WAA+B,EAAA;YACrD,MAAMC,IAAAA,GAAOL,MAAOM,CAAAA,qBAAqB,CAACF,WAAAA,CAAAA;YAC1C,MAAMG,QAAAA,GAAWP,MAAOQ,CAAAA,WAAW,CAACJ,WAAAA,CAAAA;AAEpC,YAAA,OAAOK,gBAAW,CAAA;AAChBJ,gBAAAA,IAAAA;AAEAK,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;oBACVA,CAAEC,CAAAA,KAAK,CAAC,MAAQ,EAAA;wBACdC,IAAMN,EAAAA,QAAAA;AAENO,wBAAAA,OAAAA,EAASC,OAAK,CAAA,OAAA;AAChB,qBAAA,CAAA;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { objectType } from 'nexus';
|
|
2
|
+
import { prop } from 'lodash/fp';
|
|
3
|
+
|
|
4
|
+
var response = (({ strapi })=>{
|
|
5
|
+
const { naming } = strapi.plugin('graphql').service('utils');
|
|
6
|
+
return {
|
|
7
|
+
/**
|
|
8
|
+
* Build a type definition for a content API response for a given content type
|
|
9
|
+
*/ buildResponseDefinition (contentType) {
|
|
10
|
+
const name = naming.getEntityResponseName(contentType);
|
|
11
|
+
const typeName = naming.getTypeName(contentType);
|
|
12
|
+
return objectType({
|
|
13
|
+
name,
|
|
14
|
+
definition (t) {
|
|
15
|
+
t.field('data', {
|
|
16
|
+
type: typeName,
|
|
17
|
+
resolve: prop('value')
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { response as default };
|
|
26
|
+
//# sourceMappingURL=response.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.mjs","sources":["../../../../server/src/services/builders/response.ts"],"sourcesContent":["import { objectType } from 'nexus';\nimport { prop } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { naming } = strapi.plugin('graphql').service('utils');\n\n return {\n /**\n * Build a type definition for a content API response for a given content type\n */\n buildResponseDefinition(contentType: Schema.ContentType) {\n const name = naming.getEntityResponseName(contentType);\n const typeName = naming.getTypeName(contentType);\n\n return objectType({\n name,\n\n definition(t) {\n t.field('data', {\n type: typeName,\n\n resolve: prop('value'),\n });\n },\n });\n },\n };\n};\n"],"names":["strapi","naming","plugin","service","buildResponseDefinition","contentType","name","getEntityResponseName","typeName","getTypeName","objectType","definition","t","field","type","resolve","prop"],"mappings":";;;AAKA,eAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;IACjC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,OAAA,CAAA;IAEpD,OAAO;AACL;;AAEC,QACDC,yBAAwBC,WAA+B,EAAA;YACrD,MAAMC,IAAAA,GAAOL,MAAOM,CAAAA,qBAAqB,CAACF,WAAAA,CAAAA;YAC1C,MAAMG,QAAAA,GAAWP,MAAOQ,CAAAA,WAAW,CAACJ,WAAAA,CAAAA;AAEpC,YAAA,OAAOK,UAAW,CAAA;AAChBJ,gBAAAA,IAAAA;AAEAK,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;oBACVA,CAAEC,CAAAA,KAAK,CAAC,MAAQ,EAAA;wBACdC,IAAMN,EAAAA,QAAAA;AAENO,wBAAAA,OAAAA,EAASC,IAAK,CAAA,OAAA;AAChB,qBAAA,CAAA;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|