@payloadcms/graphql 3.28.0-internal.b3cf0a3 → 3.28.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.
@@ -40,26 +40,26 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
40
40
  }));
41
41
  return {
42
42
  ...inputObjectTypeConfig,
43
- [field.name]: {
43
+ [formatName(field.name)]: {
44
44
  type
45
45
  }
46
46
  };
47
47
  },
48
48
  blocks: (inputObjectTypeConfig, field)=>({
49
49
  ...inputObjectTypeConfig,
50
- [field.name]: {
50
+ [formatName(field.name)]: {
51
51
  type: GraphQLJSON
52
52
  }
53
53
  }),
54
54
  checkbox: (inputObjectTypeConfig, field)=>({
55
55
  ...inputObjectTypeConfig,
56
- [field.name]: {
56
+ [formatName(field.name)]: {
57
57
  type: GraphQLBoolean
58
58
  }
59
59
  }),
60
60
  code: (inputObjectTypeConfig, field)=>({
61
61
  ...inputObjectTypeConfig,
62
- [field.name]: {
62
+ [formatName(field.name)]: {
63
63
  type: withNullableType({
64
64
  type: GraphQLString,
65
65
  field,
@@ -77,7 +77,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
77
77
  }, inputObjectTypeConfig),
78
78
  date: (inputObjectTypeConfig, field)=>({
79
79
  ...inputObjectTypeConfig,
80
- [field.name]: {
80
+ [formatName(field.name)]: {
81
81
  type: withNullableType({
82
82
  type: GraphQLString,
83
83
  field,
@@ -88,7 +88,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
88
88
  }),
89
89
  email: (inputObjectTypeConfig, field)=>({
90
90
  ...inputObjectTypeConfig,
91
- [field.name]: {
91
+ [formatName(field.name)]: {
92
92
  type: withNullableType({
93
93
  type: GraphQLString,
94
94
  field,
@@ -116,14 +116,14 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
116
116
  }
117
117
  return {
118
118
  ...inputObjectTypeConfig,
119
- [field.name]: {
119
+ [formatName(field.name)]: {
120
120
  type
121
121
  }
122
122
  };
123
123
  },
124
124
  json: (inputObjectTypeConfig, field)=>({
125
125
  ...inputObjectTypeConfig,
126
- [field.name]: {
126
+ [formatName(field.name)]: {
127
127
  type: withNullableType({
128
128
  type: GraphQLJSON,
129
129
  field,
@@ -136,7 +136,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
136
136
  const type = field.name === 'id' ? GraphQLInt : GraphQLFloat;
137
137
  return {
138
138
  ...inputObjectTypeConfig,
139
- [field.name]: {
139
+ [formatName(field.name)]: {
140
140
  type: withNullableType({
141
141
  type: field.hasMany === true ? new GraphQLList(type) : type,
142
142
  field,
@@ -148,7 +148,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
148
148
  },
149
149
  point: (inputObjectTypeConfig, field)=>({
150
150
  ...inputObjectTypeConfig,
151
- [field.name]: {
151
+ [formatName(field.name)]: {
152
152
  type: withNullableType({
153
153
  type: new GraphQLList(GraphQLFloat),
154
154
  field,
@@ -159,7 +159,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
159
159
  }),
160
160
  radio: (inputObjectTypeConfig, field)=>({
161
161
  ...inputObjectTypeConfig,
162
- [field.name]: {
162
+ [formatName(field.name)]: {
163
163
  type: withNullableType({
164
164
  type: GraphQLString,
165
165
  field,
@@ -197,14 +197,14 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
197
197
  }
198
198
  return {
199
199
  ...inputObjectTypeConfig,
200
- [field.name]: {
200
+ [formatName(field.name)]: {
201
201
  type: field.hasMany ? new GraphQLList(type) : type
202
202
  }
203
203
  };
204
204
  },
205
205
  richText: (inputObjectTypeConfig, field)=>({
206
206
  ...inputObjectTypeConfig,
207
- [field.name]: {
207
+ [formatName(field.name)]: {
208
208
  type: withNullableType({
209
209
  type: GraphQLJSON,
210
210
  field,
@@ -250,7 +250,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
250
250
  });
251
251
  return {
252
252
  ...inputObjectTypeConfig,
253
- [field.name]: {
253
+ [formatName(field.name)]: {
254
254
  type
255
255
  }
256
256
  };
@@ -295,7 +295,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
295
295
  },
296
296
  text: (inputObjectTypeConfig, field)=>({
297
297
  ...inputObjectTypeConfig,
298
- [field.name]: {
298
+ [formatName(field.name)]: {
299
299
  type: withNullableType({
300
300
  type: field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,
301
301
  field,
@@ -306,7 +306,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
306
306
  }),
307
307
  textarea: (inputObjectTypeConfig, field)=>({
308
308
  ...inputObjectTypeConfig,
309
- [field.name]: {
309
+ [formatName(field.name)]: {
310
310
  type: withNullableType({
311
311
  type: GraphQLString,
312
312
  field,
@@ -344,7 +344,7 @@ export function buildMutationInputType({ name, config, fields, forceNullable = f
344
344
  }
345
345
  return {
346
346
  ...inputObjectTypeConfig,
347
- [field.name]: {
347
+ [formatName(field.name)]: {
348
348
  type: field.hasMany ? new GraphQLList(type) : type
349
349
  }
350
350
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/buildMutationInputType.ts"],"sourcesContent":["import type { GraphQLInputFieldConfig, GraphQLScalarType, 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 JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInputObjectType,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLString,\n} from 'graphql'\nimport { flattenTopLevelFields, toWords } from 'payload'\nimport { fieldAffectsData, optionIsObject, tabHasName } from 'payload/shared'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield.js'\nimport { withNullableType } from './withNullableType.js'\n\nconst idFieldTypes = {\n number: GraphQLInt,\n text: GraphQLString,\n}\n\nexport const getCollectionIDType = (\n type: keyof typeof idFieldTypes,\n collection: SanitizedCollectionConfig,\n): GraphQLScalarType => {\n const idField = flattenTopLevelFields(collection.fields).find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n if (!idField) {\n return idFieldTypes[type]\n }\n\n return idFieldTypes[idField.type]\n}\n\nexport type InputObjectTypeConfig = {\n [path: string]: GraphQLInputFieldConfig\n}\n\ntype BuildMutationInputTypeArgs = {\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 buildMutationInputType({\n name,\n config,\n fields,\n forceNullable = false,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: BuildMutationInputTypeArgs): GraphQLInputObjectType | null {\n const fieldToSchemaMap = {\n array: (inputObjectTypeConfig: InputObjectTypeConfig, field: ArrayField) => {\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLList<GraphQLType> | GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return inputObjectTypeConfig\n }\n\n type = new GraphQLList(withNullableType({ type, field, forceNullable, parentIsLocalized }))\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n blocks: (inputObjectTypeConfig: InputObjectTypeConfig, field: BlocksField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: GraphQLJSON },\n }),\n checkbox: (inputObjectTypeConfig: InputObjectTypeConfig, field: CheckboxField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: GraphQLBoolean },\n }),\n code: (inputObjectTypeConfig: InputObjectTypeConfig, field: CodeField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n collapsible: (inputObjectTypeConfig: InputObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((acc, subField: CollapsibleField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(acc, subField)\n }\n return acc\n }, inputObjectTypeConfig),\n date: (inputObjectTypeConfig: InputObjectTypeConfig, field: DateField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n email: (inputObjectTypeConfig: InputObjectTypeConfig, field: EmailField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n group: (inputObjectTypeConfig: InputObjectTypeConfig, field: GroupField) => {\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return inputObjectTypeConfig\n }\n\n if (requiresAtLeastOneField) {\n type = new GraphQLNonNull(type)\n }\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n json: (inputObjectTypeConfig: InputObjectTypeConfig, field: JSONField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n number: (inputObjectTypeConfig: InputObjectTypeConfig, field: NumberField) => {\n const type = field.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...inputObjectTypeConfig,\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: (inputObjectTypeConfig: InputObjectTypeConfig, field: PointField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({\n type: new GraphQLList(GraphQLFloat),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n radio: (inputObjectTypeConfig: InputObjectTypeConfig, field: RadioField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n relationship: (inputObjectTypeConfig: InputObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n type PayloadGraphQLRelationshipType =\n | GraphQLInputObjectType\n | GraphQLList<GraphQLScalarType>\n | GraphQLScalarType\n let type: PayloadGraphQLRelationshipType\n\n if (Array.isArray(relationTo)) {\n const fullName = `${combineParentName(\n parentName,\n toWords(field.name, true),\n )}RelationshipInput`\n type = new GraphQLInputObjectType({\n name: fullName,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${fullName}RelationTo`,\n values: relationTo.reduce(\n (values, option) => ({\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n })\n } else {\n type = getCollectionIDType(\n config.db.defaultIDType,\n graphqlResult.collections[relationTo].config,\n )\n }\n\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type: field.hasMany ? new GraphQLList(type) : type },\n }\n },\n richText: (inputObjectTypeConfig: InputObjectTypeConfig, field: RichTextField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n row: (inputObjectTypeConfig: InputObjectTypeConfig, field: RowField) =>\n field.fields.reduce((acc, subField: Field) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(acc, subField)\n }\n return acc\n }, inputObjectTypeConfig),\n select: (inputObjectTypeConfig: InputObjectTypeConfig, field: SelectField) => {\n const formattedName = `${combineParentName(parentName, field.name)}_MutationInput`\n let type: GraphQLType = new GraphQLEnumType({\n name: formattedName,\n values: field.options.reduce((values, option) => {\n if (optionIsObject(option)) {\n return {\n ...values,\n [formatName(option.value)]: {\n value: option.value,\n },\n }\n }\n\n return {\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }\n }, {}),\n })\n\n type = field.hasMany ? new GraphQLList(type) : type\n type = withNullableType({ type, field, forceNullable, parentIsLocalized })\n\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (inputObjectTypeConfig: InputObjectTypeConfig, field: TabsField) => {\n return field.tabs.reduce((acc, tab) => {\n if (tabHasName(tab)) {\n const fullName = combineParentName(parentName, toWords(tab.name, true))\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: tab.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return acc\n }\n\n if (requiresAtLeastOneField) {\n type = new GraphQLNonNull(type)\n }\n return {\n ...acc,\n [tab.name]: { type },\n }\n }\n\n return {\n ...acc,\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 }, acc),\n }\n }, inputObjectTypeConfig)\n },\n text: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextField) => ({\n ...inputObjectTypeConfig,\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: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextareaField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n upload: (inputObjectTypeConfig: InputObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n type PayloadGraphQLRelationshipType =\n | GraphQLInputObjectType\n | GraphQLList<GraphQLScalarType>\n | GraphQLScalarType\n let type: PayloadGraphQLRelationshipType\n\n if (Array.isArray(relationTo)) {\n const fullName = `${combineParentName(\n parentName,\n toWords(field.name, true),\n )}RelationshipInput`\n type = new GraphQLInputObjectType({\n name: fullName,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${fullName}RelationTo`,\n values: relationTo.reduce(\n (values, option) => ({\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n })\n } else {\n type = getCollectionIDType(\n config.db.defaultIDType,\n graphqlResult.collections[relationTo].config,\n )\n }\n\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type: field.hasMany ? new GraphQLList(type) : type },\n }\n },\n }\n\n const fieldName = formatName(name)\n\n const fieldSchemas = fields.reduce((inputObjectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return inputObjectTypeConfig\n }\n\n const schema = fieldSchema(inputObjectTypeConfig, field)\n if (Object.keys(schema).length === 0) {\n return inputObjectTypeConfig\n }\n\n return {\n ...inputObjectTypeConfig,\n ...fieldSchema(inputObjectTypeConfig, field),\n }\n }, {})\n\n if (Object.keys(fieldSchemas).length === 0) {\n return null\n }\n\n return new GraphQLInputObjectType({\n name: `mutation${fieldName}Input`,\n fields: fieldSchemas,\n })\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInputObjectType","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLString","flattenTopLevelFields","toWords","fieldAffectsData","optionIsObject","tabHasName","GraphQLJSON","combineParentName","formatName","groupOrTabHasRequiredSubfield","withNullableType","idFieldTypes","number","text","getCollectionIDType","type","collection","idField","fields","find","field","name","buildMutationInputType","config","forceNullable","graphqlResult","parentIsLocalized","parentName","fieldToSchemaMap","array","inputObjectTypeConfig","fullName","localized","blocks","checkbox","code","collapsible","reduce","acc","subField","addSubField","date","email","group","requiresAtLeastOneField","json","hasMany","point","radio","relationship","relationTo","Array","isArray","values","option","value","db","defaultIDType","collections","richText","row","select","formattedName","options","tabs","tab","subFieldSchema","textarea","upload","fieldName","fieldSchemas","fieldSchema","schema","Object","keys","length"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/buildMutationInputType.ts"],"sourcesContent":["import type { GraphQLInputFieldConfig, GraphQLScalarType, 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 JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInputObjectType,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLString,\n} from 'graphql'\nimport { flattenTopLevelFields, toWords } from 'payload'\nimport { fieldAffectsData, optionIsObject, tabHasName } from 'payload/shared'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield.js'\nimport { withNullableType } from './withNullableType.js'\n\nconst idFieldTypes = {\n number: GraphQLInt,\n text: GraphQLString,\n}\n\nexport const getCollectionIDType = (\n type: keyof typeof idFieldTypes,\n collection: SanitizedCollectionConfig,\n): GraphQLScalarType => {\n const idField = flattenTopLevelFields(collection.fields).find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n if (!idField) {\n return idFieldTypes[type]\n }\n\n return idFieldTypes[idField.type]\n}\n\nexport type InputObjectTypeConfig = {\n [path: string]: GraphQLInputFieldConfig\n}\n\ntype BuildMutationInputTypeArgs = {\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 buildMutationInputType({\n name,\n config,\n fields,\n forceNullable = false,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: BuildMutationInputTypeArgs): GraphQLInputObjectType | null {\n const fieldToSchemaMap = {\n array: (inputObjectTypeConfig: InputObjectTypeConfig, field: ArrayField) => {\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLList<GraphQLType> | GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return inputObjectTypeConfig\n }\n\n type = new GraphQLList(withNullableType({ type, field, forceNullable, parentIsLocalized }))\n return {\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type },\n }\n },\n blocks: (inputObjectTypeConfig: InputObjectTypeConfig, field: BlocksField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type: GraphQLJSON },\n }),\n checkbox: (inputObjectTypeConfig: InputObjectTypeConfig, field: CheckboxField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type: GraphQLBoolean },\n }),\n code: (inputObjectTypeConfig: InputObjectTypeConfig, field: CodeField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n collapsible: (inputObjectTypeConfig: InputObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((acc, subField: CollapsibleField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(acc, subField)\n }\n return acc\n }, inputObjectTypeConfig),\n date: (inputObjectTypeConfig: InputObjectTypeConfig, field: DateField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n email: (inputObjectTypeConfig: InputObjectTypeConfig, field: EmailField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n group: (inputObjectTypeConfig: InputObjectTypeConfig, field: GroupField) => {\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return inputObjectTypeConfig\n }\n\n if (requiresAtLeastOneField) {\n type = new GraphQLNonNull(type)\n }\n return {\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type },\n }\n },\n json: (inputObjectTypeConfig: InputObjectTypeConfig, field: JSONField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n number: (inputObjectTypeConfig: InputObjectTypeConfig, field: NumberField) => {\n const type = field.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...inputObjectTypeConfig,\n [formatName(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: (inputObjectTypeConfig: InputObjectTypeConfig, field: PointField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({\n type: new GraphQLList(GraphQLFloat),\n field,\n forceNullable,\n parentIsLocalized,\n }),\n },\n }),\n radio: (inputObjectTypeConfig: InputObjectTypeConfig, field: RadioField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n relationship: (inputObjectTypeConfig: InputObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n type PayloadGraphQLRelationshipType =\n | GraphQLInputObjectType\n | GraphQLList<GraphQLScalarType>\n | GraphQLScalarType\n let type: PayloadGraphQLRelationshipType\n\n if (Array.isArray(relationTo)) {\n const fullName = `${combineParentName(\n parentName,\n toWords(field.name, true),\n )}RelationshipInput`\n type = new GraphQLInputObjectType({\n name: fullName,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${fullName}RelationTo`,\n values: relationTo.reduce(\n (values, option) => ({\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n })\n } else {\n type = getCollectionIDType(\n config.db.defaultIDType,\n graphqlResult.collections[relationTo].config,\n )\n }\n\n return {\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type: field.hasMany ? new GraphQLList(type) : type },\n }\n },\n richText: (inputObjectTypeConfig: InputObjectTypeConfig, field: RichTextField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLJSON, field, forceNullable, parentIsLocalized }),\n },\n }),\n row: (inputObjectTypeConfig: InputObjectTypeConfig, field: RowField) =>\n field.fields.reduce((acc, subField: Field) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) {\n return addSubField(acc, subField)\n }\n return acc\n }, inputObjectTypeConfig),\n select: (inputObjectTypeConfig: InputObjectTypeConfig, field: SelectField) => {\n const formattedName = `${combineParentName(parentName, field.name)}_MutationInput`\n let type: GraphQLType = new GraphQLEnumType({\n name: formattedName,\n values: field.options.reduce((values, option) => {\n if (optionIsObject(option)) {\n return {\n ...values,\n [formatName(option.value)]: {\n value: option.value,\n },\n }\n }\n\n return {\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }\n }, {}),\n })\n\n type = field.hasMany ? new GraphQLList(type) : type\n type = withNullableType({ type, field, forceNullable, parentIsLocalized })\n\n return {\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type },\n }\n },\n tabs: (inputObjectTypeConfig: InputObjectTypeConfig, field: TabsField) => {\n return field.tabs.reduce((acc, tab) => {\n if (tabHasName(tab)) {\n const fullName = combineParentName(parentName, toWords(tab.name, true))\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: tab.fields,\n graphqlResult,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentName: fullName,\n })\n\n if (!type) {\n return acc\n }\n\n if (requiresAtLeastOneField) {\n type = new GraphQLNonNull(type)\n }\n return {\n ...acc,\n [tab.name]: { type },\n }\n }\n\n return {\n ...acc,\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 }, acc),\n }\n }, inputObjectTypeConfig)\n },\n text: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextField) => ({\n ...inputObjectTypeConfig,\n [formatName(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: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextareaField) => ({\n ...inputObjectTypeConfig,\n [formatName(field.name)]: {\n type: withNullableType({ type: GraphQLString, field, forceNullable, parentIsLocalized }),\n },\n }),\n upload: (inputObjectTypeConfig: InputObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n type PayloadGraphQLRelationshipType =\n | GraphQLInputObjectType\n | GraphQLList<GraphQLScalarType>\n | GraphQLScalarType\n let type: PayloadGraphQLRelationshipType\n\n if (Array.isArray(relationTo)) {\n const fullName = `${combineParentName(\n parentName,\n toWords(field.name, true),\n )}RelationshipInput`\n type = new GraphQLInputObjectType({\n name: fullName,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${fullName}RelationTo`,\n values: relationTo.reduce(\n (values, option) => ({\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n })\n } else {\n type = getCollectionIDType(\n config.db.defaultIDType,\n graphqlResult.collections[relationTo].config,\n )\n }\n\n return {\n ...inputObjectTypeConfig,\n [formatName(field.name)]: { type: field.hasMany ? new GraphQLList(type) : type },\n }\n },\n }\n\n const fieldName = formatName(name)\n\n const fieldSchemas = fields.reduce((inputObjectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return inputObjectTypeConfig\n }\n\n const schema = fieldSchema(inputObjectTypeConfig, field)\n if (Object.keys(schema).length === 0) {\n return inputObjectTypeConfig\n }\n\n return {\n ...inputObjectTypeConfig,\n ...fieldSchema(inputObjectTypeConfig, field),\n }\n }, {})\n\n if (Object.keys(fieldSchemas).length === 0) {\n return null\n }\n\n return new GraphQLInputObjectType({\n name: `mutation${fieldName}Input`,\n fields: fieldSchemas,\n })\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInputObjectType","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLString","flattenTopLevelFields","toWords","fieldAffectsData","optionIsObject","tabHasName","GraphQLJSON","combineParentName","formatName","groupOrTabHasRequiredSubfield","withNullableType","idFieldTypes","number","text","getCollectionIDType","type","collection","idField","fields","find","field","name","buildMutationInputType","config","forceNullable","graphqlResult","parentIsLocalized","parentName","fieldToSchemaMap","array","inputObjectTypeConfig","fullName","localized","blocks","checkbox","code","collapsible","reduce","acc","subField","addSubField","date","email","group","requiresAtLeastOneField","json","hasMany","point","radio","relationship","relationTo","Array","isArray","values","option","value","db","defaultIDType","collections","richText","row","select","formattedName","options","tabs","tab","subFieldSchema","textarea","upload","fieldName","fieldSchemas","fieldSchema","schema","Object","keys","length"],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { GraphQLFieldConfig } from 'graphql';
2
2
  import type { Field, GraphQLInfo, SanitizedConfig } from 'payload';
3
3
  import { GraphQLObjectType } from 'graphql';
4
4
  export type ObjectTypeConfig = {
5
- [path: string]: GraphQLFieldConfig<any, any>;
5
+ [path: string]: GraphQLFieldConfig<any, any, any>;
6
6
  };
7
7
  type Args = {
8
8
  baseFields?: ObjectTypeConfig;
@@ -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,CAk3B1B"}
1
+ {"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../src/schema/buildObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAClD,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,CA8B1B"}