@strapi/plugin-graphql 5.0.0-beta.0 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.js +7 -7
- package/dist/admin/index.mjs +7 -7
- package/dist/server/index.js +23 -23
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +24 -24
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts +2 -2
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +42 -42
- package/dist/server/src/services/builders/dynamic-zones.d.ts +2 -6
- package/dist/server/src/services/builders/dynamic-zones.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/content-type.d.ts +2 -2
- package/dist/server/src/services/builders/filters/content-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/index.d.ts +1 -1
- package/dist/server/src/services/builders/filters/operators/eq.d.ts +2 -2
- package/dist/server/src/services/builders/filters/operators/eq.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/index.d.ts +2 -2
- package/dist/server/src/services/builders/filters/operators/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/filters/operators/not.d.ts +2 -2
- package/dist/server/src/services/builders/filters/operators/not.d.ts.map +1 -1
- package/dist/server/src/services/builders/index.d.ts +7 -7
- package/dist/server/src/services/builders/index.d.ts.map +1 -1
- package/dist/server/src/services/builders/input.d.ts +2 -2
- package/dist/server/src/services/builders/input.d.ts.map +1 -1
- package/dist/server/src/services/builders/mutations/collection-type.d.ts +2 -2
- package/dist/server/src/services/builders/mutations/collection-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/mutations/index.d.ts +2 -2
- package/dist/server/src/services/builders/mutations/single-type.d.ts +2 -2
- 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 +2 -2
- package/dist/server/src/services/builders/queries/collection-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/queries/index.d.ts +2 -2
- package/dist/server/src/services/builders/queries/single-type.d.ts +2 -2
- package/dist/server/src/services/builders/queries/single-type.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/association.d.ts +2 -2
- package/dist/server/src/services/builders/resolvers/association.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/component.d.ts +2 -2
- package/dist/server/src/services/builders/resolvers/component.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts +2 -2
- package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts.map +1 -1
- package/dist/server/src/services/builders/resolvers/index.d.ts +1 -1
- 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/type.d.ts +2 -2
- package/dist/server/src/services/builders/type.d.ts.map +1 -1
- package/dist/server/src/services/builders/utils.d.ts +7 -7
- package/dist/server/src/services/builders/utils.d.ts.map +1 -1
- package/dist/server/src/services/content-api/index.d.ts +2 -2
- package/dist/server/src/services/content-api/index.d.ts.map +1 -1
- package/dist/server/src/services/content-api/policy.d.ts +2 -2
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- package/dist/server/src/services/content-api/register-functions/inputs.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts +2 -2
- package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts.map +1 -1
- package/dist/server/src/services/content-api/register-functions/single-type.d.ts +3 -3
- 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 +2 -2
- package/dist/server/src/services/content-api/wrap-resolvers.d.ts.map +1 -1
- package/dist/server/src/services/extension/extension.d.ts +3 -3
- package/dist/server/src/services/extension/extension.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +42 -42
- package/dist/server/src/services/types.d.ts +2 -2
- package/dist/server/src/services/types.d.ts.map +1 -1
- package/dist/server/src/services/utils/attributes.d.ts +4 -4
- package/dist/server/src/services/utils/attributes.d.ts.map +1 -1
- package/dist/server/src/services/utils/index.d.ts +34 -34
- package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts +7 -7
- 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 +2 -2
- package/dist/server/src/services/utils/mappers/graphql-filters-to-strapi-query.d.ts.map +1 -1
- package/dist/server/src/services/utils/mappers/index.d.ts +7 -7
- package/dist/server/src/services/utils/naming.d.ts +25 -25
- package/dist/server/src/services/utils/naming.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/server/index.mjs
CHANGED
|
@@ -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,
|
|
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";
|
|
@@ -168,7 +168,7 @@ const { PolicyError } = errors;
|
|
|
168
168
|
const getPoliciesConfig = propOr([], "policies");
|
|
169
169
|
const createPoliciesMiddleware = (resolverConfig, { strapi: strapi2 }) => {
|
|
170
170
|
const resolverPolicies = getPoliciesConfig(resolverConfig);
|
|
171
|
-
const policies =
|
|
171
|
+
const policies = strapi2.get("policies").resolve(resolverPolicies, {});
|
|
172
172
|
return async (resolve, parent, args2, context, info) => {
|
|
173
173
|
const policyContext = createGraphQLPolicyContext(parent, args2, context, info);
|
|
174
174
|
for (const { handler, config: config2 } of policies) {
|
|
@@ -1415,10 +1415,6 @@ const dynamicZone = ({ strapi: strapi2 }) => {
|
|
|
1415
1415
|
return {
|
|
1416
1416
|
/**
|
|
1417
1417
|
* 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
1418
|
*/
|
|
1423
1419
|
buildDynamicZoneDefinition(definition, name, inputName) {
|
|
1424
1420
|
const { components } = definition;
|
|
@@ -2000,7 +1996,7 @@ const createCollectionTypeMutationsBuilder = ({ strapi: strapi2 }) => {
|
|
|
2000
1996
|
},
|
|
2001
1997
|
async resolve(parent, args22, context) {
|
|
2002
1998
|
const { auth } = context.state;
|
|
2003
|
-
const sanitizedInputData = await
|
|
1999
|
+
const sanitizedInputData = await strapi2.contentAPI.sanitize.input(args22.data, contentType2, {
|
|
2004
2000
|
auth
|
|
2005
2001
|
});
|
|
2006
2002
|
return strapi2.documents(uid).create({
|
|
@@ -2029,7 +2025,7 @@ const createCollectionTypeMutationsBuilder = ({ strapi: strapi2 }) => {
|
|
|
2029
2025
|
async resolve(parent, args22, context) {
|
|
2030
2026
|
const { auth } = context.state;
|
|
2031
2027
|
const { data, documentId, ...restParams } = args22;
|
|
2032
|
-
const sanitizedInputData = await
|
|
2028
|
+
const sanitizedInputData = await strapi2.contentAPI.sanitize.input(data, contentType2, {
|
|
2033
2029
|
auth
|
|
2034
2030
|
});
|
|
2035
2031
|
return strapi2.documents(uid).update(documentId, {
|
|
@@ -2130,7 +2126,7 @@ const createSingleTypeMutationsBuilder = ({ strapi: strapi2 }) => {
|
|
|
2130
2126
|
},
|
|
2131
2127
|
async resolve(parent, args22, context) {
|
|
2132
2128
|
const { auth } = context.state;
|
|
2133
|
-
const sanitizedInputData = await
|
|
2129
|
+
const sanitizedInputData = await strapi2.contentAPI.sanitize.input(args22.data, contentType2, {
|
|
2134
2130
|
auth
|
|
2135
2131
|
});
|
|
2136
2132
|
const document = await strapi2.db?.query(uid).findOne();
|
|
@@ -2408,12 +2404,16 @@ const associationResolvers = ({ strapi: strapi2 }) => {
|
|
|
2408
2404
|
contentType: targetContentType,
|
|
2409
2405
|
usePagination: true
|
|
2410
2406
|
});
|
|
2411
|
-
await
|
|
2412
|
-
auth
|
|
2413
|
-
});
|
|
2414
|
-
const sanitizedQuery = await sanitize.contentAPI.query(transformedArgs, targetContentType, {
|
|
2407
|
+
await strapi2.contentAPI.validate.query(transformedArgs, targetContentType, {
|
|
2415
2408
|
auth
|
|
2416
2409
|
});
|
|
2410
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(
|
|
2411
|
+
transformedArgs,
|
|
2412
|
+
targetContentType,
|
|
2413
|
+
{
|
|
2414
|
+
auth
|
|
2415
|
+
}
|
|
2416
|
+
);
|
|
2417
2417
|
const data = await strapi2.db?.query(contentTypeUID).load(parent, attributeName, sanitizedQuery);
|
|
2418
2418
|
const info = {
|
|
2419
2419
|
args: sanitizedQuery,
|
|
@@ -2422,7 +2422,7 @@ const associationResolvers = ({ strapi: strapi2 }) => {
|
|
|
2422
2422
|
if (isMorphAttribute) {
|
|
2423
2423
|
const wrapData = (dataToWrap) => ({ [attributeName]: dataToWrap });
|
|
2424
2424
|
const sanitizeData = (dataToSanitize) => {
|
|
2425
|
-
return
|
|
2425
|
+
return strapi2.contentAPI.sanitize.output(dataToSanitize, contentType2, { auth });
|
|
2426
2426
|
};
|
|
2427
2427
|
const unwrapData = get(attributeName);
|
|
2428
2428
|
const sanitizeMorphAttribute = async.pipe(wrapData, sanitizeData, unwrapData);
|
|
@@ -2441,28 +2441,28 @@ const queriesResolvers = ({ strapi: strapi2 }) => ({
|
|
|
2441
2441
|
const { uid } = contentType2;
|
|
2442
2442
|
return {
|
|
2443
2443
|
async findMany(parent, args2, ctx) {
|
|
2444
|
-
await
|
|
2444
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2445
2445
|
auth: ctx?.state?.auth
|
|
2446
2446
|
});
|
|
2447
|
-
const sanitizedQuery = await
|
|
2447
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
|
|
2448
2448
|
auth: ctx?.state?.auth
|
|
2449
2449
|
});
|
|
2450
2450
|
return strapi2.documents(uid).findMany({ status: "published", ...sanitizedQuery });
|
|
2451
2451
|
},
|
|
2452
2452
|
async findFirst(parent, args2, ctx) {
|
|
2453
|
-
await
|
|
2453
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2454
2454
|
auth: ctx?.state?.auth
|
|
2455
2455
|
});
|
|
2456
|
-
const sanitizedQuery = await
|
|
2456
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
|
|
2457
2457
|
auth: ctx?.state?.auth
|
|
2458
2458
|
});
|
|
2459
2459
|
return strapi2.documents(uid).findFirst({ status: "published", ...sanitizedQuery });
|
|
2460
2460
|
},
|
|
2461
2461
|
async findOne(parent, args2, ctx) {
|
|
2462
|
-
await
|
|
2462
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2463
2463
|
auth: ctx?.state?.auth
|
|
2464
2464
|
});
|
|
2465
|
-
const sanitizedQuery = await
|
|
2465
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
|
|
2466
2466
|
auth: ctx?.state?.auth
|
|
2467
2467
|
});
|
|
2468
2468
|
return strapi2.documents(uid).findOne(args2.documentId, {
|
|
@@ -2484,10 +2484,10 @@ const componentResolvers = ({ strapi: strapi2 }) => ({
|
|
|
2484
2484
|
const { component: componentName } = contentType2.attributes[attributeName];
|
|
2485
2485
|
const component = strapi2.getModel(componentName);
|
|
2486
2486
|
const transformedArgs = transformArgs(args2, { contentType: component, usePagination: true });
|
|
2487
|
-
await
|
|
2487
|
+
await strapi2.contentAPI.validate.query(transformedArgs, component, {
|
|
2488
2488
|
auth: ctx?.state?.auth
|
|
2489
2489
|
});
|
|
2490
|
-
const sanitizedQuery = await
|
|
2490
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(transformedArgs, component, {
|
|
2491
2491
|
auth: ctx?.state?.auth
|
|
2492
2492
|
});
|
|
2493
2493
|
return strapi2.db?.query(contentTypeUID).load(parent, attributeName, sanitizedQuery);
|
|
@@ -2510,10 +2510,10 @@ const paginationResolvers = ({ strapi: strapi2 }) => ({
|
|
|
2510
2510
|
const { start, limit } = args2;
|
|
2511
2511
|
const safeLimit = Math.max(limit, 1);
|
|
2512
2512
|
const contentType2 = strapi2.getModel(resourceUID);
|
|
2513
|
-
await
|
|
2513
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2514
2514
|
auth: ctx?.state?.auth
|
|
2515
2515
|
});
|
|
2516
|
-
const sanitizedQuery = await
|
|
2516
|
+
const sanitizedQuery = await strapi2.contentAPI.sanitize.query(args2, contentType2, {
|
|
2517
2517
|
auth: ctx?.state?.auth
|
|
2518
2518
|
});
|
|
2519
2519
|
const total = await strapi2.documents(resourceUID).count(sanitizedQuery);
|