@strapi/plugin-graphql 0.0.0-experimental.62ce06180fe9a772eaeb3d43d238b26644f39f7c → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282
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/LICENSE +18 -3
- package/dist/admin/index.js +58 -167
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +54 -168
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +13 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +8 -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/translations/cs.json.js +10 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +8 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/da.json.js +10 -0
- package/dist/admin/translations/da.json.js.map +1 -0
- package/dist/admin/translations/da.json.mjs +8 -0
- package/dist/admin/translations/da.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +10 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +8 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +10 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +8 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +10 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +8 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +10 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +8 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +10 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +8 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +10 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +8 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +10 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +8 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +10 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +8 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +10 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +8 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +10 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +8 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +10 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +8 -0
- 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 +221 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +212 -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 +12 -3112
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +11 -3092
- 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 +141 -0
- package/dist/server/services/builders/resolvers/association.js.map +1 -0
- package/dist/server/services/builders/resolvers/association.mjs +139 -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/merge-publication-args.js +23 -0
- package/dist/server/services/builders/resolvers/merge-publication-args.js.map +1 -0
- package/dist/server/services/builders/resolvers/merge-publication-args.mjs +21 -0
- package/dist/server/services/builders/resolvers/merge-publication-args.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/pagination.js +40 -0
- package/dist/server/services/builders/resolvers/pagination.js.map +1 -0
- package/dist/server/services/builders/resolvers/pagination.mjs +38 -0
- package/dist/server/services/builders/resolvers/pagination.mjs.map +1 -0
- package/dist/server/services/builders/resolvers/query.js +62 -0
- package/dist/server/services/builders/resolvers/query.js.map +1 -0
- package/dist/server/services/builders/resolvers/query.mjs +60 -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 +345 -0
- package/dist/server/services/builders/type.js.map +1 -0
- package/dist/server/services/builders/type.mjs +343 -0
- package/dist/server/services/builders/type.mjs.map +1 -0
- package/dist/server/services/builders/utils.js +132 -0
- package/dist/server/services/builders/utils.js.map +1 -0
- package/dist/server/services/builders/utils.mjs +130 -0
- package/dist/server/services/builders/utils.mjs.map +1 -0
- package/dist/server/services/constants.js +141 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +139 -0
- package/dist/server/services/constants.mjs.map +1 -0
- package/dist/server/services/content-api/index.js +198 -0
- package/dist/server/services/content-api/index.js.map +1 -0
- package/dist/server/services/content-api/index.mjs +196 -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 +85 -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/has-published-version.js +11 -0
- package/dist/server/services/internals/args/has-published-version.js.map +1 -0
- package/dist/server/services/internals/args/has-published-version.mjs +9 -0
- package/dist/server/services/internals/args/has-published-version.mjs.map +1 -0
- package/dist/server/services/internals/args/index.js +18 -0
- package/dist/server/services/internals/args/index.js.map +1 -0
- package/dist/server/services/internals/args/index.mjs +16 -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-filter.js +13 -0
- package/dist/server/services/internals/args/publication-filter.js.map +1 -0
- package/dist/server/services/internals/args/publication-filter.mjs +11 -0
- package/dist/server/services/internals/args/publication-filter.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 +32 -0
- package/dist/server/services/internals/types/index.js.map +1 -0
- package/dist/server/services/internals/types/index.mjs +30 -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-filter.js +25 -0
- package/dist/server/services/internals/types/publication-filter.js.map +1 -0
- package/dist/server/services/internals/types/publication-filter.mjs +23 -0
- package/dist/server/services/internals/types/publication-filter.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/dist/server/src/bootstrap.d.ts +7 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +35 -33
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/dynamic-zones.d.ts.map +1 -1
- package/dist/server/src/services/builders/entity.d.ts.map +1 -1
- package/dist/server/src/services/builders/enums.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/content-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/and.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/between.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/contains.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/containsi.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/ends-with.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/eq.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/eqi.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/gt.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/gte.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/in.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/index.d.ts +0 -1
- package/dist/server/src/services/builders/filters/operators/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/lt.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/lte.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/ne.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/nei.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not-contains.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not-containsi.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not-in.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not-null.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/null.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/or.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/starts-with.d.ts.map +1 -1
- package/dist/server/src/services/builders/generic-morph.d.ts.map +1 -1
- package/dist/server/src/services/builders/index.d.ts +7 -14
- package/dist/server/src/services/builders/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/input.d.ts.map +1 -1
- package/dist/server/src/services/builders/mutations/collection-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/mutations/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/mutations/single-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/queries/collection-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/queries/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/queries/single-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/relation-response-collection.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/association.d.ts +1 -1
- package/dist/server/src/services/builders/resolvers/association.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/component.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/index.d.ts +5 -5
- package/dist/server/src/services/builders/resolvers/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/merge-publication-args.d.ts +9 -0
- package/dist/server/src/services/builders/resolvers/merge-publication-args.d.ts.map +1 -0
- package/dist/server/src/services/builders/resolvers/pagination.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/query.d.ts.map +1 -1
- package/dist/server/src/services/builders/response-collection.d.ts.map +1 -1
- package/dist/server/src/services/builders/response.d.ts.map +1 -1
- package/dist/server/src/services/builders/type.d.ts.map +1 -1
- package/dist/server/src/services/builders/utils.d.ts +4 -11
- package/dist/server/src/services/builders/utils.d.ts.map +1 -1
- package/dist/server/src/services/constants.d.ts +1 -0
- package/dist/server/src/services/constants.d.ts.map +1 -1
- package/dist/server/src/services/content-api/index.d.ts +2 -0
- package/dist/server/src/services/content-api/index.d.ts.map +1 -1
- package/dist/server/src/services/content-api/policy.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/collection-type.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/component.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/dynamic-zones.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/enums.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/filters.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/inputs.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/internals.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/scalars.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/single-type.d.ts.map +1 -1
- package/dist/server/src/services/content-api/wrap-resolvers.d.ts.map +1 -1
- package/dist/server/src/services/extension/extension.d.ts +10 -10
- package/dist/server/src/services/extension/extension.d.ts.map +1 -1
- package/dist/server/src/services/extension/shadow-crud-manager.d.ts +9 -9
- package/dist/server/src/services/extension/shadow-crud-manager.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +35 -33
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/internals/args/has-published-version.d.ts +7 -0
- package/dist/server/src/services/internals/args/has-published-version.d.ts.map +1 -0
- package/dist/server/src/services/internals/args/index.d.ts +3 -0
- package/dist/server/src/services/internals/args/index.d.ts.map +1 -1
- package/dist/server/src/services/internals/args/publication-filter.d.ts +4 -0
- package/dist/server/src/services/internals/args/publication-filter.d.ts.map +1 -0
- package/dist/server/src/services/internals/args/publication-status.d.ts.map +1 -1
- package/dist/server/src/services/internals/helpers/get-enabled-scalars.d.ts.map +1 -1
- package/dist/server/src/services/internals/helpers/index.d.ts.map +1 -1
- package/dist/server/src/services/internals/index.d.ts +7 -0
- package/dist/server/src/services/internals/index.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/delete-mutation-response.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/error.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/filters.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/index.d.ts +5 -0
- package/dist/server/src/services/internals/types/index.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/pagination.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/publication-filter.d.ts +6 -0
- package/dist/server/src/services/internals/types/publication-filter.d.ts.map +1 -0
- package/dist/server/src/services/internals/types/publication-status.d.ts.map +1 -1
- package/dist/server/src/services/internals/types/response-collection-meta.d.ts.map +1 -1
- package/dist/server/src/services/type-registry.d.ts.map +1 -1
- package/dist/server/src/services/utils/attributes.d.ts.map +1 -1
- package/dist/server/src/services/utils/index.d.ts +8 -9
- package/dist/server/src/services/utils/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts +1 -3
- package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/graphql-filters-to-strapi-query.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/graphql-scalar-to-operators.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/index.d.ts +1 -3
- package/dist/server/src/services/utils/mappers/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/strapi-scalar-to-graphql-scalar.d.ts.map +1 -1
- package/dist/server/src/services/utils/naming.d.ts +3 -3
- package/dist/server/src/services/utils/naming.d.ts.map +1 -1
- package/dist/server/src/services/utils/playground.d.ts +1 -0
- package/dist/server/src/services/utils/playground.d.ts.map +1 -1
- package/package.json +30 -22
- package/dist/_chunks/dk-BbJCmDw6.mjs +0 -9
- package/dist/_chunks/dk-BbJCmDw6.mjs.map +0 -1
- package/dist/_chunks/dk-C9NcSzyg.js +0 -9
- package/dist/_chunks/dk-C9NcSzyg.js.map +0 -1
- package/dist/_chunks/en-BiKpmhCU.js +0 -9
- package/dist/_chunks/en-BiKpmhCU.js.map +0 -1
- package/dist/_chunks/en-YIQYYlvv.mjs +0 -9
- package/dist/_chunks/en-YIQYYlvv.mjs.map +0 -1
- package/dist/_chunks/es-BbsZ5Fh0.mjs +0 -9
- package/dist/_chunks/es-BbsZ5Fh0.mjs.map +0 -1
- package/dist/_chunks/es-DE22V9D4.js +0 -9
- package/dist/_chunks/es-DE22V9D4.js.map +0 -1
- package/dist/_chunks/fr-BgqFw7G8.mjs +0 -9
- package/dist/_chunks/fr-BgqFw7G8.mjs.map +0 -1
- package/dist/_chunks/fr-Ca-HowfR.js +0 -9
- package/dist/_chunks/fr-Ca-HowfR.js.map +0 -1
- package/dist/_chunks/pl-CbET57Jb.mjs +0 -9
- package/dist/_chunks/pl-CbET57Jb.mjs.map +0 -1
- package/dist/_chunks/pl-DVnJGR87.js +0 -9
- package/dist/_chunks/pl-DVnJGR87.js.map +0 -1
- package/dist/_chunks/ru-BFz40YSA.mjs +0 -9
- package/dist/_chunks/ru-BFz40YSA.mjs.map +0 -1
- package/dist/_chunks/ru-o4zaP02C.js +0 -9
- package/dist/_chunks/ru-o4zaP02C.js.map +0 -1
- package/dist/_chunks/sv-9qK4y9fb.js +0 -9
- package/dist/_chunks/sv-9qK4y9fb.js.map +0 -1
- package/dist/_chunks/sv-CNYcKBn2.mjs +0 -9
- package/dist/_chunks/sv-CNYcKBn2.mjs.map +0 -1
- package/dist/_chunks/tr-H1PrR6RM.mjs +0 -9
- package/dist/_chunks/tr-H1PrR6RM.mjs.map +0 -1
- package/dist/_chunks/tr-fBBDNMBY.js +0 -9
- package/dist/_chunks/tr-fBBDNMBY.js.map +0 -1
- package/dist/_chunks/zh-BEh3jejH.mjs +0 -9
- package/dist/_chunks/zh-BEh3jejH.mjs.map +0 -1
- package/dist/_chunks/zh-CyCKPuL0.js +0 -9
- package/dist/_chunks/zh-CyCKPuL0.js.map +0 -1
- package/dist/_chunks/zh-Hans-Btuz6Y7W.js +0 -9
- package/dist/_chunks/zh-Hans-Btuz6Y7W.js.map +0 -1
- package/dist/_chunks/zh-Hans-CRQss50D.mjs +0 -9
- package/dist/_chunks/zh-Hans-CRQss50D.mjs.map +0 -1
- package/strapi-server.js +0 -3
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { omit, mapValues, entries } from 'lodash/fp';
|
|
2
|
+
import { nonNull, idArg } from 'nexus';
|
|
3
|
+
import { pagination, hasSort } from '@strapi/utils';
|
|
4
|
+
|
|
5
|
+
const { withDefaultPagination } = pagination;
|
|
6
|
+
var utils = (({ strapi })=>{
|
|
7
|
+
const { service: getService } = strapi.plugin('graphql');
|
|
8
|
+
return {
|
|
9
|
+
getContentTypeArgs (contentType, { multiple = true, isNested = false } = {}) {
|
|
10
|
+
const { naming } = getService('utils');
|
|
11
|
+
const { args } = getService('internals');
|
|
12
|
+
const { modelType } = contentType;
|
|
13
|
+
// Components
|
|
14
|
+
if (modelType === 'component') {
|
|
15
|
+
if (!multiple) return {};
|
|
16
|
+
return {
|
|
17
|
+
filters: naming.getFiltersInputTypeName(contentType),
|
|
18
|
+
pagination: args.PaginationArg,
|
|
19
|
+
sort: args.SortArg
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const { kind } = contentType;
|
|
23
|
+
// On non–D&P roots (e.g. User) these args do not version the parent document, but they
|
|
24
|
+
// are required: association resolvers inherit them into nested D&P relations (see
|
|
25
|
+
// builders/resolvers/association.ts + rootQueryArgsByPath). Omitting them broke
|
|
26
|
+
// draft/published control for populated relations (e.g. github.com/strapi/strapi/issues/25746).
|
|
27
|
+
//
|
|
28
|
+
// Future direction: add `status` / `hasPublishedVersion` / `publicationFilter` to GraphQL args on nested
|
|
29
|
+
// to-many (and to-one) relation fields when the *target* content type has D&P, instead
|
|
30
|
+
// of relying on root-level “context” that is easy to misread (args on User affecting
|
|
31
|
+
// Articles). That would allow different publication settings per relation branch, match
|
|
32
|
+
// how developers think about the graph, and let non-DP roots drop these args if desired.
|
|
33
|
+
// Would require extending getContentTypeArgs(..., { isNested: true }) for D&P targets
|
|
34
|
+
// and teaching association.ts to honor args.publicationFilter on nested fields, not
|
|
35
|
+
// only root inheritance.
|
|
36
|
+
const publicationArgs = {
|
|
37
|
+
status: args.PublicationStatusArg,
|
|
38
|
+
// Deprecated: prefer `publicationFilter` (enum cohorts).
|
|
39
|
+
hasPublishedVersion: args.HasPublishedVersionArg,
|
|
40
|
+
publicationFilter: args.PublicationFilterArg
|
|
41
|
+
};
|
|
42
|
+
// Collection Types
|
|
43
|
+
if (kind === 'collectionType') {
|
|
44
|
+
if (!multiple) {
|
|
45
|
+
return {
|
|
46
|
+
documentId: nonNull(idArg()),
|
|
47
|
+
...publicationArgs
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const params = {
|
|
51
|
+
filters: naming.getFiltersInputTypeName(contentType),
|
|
52
|
+
pagination: args.PaginationArg,
|
|
53
|
+
sort: args.SortArg
|
|
54
|
+
};
|
|
55
|
+
if (!isNested) {
|
|
56
|
+
Object.assign(params, publicationArgs);
|
|
57
|
+
}
|
|
58
|
+
return params;
|
|
59
|
+
}
|
|
60
|
+
// Single Types
|
|
61
|
+
if (kind === 'singleType') {
|
|
62
|
+
const params = {};
|
|
63
|
+
if (!isNested) {
|
|
64
|
+
Object.assign(params, publicationArgs);
|
|
65
|
+
}
|
|
66
|
+
return params;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* Filter an object entries and keep only those whose value is a unique scalar attribute
|
|
71
|
+
*/ getUniqueScalarAttributes (attributes) {
|
|
72
|
+
const { isStrapiScalar } = getService('utils').attributes;
|
|
73
|
+
const uniqueAttributes = entries(attributes).filter(([, attribute])=>isStrapiScalar(attribute) && 'unique' in attribute && attribute.unique);
|
|
74
|
+
return Object.fromEntries(uniqueAttributes);
|
|
75
|
+
},
|
|
76
|
+
/**
|
|
77
|
+
* Map each value from an attribute to a FiltersInput type name
|
|
78
|
+
* @param {object} attributes - The attributes object to transform
|
|
79
|
+
* @return {Object<string, string>}
|
|
80
|
+
*/ scalarAttributesToFiltersMap (attributes) {
|
|
81
|
+
return mapValues((attribute)=>{
|
|
82
|
+
const { mappers, naming } = getService('utils');
|
|
83
|
+
const gqlScalar = mappers.strapiScalarToGraphQLScalar(attribute.type);
|
|
84
|
+
return naming.getScalarFilterInputTypeName(gqlScalar);
|
|
85
|
+
}, attributes);
|
|
86
|
+
},
|
|
87
|
+
/**
|
|
88
|
+
* Apply basic transform to GQL args
|
|
89
|
+
*/ transformArgs (args, { contentType, usePagination = false }) {
|
|
90
|
+
const { mappers } = getService('utils');
|
|
91
|
+
const { config } = strapi.plugin('graphql');
|
|
92
|
+
const { pagination = {}, filters = {} } = args;
|
|
93
|
+
// Init
|
|
94
|
+
const newArgs = omit([
|
|
95
|
+
'pagination',
|
|
96
|
+
'filters'
|
|
97
|
+
], args);
|
|
98
|
+
// Pagination
|
|
99
|
+
if (usePagination) {
|
|
100
|
+
const defaultLimit = config('defaultLimit');
|
|
101
|
+
const maxLimit = config('maxLimit');
|
|
102
|
+
Object.assign(newArgs, withDefaultPagination(pagination, {
|
|
103
|
+
maxLimit,
|
|
104
|
+
defaults: {
|
|
105
|
+
offset: {
|
|
106
|
+
limit: defaultLimit
|
|
107
|
+
},
|
|
108
|
+
page: {
|
|
109
|
+
pageSize: defaultLimit
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
// Filters
|
|
115
|
+
if (args.filters) {
|
|
116
|
+
Object.assign(newArgs, {
|
|
117
|
+
filters: mappers.graphQLFiltersToStrapiQuery(filters, contentType)
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
// GraphQL SortArg defaults to `[]`; omit meaningless sort so join-table UI order is preserved.
|
|
121
|
+
if (!hasSort(newArgs.sort)) {
|
|
122
|
+
delete newArgs.sort;
|
|
123
|
+
}
|
|
124
|
+
return newArgs;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
export { utils as default };
|
|
130
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../server/src/services/builders/utils.ts"],"sourcesContent":["import { entries, mapValues, omit } from 'lodash/fp';\nimport { idArg, nonNull } from 'nexus';\nimport { hasSort, pagination } from '@strapi/utils';\nimport type { Core, Struct } from '@strapi/types';\n\nconst { withDefaultPagination } = pagination;\n\ntype ContentTypeArgsOptions = {\n multiple?: boolean;\n isNested?: boolean;\n};\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const { service: getService } = strapi.plugin('graphql');\n\n return {\n getContentTypeArgs(\n contentType: Struct.Schema,\n { multiple = true, isNested = false }: ContentTypeArgsOptions = {}\n ) {\n const { naming } = getService('utils');\n const { args } = getService('internals');\n\n const { modelType } = contentType;\n\n // Components\n if (modelType === 'component') {\n if (!multiple) return {};\n\n return {\n filters: naming.getFiltersInputTypeName(contentType),\n pagination: args.PaginationArg,\n sort: args.SortArg,\n };\n }\n\n const { kind } = contentType;\n\n // On non–D&P roots (e.g. User) these args do not version the parent document, but they\n // are required: association resolvers inherit them into nested D&P relations (see\n // builders/resolvers/association.ts + rootQueryArgsByPath). Omitting them broke\n // draft/published control for populated relations (e.g. github.com/strapi/strapi/issues/25746).\n //\n // Future direction: add `status` / `hasPublishedVersion` / `publicationFilter` to GraphQL args on nested\n // to-many (and to-one) relation fields when the *target* content type has D&P, instead\n // of relying on root-level “context” that is easy to misread (args on User affecting\n // Articles). That would allow different publication settings per relation branch, match\n // how developers think about the graph, and let non-DP roots drop these args if desired.\n // Would require extending getContentTypeArgs(..., { isNested: true }) for D&P targets\n // and teaching association.ts to honor args.publicationFilter on nested fields, not\n // only root inheritance.\n const publicationArgs = {\n status: args.PublicationStatusArg,\n // Deprecated: prefer `publicationFilter` (enum cohorts).\n hasPublishedVersion: args.HasPublishedVersionArg,\n publicationFilter: args.PublicationFilterArg,\n };\n\n // Collection Types\n if (kind === 'collectionType') {\n if (!multiple) {\n return {\n documentId: nonNull(idArg()),\n ...publicationArgs,\n };\n }\n\n const params: Record<string, unknown> = {\n filters: naming.getFiltersInputTypeName(contentType),\n pagination: args.PaginationArg,\n sort: args.SortArg,\n };\n\n if (!isNested) {\n Object.assign(params, publicationArgs);\n }\n\n return params;\n }\n\n // Single Types\n if (kind === 'singleType') {\n const params: Record<string, unknown> = {};\n\n if (!isNested) {\n Object.assign(params, publicationArgs);\n }\n\n return params;\n }\n },\n\n /**\n * Filter an object entries and keep only those whose value is a unique scalar attribute\n */\n getUniqueScalarAttributes(attributes: Struct.SchemaAttributes) {\n const { isStrapiScalar } = getService('utils').attributes;\n\n const uniqueAttributes = entries(attributes).filter(\n ([, attribute]) => isStrapiScalar(attribute) && 'unique' in attribute && attribute.unique\n );\n\n return Object.fromEntries(uniqueAttributes);\n },\n\n /**\n * Map each value from an attribute to a FiltersInput type name\n * @param {object} attributes - The attributes object to transform\n * @return {Object<string, string>}\n */\n scalarAttributesToFiltersMap(attributes: Struct.SchemaAttributes) {\n return mapValues((attribute) => {\n const { mappers, naming } = getService('utils');\n\n const gqlScalar = mappers.strapiScalarToGraphQLScalar(attribute.type);\n\n return naming.getScalarFilterInputTypeName(gqlScalar);\n }, attributes);\n },\n\n /**\n * Apply basic transform to GQL args\n */\n transformArgs(\n args: any,\n {\n contentType,\n usePagination = false,\n }: { contentType: Struct.ContentTypeSchema; usePagination?: boolean }\n ) {\n const { mappers } = getService('utils');\n const { config } = strapi.plugin('graphql');\n const { pagination = {}, filters = {} } = args;\n\n // Init\n const newArgs = omit(['pagination', 'filters'], args);\n\n // Pagination\n if (usePagination) {\n const defaultLimit: number = config('defaultLimit');\n const maxLimit: number = config('maxLimit');\n\n Object.assign(\n newArgs,\n withDefaultPagination(pagination, {\n maxLimit,\n defaults: {\n offset: { limit: defaultLimit },\n page: { pageSize: defaultLimit },\n },\n })\n );\n }\n\n // Filters\n if (args.filters) {\n Object.assign(newArgs, {\n filters: mappers.graphQLFiltersToStrapiQuery(filters, contentType),\n });\n }\n\n // GraphQL SortArg defaults to `[]`; omit meaningless sort so join-table UI order is preserved.\n if (!hasSort(newArgs.sort)) {\n delete newArgs.sort;\n }\n\n return newArgs;\n },\n };\n};\n"],"names":["withDefaultPagination","pagination","strapi","service","getService","plugin","getContentTypeArgs","contentType","multiple","isNested","naming","args","modelType","filters","getFiltersInputTypeName","PaginationArg","sort","SortArg","kind","publicationArgs","status","PublicationStatusArg","hasPublishedVersion","HasPublishedVersionArg","publicationFilter","PublicationFilterArg","documentId","nonNull","idArg","params","Object","assign","getUniqueScalarAttributes","attributes","isStrapiScalar","uniqueAttributes","entries","filter","attribute","unique","fromEntries","scalarAttributesToFiltersMap","mapValues","mappers","gqlScalar","strapiScalarToGraphQLScalar","type","getScalarFilterInputTypeName","transformArgs","usePagination","config","newArgs","omit","defaultLimit","maxLimit","defaults","offset","limit","page","pageSize","graphQLFiltersToStrapiQuery","hasSort"],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const PAGINATION_TYPE_NAME = 'Pagination';
|
|
4
|
+
const DELETE_MUTATION_RESPONSE_TYPE_NAME = 'DeleteMutationResponse';
|
|
5
|
+
const PUBLICATION_STATUS_TYPE_NAME = 'PublicationStatus';
|
|
6
|
+
const PUBLICATION_FILTER_TYPE_NAME = 'PublicationFilter';
|
|
7
|
+
const ERROR_TYPE_NAME = 'Error';
|
|
8
|
+
const RESPONSE_COLLECTION_META_TYPE_NAME = 'ResponseCollectionMeta';
|
|
9
|
+
const GRAPHQL_SCALARS = [
|
|
10
|
+
'ID',
|
|
11
|
+
'Boolean',
|
|
12
|
+
'Int',
|
|
13
|
+
'String',
|
|
14
|
+
'Long',
|
|
15
|
+
'Float',
|
|
16
|
+
'JSON',
|
|
17
|
+
'Date',
|
|
18
|
+
'Time',
|
|
19
|
+
'DateTime'
|
|
20
|
+
];
|
|
21
|
+
const STRAPI_SCALARS = [
|
|
22
|
+
'boolean',
|
|
23
|
+
'integer',
|
|
24
|
+
'string',
|
|
25
|
+
'richtext',
|
|
26
|
+
'blocks',
|
|
27
|
+
'enumeration',
|
|
28
|
+
'biginteger',
|
|
29
|
+
'float',
|
|
30
|
+
'decimal',
|
|
31
|
+
'json',
|
|
32
|
+
'date',
|
|
33
|
+
'time',
|
|
34
|
+
'datetime',
|
|
35
|
+
'timestamp',
|
|
36
|
+
'uid',
|
|
37
|
+
'email',
|
|
38
|
+
'password',
|
|
39
|
+
'text'
|
|
40
|
+
];
|
|
41
|
+
const SCALARS_ASSOCIATIONS = {
|
|
42
|
+
uid: 'String',
|
|
43
|
+
email: 'String',
|
|
44
|
+
password: 'String',
|
|
45
|
+
text: 'String',
|
|
46
|
+
boolean: 'Boolean',
|
|
47
|
+
integer: 'Int',
|
|
48
|
+
string: 'String',
|
|
49
|
+
enumeration: 'String',
|
|
50
|
+
richtext: 'String',
|
|
51
|
+
blocks: 'JSON',
|
|
52
|
+
biginteger: 'Long',
|
|
53
|
+
float: 'Float',
|
|
54
|
+
decimal: 'Float',
|
|
55
|
+
json: 'JSON',
|
|
56
|
+
date: 'Date',
|
|
57
|
+
time: 'Time',
|
|
58
|
+
datetime: 'DateTime',
|
|
59
|
+
timestamp: 'DateTime'
|
|
60
|
+
};
|
|
61
|
+
const GENERIC_MORPH_TYPENAME = 'GenericMorph';
|
|
62
|
+
const KINDS = {
|
|
63
|
+
type: 'type',
|
|
64
|
+
component: 'component',
|
|
65
|
+
dynamicZone: 'dynamic-zone',
|
|
66
|
+
enum: 'enum',
|
|
67
|
+
entity: 'entity',
|
|
68
|
+
entityResponse: 'entity-response',
|
|
69
|
+
entityResponseCollection: 'entity-response-collection',
|
|
70
|
+
relationResponseCollection: 'relation-response-collection',
|
|
71
|
+
query: 'query',
|
|
72
|
+
mutation: 'mutation',
|
|
73
|
+
input: 'input',
|
|
74
|
+
filtersInput: 'filters-input',
|
|
75
|
+
scalar: 'scalar',
|
|
76
|
+
morph: 'polymorphic',
|
|
77
|
+
internal: 'internal'
|
|
78
|
+
};
|
|
79
|
+
const allOperators = [
|
|
80
|
+
'and',
|
|
81
|
+
'or',
|
|
82
|
+
'not',
|
|
83
|
+
'eq',
|
|
84
|
+
'eqi',
|
|
85
|
+
'ne',
|
|
86
|
+
'nei',
|
|
87
|
+
'startsWith',
|
|
88
|
+
'endsWith',
|
|
89
|
+
'contains',
|
|
90
|
+
'notContains',
|
|
91
|
+
'containsi',
|
|
92
|
+
'notContainsi',
|
|
93
|
+
'gt',
|
|
94
|
+
'gte',
|
|
95
|
+
'lt',
|
|
96
|
+
'lte',
|
|
97
|
+
'null',
|
|
98
|
+
'notNull',
|
|
99
|
+
'in',
|
|
100
|
+
'notIn',
|
|
101
|
+
'between'
|
|
102
|
+
];
|
|
103
|
+
const GRAPHQL_SCALAR_OPERATORS = {
|
|
104
|
+
// ID
|
|
105
|
+
ID: allOperators,
|
|
106
|
+
// Booleans
|
|
107
|
+
Boolean: allOperators,
|
|
108
|
+
// Strings
|
|
109
|
+
String: allOperators,
|
|
110
|
+
// Numbers
|
|
111
|
+
Int: allOperators,
|
|
112
|
+
Long: allOperators,
|
|
113
|
+
Float: allOperators,
|
|
114
|
+
// Dates
|
|
115
|
+
Date: allOperators,
|
|
116
|
+
Time: allOperators,
|
|
117
|
+
DateTime: allOperators,
|
|
118
|
+
// Others
|
|
119
|
+
JSON: allOperators
|
|
120
|
+
};
|
|
121
|
+
const ERROR_CODES = {
|
|
122
|
+
emptyDynamicZone: 'dynamiczone.empty'
|
|
123
|
+
};
|
|
124
|
+
var constants = (()=>({
|
|
125
|
+
PAGINATION_TYPE_NAME,
|
|
126
|
+
RESPONSE_COLLECTION_META_TYPE_NAME,
|
|
127
|
+
DELETE_MUTATION_RESPONSE_TYPE_NAME,
|
|
128
|
+
PUBLICATION_STATUS_TYPE_NAME,
|
|
129
|
+
PUBLICATION_FILTER_TYPE_NAME,
|
|
130
|
+
GRAPHQL_SCALARS,
|
|
131
|
+
STRAPI_SCALARS,
|
|
132
|
+
GENERIC_MORPH_TYPENAME,
|
|
133
|
+
KINDS,
|
|
134
|
+
GRAPHQL_SCALAR_OPERATORS,
|
|
135
|
+
SCALARS_ASSOCIATIONS,
|
|
136
|
+
ERROR_CODES,
|
|
137
|
+
ERROR_TYPE_NAME
|
|
138
|
+
}));
|
|
139
|
+
|
|
140
|
+
module.exports = constants;
|
|
141
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../server/src/services/constants.ts"],"sourcesContent":["const PAGINATION_TYPE_NAME = 'Pagination';\nconst DELETE_MUTATION_RESPONSE_TYPE_NAME = 'DeleteMutationResponse';\nconst PUBLICATION_STATUS_TYPE_NAME = 'PublicationStatus';\nconst PUBLICATION_FILTER_TYPE_NAME = 'PublicationFilter';\nconst ERROR_TYPE_NAME = 'Error';\n\nconst RESPONSE_COLLECTION_META_TYPE_NAME = 'ResponseCollectionMeta';\n\nconst GRAPHQL_SCALARS = [\n 'ID',\n 'Boolean',\n 'Int',\n 'String',\n 'Long',\n 'Float',\n 'JSON',\n 'Date',\n 'Time',\n 'DateTime',\n] as const;\n\nconst STRAPI_SCALARS = [\n 'boolean',\n 'integer',\n 'string',\n 'richtext',\n 'blocks',\n 'enumeration',\n 'biginteger',\n 'float',\n 'decimal',\n 'json',\n 'date',\n 'time',\n 'datetime',\n 'timestamp',\n 'uid',\n 'email',\n 'password',\n 'text',\n] as const;\n\nconst SCALARS_ASSOCIATIONS = {\n uid: 'String',\n email: 'String',\n password: 'String',\n text: 'String',\n boolean: 'Boolean',\n integer: 'Int',\n string: 'String',\n enumeration: 'String',\n richtext: 'String',\n blocks: 'JSON',\n biginteger: 'Long',\n float: 'Float',\n decimal: 'Float',\n json: 'JSON',\n date: 'Date',\n time: 'Time',\n datetime: 'DateTime',\n timestamp: 'DateTime',\n} as const;\n\nconst GENERIC_MORPH_TYPENAME = 'GenericMorph';\n\nconst KINDS = {\n type: 'type',\n component: 'component',\n dynamicZone: 'dynamic-zone',\n enum: 'enum',\n entity: 'entity',\n entityResponse: 'entity-response',\n entityResponseCollection: 'entity-response-collection',\n relationResponseCollection: 'relation-response-collection',\n query: 'query',\n mutation: 'mutation',\n input: 'input',\n filtersInput: 'filters-input',\n scalar: 'scalar',\n morph: 'polymorphic',\n internal: 'internal',\n} as const;\n\nconst allOperators = [\n 'and',\n 'or',\n 'not',\n\n 'eq',\n 'eqi',\n 'ne',\n 'nei',\n\n 'startsWith',\n 'endsWith',\n\n 'contains',\n 'notContains',\n\n 'containsi',\n 'notContainsi',\n\n 'gt',\n 'gte',\n\n 'lt',\n 'lte',\n\n 'null',\n 'notNull',\n\n 'in',\n 'notIn',\n\n 'between',\n] as const;\n\nconst GRAPHQL_SCALAR_OPERATORS = {\n // ID\n ID: allOperators,\n // Booleans\n Boolean: allOperators,\n // Strings\n String: allOperators,\n // Numbers\n Int: allOperators,\n Long: allOperators,\n Float: allOperators,\n // Dates\n Date: allOperators,\n Time: allOperators,\n DateTime: allOperators,\n // Others\n JSON: allOperators,\n} as const;\n\nconst ERROR_CODES = {\n emptyDynamicZone: 'dynamiczone.empty',\n} as const;\n\nexport type Constants = {\n PAGINATION_TYPE_NAME: string;\n RESPONSE_COLLECTION_META_TYPE_NAME: string;\n PUBLICATION_STATE_TYPE_NAME: string;\n GRAPHQL_SCALARS: string[];\n STRAPI_SCALARS: string[];\n GENERIC_MORPH_TYPENAME: string;\n KINDS: typeof KINDS;\n GRAPHQL_SCALAR_OPERATORS: typeof GRAPHQL_SCALAR_OPERATORS;\n SCALARS_ASSOCIATIONS: typeof SCALARS_ASSOCIATIONS;\n ERROR_CODES: typeof ERROR_CODES;\n ERROR_TYPE_NAME: string;\n};\n\nexport default () => ({\n PAGINATION_TYPE_NAME,\n RESPONSE_COLLECTION_META_TYPE_NAME,\n DELETE_MUTATION_RESPONSE_TYPE_NAME,\n PUBLICATION_STATUS_TYPE_NAME,\n PUBLICATION_FILTER_TYPE_NAME,\n GRAPHQL_SCALARS,\n STRAPI_SCALARS,\n GENERIC_MORPH_TYPENAME,\n KINDS,\n GRAPHQL_SCALAR_OPERATORS,\n SCALARS_ASSOCIATIONS,\n ERROR_CODES,\n ERROR_TYPE_NAME,\n});\n"],"names":["PAGINATION_TYPE_NAME","DELETE_MUTATION_RESPONSE_TYPE_NAME","PUBLICATION_STATUS_TYPE_NAME","PUBLICATION_FILTER_TYPE_NAME","ERROR_TYPE_NAME","RESPONSE_COLLECTION_META_TYPE_NAME","GRAPHQL_SCALARS","STRAPI_SCALARS","SCALARS_ASSOCIATIONS","uid","email","password","text","boolean","integer","string","enumeration","richtext","blocks","biginteger","float","decimal","json","date","time","datetime","timestamp","GENERIC_MORPH_TYPENAME","KINDS","type","component","dynamicZone","enum","entity","entityResponse","entityResponseCollection","relationResponseCollection","query","mutation","input","filtersInput","scalar","morph","internal","allOperators","GRAPHQL_SCALAR_OPERATORS","ID","Boolean","String","Int","Long","Float","Date","Time","DateTime","JSON","ERROR_CODES","emptyDynamicZone"],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const PAGINATION_TYPE_NAME = 'Pagination';
|
|
2
|
+
const DELETE_MUTATION_RESPONSE_TYPE_NAME = 'DeleteMutationResponse';
|
|
3
|
+
const PUBLICATION_STATUS_TYPE_NAME = 'PublicationStatus';
|
|
4
|
+
const PUBLICATION_FILTER_TYPE_NAME = 'PublicationFilter';
|
|
5
|
+
const ERROR_TYPE_NAME = 'Error';
|
|
6
|
+
const RESPONSE_COLLECTION_META_TYPE_NAME = 'ResponseCollectionMeta';
|
|
7
|
+
const GRAPHQL_SCALARS = [
|
|
8
|
+
'ID',
|
|
9
|
+
'Boolean',
|
|
10
|
+
'Int',
|
|
11
|
+
'String',
|
|
12
|
+
'Long',
|
|
13
|
+
'Float',
|
|
14
|
+
'JSON',
|
|
15
|
+
'Date',
|
|
16
|
+
'Time',
|
|
17
|
+
'DateTime'
|
|
18
|
+
];
|
|
19
|
+
const STRAPI_SCALARS = [
|
|
20
|
+
'boolean',
|
|
21
|
+
'integer',
|
|
22
|
+
'string',
|
|
23
|
+
'richtext',
|
|
24
|
+
'blocks',
|
|
25
|
+
'enumeration',
|
|
26
|
+
'biginteger',
|
|
27
|
+
'float',
|
|
28
|
+
'decimal',
|
|
29
|
+
'json',
|
|
30
|
+
'date',
|
|
31
|
+
'time',
|
|
32
|
+
'datetime',
|
|
33
|
+
'timestamp',
|
|
34
|
+
'uid',
|
|
35
|
+
'email',
|
|
36
|
+
'password',
|
|
37
|
+
'text'
|
|
38
|
+
];
|
|
39
|
+
const SCALARS_ASSOCIATIONS = {
|
|
40
|
+
uid: 'String',
|
|
41
|
+
email: 'String',
|
|
42
|
+
password: 'String',
|
|
43
|
+
text: 'String',
|
|
44
|
+
boolean: 'Boolean',
|
|
45
|
+
integer: 'Int',
|
|
46
|
+
string: 'String',
|
|
47
|
+
enumeration: 'String',
|
|
48
|
+
richtext: 'String',
|
|
49
|
+
blocks: 'JSON',
|
|
50
|
+
biginteger: 'Long',
|
|
51
|
+
float: 'Float',
|
|
52
|
+
decimal: 'Float',
|
|
53
|
+
json: 'JSON',
|
|
54
|
+
date: 'Date',
|
|
55
|
+
time: 'Time',
|
|
56
|
+
datetime: 'DateTime',
|
|
57
|
+
timestamp: 'DateTime'
|
|
58
|
+
};
|
|
59
|
+
const GENERIC_MORPH_TYPENAME = 'GenericMorph';
|
|
60
|
+
const KINDS = {
|
|
61
|
+
type: 'type',
|
|
62
|
+
component: 'component',
|
|
63
|
+
dynamicZone: 'dynamic-zone',
|
|
64
|
+
enum: 'enum',
|
|
65
|
+
entity: 'entity',
|
|
66
|
+
entityResponse: 'entity-response',
|
|
67
|
+
entityResponseCollection: 'entity-response-collection',
|
|
68
|
+
relationResponseCollection: 'relation-response-collection',
|
|
69
|
+
query: 'query',
|
|
70
|
+
mutation: 'mutation',
|
|
71
|
+
input: 'input',
|
|
72
|
+
filtersInput: 'filters-input',
|
|
73
|
+
scalar: 'scalar',
|
|
74
|
+
morph: 'polymorphic',
|
|
75
|
+
internal: 'internal'
|
|
76
|
+
};
|
|
77
|
+
const allOperators = [
|
|
78
|
+
'and',
|
|
79
|
+
'or',
|
|
80
|
+
'not',
|
|
81
|
+
'eq',
|
|
82
|
+
'eqi',
|
|
83
|
+
'ne',
|
|
84
|
+
'nei',
|
|
85
|
+
'startsWith',
|
|
86
|
+
'endsWith',
|
|
87
|
+
'contains',
|
|
88
|
+
'notContains',
|
|
89
|
+
'containsi',
|
|
90
|
+
'notContainsi',
|
|
91
|
+
'gt',
|
|
92
|
+
'gte',
|
|
93
|
+
'lt',
|
|
94
|
+
'lte',
|
|
95
|
+
'null',
|
|
96
|
+
'notNull',
|
|
97
|
+
'in',
|
|
98
|
+
'notIn',
|
|
99
|
+
'between'
|
|
100
|
+
];
|
|
101
|
+
const GRAPHQL_SCALAR_OPERATORS = {
|
|
102
|
+
// ID
|
|
103
|
+
ID: allOperators,
|
|
104
|
+
// Booleans
|
|
105
|
+
Boolean: allOperators,
|
|
106
|
+
// Strings
|
|
107
|
+
String: allOperators,
|
|
108
|
+
// Numbers
|
|
109
|
+
Int: allOperators,
|
|
110
|
+
Long: allOperators,
|
|
111
|
+
Float: allOperators,
|
|
112
|
+
// Dates
|
|
113
|
+
Date: allOperators,
|
|
114
|
+
Time: allOperators,
|
|
115
|
+
DateTime: allOperators,
|
|
116
|
+
// Others
|
|
117
|
+
JSON: allOperators
|
|
118
|
+
};
|
|
119
|
+
const ERROR_CODES = {
|
|
120
|
+
emptyDynamicZone: 'dynamiczone.empty'
|
|
121
|
+
};
|
|
122
|
+
var constants = (()=>({
|
|
123
|
+
PAGINATION_TYPE_NAME,
|
|
124
|
+
RESPONSE_COLLECTION_META_TYPE_NAME,
|
|
125
|
+
DELETE_MUTATION_RESPONSE_TYPE_NAME,
|
|
126
|
+
PUBLICATION_STATUS_TYPE_NAME,
|
|
127
|
+
PUBLICATION_FILTER_TYPE_NAME,
|
|
128
|
+
GRAPHQL_SCALARS,
|
|
129
|
+
STRAPI_SCALARS,
|
|
130
|
+
GENERIC_MORPH_TYPENAME,
|
|
131
|
+
KINDS,
|
|
132
|
+
GRAPHQL_SCALAR_OPERATORS,
|
|
133
|
+
SCALARS_ASSOCIATIONS,
|
|
134
|
+
ERROR_CODES,
|
|
135
|
+
ERROR_TYPE_NAME
|
|
136
|
+
}));
|
|
137
|
+
|
|
138
|
+
export { constants as default };
|
|
139
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../server/src/services/constants.ts"],"sourcesContent":["const PAGINATION_TYPE_NAME = 'Pagination';\nconst DELETE_MUTATION_RESPONSE_TYPE_NAME = 'DeleteMutationResponse';\nconst PUBLICATION_STATUS_TYPE_NAME = 'PublicationStatus';\nconst PUBLICATION_FILTER_TYPE_NAME = 'PublicationFilter';\nconst ERROR_TYPE_NAME = 'Error';\n\nconst RESPONSE_COLLECTION_META_TYPE_NAME = 'ResponseCollectionMeta';\n\nconst GRAPHQL_SCALARS = [\n 'ID',\n 'Boolean',\n 'Int',\n 'String',\n 'Long',\n 'Float',\n 'JSON',\n 'Date',\n 'Time',\n 'DateTime',\n] as const;\n\nconst STRAPI_SCALARS = [\n 'boolean',\n 'integer',\n 'string',\n 'richtext',\n 'blocks',\n 'enumeration',\n 'biginteger',\n 'float',\n 'decimal',\n 'json',\n 'date',\n 'time',\n 'datetime',\n 'timestamp',\n 'uid',\n 'email',\n 'password',\n 'text',\n] as const;\n\nconst SCALARS_ASSOCIATIONS = {\n uid: 'String',\n email: 'String',\n password: 'String',\n text: 'String',\n boolean: 'Boolean',\n integer: 'Int',\n string: 'String',\n enumeration: 'String',\n richtext: 'String',\n blocks: 'JSON',\n biginteger: 'Long',\n float: 'Float',\n decimal: 'Float',\n json: 'JSON',\n date: 'Date',\n time: 'Time',\n datetime: 'DateTime',\n timestamp: 'DateTime',\n} as const;\n\nconst GENERIC_MORPH_TYPENAME = 'GenericMorph';\n\nconst KINDS = {\n type: 'type',\n component: 'component',\n dynamicZone: 'dynamic-zone',\n enum: 'enum',\n entity: 'entity',\n entityResponse: 'entity-response',\n entityResponseCollection: 'entity-response-collection',\n relationResponseCollection: 'relation-response-collection',\n query: 'query',\n mutation: 'mutation',\n input: 'input',\n filtersInput: 'filters-input',\n scalar: 'scalar',\n morph: 'polymorphic',\n internal: 'internal',\n} as const;\n\nconst allOperators = [\n 'and',\n 'or',\n 'not',\n\n 'eq',\n 'eqi',\n 'ne',\n 'nei',\n\n 'startsWith',\n 'endsWith',\n\n 'contains',\n 'notContains',\n\n 'containsi',\n 'notContainsi',\n\n 'gt',\n 'gte',\n\n 'lt',\n 'lte',\n\n 'null',\n 'notNull',\n\n 'in',\n 'notIn',\n\n 'between',\n] as const;\n\nconst GRAPHQL_SCALAR_OPERATORS = {\n // ID\n ID: allOperators,\n // Booleans\n Boolean: allOperators,\n // Strings\n String: allOperators,\n // Numbers\n Int: allOperators,\n Long: allOperators,\n Float: allOperators,\n // Dates\n Date: allOperators,\n Time: allOperators,\n DateTime: allOperators,\n // Others\n JSON: allOperators,\n} as const;\n\nconst ERROR_CODES = {\n emptyDynamicZone: 'dynamiczone.empty',\n} as const;\n\nexport type Constants = {\n PAGINATION_TYPE_NAME: string;\n RESPONSE_COLLECTION_META_TYPE_NAME: string;\n PUBLICATION_STATE_TYPE_NAME: string;\n GRAPHQL_SCALARS: string[];\n STRAPI_SCALARS: string[];\n GENERIC_MORPH_TYPENAME: string;\n KINDS: typeof KINDS;\n GRAPHQL_SCALAR_OPERATORS: typeof GRAPHQL_SCALAR_OPERATORS;\n SCALARS_ASSOCIATIONS: typeof SCALARS_ASSOCIATIONS;\n ERROR_CODES: typeof ERROR_CODES;\n ERROR_TYPE_NAME: string;\n};\n\nexport default () => ({\n PAGINATION_TYPE_NAME,\n RESPONSE_COLLECTION_META_TYPE_NAME,\n DELETE_MUTATION_RESPONSE_TYPE_NAME,\n PUBLICATION_STATUS_TYPE_NAME,\n PUBLICATION_FILTER_TYPE_NAME,\n GRAPHQL_SCALARS,\n STRAPI_SCALARS,\n GENERIC_MORPH_TYPENAME,\n KINDS,\n GRAPHQL_SCALAR_OPERATORS,\n SCALARS_ASSOCIATIONS,\n ERROR_CODES,\n ERROR_TYPE_NAME,\n});\n"],"names":["PAGINATION_TYPE_NAME","DELETE_MUTATION_RESPONSE_TYPE_NAME","PUBLICATION_STATUS_TYPE_NAME","PUBLICATION_FILTER_TYPE_NAME","ERROR_TYPE_NAME","RESPONSE_COLLECTION_META_TYPE_NAME","GRAPHQL_SCALARS","STRAPI_SCALARS","SCALARS_ASSOCIATIONS","uid","email","password","text","boolean","integer","string","enumeration","richtext","blocks","biginteger","float","decimal","json","date","time","datetime","timestamp","GENERIC_MORPH_TYPENAME","KINDS","type","component","dynamicZone","enum","entity","entityResponse","entityResponseCollection","relationResponseCollection","query","mutation","input","filtersInput","scalar","morph","internal","allOperators","GRAPHQL_SCALAR_OPERATORS","ID","Boolean","String","Int","Long","Float","Date","Time","DateTime","JSON","ERROR_CODES","emptyDynamicZone"],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@graphql-tools/utils');
|
|
4
|
+
var nexus = require('nexus');
|
|
5
|
+
var fp = require('lodash/fp');
|
|
6
|
+
var wrapResolvers = require('./wrap-resolvers.js');
|
|
7
|
+
var collectionType = require('./register-functions/collection-type.js');
|
|
8
|
+
var singleType = require('./register-functions/single-type.js');
|
|
9
|
+
var component = require('./register-functions/component.js');
|
|
10
|
+
var polymorphic = require('./register-functions/polymorphic.js');
|
|
11
|
+
var scalars = require('./register-functions/scalars.js');
|
|
12
|
+
var internals = require('./register-functions/internals.js');
|
|
13
|
+
var dynamicZones = require('./register-functions/dynamic-zones.js');
|
|
14
|
+
var enums = require('./register-functions/enums.js');
|
|
15
|
+
var inputs = require('./register-functions/inputs.js');
|
|
16
|
+
var filters = require('./register-functions/filters.js');
|
|
17
|
+
|
|
18
|
+
var contentAPI = (({ strapi })=>{
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
20
|
+
const { mergeSchemas, addResolversToSchema } = require('@graphql-tools/schema');
|
|
21
|
+
const { service: getGraphQLService } = strapi.plugin('graphql');
|
|
22
|
+
const { config } = strapi.plugin('graphql');
|
|
23
|
+
const { KINDS, GENERIC_MORPH_TYPENAME } = getGraphQLService('constants');
|
|
24
|
+
const extensionService = getGraphQLService('extension');
|
|
25
|
+
// Type Registry
|
|
26
|
+
let registry;
|
|
27
|
+
// Builders Instances
|
|
28
|
+
let builders;
|
|
29
|
+
// Cached set of built-in query fields (populated at bootstrap)
|
|
30
|
+
let builtInQueryFields = new Set();
|
|
31
|
+
const buildSchema = ()=>{
|
|
32
|
+
const isShadowCRUDEnabled = !!config('shadowCRUD');
|
|
33
|
+
// Create a new empty type registry
|
|
34
|
+
registry = getGraphQLService('type-registry').new();
|
|
35
|
+
// Reset the builders instances associated to the
|
|
36
|
+
// content-api, and link the new type registry
|
|
37
|
+
builders = getGraphQLService('builders').new('content-api', registry);
|
|
38
|
+
scalars.registerScalars({
|
|
39
|
+
registry,
|
|
40
|
+
strapi
|
|
41
|
+
});
|
|
42
|
+
internals.registerInternals({
|
|
43
|
+
registry,
|
|
44
|
+
strapi
|
|
45
|
+
});
|
|
46
|
+
if (isShadowCRUDEnabled) {
|
|
47
|
+
shadowCRUD();
|
|
48
|
+
}
|
|
49
|
+
// Build a merged schema from both Nexus types & SDL type definitions
|
|
50
|
+
const schema = buildMergedSchema({
|
|
51
|
+
registry
|
|
52
|
+
});
|
|
53
|
+
// Generate the extension configuration for the content API.
|
|
54
|
+
// This extension instance needs to be generated after the Nexus schema's
|
|
55
|
+
// generation, so that configurations created during types definitions
|
|
56
|
+
// can be registered before being used in the wrap resolvers operation
|
|
57
|
+
const extension = extensionService.generate({
|
|
58
|
+
typeRegistry: registry
|
|
59
|
+
});
|
|
60
|
+
// Add the extension's resolvers to the final schema
|
|
61
|
+
const schemaWithResolvers = addResolversToSchema({
|
|
62
|
+
schema,
|
|
63
|
+
resolvers: extension.resolvers
|
|
64
|
+
});
|
|
65
|
+
// Create a configuration object for the artifacts generation
|
|
66
|
+
const outputs = {
|
|
67
|
+
schema: config('artifacts.schema', false),
|
|
68
|
+
typegen: config('artifacts.typegen', false)
|
|
69
|
+
};
|
|
70
|
+
const currentEnv = strapi.config.get('environment');
|
|
71
|
+
const nexusSchema = nexus.makeSchema({
|
|
72
|
+
types: [],
|
|
73
|
+
// Build the schema from the merged GraphQL schema.
|
|
74
|
+
// Since we're passing the schema to the mergeSchema property, it'll transform our SDL type definitions
|
|
75
|
+
// into Nexus type definition, thus allowing them to be handled by Nexus plugins & other processing
|
|
76
|
+
mergeSchema: {
|
|
77
|
+
schema: schemaWithResolvers
|
|
78
|
+
},
|
|
79
|
+
// Apply user-defined plugins
|
|
80
|
+
plugins: extension.plugins,
|
|
81
|
+
// Whether to generate artifacts (GraphQL schema, TS types definitions) or not.
|
|
82
|
+
// By default, we generate artifacts only on development environment
|
|
83
|
+
shouldGenerateArtifacts: config('generateArtifacts', currentEnv === 'development'),
|
|
84
|
+
// Artifacts generation configuration
|
|
85
|
+
outputs
|
|
86
|
+
});
|
|
87
|
+
// Wrap resolvers if needed (auth, middlewares, policies...) as configured in the extension
|
|
88
|
+
const wrappedNexusSchema = wrapResolvers.wrapResolvers({
|
|
89
|
+
schema: nexusSchema,
|
|
90
|
+
strapi,
|
|
91
|
+
extension
|
|
92
|
+
});
|
|
93
|
+
// Prune schema, remove unused types
|
|
94
|
+
// eg: removes registered subscriptions if they're disabled in the config)
|
|
95
|
+
const prunedNexusSchema = utils.pruneSchema(wrappedNexusSchema);
|
|
96
|
+
// Populate builtInQueryFields set for use by resolvers to avoid runtime schema builds
|
|
97
|
+
try {
|
|
98
|
+
const queryType = prunedNexusSchema.getQueryType();
|
|
99
|
+
const fields = queryType ? Object.keys(queryType.getFields() || {}) : [];
|
|
100
|
+
builtInQueryFields = new Set(fields);
|
|
101
|
+
} catch (e) {
|
|
102
|
+
// ignore; leave set empty
|
|
103
|
+
}
|
|
104
|
+
return prunedNexusSchema;
|
|
105
|
+
};
|
|
106
|
+
const getBuiltInQueryFields = ()=>builtInQueryFields;
|
|
107
|
+
const isBuiltInQueryField = (fieldName)=>builtInQueryFields.has(fieldName) || fieldName.endsWith('_connection');
|
|
108
|
+
const buildMergedSchema = ({ registry })=>{
|
|
109
|
+
// Here we extract types, plugins & typeDefs from a temporary generated
|
|
110
|
+
// extension since there won't be any addition allowed after schemas generation
|
|
111
|
+
const { types, typeDefs = [] } = extensionService.generate({
|
|
112
|
+
typeRegistry: registry
|
|
113
|
+
});
|
|
114
|
+
// Nexus schema built with user-defined & shadow CRUD auto generated Nexus types
|
|
115
|
+
const nexusSchema = nexus.makeSchema({
|
|
116
|
+
types: [
|
|
117
|
+
registry.definitions,
|
|
118
|
+
types
|
|
119
|
+
]
|
|
120
|
+
});
|
|
121
|
+
// Merge type definitions with the Nexus schema
|
|
122
|
+
return mergeSchemas({
|
|
123
|
+
typeDefs,
|
|
124
|
+
// Give access to the shadowCRUD & nexus based types
|
|
125
|
+
// Note: This is necessary so that types defined in SDL can reference types defined with Nexus
|
|
126
|
+
schemas: [
|
|
127
|
+
nexusSchema
|
|
128
|
+
]
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
const shadowCRUD = ()=>{
|
|
132
|
+
const extensionService = getGraphQLService('extension');
|
|
133
|
+
// Get every content type & component defined in Strapi
|
|
134
|
+
const contentTypes = [
|
|
135
|
+
...Object.values(strapi.components),
|
|
136
|
+
...Object.values(strapi.contentTypes)
|
|
137
|
+
];
|
|
138
|
+
// Disable Shadow CRUD for admin content types
|
|
139
|
+
contentTypes.map(fp.prop('uid')).filter(fp.startsWith('admin::')).forEach((uid)=>extensionService.shadowCRUD(uid).disable());
|
|
140
|
+
const contentTypesWithShadowCRUD = contentTypes.filter((ct)=>extensionService.shadowCRUD(ct.uid).isEnabled());
|
|
141
|
+
// Generate and register definitions for every content type
|
|
142
|
+
registerAPITypes(contentTypesWithShadowCRUD);
|
|
143
|
+
// Generate and register polymorphic types' definitions
|
|
144
|
+
registerMorphTypes(contentTypesWithShadowCRUD);
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Register needed GraphQL types for every content type
|
|
148
|
+
* @param {object[]} contentTypes
|
|
149
|
+
*/ const registerAPITypes = (contentTypes)=>{
|
|
150
|
+
for (const contentType of contentTypes){
|
|
151
|
+
const { modelType } = contentType;
|
|
152
|
+
const registerOptions = {
|
|
153
|
+
registry,
|
|
154
|
+
strapi,
|
|
155
|
+
builders
|
|
156
|
+
};
|
|
157
|
+
// Generate various types associated to the content type
|
|
158
|
+
// (enums, dynamic-zones, filters, inputs...)
|
|
159
|
+
enums.registerEnumsDefinition(contentType, registerOptions);
|
|
160
|
+
dynamicZones.registerDynamicZonesDefinition(contentType, registerOptions);
|
|
161
|
+
filters.registerFiltersDefinition(contentType, registerOptions);
|
|
162
|
+
inputs.registerInputsDefinition(contentType, registerOptions);
|
|
163
|
+
// Generate & register component's definition
|
|
164
|
+
if (modelType === 'component') {
|
|
165
|
+
component.registerComponent(contentType, registerOptions);
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const { kind } = contentType;
|
|
169
|
+
// Generate & register single type's definition
|
|
170
|
+
if (kind === 'singleType') {
|
|
171
|
+
singleType.registerSingleType(contentType, registerOptions);
|
|
172
|
+
} else if (kind === 'collectionType') {
|
|
173
|
+
collectionType.registerCollectionType(contentType, registerOptions);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
const registerMorphTypes = (contentTypes)=>{
|
|
178
|
+
// Create & register a union type that includes every type or component registered
|
|
179
|
+
const genericMorphType = builders.buildGenericMorphDefinition();
|
|
180
|
+
registry.register(GENERIC_MORPH_TYPENAME, genericMorphType, {
|
|
181
|
+
kind: KINDS.morph
|
|
182
|
+
});
|
|
183
|
+
for (const contentType of contentTypes){
|
|
184
|
+
polymorphic.registerPolymorphicContentType(contentType, {
|
|
185
|
+
registry,
|
|
186
|
+
strapi
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
return {
|
|
191
|
+
buildSchema,
|
|
192
|
+
getBuiltInQueryFields,
|
|
193
|
+
isBuiltInQueryField
|
|
194
|
+
};
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
module.exports = contentAPI;
|
|
198
|
+
//# sourceMappingURL=index.js.map
|