@strapi/plugin-graphql 5.0.0-beta.0 → 5.0.0-beta.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.
Files changed (85) hide show
  1. package/dist/admin/index.js +7 -7
  2. package/dist/admin/index.mjs +7 -7
  3. package/dist/server/index.js +23 -26
  4. package/dist/server/index.js.map +1 -1
  5. package/dist/server/index.mjs +24 -27
  6. package/dist/server/index.mjs.map +1 -1
  7. package/dist/server/src/bootstrap.d.ts +2 -2
  8. package/dist/server/src/bootstrap.d.ts.map +1 -1
  9. package/dist/server/src/index.d.ts +42 -42
  10. package/dist/server/src/services/builders/dynamic-zones.d.ts +2 -6
  11. package/dist/server/src/services/builders/dynamic-zones.d.ts.map +1 -1
  12. package/dist/server/src/services/builders/filters/content-type.d.ts +2 -2
  13. package/dist/server/src/services/builders/filters/content-type.d.ts.map +1 -1
  14. package/dist/server/src/services/builders/filters/index.d.ts +1 -1
  15. package/dist/server/src/services/builders/filters/operators/eq.d.ts +2 -2
  16. package/dist/server/src/services/builders/filters/operators/eq.d.ts.map +1 -1
  17. package/dist/server/src/services/builders/filters/operators/index.d.ts +2 -2
  18. package/dist/server/src/services/builders/filters/operators/index.d.ts.map +1 -1
  19. package/dist/server/src/services/builders/filters/operators/not.d.ts +2 -2
  20. package/dist/server/src/services/builders/filters/operators/not.d.ts.map +1 -1
  21. package/dist/server/src/services/builders/index.d.ts +7 -7
  22. package/dist/server/src/services/builders/index.d.ts.map +1 -1
  23. package/dist/server/src/services/builders/input.d.ts +2 -2
  24. package/dist/server/src/services/builders/input.d.ts.map +1 -1
  25. package/dist/server/src/services/builders/mutations/collection-type.d.ts +2 -2
  26. package/dist/server/src/services/builders/mutations/collection-type.d.ts.map +1 -1
  27. package/dist/server/src/services/builders/mutations/index.d.ts +2 -2
  28. package/dist/server/src/services/builders/mutations/single-type.d.ts +2 -2
  29. package/dist/server/src/services/builders/mutations/single-type.d.ts.map +1 -1
  30. package/dist/server/src/services/builders/queries/collection-type.d.ts +2 -2
  31. package/dist/server/src/services/builders/queries/collection-type.d.ts.map +1 -1
  32. package/dist/server/src/services/builders/queries/index.d.ts +2 -2
  33. package/dist/server/src/services/builders/queries/single-type.d.ts +2 -2
  34. package/dist/server/src/services/builders/queries/single-type.d.ts.map +1 -1
  35. package/dist/server/src/services/builders/resolvers/association.d.ts +2 -2
  36. package/dist/server/src/services/builders/resolvers/association.d.ts.map +1 -1
  37. package/dist/server/src/services/builders/resolvers/component.d.ts +2 -2
  38. package/dist/server/src/services/builders/resolvers/component.d.ts.map +1 -1
  39. package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts +2 -2
  40. package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts.map +1 -1
  41. package/dist/server/src/services/builders/resolvers/index.d.ts +1 -1
  42. package/dist/server/src/services/builders/resolvers/pagination.d.ts.map +1 -1
  43. package/dist/server/src/services/builders/resolvers/query.d.ts.map +1 -1
  44. package/dist/server/src/services/builders/type.d.ts +2 -2
  45. package/dist/server/src/services/builders/type.d.ts.map +1 -1
  46. package/dist/server/src/services/builders/utils.d.ts +7 -7
  47. package/dist/server/src/services/builders/utils.d.ts.map +1 -1
  48. package/dist/server/src/services/content-api/index.d.ts +2 -2
  49. package/dist/server/src/services/content-api/index.d.ts.map +1 -1
  50. package/dist/server/src/services/content-api/policy.d.ts +2 -2
  51. package/dist/server/src/services/content-api/policy.d.ts.map +1 -1
  52. package/dist/server/src/services/content-api/register-functions/collection-type.d.ts +3 -3
  53. package/dist/server/src/services/content-api/register-functions/collection-type.d.ts.map +1 -1
  54. package/dist/server/src/services/content-api/register-functions/component.d.ts +3 -3
  55. package/dist/server/src/services/content-api/register-functions/component.d.ts.map +1 -1
  56. package/dist/server/src/services/content-api/register-functions/dynamic-zones.d.ts +3 -3
  57. package/dist/server/src/services/content-api/register-functions/dynamic-zones.d.ts.map +1 -1
  58. package/dist/server/src/services/content-api/register-functions/enums.d.ts +3 -3
  59. package/dist/server/src/services/content-api/register-functions/enums.d.ts.map +1 -1
  60. package/dist/server/src/services/content-api/register-functions/filters.d.ts +3 -3
  61. package/dist/server/src/services/content-api/register-functions/filters.d.ts.map +1 -1
  62. package/dist/server/src/services/content-api/register-functions/inputs.d.ts +4 -4
  63. package/dist/server/src/services/content-api/register-functions/inputs.d.ts.map +1 -1
  64. package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts +2 -2
  65. package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts.map +1 -1
  66. package/dist/server/src/services/content-api/register-functions/single-type.d.ts +3 -3
  67. package/dist/server/src/services/content-api/register-functions/single-type.d.ts.map +1 -1
  68. package/dist/server/src/services/content-api/wrap-resolvers.d.ts +2 -2
  69. package/dist/server/src/services/content-api/wrap-resolvers.d.ts.map +1 -1
  70. package/dist/server/src/services/extension/extension.d.ts +3 -3
  71. package/dist/server/src/services/extension/extension.d.ts.map +1 -1
  72. package/dist/server/src/services/index.d.ts +42 -42
  73. package/dist/server/src/services/types.d.ts +2 -2
  74. package/dist/server/src/services/types.d.ts.map +1 -1
  75. package/dist/server/src/services/utils/attributes.d.ts +4 -4
  76. package/dist/server/src/services/utils/attributes.d.ts.map +1 -1
  77. package/dist/server/src/services/utils/index.d.ts +34 -34
  78. package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts +7 -7
  79. package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts.map +1 -1
  80. package/dist/server/src/services/utils/mappers/graphql-filters-to-strapi-query.d.ts +2 -2
  81. package/dist/server/src/services/utils/mappers/graphql-filters-to-strapi-query.d.ts.map +1 -1
  82. package/dist/server/src/services/utils/mappers/index.d.ts +7 -7
  83. package/dist/server/src/services/utils/naming.d.ts +25 -25
  84. package/dist/server/src/services/utils/naming.d.ts.map +1 -1
  85. package/package.json +8 -8
@@ -5,7 +5,7 @@ import { koaMiddleware } from "@as-integrations/koa";
5
5
  import depthLimit from "graphql-depth-limit";
6
6
  import bodyParser from "koa-bodyparser";
7
7
  import cors from "@koa/cors";
8
- import { errors, policy, parseType, strings, contentTypes, sanitize, validate, async, pagination as pagination$1 } from "@strapi/utils";
8
+ import { errors, policy, parseType, strings, contentTypes, async, pagination as pagination$1 } from "@strapi/utils";
9
9
  import { unwrapResolverError } from "@apollo/server/errors";
10
10
  import { GraphQLError, GraphQLObjectType, GraphQLScalarType, Kind, valueFromASTUntyped } from "graphql";
11
11
  import { pruneSchema } from "@graphql-tools/utils";
@@ -136,9 +136,6 @@ async function bootstrap({ strapi: strapi2 }) {
136
136
  type: "content-api"
137
137
  }
138
138
  };
139
- if (ctx.request.method === "GET") {
140
- return next();
141
- }
142
139
  return strapi2.auth.authenticate(ctx, next);
143
140
  });
144
141
  handler.push(
@@ -168,7 +165,7 @@ const { PolicyError } = errors;
168
165
  const getPoliciesConfig = propOr([], "policies");
169
166
  const createPoliciesMiddleware = (resolverConfig, { strapi: strapi2 }) => {
170
167
  const resolverPolicies = getPoliciesConfig(resolverConfig);
171
- const policies = policy.resolve(resolverPolicies, {});
168
+ const policies = strapi2.get("policies").resolve(resolverPolicies, {});
172
169
  return async (resolve, parent, args2, context, info) => {
173
170
  const policyContext = createGraphQLPolicyContext(parent, args2, context, info);
174
171
  for (const { handler, config: config2 } of policies) {
@@ -1415,10 +1412,6 @@ const dynamicZone = ({ strapi: strapi2 }) => {
1415
1412
  return {
1416
1413
  /**
1417
1414
  * Build a Nexus dynamic zone type from a Strapi dz attribute
1418
- * @param {object} definition - The definition of the dynamic zone
1419
- * @param {string} name - the name of the dynamic zone
1420
- * @param {string} inputName - the name of the dynamic zone's input
1421
- * @return {[NexusUnionTypeDef, NexusScalarTypeDef]}
1422
1415
  */
1423
1416
  buildDynamicZoneDefinition(definition, name, inputName) {
1424
1417
  const { components } = definition;
@@ -2000,7 +1993,7 @@ const createCollectionTypeMutationsBuilder = ({ strapi: strapi2 }) => {
2000
1993
  },
2001
1994
  async resolve(parent, args22, context) {
2002
1995
  const { auth } = context.state;
2003
- const sanitizedInputData = await sanitize.contentAPI.input(args22.data, contentType2, {
1996
+ const sanitizedInputData = await strapi2.contentAPI.sanitize.input(args22.data, contentType2, {
2004
1997
  auth
2005
1998
  });
2006
1999
  return strapi2.documents(uid).create({
@@ -2029,7 +2022,7 @@ const createCollectionTypeMutationsBuilder = ({ strapi: strapi2 }) => {
2029
2022
  async resolve(parent, args22, context) {
2030
2023
  const { auth } = context.state;
2031
2024
  const { data, documentId, ...restParams } = args22;
2032
- const sanitizedInputData = await sanitize.contentAPI.input(data, contentType2, {
2025
+ const sanitizedInputData = await strapi2.contentAPI.sanitize.input(data, contentType2, {
2033
2026
  auth
2034
2027
  });
2035
2028
  return strapi2.documents(uid).update(documentId, {
@@ -2130,7 +2123,7 @@ const createSingleTypeMutationsBuilder = ({ strapi: strapi2 }) => {
2130
2123
  },
2131
2124
  async resolve(parent, args22, context) {
2132
2125
  const { auth } = context.state;
2133
- const sanitizedInputData = await sanitize.contentAPI.input(args22.data, contentType2, {
2126
+ const sanitizedInputData = await strapi2.contentAPI.sanitize.input(args22.data, contentType2, {
2134
2127
  auth
2135
2128
  });
2136
2129
  const document = await strapi2.db?.query(uid).findOne();
@@ -2408,12 +2401,16 @@ const associationResolvers = ({ strapi: strapi2 }) => {
2408
2401
  contentType: targetContentType,
2409
2402
  usePagination: true
2410
2403
  });
2411
- await validate.contentAPI.query(transformedArgs, targetContentType, {
2412
- auth
2413
- });
2414
- const sanitizedQuery = await sanitize.contentAPI.query(transformedArgs, targetContentType, {
2404
+ await strapi2.contentAPI.validate.query(transformedArgs, targetContentType, {
2415
2405
  auth
2416
2406
  });
2407
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(
2408
+ transformedArgs,
2409
+ targetContentType,
2410
+ {
2411
+ auth
2412
+ }
2413
+ );
2417
2414
  const data = await strapi2.db?.query(contentTypeUID).load(parent, attributeName, sanitizedQuery);
2418
2415
  const info = {
2419
2416
  args: sanitizedQuery,
@@ -2422,7 +2419,7 @@ const associationResolvers = ({ strapi: strapi2 }) => {
2422
2419
  if (isMorphAttribute) {
2423
2420
  const wrapData = (dataToWrap) => ({ [attributeName]: dataToWrap });
2424
2421
  const sanitizeData = (dataToSanitize) => {
2425
- return sanitize.contentAPI.output(dataToSanitize, contentType2, { auth });
2422
+ return strapi2.contentAPI.sanitize.output(dataToSanitize, contentType2, { auth });
2426
2423
  };
2427
2424
  const unwrapData = get(attributeName);
2428
2425
  const sanitizeMorphAttribute = async.pipe(wrapData, sanitizeData, unwrapData);
@@ -2441,28 +2438,28 @@ const queriesResolvers = ({ strapi: strapi2 }) => ({
2441
2438
  const { uid } = contentType2;
2442
2439
  return {
2443
2440
  async findMany(parent, args2, ctx) {
2444
- await validate.contentAPI.query(args2, contentType2, {
2441
+ await strapi2.contentAPI.validate.query(args2, contentType2, {
2445
2442
  auth: ctx?.state?.auth
2446
2443
  });
2447
- const sanitizedQuery = await sanitize.contentAPI.query(args2, contentType2, {
2444
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
2448
2445
  auth: ctx?.state?.auth
2449
2446
  });
2450
2447
  return strapi2.documents(uid).findMany({ status: "published", ...sanitizedQuery });
2451
2448
  },
2452
2449
  async findFirst(parent, args2, ctx) {
2453
- await validate.contentAPI.query(args2, contentType2, {
2450
+ await strapi2.contentAPI.validate.query(args2, contentType2, {
2454
2451
  auth: ctx?.state?.auth
2455
2452
  });
2456
- const sanitizedQuery = await sanitize.contentAPI.query(args2, contentType2, {
2453
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
2457
2454
  auth: ctx?.state?.auth
2458
2455
  });
2459
2456
  return strapi2.documents(uid).findFirst({ status: "published", ...sanitizedQuery });
2460
2457
  },
2461
2458
  async findOne(parent, args2, ctx) {
2462
- await validate.contentAPI.query(args2, contentType2, {
2459
+ await strapi2.contentAPI.validate.query(args2, contentType2, {
2463
2460
  auth: ctx?.state?.auth
2464
2461
  });
2465
- const sanitizedQuery = await sanitize.contentAPI.query(args2, contentType2, {
2462
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
2466
2463
  auth: ctx?.state?.auth
2467
2464
  });
2468
2465
  return strapi2.documents(uid).findOne(args2.documentId, {
@@ -2484,10 +2481,10 @@ const componentResolvers = ({ strapi: strapi2 }) => ({
2484
2481
  const { component: componentName } = contentType2.attributes[attributeName];
2485
2482
  const component = strapi2.getModel(componentName);
2486
2483
  const transformedArgs = transformArgs(args2, { contentType: component, usePagination: true });
2487
- await validate.contentAPI.query(transformedArgs, component, {
2484
+ await strapi2.contentAPI.validate.query(transformedArgs, component, {
2488
2485
  auth: ctx?.state?.auth
2489
2486
  });
2490
- const sanitizedQuery = await sanitize.contentAPI.query(transformedArgs, component, {
2487
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(transformedArgs, component, {
2491
2488
  auth: ctx?.state?.auth
2492
2489
  });
2493
2490
  return strapi2.db?.query(contentTypeUID).load(parent, attributeName, sanitizedQuery);
@@ -2510,10 +2507,10 @@ const paginationResolvers = ({ strapi: strapi2 }) => ({
2510
2507
  const { start, limit } = args2;
2511
2508
  const safeLimit = Math.max(limit, 1);
2512
2509
  const contentType2 = strapi2.getModel(resourceUID);
2513
- await validate.contentAPI.query(args2, contentType2, {
2510
+ await strapi2.contentAPI.validate.query(args2, contentType2, {
2514
2511
  auth: ctx?.state?.auth
2515
2512
  });
2516
- const sanitizedQuery = await sanitize.contentAPI.query(args2, contentType2, {
2513
+ const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
2517
2514
  auth: ctx?.state?.auth
2518
2515
  });
2519
2516
  const total = await strapi2.documents(resourceUID).count(sanitizedQuery);