@payloadcms/graphql 3.0.0-beta.10 → 3.0.0-beta.12
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/resolvers/collections/count.d.ts +13 -0
- package/dist/resolvers/collections/count.d.ts.map +1 -0
- package/dist/resolvers/collections/count.js +22 -0
- package/dist/resolvers/collections/count.js.map +1 -0
- package/dist/schema/initCollections.d.ts.map +1 -1
- package/dist/schema/initCollections.js +25 -0
- package/dist/schema/initCollections.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +0 -126
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PayloadRequest, Where } from 'payload/types';
|
|
2
|
+
import type { Collection } from 'payload/types';
|
|
3
|
+
export type Resolver = (_: unknown, args: {
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
locale?: string;
|
|
6
|
+
where?: Where;
|
|
7
|
+
}, context: {
|
|
8
|
+
req: PayloadRequest;
|
|
9
|
+
}) => Promise<{
|
|
10
|
+
totalDocs: number;
|
|
11
|
+
}>;
|
|
12
|
+
export default function countResolver(collection: Collection): Resolver;
|
|
13
|
+
//# sourceMappingURL=count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../src/resolvers/collections/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,MAAM,MAAM,QAAQ,GAAG,CACrB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;CACpB,KAEE,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEnC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAmBtE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { countOperation } from 'payload/operations';
|
|
2
|
+
import { isolateObjectProperty } from 'payload/utilities';
|
|
3
|
+
export default function countResolver(collection) {
|
|
4
|
+
return async function resolver(_, args, context) {
|
|
5
|
+
let { req } = context;
|
|
6
|
+
const locale = req.locale;
|
|
7
|
+
const fallbackLocale = req.fallbackLocale;
|
|
8
|
+
req = isolateObjectProperty(req, 'locale');
|
|
9
|
+
req = isolateObjectProperty(req, 'fallbackLocale');
|
|
10
|
+
req.locale = args.locale || locale;
|
|
11
|
+
req.fallbackLocale = fallbackLocale;
|
|
12
|
+
const options = {
|
|
13
|
+
collection,
|
|
14
|
+
req: isolateObjectProperty(req, 'transactionID'),
|
|
15
|
+
where: args.where
|
|
16
|
+
};
|
|
17
|
+
const results = await countOperation(options);
|
|
18
|
+
return results;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resolvers/collections/count.ts"],"sourcesContent":["import type { PayloadRequest, Where } from 'payload/types'\nimport type { Collection } from 'payload/types'\n\nimport { countOperation } from 'payload/operations'\nimport { isolateObjectProperty } from 'payload/utilities'\n\nimport type { Context } from '../types.js'\n\nexport type Resolver = (\n _: unknown,\n args: {\n data: Record<string, unknown>\n locale?: string\n where?: Where\n },\n context: {\n req: PayloadRequest\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => Promise<{ totalDocs: number }>\n\nexport default function countResolver(collection: Collection): Resolver {\n return async function resolver(_, args, context: Context) {\n let { req } = context\n const locale = req.locale\n const fallbackLocale = req.fallbackLocale\n req = isolateObjectProperty(req, 'locale')\n req = isolateObjectProperty(req, 'fallbackLocale')\n req.locale = args.locale || locale\n req.fallbackLocale = fallbackLocale\n\n const options = {\n collection,\n req: isolateObjectProperty(req, 'transactionID'),\n where: args.where,\n }\n\n const results = await countOperation(options)\n return results\n }\n}\n"],"names":["countOperation","isolateObjectProperty","countResolver","collection","resolver","_","args","context","req","locale","fallbackLocale","options","where","results"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,cAAc,QAAQ,qBAAoB;AACnD,SAASC,qBAAqB,QAAQ,oBAAmB;AAiBzD,eAAe,SAASC,cAAcC,UAAsB;IAC1D,OAAO,eAAeC,SAASC,CAAC,EAAEC,IAAI,EAAEC,OAAgB;QACtD,IAAI,EAAEC,GAAG,EAAE,GAAGD;QACd,MAAME,SAASD,IAAIC,MAAM;QACzB,MAAMC,iBAAiBF,IAAIE,cAAc;QACzCF,MAAMP,sBAAsBO,KAAK;QACjCA,MAAMP,sBAAsBO,KAAK;QACjCA,IAAIC,MAAM,GAAGH,KAAKG,MAAM,IAAIA;QAC5BD,IAAIE,cAAc,GAAGA;QAErB,MAAMC,UAAU;YACdR;YACAK,KAAKP,sBAAsBO,KAAK;YAChCI,OAAON,KAAKM,KAAK;QACnB;QAEA,MAAMC,UAAU,MAAMb,eAAeW;QACrC,OAAOE;IACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAgD,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAgD,eAAe,EAAE,MAAM,eAAe,CAAA;AA0ClG,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,iBAAS,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,0BAA0B,GAAG,IAAI,CA4b3F;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -11,6 +11,7 @@ import refresh from '../resolvers/auth/refresh.js';
|
|
|
11
11
|
import resetPassword from '../resolvers/auth/resetPassword.js';
|
|
12
12
|
import unlock from '../resolvers/auth/unlock.js';
|
|
13
13
|
import verifyEmail from '../resolvers/auth/verifyEmail.js';
|
|
14
|
+
import countResolver from '../resolvers/collections/count.js';
|
|
14
15
|
import createResolver from '../resolvers/collections/create.js';
|
|
15
16
|
import getDeleteResolver from '../resolvers/collections/delete.js';
|
|
16
17
|
import { docAccessResolver } from '../resolvers/collections/docAccess.js';
|
|
@@ -162,6 +163,30 @@ function initCollectionsGraphQL({ config, graphqlResult }) {
|
|
|
162
163
|
},
|
|
163
164
|
resolve: findResolver(collection)
|
|
164
165
|
};
|
|
166
|
+
graphqlResult.Query.fields[`count${pluralName}`] = {
|
|
167
|
+
type: new GraphQLObjectType({
|
|
168
|
+
name: `count${pluralName}`,
|
|
169
|
+
fields: {
|
|
170
|
+
totalDocs: {
|
|
171
|
+
type: GraphQLInt
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}),
|
|
175
|
+
args: {
|
|
176
|
+
draft: {
|
|
177
|
+
type: GraphQLBoolean
|
|
178
|
+
},
|
|
179
|
+
where: {
|
|
180
|
+
type: collection.graphQL.whereInputType
|
|
181
|
+
},
|
|
182
|
+
...config.localization ? {
|
|
183
|
+
locale: {
|
|
184
|
+
type: graphqlResult.types.localeInputType
|
|
185
|
+
}
|
|
186
|
+
} : {}
|
|
187
|
+
},
|
|
188
|
+
resolve: countResolver(collection)
|
|
189
|
+
};
|
|
165
190
|
graphqlResult.Query.fields[`docAccess${singularName}`] = {
|
|
166
191
|
type: buildPolicyType({
|
|
167
192
|
type: 'collection',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/initCollections.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { GraphQLInfo } from 'payload/config'\nimport type { Collection, Field, SanitizedCollectionConfig, SanitizedConfig } from 'payload/types'\n\nimport {\n GraphQLBoolean,\n GraphQLInt,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n} from 'graphql'\nimport { fieldAffectsData } from 'payload/types'\nimport { flattenTopLevelFields, formatNames, toWords } from 'payload/utilities'\nimport { buildVersionCollectionFields } from 'payload/versions'\n\nimport type { ObjectTypeConfig } from './buildObjectType.js'\n\nimport forgotPassword from '../resolvers/auth/forgotPassword.js'\nimport init from '../resolvers/auth/init.js'\nimport login from '../resolvers/auth/login.js'\nimport logout from '../resolvers/auth/logout.js'\nimport me from '../resolvers/auth/me.js'\nimport refresh from '../resolvers/auth/refresh.js'\nimport resetPassword from '../resolvers/auth/resetPassword.js'\nimport unlock from '../resolvers/auth/unlock.js'\nimport verifyEmail from '../resolvers/auth/verifyEmail.js'\nimport createResolver from '../resolvers/collections/create.js'\nimport getDeleteResolver from '../resolvers/collections/delete.js'\nimport { docAccessResolver } from '../resolvers/collections/docAccess.js'\nimport duplicateResolver from '../resolvers/collections/duplicate.js'\nimport findResolver from '../resolvers/collections/find.js'\nimport findByIDResolver from '../resolvers/collections/findByID.js'\nimport findVersionByIDResolver from '../resolvers/collections/findVersionByID.js'\nimport findVersionsResolver from '../resolvers/collections/findVersions.js'\nimport restoreVersionResolver from '../resolvers/collections/restoreVersion.js'\nimport updateResolver from '../resolvers/collections/update.js'\nimport formatName from '../utilities/formatName.js'\nimport { buildMutationInputType, getCollectionIDType } from './buildMutationInputType.js'\nimport buildObjectType from './buildObjectType.js'\nimport buildPaginatedListType from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport buildWhereInputType from './buildWhereInputType.js'\n\ntype InitCollectionsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nfunction initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQLArgs): void {\n Object.keys(graphqlResult.collections).forEach((slug) => {\n const collection: Collection = graphqlResult.collections[slug]\n const {\n config: collectionConfig,\n config: { fields, graphQL = {} as SanitizedCollectionConfig['graphQL'], versions },\n } = collection\n\n if (!graphQL) return\n\n let singularName\n let pluralName\n const fromSlug = formatNames(collection.config.slug)\n if (graphQL.singularName) {\n singularName = toWords(graphQL.singularName, true)\n } else {\n singularName = fromSlug.singular\n }\n if (graphQL.pluralName) {\n pluralName = toWords(graphQL.pluralName, true)\n } else {\n pluralName = fromSlug.plural\n }\n\n // For collections named 'Media' or similar,\n // there is a possibility that the singular name\n // will equal the plural name. Append `all` to the beginning\n // of potential conflicts\n if (singularName === pluralName) {\n pluralName = `all${singularName}`\n }\n\n collection.graphQL = {} as Collection['graphQL']\n\n const hasIDField =\n flattenTopLevelFields(fields).findIndex(\n (field) => fieldAffectsData(field) && field.name === 'id',\n ) > -1\n\n const idType = getCollectionIDType(config.db.defaultIDType, collectionConfig)\n\n const baseFields: ObjectTypeConfig = {}\n\n const whereInputFields = [...fields]\n\n if (!hasIDField) {\n baseFields.id = { type: idType }\n whereInputFields.push({\n name: 'id',\n type: config.db.defaultIDType as 'text',\n })\n }\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n collection.graphQL.type = buildObjectType({\n name: singularName,\n baseFields,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: singularName,\n })\n\n collection.graphQL.paginatedType = buildPaginatedListType(pluralName, collection.graphQL.type)\n\n collection.graphQL.whereInputType = buildWhereInputType({\n name: singularName,\n fields: whereInputFields,\n parentName: singularName,\n })\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n fields.push({\n name: 'password',\n type: 'text',\n label: 'Password',\n required: true,\n })\n }\n\n const createMutationInputType = buildMutationInputType({\n name: singularName,\n config,\n fields,\n graphqlResult,\n parentName: singularName,\n })\n if (createMutationInputType) {\n collection.graphQL.mutationInputType = new GraphQLNonNull(createMutationInputType)\n }\n\n const updateMutationInputType = buildMutationInputType({\n name: `${singularName}Update`,\n config,\n fields: fields.filter((field) => !(fieldAffectsData(field) && field.name === 'id')),\n forceNullable: true,\n graphqlResult,\n parentName: `${singularName}Update`,\n })\n if (updateMutationInputType) {\n collection.graphQL.updateMutationInputType = new GraphQLNonNull(updateMutationInputType)\n }\n\n graphqlResult.Query.fields[singularName] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findByIDResolver(collection),\n }\n\n graphqlResult.Query.fields[pluralName] = {\n type: buildPaginatedListType(pluralName, collection.graphQL.type),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findResolver(collection),\n }\n\n graphqlResult.Query.fields[`docAccess${singularName}`] = {\n type: buildPolicyType({\n type: 'collection',\n entity: collectionConfig,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: docAccessResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`create${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: createResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`update${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n autosave: { type: GraphQLBoolean },\n ...(updateMutationInputType\n ? { data: { type: collection.graphQL.updateMutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`delete${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: getDeleteResolver(collection),\n }\n\n if (collectionConfig.disableDuplicate !== true) {\n graphqlResult.Mutation.fields[`duplicate${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: duplicateResolver(collection),\n }\n }\n\n if (collectionConfig.versions) {\n const versionIDType = config.db.defaultIDType === 'text' ? GraphQLString : GraphQLInt\n const versionCollectionFields: Field[] = [\n ...buildVersionCollectionFields(collectionConfig),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n collection.graphQL.versionType = buildObjectType({\n name: `${singularName}Version`,\n config,\n fields: versionCollectionFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${singularName}Version`,\n })\n\n graphqlResult.Query.fields[`version${formatName(singularName)}`] = {\n type: collection.graphQL.versionType,\n args: {\n id: { type: versionIDType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(collection),\n }\n graphqlResult.Query.fields[`versions${pluralName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(pluralName)}`,\n collection.graphQL.versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${singularName}`,\n fields: versionCollectionFields,\n parentName: `versions${singularName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(collection),\n }\n graphqlResult.Mutation.fields[`restoreVersion${formatName(singularName)}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: versionIDType },\n },\n resolve: restoreVersionResolver(collection),\n }\n }\n\n if (collectionConfig.auth) {\n const authFields: Field[] = collectionConfig.auth.disableLocalStrategy\n ? []\n : [\n {\n name: 'email',\n type: 'email',\n required: true,\n },\n ]\n collection.graphQL.JWT = buildObjectType({\n name: formatName(`${slug}JWT`),\n config,\n fields: [\n ...collectionConfig.fields.filter((field) => fieldAffectsData(field) && field.saveToJWT),\n ...authFields,\n {\n name: 'collection',\n type: 'text',\n required: true,\n },\n ],\n graphqlResult,\n parentName: formatName(`${slug}JWT`),\n })\n\n graphqlResult.Query.fields[`me${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Me`),\n fields: {\n collection: {\n type: GraphQLString,\n },\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n resolve: me(collection),\n }\n\n graphqlResult.Query.fields[`initialized${singularName}`] = {\n type: GraphQLBoolean,\n resolve: init(collection.config.slug),\n }\n\n graphqlResult.Mutation.fields[`refreshToken${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Refreshed${singularName}`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n refreshedToken: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.JWT,\n },\n },\n }),\n args: {\n token: { type: GraphQLString },\n },\n resolve: refresh(collection),\n }\n\n graphqlResult.Mutation.fields[`logout${singularName}`] = {\n type: GraphQLString,\n resolve: logout(collection),\n }\n\n if (!collectionConfig.auth.disableLocalStrategy) {\n if (collectionConfig.auth.maxLoginAttempts > 0) {\n graphqlResult.Mutation.fields[`unlock${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n email: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: unlock(collection),\n }\n }\n\n graphqlResult.Mutation.fields[`login${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}LoginResult`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n args: {\n email: { type: GraphQLString },\n password: { type: GraphQLString },\n },\n resolve: login(collection),\n }\n\n graphqlResult.Mutation.fields[`forgotPassword${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n disableEmail: { type: GraphQLBoolean },\n email: { type: new GraphQLNonNull(GraphQLString) },\n expiration: { type: GraphQLInt },\n },\n resolve: forgotPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`resetPassword${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}ResetPassword`),\n fields: {\n token: { type: GraphQLString },\n user: { type: collection.graphQL.type },\n },\n }),\n args: {\n password: { type: GraphQLString },\n token: { type: GraphQLString },\n },\n resolve: resetPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`verifyEmail${singularName}`] = {\n type: GraphQLBoolean,\n args: {\n token: { type: GraphQLString },\n },\n resolve: verifyEmail(collection),\n }\n }\n }\n })\n}\n\nexport default initCollectionsGraphQL\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLObjectType","GraphQLString","fieldAffectsData","flattenTopLevelFields","formatNames","toWords","buildVersionCollectionFields","forgotPassword","init","login","logout","me","refresh","resetPassword","unlock","verifyEmail","createResolver","getDeleteResolver","docAccessResolver","duplicateResolver","findResolver","findByIDResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","getCollectionIDType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initCollectionsGraphQL","config","graphqlResult","Object","keys","collections","forEach","slug","collection","collectionConfig","fields","graphQL","versions","singularName","pluralName","fromSlug","singular","plural","hasIDField","findIndex","field","name","idType","db","defaultIDType","baseFields","whereInputFields","id","type","push","forceNullableObjectType","Boolean","drafts","forceNullable","parentName","paginatedType","whereInputType","auth","disableLocalStrategy","label","required","createMutationInputType","mutationInputType","updateMutationInputType","filter","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","where","limit","page","sort","entity","scope","typeSuffix","Mutation","data","autosave","disableDuplicate","versionIDType","versionCollectionFields","versionType","authFields","JWT","saveToJWT","exp","token","user","refreshedToken","maxLoginAttempts","email","password","disableEmail","expiration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/schema/initCollections.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { GraphQLInfo } from 'payload/config'\nimport type { Collection, Field, SanitizedCollectionConfig, SanitizedConfig } from 'payload/types'\n\nimport {\n GraphQLBoolean,\n GraphQLInt,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n} from 'graphql'\nimport { fieldAffectsData } from 'payload/types'\nimport { flattenTopLevelFields, formatNames, toWords } from 'payload/utilities'\nimport { buildVersionCollectionFields } from 'payload/versions'\n\nimport type { ObjectTypeConfig } from './buildObjectType.js'\n\nimport forgotPassword from '../resolvers/auth/forgotPassword.js'\nimport init from '../resolvers/auth/init.js'\nimport login from '../resolvers/auth/login.js'\nimport logout from '../resolvers/auth/logout.js'\nimport me from '../resolvers/auth/me.js'\nimport refresh from '../resolvers/auth/refresh.js'\nimport resetPassword from '../resolvers/auth/resetPassword.js'\nimport unlock from '../resolvers/auth/unlock.js'\nimport verifyEmail from '../resolvers/auth/verifyEmail.js'\nimport countResolver from '../resolvers/collections/count.js'\nimport createResolver from '../resolvers/collections/create.js'\nimport getDeleteResolver from '../resolvers/collections/delete.js'\nimport { docAccessResolver } from '../resolvers/collections/docAccess.js'\nimport duplicateResolver from '../resolvers/collections/duplicate.js'\nimport findResolver from '../resolvers/collections/find.js'\nimport findByIDResolver from '../resolvers/collections/findByID.js'\nimport findVersionByIDResolver from '../resolvers/collections/findVersionByID.js'\nimport findVersionsResolver from '../resolvers/collections/findVersions.js'\nimport restoreVersionResolver from '../resolvers/collections/restoreVersion.js'\nimport updateResolver from '../resolvers/collections/update.js'\nimport formatName from '../utilities/formatName.js'\nimport { buildMutationInputType, getCollectionIDType } from './buildMutationInputType.js'\nimport buildObjectType from './buildObjectType.js'\nimport buildPaginatedListType from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport buildWhereInputType from './buildWhereInputType.js'\n\ntype InitCollectionsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nfunction initCollectionsGraphQL({ config, graphqlResult }: InitCollectionsGraphQLArgs): void {\n Object.keys(graphqlResult.collections).forEach((slug) => {\n const collection: Collection = graphqlResult.collections[slug]\n const {\n config: collectionConfig,\n config: { fields, graphQL = {} as SanitizedCollectionConfig['graphQL'], versions },\n } = collection\n\n if (!graphQL) return\n\n let singularName\n let pluralName\n const fromSlug = formatNames(collection.config.slug)\n if (graphQL.singularName) {\n singularName = toWords(graphQL.singularName, true)\n } else {\n singularName = fromSlug.singular\n }\n if (graphQL.pluralName) {\n pluralName = toWords(graphQL.pluralName, true)\n } else {\n pluralName = fromSlug.plural\n }\n\n // For collections named 'Media' or similar,\n // there is a possibility that the singular name\n // will equal the plural name. Append `all` to the beginning\n // of potential conflicts\n if (singularName === pluralName) {\n pluralName = `all${singularName}`\n }\n\n collection.graphQL = {} as Collection['graphQL']\n\n const hasIDField =\n flattenTopLevelFields(fields).findIndex(\n (field) => fieldAffectsData(field) && field.name === 'id',\n ) > -1\n\n const idType = getCollectionIDType(config.db.defaultIDType, collectionConfig)\n\n const baseFields: ObjectTypeConfig = {}\n\n const whereInputFields = [...fields]\n\n if (!hasIDField) {\n baseFields.id = { type: idType }\n whereInputFields.push({\n name: 'id',\n type: config.db.defaultIDType as 'text',\n })\n }\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n collection.graphQL.type = buildObjectType({\n name: singularName,\n baseFields,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: singularName,\n })\n\n collection.graphQL.paginatedType = buildPaginatedListType(pluralName, collection.graphQL.type)\n\n collection.graphQL.whereInputType = buildWhereInputType({\n name: singularName,\n fields: whereInputFields,\n parentName: singularName,\n })\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n fields.push({\n name: 'password',\n type: 'text',\n label: 'Password',\n required: true,\n })\n }\n\n const createMutationInputType = buildMutationInputType({\n name: singularName,\n config,\n fields,\n graphqlResult,\n parentName: singularName,\n })\n if (createMutationInputType) {\n collection.graphQL.mutationInputType = new GraphQLNonNull(createMutationInputType)\n }\n\n const updateMutationInputType = buildMutationInputType({\n name: `${singularName}Update`,\n config,\n fields: fields.filter((field) => !(fieldAffectsData(field) && field.name === 'id')),\n forceNullable: true,\n graphqlResult,\n parentName: `${singularName}Update`,\n })\n if (updateMutationInputType) {\n collection.graphQL.updateMutationInputType = new GraphQLNonNull(updateMutationInputType)\n }\n\n graphqlResult.Query.fields[singularName] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findByIDResolver(collection),\n }\n\n graphqlResult.Query.fields[pluralName] = {\n type: buildPaginatedListType(pluralName, collection.graphQL.type),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findResolver(collection),\n }\n\n graphqlResult.Query.fields[`count${pluralName}`] = {\n type: new GraphQLObjectType({\n name: `count${pluralName}`,\n fields: {\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: countResolver(collection),\n }\n\n graphqlResult.Query.fields[`docAccess${singularName}`] = {\n type: buildPolicyType({\n type: 'collection',\n entity: collectionConfig,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: docAccessResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`create${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: createResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`update${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n autosave: { type: GraphQLBoolean },\n ...(updateMutationInputType\n ? { data: { type: collection.graphQL.updateMutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`delete${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: getDeleteResolver(collection),\n }\n\n if (collectionConfig.disableDuplicate !== true) {\n graphqlResult.Mutation.fields[`duplicate${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: duplicateResolver(collection),\n }\n }\n\n if (collectionConfig.versions) {\n const versionIDType = config.db.defaultIDType === 'text' ? GraphQLString : GraphQLInt\n const versionCollectionFields: Field[] = [\n ...buildVersionCollectionFields(collectionConfig),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n collection.graphQL.versionType = buildObjectType({\n name: `${singularName}Version`,\n config,\n fields: versionCollectionFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${singularName}Version`,\n })\n\n graphqlResult.Query.fields[`version${formatName(singularName)}`] = {\n type: collection.graphQL.versionType,\n args: {\n id: { type: versionIDType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(collection),\n }\n graphqlResult.Query.fields[`versions${pluralName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(pluralName)}`,\n collection.graphQL.versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${singularName}`,\n fields: versionCollectionFields,\n parentName: `versions${singularName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(collection),\n }\n graphqlResult.Mutation.fields[`restoreVersion${formatName(singularName)}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: versionIDType },\n },\n resolve: restoreVersionResolver(collection),\n }\n }\n\n if (collectionConfig.auth) {\n const authFields: Field[] = collectionConfig.auth.disableLocalStrategy\n ? []\n : [\n {\n name: 'email',\n type: 'email',\n required: true,\n },\n ]\n collection.graphQL.JWT = buildObjectType({\n name: formatName(`${slug}JWT`),\n config,\n fields: [\n ...collectionConfig.fields.filter((field) => fieldAffectsData(field) && field.saveToJWT),\n ...authFields,\n {\n name: 'collection',\n type: 'text',\n required: true,\n },\n ],\n graphqlResult,\n parentName: formatName(`${slug}JWT`),\n })\n\n graphqlResult.Query.fields[`me${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Me`),\n fields: {\n collection: {\n type: GraphQLString,\n },\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n resolve: me(collection),\n }\n\n graphqlResult.Query.fields[`initialized${singularName}`] = {\n type: GraphQLBoolean,\n resolve: init(collection.config.slug),\n }\n\n graphqlResult.Mutation.fields[`refreshToken${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Refreshed${singularName}`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n refreshedToken: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.JWT,\n },\n },\n }),\n args: {\n token: { type: GraphQLString },\n },\n resolve: refresh(collection),\n }\n\n graphqlResult.Mutation.fields[`logout${singularName}`] = {\n type: GraphQLString,\n resolve: logout(collection),\n }\n\n if (!collectionConfig.auth.disableLocalStrategy) {\n if (collectionConfig.auth.maxLoginAttempts > 0) {\n graphqlResult.Mutation.fields[`unlock${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n email: { type: new GraphQLNonNull(GraphQLString) },\n },\n resolve: unlock(collection),\n }\n }\n\n graphqlResult.Mutation.fields[`login${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}LoginResult`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n args: {\n email: { type: GraphQLString },\n password: { type: GraphQLString },\n },\n resolve: login(collection),\n }\n\n graphqlResult.Mutation.fields[`forgotPassword${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n disableEmail: { type: GraphQLBoolean },\n email: { type: new GraphQLNonNull(GraphQLString) },\n expiration: { type: GraphQLInt },\n },\n resolve: forgotPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`resetPassword${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}ResetPassword`),\n fields: {\n token: { type: GraphQLString },\n user: { type: collection.graphQL.type },\n },\n }),\n args: {\n password: { type: GraphQLString },\n token: { type: GraphQLString },\n },\n resolve: resetPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`verifyEmail${singularName}`] = {\n type: GraphQLBoolean,\n args: {\n token: { type: GraphQLString },\n },\n resolve: verifyEmail(collection),\n }\n }\n }\n })\n}\n\nexport default initCollectionsGraphQL\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLObjectType","GraphQLString","fieldAffectsData","flattenTopLevelFields","formatNames","toWords","buildVersionCollectionFields","forgotPassword","init","login","logout","me","refresh","resetPassword","unlock","verifyEmail","countResolver","createResolver","getDeleteResolver","docAccessResolver","duplicateResolver","findResolver","findByIDResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","getCollectionIDType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initCollectionsGraphQL","config","graphqlResult","Object","keys","collections","forEach","slug","collection","collectionConfig","fields","graphQL","versions","singularName","pluralName","fromSlug","singular","plural","hasIDField","findIndex","field","name","idType","db","defaultIDType","baseFields","whereInputFields","id","type","push","forceNullableObjectType","Boolean","drafts","forceNullable","parentName","paginatedType","whereInputType","auth","disableLocalStrategy","label","required","createMutationInputType","mutationInputType","updateMutationInputType","filter","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","where","limit","page","sort","totalDocs","entity","scope","typeSuffix","Mutation","data","autosave","disableDuplicate","versionIDType","versionCollectionFields","versionType","authFields","JWT","saveToJWT","exp","token","user","refreshedToken","maxLoginAttempts","email","password","disableEmail","expiration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/graphql",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.12",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@types/pluralize": "^0.0.33",
|
|
22
22
|
"ts-essentials": "7.0.3",
|
|
23
23
|
"@payloadcms/eslint-config": "1.1.1",
|
|
24
|
-
"payload": "3.0.0-beta.
|
|
24
|
+
"payload": "3.0.0-beta.12"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"graphql": "16.8.1",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"pluralize": "8.0.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"payload": "3.0.0-beta.
|
|
36
|
+
"payload": "3.0.0-beta.12"
|
|
37
37
|
},
|
|
38
38
|
"files": [
|
|
39
39
|
"dist"
|
package/src/index.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-param-reassign */
|
|
2
|
-
import type { OperationArgs } from 'graphql-http'
|
|
3
|
-
import type { GraphQLInfo } from 'payload/config'
|
|
4
|
-
import type { SanitizedConfig } from 'payload/types'
|
|
5
|
-
|
|
6
|
-
import * as GraphQL from 'graphql'
|
|
7
|
-
import {
|
|
8
|
-
createComplexityRule,
|
|
9
|
-
fieldExtensionsEstimator,
|
|
10
|
-
simpleEstimator,
|
|
11
|
-
} from 'graphql-query-complexity'
|
|
12
|
-
|
|
13
|
-
import accessResolver from './resolvers/auth/access.js'
|
|
14
|
-
import buildFallbackLocaleInputType from './schema/buildFallbackLocaleInputType.js'
|
|
15
|
-
import buildLocaleInputType from './schema/buildLocaleInputType.js'
|
|
16
|
-
import buildPoliciesType from './schema/buildPoliciesType.js'
|
|
17
|
-
import initCollections from './schema/initCollections.js'
|
|
18
|
-
import initGlobals from './schema/initGlobals.js'
|
|
19
|
-
import { wrapCustomFields } from './utilities/wrapCustomResolver.js'
|
|
20
|
-
|
|
21
|
-
export async function configToSchema(config: SanitizedConfig): Promise<{
|
|
22
|
-
schema: GraphQL.GraphQLSchema
|
|
23
|
-
validationRules: (args: OperationArgs<any>) => GraphQL.ValidationRule[]
|
|
24
|
-
}> {
|
|
25
|
-
const collections = config.collections.reduce((acc, collection) => {
|
|
26
|
-
acc[collection.slug] = {
|
|
27
|
-
config: collection,
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return acc
|
|
31
|
-
}, {})
|
|
32
|
-
|
|
33
|
-
const globals = {
|
|
34
|
-
config: config.globals,
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const graphqlResult: GraphQLInfo = {
|
|
38
|
-
Mutation: {
|
|
39
|
-
name: 'Mutation',
|
|
40
|
-
fields: {},
|
|
41
|
-
},
|
|
42
|
-
Query: {
|
|
43
|
-
name: 'Query',
|
|
44
|
-
fields: {},
|
|
45
|
-
},
|
|
46
|
-
collections,
|
|
47
|
-
globals,
|
|
48
|
-
types: {
|
|
49
|
-
arrayTypes: {},
|
|
50
|
-
blockInputTypes: {},
|
|
51
|
-
blockTypes: {},
|
|
52
|
-
groupTypes: {},
|
|
53
|
-
tabTypes: {},
|
|
54
|
-
},
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (config.localization) {
|
|
58
|
-
graphqlResult.types['localeInputType'] = buildLocaleInputType(config.localization)
|
|
59
|
-
graphqlResult.types['fallbackLocaleInputType'] = buildFallbackLocaleInputType(
|
|
60
|
-
config.localization,
|
|
61
|
-
)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
initCollections({ config, graphqlResult })
|
|
65
|
-
initGlobals({ config, graphqlResult })
|
|
66
|
-
|
|
67
|
-
graphqlResult.Query.fields['Access'] = {
|
|
68
|
-
type: buildPoliciesType(config),
|
|
69
|
-
resolve: accessResolver(config),
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (typeof config.graphQL.queries === 'function') {
|
|
73
|
-
const customQueries = config.graphQL.queries(GraphQL, {
|
|
74
|
-
...graphqlResult,
|
|
75
|
-
config,
|
|
76
|
-
})
|
|
77
|
-
graphqlResult.Query = {
|
|
78
|
-
...graphqlResult.Query,
|
|
79
|
-
fields: {
|
|
80
|
-
...graphqlResult.Query.fields,
|
|
81
|
-
...wrapCustomFields((customQueries || {}) as never),
|
|
82
|
-
},
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (typeof config.graphQL.mutations === 'function') {
|
|
87
|
-
const customMutations = config.graphQL.mutations(GraphQL, {
|
|
88
|
-
...graphqlResult,
|
|
89
|
-
config,
|
|
90
|
-
})
|
|
91
|
-
graphqlResult.Mutation = {
|
|
92
|
-
...graphqlResult.Mutation,
|
|
93
|
-
fields: {
|
|
94
|
-
...graphqlResult.Mutation.fields,
|
|
95
|
-
...wrapCustomFields((customMutations || {}) as never),
|
|
96
|
-
},
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const query = new GraphQL.GraphQLObjectType(graphqlResult.Query)
|
|
101
|
-
const mutation = new GraphQL.GraphQLObjectType(graphqlResult.Mutation)
|
|
102
|
-
|
|
103
|
-
const schemaToCreate = {
|
|
104
|
-
mutation,
|
|
105
|
-
query,
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const schema = new GraphQL.GraphQLSchema(schemaToCreate)
|
|
109
|
-
|
|
110
|
-
const validationRules = (args) => [
|
|
111
|
-
createComplexityRule({
|
|
112
|
-
estimators: [
|
|
113
|
-
fieldExtensionsEstimator(),
|
|
114
|
-
simpleEstimator({ defaultComplexity: 1 }), // Fallback if complexity not set
|
|
115
|
-
],
|
|
116
|
-
maximumComplexity: config.graphQL.maxComplexity,
|
|
117
|
-
variables: args.variableValues,
|
|
118
|
-
// onComplete: (complexity) => { console.log('Query Complexity:', complexity); },
|
|
119
|
-
}),
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
return {
|
|
123
|
-
schema,
|
|
124
|
-
validationRules,
|
|
125
|
-
}
|
|
126
|
-
}
|