@payloadcms/graphql 3.24.0-canary.d22403c → 3.24.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../src/schema/buildObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAQV,KAAK,EACL,WAAW,EAWX,eAAe,EAMhB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAOL,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAchB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAe,EACf,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,EAAE,IAAI,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../src/schema/buildObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAQV,KAAK,EACL,WAAW,EAWX,eAAe,EAMhB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAOL,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAchB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAe,EACf,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,EAAE,IAAI,GAAG,iBAAiB,CAk3B1B"}
|
|
@@ -190,7 +190,7 @@ export function buildObjectType({ name, baseFields = {}, config, fields, forceNu
|
|
|
190
190
|
name: joinName,
|
|
191
191
|
fields: {
|
|
192
192
|
docs: {
|
|
193
|
-
type: new GraphQLList(graphqlResult.collections[field.collection].graphQL.type)
|
|
193
|
+
type: Array.isArray(field.collection) ? GraphQLJSON : new GraphQLList(graphqlResult.collections[field.collection].graphQL.type)
|
|
194
194
|
},
|
|
195
195
|
hasNextPage: {
|
|
196
196
|
type: GraphQLBoolean
|
|
@@ -201,11 +201,14 @@ export function buildObjectType({ name, baseFields = {}, config, fields, forceNu
|
|
|
201
201
|
limit: {
|
|
202
202
|
type: GraphQLInt
|
|
203
203
|
},
|
|
204
|
+
page: {
|
|
205
|
+
type: GraphQLInt
|
|
206
|
+
},
|
|
204
207
|
sort: {
|
|
205
208
|
type: GraphQLString
|
|
206
209
|
},
|
|
207
210
|
where: {
|
|
208
|
-
type: graphqlResult.collections[field.collection].graphQL.whereInputType
|
|
211
|
+
type: Array.isArray(field.collection) ? GraphQLJSON : graphqlResult.collections[field.collection].graphQL.whereInputType
|
|
209
212
|
}
|
|
210
213
|
},
|
|
211
214
|
extensions: {
|
|
@@ -213,13 +216,16 @@ export function buildObjectType({ name, baseFields = {}, config, fields, forceNu
|
|
|
213
216
|
},
|
|
214
217
|
async resolve (parent, args, context) {
|
|
215
218
|
const { collection } = field;
|
|
216
|
-
const { limit, sort, where } = args;
|
|
219
|
+
const { limit, page, sort, where } = args;
|
|
217
220
|
const { req } = context;
|
|
218
221
|
const fullWhere = combineQueries(where, {
|
|
219
222
|
[field.on]: {
|
|
220
223
|
equals: parent._id ?? parent.id
|
|
221
224
|
}
|
|
222
225
|
});
|
|
226
|
+
if (Array.isArray(collection)) {
|
|
227
|
+
throw new Error('GraphQL with array of join.field.collection is not implemented');
|
|
228
|
+
}
|
|
223
229
|
return await req.payload.find({
|
|
224
230
|
collection,
|
|
225
231
|
depth: 0,
|
|
@@ -227,6 +233,7 @@ export function buildObjectType({ name, baseFields = {}, config, fields, forceNu
|
|
|
227
233
|
limit,
|
|
228
234
|
locale: req.locale,
|
|
229
235
|
overrideAccess: false,
|
|
236
|
+
page,
|
|
230
237
|
req,
|
|
231
238
|
sort,
|
|
232
239
|
where: fullWhere
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["import type { GraphQLFieldConfig, GraphQLType } from 'graphql'\nimport type {\n ArrayField,\n BlocksField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n GraphQLInfo,\n GroupField,\n JoinField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextAdapter,\n RichTextField,\n RowField,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n GraphQLUnionType,\n} from 'graphql'\nimport { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars'\nimport { combineQueries, createDataloaderCacheKey, MissingEditorProp, toWords } from 'payload'\nimport { tabHasName } from 'payload/shared'\n\nimport type { Context } from '../resolvers/types.js'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { formatOptions } from '../utilities/formatOptions.js'\nimport { isFieldNullable } from './isFieldNullable.js'\nimport { withNullableType } from './withNullableType.js'\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentIsLocalized?: boolean\n parentName: string\n}\n\nexport function buildObjectType({\n name,\n baseFields = {},\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: Args): GraphQLObjectType {\n const fieldToSchemaMap = {\n array: (objectTypeConfig: ObjectTypeConfig, field: ArrayField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable({ field, forceNullable, parentIsLocalized }),\n graphqlResult,\n parentIsLocalized: field.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.arrayTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n const arrayType = new GraphQLList(\n new GraphQLNonNull(graphqlResult.types.arrayTypes[interfaceName]),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType({ type: arrayType, field, parentIsLocalized }) },\n }\n },\n blocks: (objectTypeConfig: ObjectTypeConfig, field: BlocksField) => {\n const blockTypes: GraphQLObjectType<any, any>[] = (\n field.blockReferences ?? field.blocks\n ).reduce((acc, _block) => {\n const blockSlug = typeof _block === 'string' ? _block : _block.slug\n if (!graphqlResult.types.blockTypes[blockSlug]) {\n // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks\n const block =\n typeof _block === 'string' ? config.blocks.find((b) => b.slug === _block) : _block\n\n const interfaceName =\n block?.interfaceName || block?.graphQL?.singularName || toWords(block.slug, true)\n\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: [\n ...block.fields,\n {\n name: 'blockType',\n type: 'text',\n },\n ],\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.blockTypes[block.slug] = objectType\n }\n }\n\n if (graphqlResult.types.blockTypes[blockSlug]) {\n acc.push(graphqlResult.types.blockTypes[blockSlug])\n }\n\n return acc\n }, [])\n\n if (blockTypes.length === 0) {\n return objectTypeConfig\n }\n\n const fullName = combineParentName(parentName, toWords(field.name, true))\n\n const type = new GraphQLList(\n new GraphQLNonNull(\n new GraphQLUnionType({\n name: fullName,\n resolveType: (data) => graphqlResult.types.blockTypes[data.blockType].name,\n types: blockTypes,\n }),\n ),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType({ type, field, parentIsLocalized }) },\n }\n },\n checkbox: (objectTypeConfig: ObjectTypeConfig, field: CheckboxField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLBoolean, field, forceNullable, parentIsLocalized }),\n },\n }),\n code: (objectTypeConfig: ObjectTypeConfig, field: CodeField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n collapsible: (objectTypeConfig: ObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(objectTypeConfigWithCollapsibleFields, subField)\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: (objectTypeConfig: ObjectTypeConfig, field: DateField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: DateTimeResolver, field, forceNullable, parentIsLocalized }),\n },\n }),\n email: (objectTypeConfig: ObjectTypeConfig, field: EmailField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: EmailAddressResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n group: (objectTypeConfig: ObjectTypeConfig, field: GroupField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable({ field, forceNullable, parentIsLocalized }),\n graphqlResult,\n parentIsLocalized: field.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: graphqlResult.types.groupTypes[interfaceName],\n resolve: (parent, args, context: Context) => {\n return {\n ...parent[field.name],\n _id: parent._id ?? parent.id,\n }\n },\n },\n }\n },\n join: (objectTypeConfig: ObjectTypeConfig, field: JoinField) => {\n const joinName = combineParentName(parentName, toWords(field.name, true))\n\n const joinType = {\n type: new GraphQLObjectType({\n name: joinName,\n fields: {\n docs: {\n type: new GraphQLList(graphqlResult.collections[field.collection].graphQL.type),\n },\n hasNextPage: { type: GraphQLBoolean },\n },\n }),\n args: {\n limit: {\n type: GraphQLInt,\n },\n sort: {\n type: GraphQLString,\n },\n where: {\n type: graphqlResult.collections[field.collection].graphQL.whereInputType,\n },\n },\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { limit, sort, where } = args\n const { req } = context\n\n const fullWhere = combineQueries(where, {\n [field.on]: { equals: parent._id ?? parent.id },\n })\n\n return await req.payload.find({\n collection,\n depth: 0,\n fallbackLocale: req.fallbackLocale,\n limit,\n locale: req.locale,\n overrideAccess: false,\n req,\n sort,\n where: fullWhere,\n })\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: joinType,\n }\n },\n json: (objectTypeConfig: ObjectTypeConfig, field: JSONField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n number: (objectTypeConfig: ObjectTypeConfig, field: NumberField) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: field?.hasMany === true ? new GraphQLList(type) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }\n },\n point: (objectTypeConfig: ObjectTypeConfig, field: PointField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n radio: (objectTypeConfig: ObjectTypeConfig, field: RadioField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: new GraphQLEnumType({\n name: combineParentName(parentName, field.name),\n values: formatOptions(field),\n }),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n relationship: (objectTypeConfig: ObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n const graphQLCollections = config.collections.filter(\n (collectionConfig) => collectionConfig.graphQL !== false,\n )\n\n if (Array.isArray(relationTo)) {\n relationToType = new GraphQLEnumType({\n name: `${relationshipName}_RelationTo`,\n values: relationTo\n .filter((relation) =>\n graphQLCollections.some((collection) => collection.slug === relation),\n )\n .reduce(\n (relations, relation) => ({\n ...relations,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n })\n\n // Only pass collections that are GraphQL enabled\n const types = relationTo\n .filter((relation) =>\n graphQLCollections.some((collection) => collection.slug === relation),\n )\n .map((relation) => graphqlResult.collections[relation]?.graphQL.type)\n\n type = new GraphQLObjectType({\n name: `${relationshipName}_Relationship`,\n fields: {\n relationTo: {\n type: relationToType,\n },\n value: {\n type: new GraphQLUnionType({\n name: relationshipName,\n resolveType(data) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo])\n .filter((relation) => graphQLCollections.some((collection) => collection.slug === relation))\n .some((relation) => graphqlResult.collections[relation].config.versions?.drafts)\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n args: relationshipArgs,\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const value = parent[field.name]\n const locale = args.locale || context.req.locale\n const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale\n let relatedCollectionSlug = field.relationTo\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n if (hasManyValues) {\n const results = []\n const resultPromises = []\n\n const createPopulationPromise = async (relatedDoc, i) => {\n let id = relatedDoc\n let collectionSlug = field.relationTo\n const isValidGraphQLCollection = isRelatedToManyCollections\n ? graphQLCollections.some((collection) => collectionSlug.includes(collection.slug))\n : graphQLCollections.some((collection) => collectionSlug === collection.slug)\n\n if (isValidGraphQLCollection) {\n if (isRelatedToManyCollections) {\n collectionSlug = relatedDoc.relationTo\n id = relatedDoc.value\n }\n\n const result = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: collectionSlug as string,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (result) {\n if (isRelatedToManyCollections) {\n results[i] = {\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n }\n } else {\n results[i] = result\n }\n }\n }\n }\n\n if (value) {\n value.forEach((relatedDoc, i) => {\n resultPromises.push(createPopulationPromise(relatedDoc, i))\n })\n }\n\n await Promise.all(resultPromises)\n return results\n }\n\n let id = value\n if (isRelatedToManyCollections && value) {\n id = value.value\n relatedCollectionSlug = value.relationTo\n }\n\n if (id) {\n if (\n graphQLCollections.some((collection) => collection.slug === relatedCollectionSlug)\n ) {\n const relatedDocument = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: relatedCollectionSlug as string,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (relatedDocument) {\n if (isRelatedToManyCollections) {\n return {\n relationTo: relatedCollectionSlug,\n value: {\n ...relatedDocument,\n collection: relatedCollectionSlug,\n },\n }\n }\n\n return relatedDocument\n }\n }\n\n return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n richText: (objectTypeConfig: ObjectTypeConfig, field: RichTextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n args: {\n depth: {\n type: GraphQLInt,\n },\n },\n async resolve(parent, args, context: Context) {\n let depth = config.defaultDepth\n if (typeof args.depth !== 'undefined') {\n depth = args.depth\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const editor: RichTextAdapter = field?.editor\n\n // RichText fields have their own depth argument in GraphQL.\n // This is why the populationPromise (which populates richtext fields like uploads and relationships)\n // is run here again, with the provided depth.\n // In the graphql find.ts resolver, the depth is then hard-coded to 0.\n // Effectively, this means that the populationPromise for GraphQL is only run here, and not in the find.ts resolver / normal population promise.\n if (editor?.graphQLPopulationPromises) {\n const fieldPromises = []\n const populationPromises = []\n const populateDepth =\n field?.maxDepth !== undefined && field?.maxDepth < depth ? field?.maxDepth : depth\n\n editor?.graphQLPopulationPromises({\n context,\n depth: populateDepth,\n draft: args.draft,\n field,\n fieldPromises,\n findMany: false,\n flattenLocales: false,\n overrideAccess: false,\n parentIsLocalized,\n populationPromises,\n req: context.req,\n showHiddenFields: false,\n siblingDoc: parent,\n })\n await Promise.all(fieldPromises)\n await Promise.all(populationPromises)\n }\n\n return parent[field.name]\n },\n },\n }),\n row: (objectTypeConfig: ObjectTypeConfig, field: RowField) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(objectTypeConfigWithRowFields, subField)\n }\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: (objectTypeConfig: ObjectTypeConfig, field: SelectField) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLType = new GraphQLEnumType({\n name: fullName,\n values: formatOptions(field),\n })\n\n type = field.hasMany ? new GraphQLList(new GraphQLNonNull(type)) : type\n type = withNullableType({ type, field, forceNullable, parentIsLocalized })\n\n return {\n ...objectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (objectTypeConfig: ObjectTypeConfig, field: TabsField) =>\n field.tabs.reduce((tabSchema, tab) => {\n if (tabHasName(tab)) {\n const interfaceName =\n tab?.interfaceName || combineParentName(parentName, toWords(tab.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: tab.fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized: tab.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return tabSchema\n }\n\n return {\n ...tabSchema,\n [tab.name]: {\n type: graphqlResult.types.groupTypes[interfaceName],\n resolve(parent, args, context: Context) {\n return {\n ...parent[tab.name],\n _id: parent._id ?? parent.id,\n }\n },\n },\n }\n }\n\n return {\n ...tabSchema,\n ...tab.fields.reduce((subFieldSchema, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(subFieldSchema, subField)\n }\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: (objectTypeConfig: ObjectTypeConfig, field: TextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n textarea: (objectTypeConfig: ObjectTypeConfig, field: TextareaField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n upload: (objectTypeConfig: ObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n if (Array.isArray(relationTo)) {\n relationToType = new GraphQLEnumType({\n name: `${relationshipName}_RelationTo`,\n values: relationTo.reduce(\n (relations, relation) => ({\n ...relations,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n })\n\n const types = relationTo.map((relation) => graphqlResult.collections[relation].graphQL.type)\n\n type = new GraphQLObjectType({\n name: `${relationshipName}_Relationship`,\n fields: {\n relationTo: {\n type: relationToType,\n },\n value: {\n type: new GraphQLUnionType({\n name: relationshipName,\n resolveType(data) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo]).some(\n (relation) => graphqlResult.collections[relation].config.versions?.drafts,\n )\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n args: relationshipArgs,\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const value = parent[field.name]\n const locale = args.locale || context.req.locale\n const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale\n let relatedCollectionSlug = field.relationTo\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n if (hasManyValues) {\n const results = []\n const resultPromises = []\n\n const createPopulationPromise = async (relatedDoc, i) => {\n let id = relatedDoc\n let collectionSlug = field.relationTo\n\n if (isRelatedToManyCollections) {\n collectionSlug = relatedDoc.relationTo\n id = relatedDoc.value\n }\n\n const result = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (result) {\n if (isRelatedToManyCollections) {\n results[i] = {\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n }\n } else {\n results[i] = result\n }\n }\n }\n\n if (value) {\n value.forEach((relatedDoc, i) => {\n resultPromises.push(createPopulationPromise(relatedDoc, i))\n })\n }\n\n await Promise.all(resultPromises)\n return results\n }\n\n let id = value\n if (isRelatedToManyCollections && value) {\n id = value.value\n relatedCollectionSlug = value.relationTo\n }\n\n if (id) {\n const relatedDocument = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: relatedCollectionSlug,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (relatedDocument) {\n if (isRelatedToManyCollections) {\n return {\n relationTo: relatedCollectionSlug,\n value: {\n ...relatedDocument,\n collection: relatedCollectionSlug,\n },\n }\n }\n\n return relatedDocument\n }\n\n return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n }\n\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema(objectTypeConfig, field),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","combineQueries","createDataloaderCacheKey","MissingEditorProp","toWords","tabHasName","GraphQLJSON","combineParentName","formatName","formatOptions","isFieldNullable","withNullableType","buildObjectType","name","baseFields","config","fields","forceNullable","graphqlResult","parentIsLocalized","parentName","fieldToSchemaMap","array","objectTypeConfig","field","interfaceName","types","arrayTypes","objectType","localized","Object","keys","getFields","length","arrayType","type","blocks","blockTypes","blockReferences","reduce","acc","_block","blockSlug","slug","block","find","b","graphQL","singularName","push","fullName","resolveType","data","blockType","checkbox","code","collapsible","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","resolve","parent","args","context","_id","id","join","joinName","joinType","docs","collections","collection","hasNextPage","limit","sort","where","whereInputType","extensions","complexity","req","fullWhere","on","equals","payload","depth","fallbackLocale","locale","overrideAccess","json","number","hasMany","point","radio","values","relationship","relationTo","isRelatedToManyCollections","Array","isArray","hasManyValues","relationshipName","relationToType","graphQLCollections","filter","collectionConfig","relation","some","relations","value","map","newlyCreatedBlockType","relationshipArgs","relationsUseDrafts","versions","drafts","draft","localization","localeInputType","fallbackLocaleInputType","relatedCollectionSlug","Boolean","query","results","resultPromises","createPopulationPromise","relatedDoc","i","collectionSlug","isValidGraphQLCollection","includes","result","payloadDataLoader","load","currentDepth","docID","showHiddenFields","transactionID","forEach","Promise","all","relatedDocument","richText","defaultDepth","editor","Error","graphQLPopulationPromises","fieldPromises","populationPromises","populateDepth","maxDepth","undefined","findMany","flattenLocales","siblingDoc","row","objectTypeConfigWithRowFields","select","tabs","tabSchema","tab","subFieldSchema","text","textarea","upload","objectSchema","fieldSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["import type { GraphQLFieldConfig, GraphQLType } from 'graphql'\nimport type {\n ArrayField,\n BlocksField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n GraphQLInfo,\n GroupField,\n JoinField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextAdapter,\n RichTextField,\n RowField,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n GraphQLUnionType,\n} from 'graphql'\nimport { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars'\nimport { combineQueries, createDataloaderCacheKey, MissingEditorProp, toWords } from 'payload'\nimport { tabHasName } from 'payload/shared'\n\nimport type { Context } from '../resolvers/types.js'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { formatOptions } from '../utilities/formatOptions.js'\nimport { isFieldNullable } from './isFieldNullable.js'\nimport { withNullableType } from './withNullableType.js'\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentIsLocalized?: boolean\n parentName: string\n}\n\nexport function buildObjectType({\n name,\n baseFields = {},\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: Args): GraphQLObjectType {\n const fieldToSchemaMap = {\n array: (objectTypeConfig: ObjectTypeConfig, field: ArrayField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable({ field, forceNullable, parentIsLocalized }),\n graphqlResult,\n parentIsLocalized: field.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.arrayTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n const arrayType = new GraphQLList(\n new GraphQLNonNull(graphqlResult.types.arrayTypes[interfaceName]),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType({ type: arrayType, field, parentIsLocalized }) },\n }\n },\n blocks: (objectTypeConfig: ObjectTypeConfig, field: BlocksField) => {\n const blockTypes: GraphQLObjectType<any, any>[] = (\n field.blockReferences ?? field.blocks\n ).reduce((acc, _block) => {\n const blockSlug = typeof _block === 'string' ? _block : _block.slug\n if (!graphqlResult.types.blockTypes[blockSlug]) {\n // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks\n const block =\n typeof _block === 'string' ? config.blocks.find((b) => b.slug === _block) : _block\n\n const interfaceName =\n block?.interfaceName || block?.graphQL?.singularName || toWords(block.slug, true)\n\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: [\n ...block.fields,\n {\n name: 'blockType',\n type: 'text',\n },\n ],\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.blockTypes[block.slug] = objectType\n }\n }\n\n if (graphqlResult.types.blockTypes[blockSlug]) {\n acc.push(graphqlResult.types.blockTypes[blockSlug])\n }\n\n return acc\n }, [])\n\n if (blockTypes.length === 0) {\n return objectTypeConfig\n }\n\n const fullName = combineParentName(parentName, toWords(field.name, true))\n\n const type = new GraphQLList(\n new GraphQLNonNull(\n new GraphQLUnionType({\n name: fullName,\n resolveType: (data) => graphqlResult.types.blockTypes[data.blockType].name,\n types: blockTypes,\n }),\n ),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType({ type, field, parentIsLocalized }) },\n }\n },\n checkbox: (objectTypeConfig: ObjectTypeConfig, field: CheckboxField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLBoolean, field, forceNullable, parentIsLocalized }),\n },\n }),\n code: (objectTypeConfig: ObjectTypeConfig, field: CodeField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n collapsible: (objectTypeConfig: ObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(objectTypeConfigWithCollapsibleFields, subField)\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: (objectTypeConfig: ObjectTypeConfig, field: DateField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: DateTimeResolver, field, forceNullable, parentIsLocalized }),\n },\n }),\n email: (objectTypeConfig: ObjectTypeConfig, field: EmailField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: EmailAddressResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n group: (objectTypeConfig: ObjectTypeConfig, field: GroupField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable({ field, forceNullable, parentIsLocalized }),\n graphqlResult,\n parentIsLocalized: field.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: graphqlResult.types.groupTypes[interfaceName],\n resolve: (parent, args, context: Context) => {\n return {\n ...parent[field.name],\n _id: parent._id ?? parent.id,\n }\n },\n },\n }\n },\n join: (objectTypeConfig: ObjectTypeConfig, field: JoinField) => {\n const joinName = combineParentName(parentName, toWords(field.name, true))\n\n const joinType = {\n type: new GraphQLObjectType({\n name: joinName,\n fields: {\n docs: {\n type: Array.isArray(field.collection)\n ? GraphQLJSON\n : new GraphQLList(graphqlResult.collections[field.collection].graphQL.type),\n },\n hasNextPage: { type: GraphQLBoolean },\n },\n }),\n args: {\n limit: {\n type: GraphQLInt,\n },\n page: {\n type: GraphQLInt,\n },\n sort: {\n type: GraphQLString,\n },\n where: {\n type: Array.isArray(field.collection)\n ? GraphQLJSON\n : graphqlResult.collections[field.collection].graphQL.whereInputType,\n },\n },\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { limit, page, sort, where } = args\n const { req } = context\n\n const fullWhere = combineQueries(where, {\n [field.on]: { equals: parent._id ?? parent.id },\n })\n\n if (Array.isArray(collection)) {\n throw new Error('GraphQL with array of join.field.collection is not implemented')\n }\n\n return await req.payload.find({\n collection,\n depth: 0,\n fallbackLocale: req.fallbackLocale,\n limit,\n locale: req.locale,\n overrideAccess: false,\n page,\n req,\n sort,\n where: fullWhere,\n })\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: joinType,\n }\n },\n json: (objectTypeConfig: ObjectTypeConfig, field: JSONField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n number: (objectTypeConfig: ObjectTypeConfig, field: NumberField) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: field?.hasMany === true ? new GraphQLList(type) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }\n },\n point: (objectTypeConfig: ObjectTypeConfig, field: PointField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n radio: (objectTypeConfig: ObjectTypeConfig, field: RadioField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: new GraphQLEnumType({\n name: combineParentName(parentName, field.name),\n values: formatOptions(field),\n }),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n relationship: (objectTypeConfig: ObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n const graphQLCollections = config.collections.filter(\n (collectionConfig) => collectionConfig.graphQL !== false,\n )\n\n if (Array.isArray(relationTo)) {\n relationToType = new GraphQLEnumType({\n name: `${relationshipName}_RelationTo`,\n values: relationTo\n .filter((relation) =>\n graphQLCollections.some((collection) => collection.slug === relation),\n )\n .reduce(\n (relations, relation) => ({\n ...relations,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n })\n\n // Only pass collections that are GraphQL enabled\n const types = relationTo\n .filter((relation) =>\n graphQLCollections.some((collection) => collection.slug === relation),\n )\n .map((relation) => graphqlResult.collections[relation]?.graphQL.type)\n\n type = new GraphQLObjectType({\n name: `${relationshipName}_Relationship`,\n fields: {\n relationTo: {\n type: relationToType,\n },\n value: {\n type: new GraphQLUnionType({\n name: relationshipName,\n resolveType(data) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo])\n .filter((relation) => graphQLCollections.some((collection) => collection.slug === relation))\n .some((relation) => graphqlResult.collections[relation].config.versions?.drafts)\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n args: relationshipArgs,\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const value = parent[field.name]\n const locale = args.locale || context.req.locale\n const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale\n let relatedCollectionSlug = field.relationTo\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n if (hasManyValues) {\n const results = []\n const resultPromises = []\n\n const createPopulationPromise = async (relatedDoc, i) => {\n let id = relatedDoc\n let collectionSlug = field.relationTo\n const isValidGraphQLCollection = isRelatedToManyCollections\n ? graphQLCollections.some((collection) => collectionSlug.includes(collection.slug))\n : graphQLCollections.some((collection) => collectionSlug === collection.slug)\n\n if (isValidGraphQLCollection) {\n if (isRelatedToManyCollections) {\n collectionSlug = relatedDoc.relationTo\n id = relatedDoc.value\n }\n\n const result = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: collectionSlug as string,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (result) {\n if (isRelatedToManyCollections) {\n results[i] = {\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n }\n } else {\n results[i] = result\n }\n }\n }\n }\n\n if (value) {\n value.forEach((relatedDoc, i) => {\n resultPromises.push(createPopulationPromise(relatedDoc, i))\n })\n }\n\n await Promise.all(resultPromises)\n return results\n }\n\n let id = value\n if (isRelatedToManyCollections && value) {\n id = value.value\n relatedCollectionSlug = value.relationTo\n }\n\n if (id) {\n if (\n graphQLCollections.some((collection) => collection.slug === relatedCollectionSlug)\n ) {\n const relatedDocument = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: relatedCollectionSlug as string,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (relatedDocument) {\n if (isRelatedToManyCollections) {\n return {\n relationTo: relatedCollectionSlug,\n value: {\n ...relatedDocument,\n collection: relatedCollectionSlug,\n },\n }\n }\n\n return relatedDocument\n }\n }\n\n return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n richText: (objectTypeConfig: ObjectTypeConfig, field: RichTextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n args: {\n depth: {\n type: GraphQLInt,\n },\n },\n async resolve(parent, args, context: Context) {\n let depth = config.defaultDepth\n if (typeof args.depth !== 'undefined') {\n depth = args.depth\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const editor: RichTextAdapter = field?.editor\n\n // RichText fields have their own depth argument in GraphQL.\n // This is why the populationPromise (which populates richtext fields like uploads and relationships)\n // is run here again, with the provided depth.\n // In the graphql find.ts resolver, the depth is then hard-coded to 0.\n // Effectively, this means that the populationPromise for GraphQL is only run here, and not in the find.ts resolver / normal population promise.\n if (editor?.graphQLPopulationPromises) {\n const fieldPromises = []\n const populationPromises = []\n const populateDepth =\n field?.maxDepth !== undefined && field?.maxDepth < depth ? field?.maxDepth : depth\n\n editor?.graphQLPopulationPromises({\n context,\n depth: populateDepth,\n draft: args.draft,\n field,\n fieldPromises,\n findMany: false,\n flattenLocales: false,\n overrideAccess: false,\n parentIsLocalized,\n populationPromises,\n req: context.req,\n showHiddenFields: false,\n siblingDoc: parent,\n })\n await Promise.all(fieldPromises)\n await Promise.all(populationPromises)\n }\n\n return parent[field.name]\n },\n },\n }),\n row: (objectTypeConfig: ObjectTypeConfig, field: RowField) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(objectTypeConfigWithRowFields, subField)\n }\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: (objectTypeConfig: ObjectTypeConfig, field: SelectField) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLType = new GraphQLEnumType({\n name: fullName,\n values: formatOptions(field),\n })\n\n type = field.hasMany ? new GraphQLList(new GraphQLNonNull(type)) : type\n type = withNullableType({ type, field, forceNullable, parentIsLocalized })\n\n return {\n ...objectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (objectTypeConfig: ObjectTypeConfig, field: TabsField) =>\n field.tabs.reduce((tabSchema, tab) => {\n if (tabHasName(tab)) {\n const interfaceName =\n tab?.interfaceName || combineParentName(parentName, toWords(tab.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: tab.fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized: tab.localized || parentIsLocalized,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return tabSchema\n }\n\n return {\n ...tabSchema,\n [tab.name]: {\n type: graphqlResult.types.groupTypes[interfaceName],\n resolve(parent, args, context: Context) {\n return {\n ...parent[tab.name],\n _id: parent._id ?? parent.id,\n }\n },\n },\n }\n }\n\n return {\n ...tabSchema,\n ...tab.fields.reduce((subFieldSchema, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(subFieldSchema, subField)\n }\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: (objectTypeConfig: ObjectTypeConfig, field: TextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n textarea: (objectTypeConfig: ObjectTypeConfig, field: TextareaField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n upload: (objectTypeConfig: ObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n if (Array.isArray(relationTo)) {\n relationToType = new GraphQLEnumType({\n name: `${relationshipName}_RelationTo`,\n values: relationTo.reduce(\n (relations, relation) => ({\n ...relations,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n })\n\n const types = relationTo.map((relation) => graphqlResult.collections[relation].graphQL.type)\n\n type = new GraphQLObjectType({\n name: `${relationshipName}_Relationship`,\n fields: {\n relationTo: {\n type: relationToType,\n },\n value: {\n type: new GraphQLUnionType({\n name: relationshipName,\n resolveType(data) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo]).some(\n (relation) => graphqlResult.collections[relation].config.versions?.drafts,\n )\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }),\n args: relationshipArgs,\n extensions: {\n complexity:\n typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const value = parent[field.name]\n const locale = args.locale || context.req.locale\n const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale\n let relatedCollectionSlug = field.relationTo\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n if (hasManyValues) {\n const results = []\n const resultPromises = []\n\n const createPopulationPromise = async (relatedDoc, i) => {\n let id = relatedDoc\n let collectionSlug = field.relationTo\n\n if (isRelatedToManyCollections) {\n collectionSlug = relatedDoc.relationTo\n id = relatedDoc.value\n }\n\n const result = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (result) {\n if (isRelatedToManyCollections) {\n results[i] = {\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n }\n } else {\n results[i] = result\n }\n }\n }\n\n if (value) {\n value.forEach((relatedDoc, i) => {\n resultPromises.push(createPopulationPromise(relatedDoc, i))\n })\n }\n\n await Promise.all(resultPromises)\n return results\n }\n\n let id = value\n if (isRelatedToManyCollections && value) {\n id = value.value\n relatedCollectionSlug = value.relationTo\n }\n\n if (id) {\n const relatedDocument = await context.req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: relatedCollectionSlug,\n currentDepth: 0,\n depth: 0,\n docID: id,\n draft,\n fallbackLocale,\n locale,\n overrideAccess: false,\n showHiddenFields: false,\n transactionID: context.req.transactionID,\n }),\n )\n\n if (relatedDocument) {\n if (isRelatedToManyCollections) {\n return {\n relationTo: relatedCollectionSlug,\n value: {\n ...relatedDocument,\n collection: relatedCollectionSlug,\n },\n }\n }\n\n return relatedDocument\n }\n\n return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n }\n\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema(objectTypeConfig, field),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","combineQueries","createDataloaderCacheKey","MissingEditorProp","toWords","tabHasName","GraphQLJSON","combineParentName","formatName","formatOptions","isFieldNullable","withNullableType","buildObjectType","name","baseFields","config","fields","forceNullable","graphqlResult","parentIsLocalized","parentName","fieldToSchemaMap","array","objectTypeConfig","field","interfaceName","types","arrayTypes","objectType","localized","Object","keys","getFields","length","arrayType","type","blocks","blockTypes","blockReferences","reduce","acc","_block","blockSlug","slug","block","find","b","graphQL","singularName","push","fullName","resolveType","data","blockType","checkbox","code","collapsible","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","resolve","parent","args","context","_id","id","join","joinName","joinType","docs","Array","isArray","collection","collections","hasNextPage","limit","page","sort","where","whereInputType","extensions","complexity","req","fullWhere","on","equals","Error","payload","depth","fallbackLocale","locale","overrideAccess","json","number","hasMany","point","radio","values","relationship","relationTo","isRelatedToManyCollections","hasManyValues","relationshipName","relationToType","graphQLCollections","filter","collectionConfig","relation","some","relations","value","map","newlyCreatedBlockType","relationshipArgs","relationsUseDrafts","versions","drafts","draft","localization","localeInputType","fallbackLocaleInputType","relatedCollectionSlug","Boolean","query","results","resultPromises","createPopulationPromise","relatedDoc","i","collectionSlug","isValidGraphQLCollection","includes","result","payloadDataLoader","load","currentDepth","docID","showHiddenFields","transactionID","forEach","Promise","all","relatedDocument","richText","defaultDepth","editor","graphQLPopulationPromises","fieldPromises","populationPromises","populateDepth","maxDepth","undefined","findMany","flattenLocales","siblingDoc","row","objectTypeConfigWithRowFields","select","tabs","tabSchema","tab","subFieldSchema","text","textarea","upload","objectSchema","fieldSchema"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/graphql",
|
|
3
|
-
"version": "3.24.0
|
|
3
|
+
"version": "3.24.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"@types/pluralize": "^0.0.33",
|
|
53
53
|
"graphql-http": "^1.22.0",
|
|
54
54
|
"@payloadcms/eslint-config": "3.9.0",
|
|
55
|
-
"payload": "3.24.0
|
|
55
|
+
"payload": "3.24.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"graphql": "^16.8.1",
|
|
59
|
-
"payload": "3.24.0
|
|
59
|
+
"payload": "3.24.0"
|
|
60
60
|
},
|
|
61
61
|
"scripts": {
|
|
62
62
|
"build": "pnpm build:types && pnpm build:swc",
|