@payloadcms/graphql 3.59.0-canary.0 → 3.59.0-internal.e247081

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.
@@ -481,15 +481,15 @@ export const fieldToSchemaMap = {
481
481
  }));
482
482
  if (result) {
483
483
  if (isRelatedToManyCollections) {
484
- results[i] = {
484
+ results.push({
485
485
  relationTo: collectionSlug,
486
486
  value: {
487
487
  ...result,
488
488
  collection: collectionSlug
489
489
  }
490
- };
490
+ });
491
491
  } else {
492
- results[i] = result;
492
+ results.push(result);
493
493
  }
494
494
  }
495
495
  }
@@ -815,15 +815,15 @@ export const fieldToSchemaMap = {
815
815
  }));
816
816
  if (result) {
817
817
  if (isRelatedToManyCollections) {
818
- results[i] = {
818
+ results.push({
819
819
  relationTo: collectionSlug,
820
820
  value: {
821
821
  ...result,
822
822
  collection: collectionSlug
823
823
  }
824
- };
824
+ });
825
825
  } else {
826
- results[i] = result;
826
+ results.push(result);
827
827
  }
828
828
  }
829
829
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/fieldToSchemaMap.ts"],"sourcesContent":["import type { GraphQLArgumentConfig, GraphQLFieldConfig, GraphQLOutputType } from 'graphql'\nimport type {\n ArrayField,\n BlocksField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n FlattenedJoinField,\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 { fieldAffectsData, 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 { buildObjectType, type ObjectTypeConfig } from './buildObjectType.js'\nimport { isFieldNullable } from './isFieldNullable.js'\nimport { withNullableType } from './withNullableType.js'\n\nfunction formattedNameResolver({\n field,\n ...rest\n}: { field: Field } & GraphQLFieldConfig<any, any, any>): GraphQLFieldConfig<any, any, any> {\n if ('name' in field) {\n if (formatName(field.name) !== field.name) {\n return {\n ...rest,\n resolve: (parent) => parent[field.name],\n }\n }\n }\n return rest\n}\n\ntype SharedArgs = {\n collectionSlug?: string\n config: SanitizedConfig\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n newlyCreatedBlockType: GraphQLObjectType\n objectTypeConfig: ObjectTypeConfig\n parentIsLocalized?: boolean\n parentName: string\n}\n\ntype GenericFieldToSchemaMap = (args: { field: Field } & SharedArgs) => ObjectTypeConfig\n\ntype FieldToSchemaMap = {\n array: (args: { field: ArrayField } & SharedArgs) => ObjectTypeConfig\n blocks: (args: { field: BlocksField } & SharedArgs) => ObjectTypeConfig\n checkbox: (args: { field: CheckboxField } & SharedArgs) => ObjectTypeConfig\n code: (args: { field: CodeField } & SharedArgs) => ObjectTypeConfig\n collapsible: (args: { field: CollapsibleField } & SharedArgs) => ObjectTypeConfig\n date: (args: { field: DateField } & SharedArgs) => ObjectTypeConfig\n email: (args: { field: EmailField } & SharedArgs) => ObjectTypeConfig\n group: (args: { field: GroupField } & SharedArgs) => ObjectTypeConfig\n join: (args: { field: JoinField } & SharedArgs) => ObjectTypeConfig\n json: (args: { field: JSONField } & SharedArgs) => ObjectTypeConfig\n number: (args: { field: NumberField } & SharedArgs) => ObjectTypeConfig\n point: (args: { field: PointField } & SharedArgs) => ObjectTypeConfig\n radio: (args: { field: RadioField } & SharedArgs) => ObjectTypeConfig\n relationship: (args: { field: RelationshipField } & SharedArgs) => ObjectTypeConfig\n richText: (args: { field: RichTextField } & SharedArgs) => ObjectTypeConfig\n row: (args: { field: RowField } & SharedArgs) => ObjectTypeConfig\n select: (args: { field: SelectField } & SharedArgs) => ObjectTypeConfig\n tabs: (args: { field: TabsField } & SharedArgs) => ObjectTypeConfig\n text: (args: { field: TextField } & SharedArgs) => ObjectTypeConfig\n textarea: (args: { field: TextareaField } & SharedArgs) => ObjectTypeConfig\n upload: (args: { field: UploadField } & SharedArgs) => ObjectTypeConfig\n}\n\nexport const fieldToSchemaMap: FieldToSchemaMap = {\n array: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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 [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({ type: arrayType, field, parentIsLocalized }) as GraphQLOutputType,\n field,\n }),\n }\n },\n blocks: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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 ) as GraphQLOutputType\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({ type, field, parentIsLocalized }) as GraphQLOutputType,\n field,\n }),\n }\n },\n checkbox: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLBoolean,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n code: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n collapsible: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: objectTypeConfigWithCollapsibleFields,\n parentIsLocalized,\n parentName,\n })\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: DateTimeResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n email: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: EmailAddressResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n group: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\n if (fieldAffectsData(field)) {\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 [formatName(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 } else {\n return field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: objectTypeConfigWithCollapsibleFields,\n parentIsLocalized,\n parentName,\n })\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig)\n }\n },\n join: ({ collectionSlug, field, graphqlResult, objectTypeConfig, parentName }) => {\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 GraphQLNonNull(\n Array.isArray(field.collection)\n ? GraphQLJSON\n : new GraphQLList(\n new GraphQLNonNull(graphqlResult.collections[field.collection].graphQL.type),\n ),\n ),\n },\n hasNextPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n count: { type: GraphQLBoolean },\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: typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { count = false, limit, page, sort, where } = args\n const { req } = context\n\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n const targetField = (field as FlattenedJoinField).targetField\n\n const fullWhere = combineQueries(\n where,\n Array.isArray(targetField.relationTo)\n ? {\n [field.on]: {\n equals: {\n relationTo: collectionSlug,\n value: parent._id ?? parent.id,\n },\n },\n }\n : {\n [field.on]: { equals: parent._id ?? parent.id },\n },\n )\n\n if (Array.isArray(collection)) {\n throw new Error('GraphQL with array of join.field.collection is not implemented')\n }\n\n const { docs, totalDocs } = await req.payload.find({\n collection,\n depth: 0,\n draft,\n fallbackLocale: req.fallbackLocale,\n // Fetch one extra document to determine if there are more documents beyond the requested limit (used for hasNextPage calculation).\n limit: typeof limit === 'number' && limit > 0 ? limit + 1 : 0,\n locale: req.locale,\n overrideAccess: false,\n page,\n pagination: count ? true : false,\n req,\n sort,\n where: fullWhere,\n })\n\n let shouldSlice = false\n\n if (typeof limit === 'number' && limit !== 0 && limit < docs.length) {\n shouldSlice = true\n }\n\n return {\n docs: shouldSlice ? docs.slice(0, -1) : docs,\n hasNextPage: limit === 0 ? false : limit < docs.length,\n ...(count ? { totalDocs } : {}),\n }\n },\n }\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: joinType,\n }\n },\n json: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLJSON,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n number: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: field?.hasMany === true ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }\n },\n point: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n radio: ({ field, forceNullable, objectTypeConfig, parentIsLocalized, parentName }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\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 }) as GraphQLOutputType,\n field,\n }),\n }),\n relationship: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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: GraphQLOutputType\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) => graphQLCollections.some((collection) => collection.slug === relation))\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 }) as GraphQLOutputType,\n },\n },\n }) as GraphQLOutputType\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: GraphQLArgumentConfig\n fallbackLocale: GraphQLArgumentConfig\n limit: GraphQLArgumentConfig\n locale: GraphQLArgumentConfig\n page: GraphQLArgumentConfig\n where: GraphQLArgumentConfig\n } = {} as any\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: GraphQLFieldConfig<any, any, any> = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n args: relationshipArgs,\n extensions: {\n complexity: 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 (graphQLCollections.some((collection) => collection.slug === relatedCollectionSlug)) {\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 [formatName(field.name)]: relationship,\n }\n },\n richText: ({ config, field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({\n type: GraphQLJSON,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\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: ({ field, objectTypeConfig, ...rest }) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n field: subField,\n objectTypeConfig: objectTypeConfigWithRowFields,\n ...rest,\n })\n }\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: ({ field, forceNullable, objectTypeConfig, parentIsLocalized, parentName }) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLOutputType = 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 }) as GraphQLOutputType\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({ type, field }),\n }\n },\n tabs: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) =>\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 collectionSlug,\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: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: subFieldSchema,\n parentIsLocalized,\n parentName,\n })\n }\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type:\n field.hasMany === true\n ? new GraphQLList(new GraphQLNonNull(GraphQLString))\n : GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n textarea: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n upload: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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?: GraphQLArgumentConfig\n fallbackLocale?: GraphQLArgumentConfig\n limit?: GraphQLArgumentConfig\n locale?: GraphQLArgumentConfig\n page?: GraphQLArgumentConfig\n where?: GraphQLArgumentConfig\n } = {} as any\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 }) as GraphQLOutputType,\n args: relationshipArgs,\n extensions: {\n complexity: 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 [formatName(field.name)]: relationship,\n }\n },\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","combineQueries","createDataloaderCacheKey","MissingEditorProp","toWords","fieldAffectsData","tabHasName","GraphQLJSON","combineParentName","formatName","formatOptions","buildObjectType","isFieldNullable","withNullableType","formattedNameResolver","field","rest","name","resolve","parent","fieldToSchemaMap","array","config","forceNullable","graphqlResult","objectTypeConfig","parentIsLocalized","parentName","interfaceName","types","arrayTypes","objectType","fields","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","collectionSlug","newlyCreatedBlockType","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","args","context","_id","id","join","joinName","joinType","docs","Array","isArray","collection","collections","hasNextPage","totalDocs","count","limit","page","sort","where","whereInputType","extensions","complexity","req","draft","Boolean","query","targetField","fullWhere","relationTo","on","equals","value","Error","payload","depth","fallbackLocale","locale","overrideAccess","pagination","shouldSlice","slice","json","number","hasMany","point","radio","values","relationship","isRelatedToManyCollections","hasManyValues","relationshipName","relationToType","graphQLCollections","filter","collectionConfig","relation","some","relations","map","relationshipArgs","relationsUseDrafts","versions","drafts","localization","localeInputType","fallbackLocaleInputType","relatedCollectionSlug","results","resultPromises","createPopulationPromise","relatedDoc","i","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"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/fieldToSchemaMap.ts"],"sourcesContent":["import type { GraphQLArgumentConfig, GraphQLFieldConfig, GraphQLOutputType } from 'graphql'\nimport type {\n ArrayField,\n BlocksField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n FlattenedJoinField,\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 { fieldAffectsData, 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 { buildObjectType, type ObjectTypeConfig } from './buildObjectType.js'\nimport { isFieldNullable } from './isFieldNullable.js'\nimport { withNullableType } from './withNullableType.js'\n\nfunction formattedNameResolver({\n field,\n ...rest\n}: { field: Field } & GraphQLFieldConfig<any, any, any>): GraphQLFieldConfig<any, any, any> {\n if ('name' in field) {\n if (formatName(field.name) !== field.name) {\n return {\n ...rest,\n resolve: (parent) => parent[field.name],\n }\n }\n }\n return rest\n}\n\ntype SharedArgs = {\n collectionSlug?: string\n config: SanitizedConfig\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n newlyCreatedBlockType: GraphQLObjectType\n objectTypeConfig: ObjectTypeConfig\n parentIsLocalized?: boolean\n parentName: string\n}\n\ntype GenericFieldToSchemaMap = (args: { field: Field } & SharedArgs) => ObjectTypeConfig\n\ntype FieldToSchemaMap = {\n array: (args: { field: ArrayField } & SharedArgs) => ObjectTypeConfig\n blocks: (args: { field: BlocksField } & SharedArgs) => ObjectTypeConfig\n checkbox: (args: { field: CheckboxField } & SharedArgs) => ObjectTypeConfig\n code: (args: { field: CodeField } & SharedArgs) => ObjectTypeConfig\n collapsible: (args: { field: CollapsibleField } & SharedArgs) => ObjectTypeConfig\n date: (args: { field: DateField } & SharedArgs) => ObjectTypeConfig\n email: (args: { field: EmailField } & SharedArgs) => ObjectTypeConfig\n group: (args: { field: GroupField } & SharedArgs) => ObjectTypeConfig\n join: (args: { field: JoinField } & SharedArgs) => ObjectTypeConfig\n json: (args: { field: JSONField } & SharedArgs) => ObjectTypeConfig\n number: (args: { field: NumberField } & SharedArgs) => ObjectTypeConfig\n point: (args: { field: PointField } & SharedArgs) => ObjectTypeConfig\n radio: (args: { field: RadioField } & SharedArgs) => ObjectTypeConfig\n relationship: (args: { field: RelationshipField } & SharedArgs) => ObjectTypeConfig\n richText: (args: { field: RichTextField } & SharedArgs) => ObjectTypeConfig\n row: (args: { field: RowField } & SharedArgs) => ObjectTypeConfig\n select: (args: { field: SelectField } & SharedArgs) => ObjectTypeConfig\n tabs: (args: { field: TabsField } & SharedArgs) => ObjectTypeConfig\n text: (args: { field: TextField } & SharedArgs) => ObjectTypeConfig\n textarea: (args: { field: TextareaField } & SharedArgs) => ObjectTypeConfig\n upload: (args: { field: UploadField } & SharedArgs) => ObjectTypeConfig\n}\n\nexport const fieldToSchemaMap: FieldToSchemaMap = {\n array: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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 [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({ type: arrayType, field, parentIsLocalized }) as GraphQLOutputType,\n field,\n }),\n }\n },\n blocks: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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 ) as GraphQLOutputType\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({ type, field, parentIsLocalized }) as GraphQLOutputType,\n field,\n }),\n }\n },\n checkbox: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLBoolean,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n code: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n collapsible: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: objectTypeConfigWithCollapsibleFields,\n parentIsLocalized,\n parentName,\n })\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: DateTimeResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n email: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: EmailAddressResolver,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n group: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\n if (fieldAffectsData(field)) {\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 [formatName(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 } else {\n return field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: objectTypeConfigWithCollapsibleFields,\n parentIsLocalized,\n parentName,\n })\n }\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig)\n }\n },\n join: ({ collectionSlug, field, graphqlResult, objectTypeConfig, parentName }) => {\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 GraphQLNonNull(\n Array.isArray(field.collection)\n ? GraphQLJSON\n : new GraphQLList(\n new GraphQLNonNull(graphqlResult.collections[field.collection].graphQL.type),\n ),\n ),\n },\n hasNextPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n count: { type: GraphQLBoolean },\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: typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { count = false, limit, page, sort, where } = args\n const { req } = context\n\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n const targetField = (field as FlattenedJoinField).targetField\n\n const fullWhere = combineQueries(\n where,\n Array.isArray(targetField.relationTo)\n ? {\n [field.on]: {\n equals: {\n relationTo: collectionSlug,\n value: parent._id ?? parent.id,\n },\n },\n }\n : {\n [field.on]: { equals: parent._id ?? parent.id },\n },\n )\n\n if (Array.isArray(collection)) {\n throw new Error('GraphQL with array of join.field.collection is not implemented')\n }\n\n const { docs, totalDocs } = await req.payload.find({\n collection,\n depth: 0,\n draft,\n fallbackLocale: req.fallbackLocale,\n // Fetch one extra document to determine if there are more documents beyond the requested limit (used for hasNextPage calculation).\n limit: typeof limit === 'number' && limit > 0 ? limit + 1 : 0,\n locale: req.locale,\n overrideAccess: false,\n page,\n pagination: count ? true : false,\n req,\n sort,\n where: fullWhere,\n })\n\n let shouldSlice = false\n\n if (typeof limit === 'number' && limit !== 0 && limit < docs.length) {\n shouldSlice = true\n }\n\n return {\n docs: shouldSlice ? docs.slice(0, -1) : docs,\n hasNextPage: limit === 0 ? false : limit < docs.length,\n ...(count ? { totalDocs } : {}),\n }\n },\n }\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: joinType,\n }\n },\n json: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLJSON,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n number: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: field?.hasMany === true ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }\n },\n point: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n radio: ({ field, forceNullable, objectTypeConfig, parentIsLocalized, parentName }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\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 }) as GraphQLOutputType,\n field,\n }),\n }),\n relationship: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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: GraphQLOutputType\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) => graphQLCollections.some((collection) => collection.slug === relation))\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 }) as GraphQLOutputType,\n },\n },\n }) as GraphQLOutputType\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: GraphQLArgumentConfig\n fallbackLocale: GraphQLArgumentConfig\n limit: GraphQLArgumentConfig\n locale: GraphQLArgumentConfig\n page: GraphQLArgumentConfig\n where: GraphQLArgumentConfig\n } = {} as any\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: GraphQLFieldConfig<any, any, any> = {\n type: withNullableType({\n type: hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n args: relationshipArgs,\n extensions: {\n complexity: 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.push({\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n })\n } else {\n results.push(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 (graphQLCollections.some((collection) => collection.slug === relatedCollectionSlug)) {\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 [formatName(field.name)]: relationship,\n }\n },\n richText: ({ config, field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({\n type: GraphQLJSON,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\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: ({ field, objectTypeConfig, ...rest }) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n field: subField,\n objectTypeConfig: objectTypeConfigWithRowFields,\n ...rest,\n })\n }\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: ({ field, forceNullable, objectTypeConfig, parentIsLocalized, parentName }) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLOutputType = 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 }) as GraphQLOutputType\n\n return {\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({ type, field }),\n }\n },\n tabs: ({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) =>\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 collectionSlug,\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: GenericFieldToSchemaMap = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField({\n collectionSlug,\n config,\n field: subField,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig: subFieldSchema,\n parentIsLocalized,\n parentName,\n })\n }\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type:\n field.hasMany === true\n ? new GraphQLList(new GraphQLNonNull(GraphQLString))\n : GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n textarea: ({ field, forceNullable, objectTypeConfig, parentIsLocalized }) => ({\n ...objectTypeConfig,\n [formatName(field.name)]: formattedNameResolver({\n type: withNullableType({\n type: GraphQLString,\n field,\n forceNullable,\n parentIsLocalized,\n }) as GraphQLOutputType,\n field,\n }),\n }),\n upload: ({\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }) => {\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?: GraphQLArgumentConfig\n fallbackLocale?: GraphQLArgumentConfig\n limit?: GraphQLArgumentConfig\n locale?: GraphQLArgumentConfig\n page?: GraphQLArgumentConfig\n where?: GraphQLArgumentConfig\n } = {} as any\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 }) as GraphQLOutputType,\n args: relationshipArgs,\n extensions: {\n complexity: 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.push({\n relationTo: collectionSlug,\n value: {\n ...result,\n collection: collectionSlug,\n },\n })\n } else {\n results.push(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 [formatName(field.name)]: relationship,\n }\n },\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","combineQueries","createDataloaderCacheKey","MissingEditorProp","toWords","fieldAffectsData","tabHasName","GraphQLJSON","combineParentName","formatName","formatOptions","buildObjectType","isFieldNullable","withNullableType","formattedNameResolver","field","rest","name","resolve","parent","fieldToSchemaMap","array","config","forceNullable","graphqlResult","objectTypeConfig","parentIsLocalized","parentName","interfaceName","types","arrayTypes","objectType","fields","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","collectionSlug","newlyCreatedBlockType","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","args","context","_id","id","join","joinName","joinType","docs","Array","isArray","collection","collections","hasNextPage","totalDocs","count","limit","page","sort","where","whereInputType","extensions","complexity","req","draft","Boolean","query","targetField","fullWhere","relationTo","on","equals","value","Error","payload","depth","fallbackLocale","locale","overrideAccess","pagination","shouldSlice","slice","json","number","hasMany","point","radio","values","relationship","isRelatedToManyCollections","hasManyValues","relationshipName","relationToType","graphQLCollections","filter","collectionConfig","relation","some","relations","map","relationshipArgs","relationsUseDrafts","versions","drafts","localization","localeInputType","fallbackLocaleInputType","relatedCollectionSlug","results","resultPromises","createPopulationPromise","relatedDoc","i","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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/graphql",
3
- "version": "3.59.0-canary.0",
3
+ "version": "3.59.0-internal.e247081",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,12 +52,12 @@
52
52
  "devDependencies": {
53
53
  "@types/pluralize": "^0.0.33",
54
54
  "graphql-http": "^1.22.0",
55
- "payload": "3.59.0-canary.0",
56
- "@payloadcms/eslint-config": "3.28.0"
55
+ "@payloadcms/eslint-config": "3.28.0",
56
+ "payload": "3.59.0-internal.e247081"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "graphql": "^16.8.1",
60
- "payload": "3.59.0-canary.0"
60
+ "payload": "3.59.0-internal.e247081"
61
61
  },
62
62
  "scripts": {
63
63
  "build": "pnpm build:types && pnpm build:swc",