@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.
- package/dist/admin/index.js +7 -7
- package/dist/admin/index.mjs +7 -7
- package/dist/server/index.js +23 -26
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +24 -27
- 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";
|
|
@@ -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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2441
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2445
2442
|
auth: ctx?.state?.auth
|
|
2446
2443
|
});
|
|
2447
|
-
const sanitizedQuery = await
|
|
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
|
|
2450
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2454
2451
|
auth: ctx?.state?.auth
|
|
2455
2452
|
});
|
|
2456
|
-
const sanitizedQuery = await
|
|
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
|
|
2459
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2463
2460
|
auth: ctx?.state?.auth
|
|
2464
2461
|
});
|
|
2465
|
-
const sanitizedQuery = await
|
|
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
|
|
2484
|
+
await strapi2.contentAPI.validate.query(transformedArgs, component, {
|
|
2488
2485
|
auth: ctx?.state?.auth
|
|
2489
2486
|
});
|
|
2490
|
-
const sanitizedQuery = await
|
|
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
|
|
2510
|
+
await strapi2.contentAPI.validate.query(args2, contentType2, {
|
|
2514
2511
|
auth: ctx?.state?.auth
|
|
2515
2512
|
});
|
|
2516
|
-
const sanitizedQuery = await
|
|
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);
|