Files
klz-cables.com/.pnpm-store/v10/files/f5/a6471eb83032e08c5e3e5707b50d785c53578ba3f0a64abca5448646b1ebe70976fb57e1799c4da5032c58ee19ac37f4d0eb8094f69b55b657da9aa3803e80
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
23 KiB
Plaintext

{"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 if (fieldAffectsData(field)) {\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 } else {\n return 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 }\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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"}