@payloadcms/graphql 3.37.0-internal.f2e6c68 → 3.37.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.
- package/dist/schema/buildObjectType.d.ts +2 -1
- package/dist/schema/buildObjectType.d.ts.map +1 -1
- package/dist/schema/buildObjectType.js +2 -1
- package/dist/schema/buildObjectType.js.map +1 -1
- package/dist/schema/buildPaginatedListType.js +2 -2
- package/dist/schema/buildPaginatedListType.js.map +1 -1
- package/dist/schema/fieldToSchemaMap.d.ts +1 -0
- package/dist/schema/fieldToSchemaMap.d.ts.map +1 -1
- package/dist/schema/fieldToSchemaMap.js +10 -2
- package/dist/schema/fieldToSchemaMap.js.map +1 -1
- package/dist/schema/fieldToWhereInputSchemaMap.d.ts +1 -0
- package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
- package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -1
- package/dist/schema/initCollections.d.ts.map +1 -1
- package/dist/schema/initCollections.js +2 -0
- package/dist/schema/initCollections.js.map +1 -1
- package/package.json +4 -4
|
@@ -6,6 +6,7 @@ export type ObjectTypeConfig = {
|
|
|
6
6
|
};
|
|
7
7
|
type Args = {
|
|
8
8
|
baseFields?: ObjectTypeConfig;
|
|
9
|
+
collectionSlug?: string;
|
|
9
10
|
config: SanitizedConfig;
|
|
10
11
|
fields: Field[];
|
|
11
12
|
forceNullable?: boolean;
|
|
@@ -14,6 +15,6 @@ type Args = {
|
|
|
14
15
|
parentIsLocalized?: boolean;
|
|
15
16
|
parentName: string;
|
|
16
17
|
};
|
|
17
|
-
export declare function buildObjectType({ name, baseFields, config, fields, forceNullable, graphqlResult, parentIsLocalized, parentName, }: Args): GraphQLObjectType;
|
|
18
|
+
export declare function buildObjectType({ name, baseFields, collectionSlug, config, fields, forceNullable, graphqlResult, parentIsLocalized, parentName, }: Args): GraphQLObjectType;
|
|
18
19
|
export {};
|
|
19
20
|
//# sourceMappingURL=buildObjectType.d.ts.map
|
|
@@ -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;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,
|
|
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,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,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,cAAc,EACd,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,EAAE,IAAI,GAAG,iBAAiB,CA+B1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphQLObjectType } from 'graphql';
|
|
2
2
|
import { fieldToSchemaMap } from './fieldToSchemaMap.js';
|
|
3
|
-
export function buildObjectType({ name, baseFields = {}, config, fields, forceNullable, graphqlResult, parentIsLocalized, parentName }) {
|
|
3
|
+
export function buildObjectType({ name, baseFields = {}, collectionSlug, config, fields, forceNullable, graphqlResult, parentIsLocalized, parentName }) {
|
|
4
4
|
const objectSchema = {
|
|
5
5
|
name,
|
|
6
6
|
fields: ()=>fields.reduce((objectTypeConfig, field)=>{
|
|
@@ -11,6 +11,7 @@ export function buildObjectType({ name, baseFields = {}, config, fields, forceNu
|
|
|
11
11
|
return {
|
|
12
12
|
...objectTypeConfig,
|
|
13
13
|
...fieldSchema({
|
|
14
|
+
collectionSlug,
|
|
14
15
|
config,
|
|
15
16
|
field,
|
|
16
17
|
forceNullable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["import type { GraphQLFieldConfig } from 'graphql'\nimport type { Field, GraphQLInfo, SanitizedConfig } from 'payload'\n\nimport { GraphQLObjectType } from 'graphql'\n\nimport { fieldToSchemaMap } from './fieldToSchemaMap.js'\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentIsLocalized?: boolean\n parentName: string\n}\n\nexport function buildObjectType({\n name,\n baseFields = {},\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: Args): GraphQLObjectType {\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema({\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n"],"names":["GraphQLObjectType","fieldToSchemaMap","buildObjectType","name","baseFields","config","fields","forceNullable","graphqlResult","parentIsLocalized","parentName","objectSchema","reduce","objectTypeConfig","field","fieldSchema","type","newlyCreatedBlockType"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,UAAS;AAE3C,SAASC,gBAAgB,QAAQ,wBAAuB;
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["import type { GraphQLFieldConfig } from 'graphql'\nimport type { Field, GraphQLInfo, SanitizedConfig } from 'payload'\n\nimport { GraphQLObjectType } from 'graphql'\n\nimport { fieldToSchemaMap } from './fieldToSchemaMap.js'\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n collectionSlug?: string\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentIsLocalized?: boolean\n parentName: string\n}\n\nexport function buildObjectType({\n name,\n baseFields = {},\n collectionSlug,\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentIsLocalized,\n parentName,\n}: Args): GraphQLObjectType {\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema({\n collectionSlug,\n config,\n field,\n forceNullable,\n graphqlResult,\n newlyCreatedBlockType,\n objectTypeConfig,\n parentIsLocalized,\n parentName,\n }),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n"],"names":["GraphQLObjectType","fieldToSchemaMap","buildObjectType","name","baseFields","collectionSlug","config","fields","forceNullable","graphqlResult","parentIsLocalized","parentName","objectSchema","reduce","objectTypeConfig","field","fieldSchema","type","newlyCreatedBlockType"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,UAAS;AAE3C,SAASC,gBAAgB,QAAQ,wBAAuB;AAkBxD,OAAO,SAASC,gBAAgB,EAC9BC,IAAI,EACJC,aAAa,CAAC,CAAC,EACfC,cAAc,EACdC,MAAM,EACNC,MAAM,EACNC,aAAa,EACbC,aAAa,EACbC,iBAAiB,EACjBC,UAAU,EACL;IACL,MAAMC,eAAe;QACnBT;QACAI,QAAQ,IACNA,OAAOM,MAAM,CAAC,CAACC,kBAAkBC;gBAC/B,MAAMC,cAAcf,gBAAgB,CAACc,MAAME,IAAI,CAAC;gBAEhD,IAAI,OAAOD,gBAAgB,YAAY;oBACrC,OAAOF;gBACT;gBAEA,OAAO;oBACL,GAAGA,gBAAgB;oBACnB,GAAGE,YAAY;wBACbX;wBACAC;wBACAS;wBACAP;wBACAC;wBACAS;wBACAJ;wBACAJ;wBACAC;oBACF,EAAE;gBACJ;YACF,GAAGP;IACP;IAEA,MAAMc,wBAAwB,IAAIlB,kBAAkBY;IAEpD,OAAOM;AACT"}
|
|
@@ -15,7 +15,7 @@ export const buildPaginatedListType = (name, docType)=>new GraphQLObjectType({
|
|
|
15
15
|
type: new GraphQLNonNull(GraphQLInt)
|
|
16
16
|
},
|
|
17
17
|
nextPage: {
|
|
18
|
-
type:
|
|
18
|
+
type: GraphQLInt
|
|
19
19
|
},
|
|
20
20
|
offset: {
|
|
21
21
|
type: GraphQLInt
|
|
@@ -27,7 +27,7 @@ export const buildPaginatedListType = (name, docType)=>new GraphQLObjectType({
|
|
|
27
27
|
type: new GraphQLNonNull(GraphQLInt)
|
|
28
28
|
},
|
|
29
29
|
prevPage: {
|
|
30
|
-
type:
|
|
30
|
+
type: GraphQLInt
|
|
31
31
|
},
|
|
32
32
|
totalDocs: {
|
|
33
33
|
type: new GraphQLNonNull(GraphQLInt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/buildPaginatedListType.ts"],"sourcesContent":["import { GraphQLBoolean, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType } from 'graphql'\n\nexport const buildPaginatedListType = (name, docType) =>\n new GraphQLObjectType({\n name,\n fields: {\n docs: {\n type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(docType))),\n },\n hasNextPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n hasPrevPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n limit: { type: new GraphQLNonNull(GraphQLInt) },\n nextPage: { type:
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildPaginatedListType.ts"],"sourcesContent":["import { GraphQLBoolean, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType } from 'graphql'\n\nexport const buildPaginatedListType = (name, docType) =>\n new GraphQLObjectType({\n name,\n fields: {\n docs: {\n type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(docType))),\n },\n hasNextPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n hasPrevPage: { type: new GraphQLNonNull(GraphQLBoolean) },\n limit: { type: new GraphQLNonNull(GraphQLInt) },\n nextPage: { type: GraphQLInt },\n offset: { type: GraphQLInt },\n page: { type: new GraphQLNonNull(GraphQLInt) },\n pagingCounter: { type: new GraphQLNonNull(GraphQLInt) },\n prevPage: { type: GraphQLInt },\n totalDocs: { type: new GraphQLNonNull(GraphQLInt) },\n totalPages: { type: new GraphQLNonNull(GraphQLInt) },\n },\n })\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","buildPaginatedListType","name","docType","fields","docs","type","hasNextPage","hasPrevPage","limit","nextPage","offset","page","pagingCounter","prevPage","totalDocs","totalPages"],"mappings":"AAAA,SAASA,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ,UAAS;AAEpG,OAAO,MAAMC,yBAAyB,CAACC,MAAMC,UAC3C,IAAIH,kBAAkB;QACpBE;QACAE,QAAQ;YACNC,MAAM;gBACJC,MAAM,IAAIP,eAAe,IAAID,YAAY,IAAIC,eAAeI;YAC9D;YACAI,aAAa;gBAAED,MAAM,IAAIP,eAAeH;YAAgB;YACxDY,aAAa;gBAAEF,MAAM,IAAIP,eAAeH;YAAgB;YACxDa,OAAO;gBAAEH,MAAM,IAAIP,eAAeF;YAAY;YAC9Ca,UAAU;gBAAEJ,MAAMT;YAAW;YAC7Bc,QAAQ;gBAAEL,MAAMT;YAAW;YAC3Be,MAAM;gBAAEN,MAAM,IAAIP,eAAeF;YAAY;YAC7CgB,eAAe;gBAAEP,MAAM,IAAIP,eAAeF;YAAY;YACtDiB,UAAU;gBAAER,MAAMT;YAAW;YAC7BkB,WAAW;gBAAET,MAAM,IAAIP,eAAeF;YAAY;YAClDmB,YAAY;gBAAEV,MAAM,IAAIP,eAAeF;YAAY;QACrD;IACF,GAAE"}
|
|
@@ -2,6 +2,7 @@ import type { ArrayField, BlocksField, CheckboxField, CodeField, CollapsibleFiel
|
|
|
2
2
|
import { GraphQLObjectType } from 'graphql';
|
|
3
3
|
import { type ObjectTypeConfig } from './buildObjectType.js';
|
|
4
4
|
type SharedArgs = {
|
|
5
|
+
collectionSlug?: string;
|
|
5
6
|
config: SanitizedConfig;
|
|
6
7
|
forceNullable?: boolean;
|
|
7
8
|
graphqlResult: GraphQLInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldToSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToSchemaMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,UAAU,
|
|
1
|
+
{"version":3,"file":"fieldToSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToSchemaMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -209,7 +209,7 @@ export const fieldToSchemaMap = {
|
|
|
209
209
|
}
|
|
210
210
|
};
|
|
211
211
|
},
|
|
212
|
-
join: ({ field, graphqlResult, objectTypeConfig, parentName })=>{
|
|
212
|
+
join: ({ collectionSlug, field, graphqlResult, objectTypeConfig, parentName })=>{
|
|
213
213
|
const joinName = combineParentName(parentName, toWords(field.name, true));
|
|
214
214
|
const joinType = {
|
|
215
215
|
type: new GraphQLObjectType({
|
|
@@ -245,7 +245,15 @@ export const fieldToSchemaMap = {
|
|
|
245
245
|
const { limit, page, sort, where } = args;
|
|
246
246
|
const { req } = context;
|
|
247
247
|
const draft = Boolean(args.draft ?? context.req.query?.draft);
|
|
248
|
-
const
|
|
248
|
+
const targetField = field.targetField;
|
|
249
|
+
const fullWhere = combineQueries(where, Array.isArray(targetField.relationTo) ? {
|
|
250
|
+
[field.on]: {
|
|
251
|
+
equals: {
|
|
252
|
+
relationTo: collectionSlug,
|
|
253
|
+
value: parent._id ?? parent.id
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
} : {
|
|
249
257
|
[field.on]: {
|
|
250
258
|
equals: parent._id ?? parent.id
|
|
251
259
|
}
|
|
@@ -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 GraphQLInfo,\n GroupField,\n JoinField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextAdapter,\n RichTextField,\n RowField,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n GraphQLUnionType,\n} from 'graphql'\nimport { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars'\nimport { combineQueries, createDataloaderCacheKey, MissingEditorProp, toWords } from 'payload'\nimport { tabHasName } from 'payload/shared'\n\nimport type { Context } from '../resolvers/types.js'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { formatOptions } from '../utilities/formatOptions.js'\nimport { 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 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 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 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 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.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 },\n join: ({ 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 },\n }),\n args: {\n limit: {\n type: GraphQLInt,\n },\n page: {\n type: GraphQLInt,\n },\n sort: {\n type: GraphQLString,\n },\n where: {\n type: Array.isArray(field.collection)\n ? GraphQLJSON\n : graphqlResult.collections[field.collection].graphQL.whereInputType,\n },\n },\n extensions: {\n complexity: typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { limit, page, sort, where } = args\n const { req } = context\n\n const draft = Boolean(args.draft ?? context.req.query?.draft)\n\n const fullWhere = combineQueries(where, {\n [field.on]: { equals: parent._id ?? parent.id },\n })\n\n if (Array.isArray(collection)) {\n throw new Error('GraphQL with array of join.field.collection is not implemented')\n }\n\n const { docs } = 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: 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 }\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 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 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 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","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","newlyCreatedBlockType","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","args","context","_id","id","join","joinName","joinType","docs","Array","isArray","collection","collections","hasNextPage","limit","page","sort","where","whereInputType","extensions","complexity","req","draft","Boolean","query","fullWhere","on","equals","Error","payload","depth","fallbackLocale","locale","overrideAccess","pagination","shouldSlice","slice","json","number","hasMany","point","radio","values","relationship","relationTo","isRelatedToManyCollections","hasManyValues","relationshipName","relationToType","graphQLCollections","filter","collectionConfig","relation","some","relations","value","map","relationshipArgs","relationsUseDrafts","versions","drafts","localization","localeInputType","fallbackLocaleInputType","relatedCollectionSlug","results","resultPromises","createPopulationPromise","relatedDoc","i","collectionSlug","isValidGraphQLCollection","includes","result","payloadDataLoader","load","currentDepth","docID","showHiddenFields","transactionID","forEach","Promise","all","relatedDocument","richText","defaultDepth","editor","graphQLPopulationPromises","fieldPromises","populationPromises","populateDepth","maxDepth","undefined","findMany","flattenLocales","siblingDoc","row","objectTypeConfigWithRowFields","select","tabs","tabSchema","tab","subFieldSchema","text","textarea","upload"],"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 { 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 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 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 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.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 },\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 },\n }),\n args: {\n limit: {\n type: GraphQLInt,\n },\n page: {\n type: GraphQLInt,\n },\n sort: {\n type: GraphQLString,\n },\n where: {\n type: Array.isArray(field.collection)\n ? GraphQLJSON\n : graphqlResult.collections[field.collection].graphQL.whereInputType,\n },\n },\n extensions: {\n complexity: typeof field?.graphQL?.complexity === 'number' ? field.graphQL.complexity : 10,\n },\n async resolve(parent, args, context: Context) {\n const { collection } = field\n const { limit, page, sort, where } = args\n const { req } = context\n\n const 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 } = 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: 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 }\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 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 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 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","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","newlyCreatedBlockType","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","args","context","_id","id","join","collectionSlug","joinName","joinType","docs","Array","isArray","collection","collections","hasNextPage","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldToWhereInputSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"names":[],"mappings":"AA8BA,KAAK,IAAI,GAAG;IACV,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,gBAAgB,oCAAqC,IAAI,KAAG,GA+HvE,CAAA"}
|
|
1
|
+
{"version":3,"file":"fieldToWhereInputSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"names":[],"mappings":"AA8BA,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,gBAAgB,oCAAqC,IAAI,KAAG,GA+HvE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"sourcesContent":["import type {\n ArrayField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport { GraphQLEnumType, GraphQLInputObjectType } from 'graphql'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { recursivelyBuildNestedPaths } from './recursivelyBuildNestedPaths.js'\nimport { withOperators } from './withOperators.js'\n\ntype Args = {\n nestedFieldName?: string\n parentName: string\n}\n\nexport const fieldToSchemaMap = ({ nestedFieldName, parentName }: Args): any => ({\n array: (field: ArrayField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n checkbox: (field: CheckboxField) => ({\n type: withOperators(field, parentName),\n }),\n code: (field: CodeField) => ({\n type: withOperators(field, parentName),\n }),\n collapsible: (field: CollapsibleField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n date: (field: DateField) => ({\n type: withOperators(field, parentName),\n }),\n email: (field: EmailField) => ({\n type: withOperators(field, parentName),\n }),\n group: (field: GroupField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n json: (field: JSONField) => ({\n type: withOperators(field, parentName),\n }),\n number: (field: NumberField) => ({\n type: withOperators(field, parentName),\n }),\n point: (field: PointField) => ({\n type: withOperators(field, parentName),\n }),\n radio: (field: RadioField) => ({\n type: withOperators(field, parentName),\n }),\n relationship: (field: RelationshipField) => {\n if (Array.isArray(field.relationTo)) {\n return {\n type: new GraphQLInputObjectType({\n name: `${combineParentName(parentName, field.name)}_Relation`,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,\n values: field.relationTo.reduce(\n (values, relation) => ({\n ...values,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n }),\n }\n }\n\n return {\n type: withOperators(field, parentName),\n }\n },\n richText: (field: RichTextField) => ({\n type: withOperators(field, parentName),\n }),\n row: (field: RowField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n select: (field: SelectField) => ({\n type: withOperators(field, parentName),\n }),\n tabs: (field: TabsField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n text: (field: TextField) => ({\n type: withOperators(field, parentName),\n }),\n textarea: (field: TextareaField) => ({\n type: withOperators(field, parentName),\n }),\n upload: (field: UploadField) => {\n if (Array.isArray(field.relationTo)) {\n return {\n type: new GraphQLInputObjectType({\n name: `${combineParentName(parentName, field.name)}_Relation`,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,\n values: field.relationTo.reduce(\n (values, relation) => ({\n ...values,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n }),\n }\n }\n\n return {\n type: withOperators(field, parentName),\n }\n },\n})\n"],"names":["GraphQLEnumType","GraphQLInputObjectType","GraphQLJSON","combineParentName","formatName","recursivelyBuildNestedPaths","withOperators","fieldToSchemaMap","nestedFieldName","parentName","array","field","nestedFieldName2","checkbox","type","code","collapsible","date","email","group","json","number","point","radio","relationship","Array","isArray","relationTo","name","fields","values","reduce","relation","value","richText","row","select","tabs","text","textarea","upload"],"mappings":"AAsBA,SAASA,eAAe,EAAEC,sBAAsB,QAAQ,UAAS;AAEjE,SAASC,WAAW,QAAQ,yCAAwC;AACpE,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,SAASC,UAAU,QAAQ,6BAA4B;AACvD,SAASC,2BAA2B,QAAQ,mCAAkC;AAC9E,SAASC,aAAa,QAAQ,qBAAoB;
|
|
1
|
+
{"version":3,"sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"sourcesContent":["import type {\n ArrayField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SelectField,\n TabsField,\n TextareaField,\n TextField,\n UploadField,\n} from 'payload'\n\nimport { GraphQLEnumType, GraphQLInputObjectType } from 'graphql'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\nimport { combineParentName } from '../utilities/combineParentName.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { recursivelyBuildNestedPaths } from './recursivelyBuildNestedPaths.js'\nimport { withOperators } from './withOperators.js'\n\ntype Args = {\n collectionSlug?: string\n nestedFieldName?: string\n parentName: string\n}\n\nexport const fieldToSchemaMap = ({ nestedFieldName, parentName }: Args): any => ({\n array: (field: ArrayField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n checkbox: (field: CheckboxField) => ({\n type: withOperators(field, parentName),\n }),\n code: (field: CodeField) => ({\n type: withOperators(field, parentName),\n }),\n collapsible: (field: CollapsibleField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n date: (field: DateField) => ({\n type: withOperators(field, parentName),\n }),\n email: (field: EmailField) => ({\n type: withOperators(field, parentName),\n }),\n group: (field: GroupField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n json: (field: JSONField) => ({\n type: withOperators(field, parentName),\n }),\n number: (field: NumberField) => ({\n type: withOperators(field, parentName),\n }),\n point: (field: PointField) => ({\n type: withOperators(field, parentName),\n }),\n radio: (field: RadioField) => ({\n type: withOperators(field, parentName),\n }),\n relationship: (field: RelationshipField) => {\n if (Array.isArray(field.relationTo)) {\n return {\n type: new GraphQLInputObjectType({\n name: `${combineParentName(parentName, field.name)}_Relation`,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,\n values: field.relationTo.reduce(\n (values, relation) => ({\n ...values,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n }),\n }\n }\n\n return {\n type: withOperators(field, parentName),\n }\n },\n richText: (field: RichTextField) => ({\n type: withOperators(field, parentName),\n }),\n row: (field: RowField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n select: (field: SelectField) => ({\n type: withOperators(field, parentName),\n }),\n tabs: (field: TabsField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n text: (field: TextField) => ({\n type: withOperators(field, parentName),\n }),\n textarea: (field: TextareaField) => ({\n type: withOperators(field, parentName),\n }),\n upload: (field: UploadField) => {\n if (Array.isArray(field.relationTo)) {\n return {\n type: new GraphQLInputObjectType({\n name: `${combineParentName(parentName, field.name)}_Relation`,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,\n values: field.relationTo.reduce(\n (values, relation) => ({\n ...values,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n }),\n }\n }\n\n return {\n type: withOperators(field, parentName),\n }\n },\n})\n"],"names":["GraphQLEnumType","GraphQLInputObjectType","GraphQLJSON","combineParentName","formatName","recursivelyBuildNestedPaths","withOperators","fieldToSchemaMap","nestedFieldName","parentName","array","field","nestedFieldName2","checkbox","type","code","collapsible","date","email","group","json","number","point","radio","relationship","Array","isArray","relationTo","name","fields","values","reduce","relation","value","richText","row","select","tabs","text","textarea","upload"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,eAAe,EAChB,MAAM,SAAS,CAAA;AAyChB,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,0BAA0B,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,eAAe,EAChB,MAAM,SAAS,CAAA;AAyChB,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,0BAA0B,GAAG,IAAI,CAygB3F"}
|
|
@@ -74,6 +74,7 @@ export function initCollections({ config, graphqlResult }) {
|
|
|
74
74
|
collection.graphQL.type = buildObjectType({
|
|
75
75
|
name: singularName,
|
|
76
76
|
baseFields,
|
|
77
|
+
collectionSlug: collectionConfig.slug,
|
|
77
78
|
config,
|
|
78
79
|
fields,
|
|
79
80
|
forceNullable: forceNullableObjectType,
|
|
@@ -316,6 +317,7 @@ export function initCollections({ config, graphqlResult }) {
|
|
|
316
317
|
];
|
|
317
318
|
collection.graphQL.versionType = buildObjectType({
|
|
318
319
|
name: `${singularName}Version`,
|
|
320
|
+
collectionSlug: collectionConfig.slug,
|
|
319
321
|
config,
|
|
320
322
|
fields: versionCollectionFields,
|
|
321
323
|
forceNullable: forceNullableObjectType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/initCollections.ts"],"sourcesContent":["import type {\n Collection,\n Field,\n GraphQLInfo,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLInt,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n} from 'graphql'\nimport { buildVersionCollectionFields, flattenTopLevelFields, formatNames, toWords } from 'payload'\nimport { fieldAffectsData, getLoginOptions } from 'payload/shared'\n\nimport type { ObjectTypeConfig } from './buildObjectType.js'\n\nimport { forgotPassword } from '../resolvers/auth/forgotPassword.js'\nimport { init } from '../resolvers/auth/init.js'\nimport { login } from '../resolvers/auth/login.js'\nimport { logout } from '../resolvers/auth/logout.js'\nimport { me } from '../resolvers/auth/me.js'\nimport { refresh } from '../resolvers/auth/refresh.js'\nimport { resetPassword } from '../resolvers/auth/resetPassword.js'\nimport { unlock } from '../resolvers/auth/unlock.js'\nimport { verifyEmail } from '../resolvers/auth/verifyEmail.js'\nimport { countResolver } from '../resolvers/collections/count.js'\nimport { createResolver } from '../resolvers/collections/create.js'\nimport { getDeleteResolver } from '../resolvers/collections/delete.js'\nimport { docAccessResolver } from '../resolvers/collections/docAccess.js'\nimport { duplicateResolver } from '../resolvers/collections/duplicate.js'\nimport { findResolver } from '../resolvers/collections/find.js'\nimport { findByIDResolver } from '../resolvers/collections/findByID.js'\nimport { findVersionByIDResolver } from '../resolvers/collections/findVersionByID.js'\nimport { findVersionsResolver } from '../resolvers/collections/findVersions.js'\nimport { restoreVersionResolver } from '../resolvers/collections/restoreVersion.js'\nimport { updateResolver } from '../resolvers/collections/update.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { buildMutationInputType, getCollectionIDType } from './buildMutationInputType.js'\nimport { buildObjectType } from './buildObjectType.js'\nimport { buildPaginatedListType } from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport { buildWhereInputType } from './buildWhereInputType.js'\n\ntype InitCollectionsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nexport function initCollections({ config, graphqlResult }: InitCollectionsGraphQLArgs): void {\n Object.keys(graphqlResult.collections).forEach((slug) => {\n const collection: Collection = graphqlResult.collections[slug]\n const {\n config: collectionConfig,\n config: { fields, graphQL = {} as SanitizedCollectionConfig['graphQL'], versions },\n } = collection\n\n if (!graphQL) {\n return\n }\n\n let singularName\n let pluralName\n\n const fromSlug = formatNames(collection.config.slug)\n\n if (graphQL.singularName) {\n singularName = toWords(graphQL.singularName, true)\n } else {\n singularName = fromSlug.singular\n }\n if (graphQL.pluralName) {\n pluralName = toWords(graphQL.pluralName, true)\n } else {\n pluralName = fromSlug.plural\n }\n\n // For collections named 'Media' or similar,\n // there is a possibility that the singular name\n // will equal the plural name. Append `all` to the beginning\n // of potential conflicts\n if (singularName === pluralName) {\n pluralName = `all${singularName}`\n }\n\n collection.graphQL = {} as Collection['graphQL']\n\n const hasIDField =\n flattenTopLevelFields(fields).findIndex(\n (field) => fieldAffectsData(field) && field.name === 'id',\n ) > -1\n\n const idType = getCollectionIDType(config.db.defaultIDType, collectionConfig)\n\n const baseFields: ObjectTypeConfig = {}\n\n const whereInputFields = [...fields]\n\n if (!hasIDField) {\n baseFields.id = { type: new GraphQLNonNull(idType) }\n whereInputFields.push({\n name: 'id',\n type: config.db.defaultIDType as 'text',\n })\n }\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n collection.graphQL.type = buildObjectType({\n name: singularName,\n baseFields,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: singularName,\n })\n\n collection.graphQL.paginatedType = buildPaginatedListType(pluralName, collection.graphQL.type)\n\n collection.graphQL.whereInputType = buildWhereInputType({\n name: singularName,\n fields: whereInputFields,\n parentName: singularName,\n })\n\n const mutationInputFields = [...fields]\n\n if (\n collectionConfig.auth &&\n (!collectionConfig.auth.disableLocalStrategy ||\n (typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.optionalPassword))\n ) {\n mutationInputFields.push({\n name: 'password',\n type: 'text',\n label: 'Password',\n required: !(\n typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.optionalPassword\n ),\n })\n }\n\n let mutationCreateInputFields = mutationInputFields\n\n if (\n config.db.allowIDOnCreate &&\n !collectionConfig.flattenedFields.some((field) => field.name === 'id')\n ) {\n mutationCreateInputFields = [\n ...mutationCreateInputFields,\n {\n name: 'id',\n type: config.db.defaultIDType,\n } as Field,\n ]\n }\n\n const createMutationInputType = buildMutationInputType({\n name: singularName,\n config,\n fields: mutationCreateInputFields,\n graphqlResult,\n parentIsLocalized: false,\n parentName: singularName,\n })\n if (createMutationInputType) {\n collection.graphQL.mutationInputType = new GraphQLNonNull(createMutationInputType)\n }\n\n const updateMutationInputType = buildMutationInputType({\n name: `${singularName}Update`,\n config,\n fields: mutationInputFields.filter(\n (field) => !(fieldAffectsData(field) && field.name === 'id'),\n ),\n forceNullable: true,\n graphqlResult,\n parentIsLocalized: false,\n parentName: `${singularName}Update`,\n })\n if (updateMutationInputType) {\n collection.graphQL.updateMutationInputType = new GraphQLNonNull(updateMutationInputType)\n }\n\n const queriesEnabled =\n typeof collectionConfig.graphQL !== 'object' || !collectionConfig.graphQL.disableQueries\n const mutationsEnabled =\n typeof collectionConfig.graphQL !== 'object' || !collectionConfig.graphQL.disableMutations\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[singularName] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findByIDResolver(collection),\n }\n\n graphqlResult.Query.fields[pluralName] = {\n type: buildPaginatedListType(pluralName, collection.graphQL.type),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagination: { type: GraphQLBoolean },\n sort: { type: GraphQLString },\n },\n resolve: findResolver(collection),\n }\n\n graphqlResult.Query.fields[`count${pluralName}`] = {\n type: new GraphQLObjectType({\n name: `count${pluralName}`,\n fields: {\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: countResolver(collection),\n }\n\n graphqlResult.Query.fields[`docAccess${singularName}`] = {\n type: buildPolicyType({\n type: 'collection',\n entity: collectionConfig,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: docAccessResolver(collection),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`create${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: createResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`update${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n autosave: { type: GraphQLBoolean },\n ...(updateMutationInputType\n ? { data: { type: collection.graphQL.updateMutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`delete${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: getDeleteResolver(collection),\n }\n\n if (collectionConfig.disableDuplicate !== true) {\n graphqlResult.Mutation.fields[`duplicate${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n },\n resolve: duplicateResolver(collection),\n }\n }\n }\n\n if (collectionConfig.versions) {\n const versionIDType = config.db.defaultIDType === 'text' ? GraphQLString : GraphQLInt\n const versionCollectionFields: Field[] = [\n ...buildVersionCollectionFields(config, collectionConfig),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n collection.graphQL.versionType = buildObjectType({\n name: `${singularName}Version`,\n config,\n fields: versionCollectionFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${singularName}Version`,\n })\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[`version${formatName(singularName)}`] = {\n type: collection.graphQL.versionType,\n args: {\n id: { type: versionIDType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(collection),\n }\n graphqlResult.Query.fields[`versions${pluralName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(pluralName)}`,\n collection.graphQL.versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${singularName}`,\n fields: versionCollectionFields,\n parentName: `versions${singularName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagination: { type: GraphQLBoolean },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(collection),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`restoreVersion${formatName(singularName)}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: versionIDType },\n draft: { type: GraphQLBoolean },\n },\n resolve: restoreVersionResolver(collection),\n }\n }\n }\n\n if (collectionConfig.auth) {\n const authFields: Field[] =\n collectionConfig.auth.disableLocalStrategy ||\n (collectionConfig.auth.loginWithUsername &&\n !collectionConfig.auth.loginWithUsername.allowEmailLogin &&\n !collectionConfig.auth.loginWithUsername.requireEmail)\n ? []\n : [\n {\n name: 'email',\n type: 'email',\n required: true,\n },\n ]\n collection.graphQL.JWT = buildObjectType({\n name: formatName(`${slug}JWT`),\n config,\n fields: [\n ...collectionConfig.fields.filter((field) => fieldAffectsData(field) && field.saveToJWT),\n ...authFields,\n {\n name: 'collection',\n type: 'text',\n required: true,\n },\n ],\n graphqlResult,\n parentName: formatName(`${slug}JWT`),\n })\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[`me${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Me`),\n fields: {\n collection: {\n type: GraphQLString,\n },\n exp: {\n type: GraphQLInt,\n },\n strategy: {\n type: GraphQLString,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n resolve: me(collection),\n }\n\n graphqlResult.Query.fields[`initialized${singularName}`] = {\n type: GraphQLBoolean,\n resolve: init(collection.config.slug),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`refreshToken${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Refreshed${singularName}`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n refreshedToken: {\n type: GraphQLString,\n },\n strategy: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.JWT,\n },\n },\n }),\n resolve: refresh(collection),\n }\n\n graphqlResult.Mutation.fields[`logout${singularName}`] = {\n type: GraphQLString,\n resolve: logout(collection),\n }\n\n if (!collectionConfig.auth.disableLocalStrategy) {\n const authArgs = {}\n\n const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(\n collectionConfig.auth.loginWithUsername,\n )\n\n if (canLoginWithEmail) {\n authArgs['email'] = { type: new GraphQLNonNull(GraphQLString) }\n }\n if (canLoginWithUsername) {\n authArgs['username'] = { type: new GraphQLNonNull(GraphQLString) }\n }\n\n if (collectionConfig.auth.maxLoginAttempts > 0) {\n graphqlResult.Mutation.fields[`unlock${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: authArgs,\n resolve: unlock(collection),\n }\n }\n\n graphqlResult.Mutation.fields[`login${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}LoginResult`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n args: {\n ...authArgs,\n password: { type: GraphQLString },\n },\n resolve: login(collection),\n }\n\n graphqlResult.Mutation.fields[`forgotPassword${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n disableEmail: { type: GraphQLBoolean },\n expiration: { type: GraphQLInt },\n ...authArgs,\n },\n resolve: forgotPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`resetPassword${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}ResetPassword`),\n fields: {\n token: { type: GraphQLString },\n user: { type: collection.graphQL.type },\n },\n }),\n args: {\n password: { type: GraphQLString },\n token: { type: GraphQLString },\n },\n resolve: resetPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`verifyEmail${singularName}`] = {\n type: GraphQLBoolean,\n args: {\n token: { type: GraphQLString },\n },\n resolve: verifyEmail(collection),\n }\n }\n }\n }\n })\n}\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLObjectType","GraphQLString","buildVersionCollectionFields","flattenTopLevelFields","formatNames","toWords","fieldAffectsData","getLoginOptions","forgotPassword","init","login","logout","me","refresh","resetPassword","unlock","verifyEmail","countResolver","createResolver","getDeleteResolver","docAccessResolver","duplicateResolver","findResolver","findByIDResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","getCollectionIDType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initCollections","config","graphqlResult","Object","keys","collections","forEach","slug","collection","collectionConfig","fields","graphQL","versions","singularName","pluralName","fromSlug","singular","plural","hasIDField","findIndex","field","name","idType","db","defaultIDType","baseFields","whereInputFields","id","type","push","forceNullableObjectType","Boolean","drafts","forceNullable","parentName","paginatedType","whereInputType","mutationInputFields","auth","disableLocalStrategy","optionalPassword","label","required","mutationCreateInputFields","allowIDOnCreate","flattenedFields","some","createMutationInputType","parentIsLocalized","mutationInputType","updateMutationInputType","filter","queriesEnabled","disableQueries","mutationsEnabled","disableMutations","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","where","limit","page","pagination","sort","totalDocs","entity","scope","typeSuffix","Mutation","data","autosave","disableDuplicate","versionIDType","versionCollectionFields","versionType","authFields","loginWithUsername","allowEmailLogin","requireEmail","JWT","saveToJWT","exp","strategy","token","user","refreshedToken","authArgs","canLoginWithEmail","canLoginWithUsername","maxLoginAttempts","password","disableEmail","expiration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/schema/initCollections.ts"],"sourcesContent":["import type {\n Collection,\n Field,\n GraphQLInfo,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport {\n GraphQLBoolean,\n GraphQLInt,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLString,\n} from 'graphql'\nimport { buildVersionCollectionFields, flattenTopLevelFields, formatNames, toWords } from 'payload'\nimport { fieldAffectsData, getLoginOptions } from 'payload/shared'\n\nimport type { ObjectTypeConfig } from './buildObjectType.js'\n\nimport { forgotPassword } from '../resolvers/auth/forgotPassword.js'\nimport { init } from '../resolvers/auth/init.js'\nimport { login } from '../resolvers/auth/login.js'\nimport { logout } from '../resolvers/auth/logout.js'\nimport { me } from '../resolvers/auth/me.js'\nimport { refresh } from '../resolvers/auth/refresh.js'\nimport { resetPassword } from '../resolvers/auth/resetPassword.js'\nimport { unlock } from '../resolvers/auth/unlock.js'\nimport { verifyEmail } from '../resolvers/auth/verifyEmail.js'\nimport { countResolver } from '../resolvers/collections/count.js'\nimport { createResolver } from '../resolvers/collections/create.js'\nimport { getDeleteResolver } from '../resolvers/collections/delete.js'\nimport { docAccessResolver } from '../resolvers/collections/docAccess.js'\nimport { duplicateResolver } from '../resolvers/collections/duplicate.js'\nimport { findResolver } from '../resolvers/collections/find.js'\nimport { findByIDResolver } from '../resolvers/collections/findByID.js'\nimport { findVersionByIDResolver } from '../resolvers/collections/findVersionByID.js'\nimport { findVersionsResolver } from '../resolvers/collections/findVersions.js'\nimport { restoreVersionResolver } from '../resolvers/collections/restoreVersion.js'\nimport { updateResolver } from '../resolvers/collections/update.js'\nimport { formatName } from '../utilities/formatName.js'\nimport { buildMutationInputType, getCollectionIDType } from './buildMutationInputType.js'\nimport { buildObjectType } from './buildObjectType.js'\nimport { buildPaginatedListType } from './buildPaginatedListType.js'\nimport { buildPolicyType } from './buildPoliciesType.js'\nimport { buildWhereInputType } from './buildWhereInputType.js'\n\ntype InitCollectionsGraphQLArgs = {\n config: SanitizedConfig\n graphqlResult: GraphQLInfo\n}\nexport function initCollections({ config, graphqlResult }: InitCollectionsGraphQLArgs): void {\n Object.keys(graphqlResult.collections).forEach((slug) => {\n const collection: Collection = graphqlResult.collections[slug]\n const {\n config: collectionConfig,\n config: { fields, graphQL = {} as SanitizedCollectionConfig['graphQL'], versions },\n } = collection\n\n if (!graphQL) {\n return\n }\n\n let singularName\n let pluralName\n\n const fromSlug = formatNames(collection.config.slug)\n\n if (graphQL.singularName) {\n singularName = toWords(graphQL.singularName, true)\n } else {\n singularName = fromSlug.singular\n }\n if (graphQL.pluralName) {\n pluralName = toWords(graphQL.pluralName, true)\n } else {\n pluralName = fromSlug.plural\n }\n\n // For collections named 'Media' or similar,\n // there is a possibility that the singular name\n // will equal the plural name. Append `all` to the beginning\n // of potential conflicts\n if (singularName === pluralName) {\n pluralName = `all${singularName}`\n }\n\n collection.graphQL = {} as Collection['graphQL']\n\n const hasIDField =\n flattenTopLevelFields(fields).findIndex(\n (field) => fieldAffectsData(field) && field.name === 'id',\n ) > -1\n\n const idType = getCollectionIDType(config.db.defaultIDType, collectionConfig)\n\n const baseFields: ObjectTypeConfig = {}\n\n const whereInputFields = [...fields]\n\n if (!hasIDField) {\n baseFields.id = { type: new GraphQLNonNull(idType) }\n whereInputFields.push({\n name: 'id',\n type: config.db.defaultIDType as 'text',\n })\n }\n\n const forceNullableObjectType = Boolean(versions?.drafts)\n\n collection.graphQL.type = buildObjectType({\n name: singularName,\n baseFields,\n collectionSlug: collectionConfig.slug,\n config,\n fields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: singularName,\n })\n\n collection.graphQL.paginatedType = buildPaginatedListType(pluralName, collection.graphQL.type)\n\n collection.graphQL.whereInputType = buildWhereInputType({\n name: singularName,\n fields: whereInputFields,\n parentName: singularName,\n })\n\n const mutationInputFields = [...fields]\n\n if (\n collectionConfig.auth &&\n (!collectionConfig.auth.disableLocalStrategy ||\n (typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.optionalPassword))\n ) {\n mutationInputFields.push({\n name: 'password',\n type: 'text',\n label: 'Password',\n required: !(\n typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.optionalPassword\n ),\n })\n }\n\n let mutationCreateInputFields = mutationInputFields\n\n if (\n config.db.allowIDOnCreate &&\n !collectionConfig.flattenedFields.some((field) => field.name === 'id')\n ) {\n mutationCreateInputFields = [\n ...mutationCreateInputFields,\n {\n name: 'id',\n type: config.db.defaultIDType,\n } as Field,\n ]\n }\n\n const createMutationInputType = buildMutationInputType({\n name: singularName,\n config,\n fields: mutationCreateInputFields,\n graphqlResult,\n parentIsLocalized: false,\n parentName: singularName,\n })\n if (createMutationInputType) {\n collection.graphQL.mutationInputType = new GraphQLNonNull(createMutationInputType)\n }\n\n const updateMutationInputType = buildMutationInputType({\n name: `${singularName}Update`,\n config,\n fields: mutationInputFields.filter(\n (field) => !(fieldAffectsData(field) && field.name === 'id'),\n ),\n forceNullable: true,\n graphqlResult,\n parentIsLocalized: false,\n parentName: `${singularName}Update`,\n })\n if (updateMutationInputType) {\n collection.graphQL.updateMutationInputType = new GraphQLNonNull(updateMutationInputType)\n }\n\n const queriesEnabled =\n typeof collectionConfig.graphQL !== 'object' || !collectionConfig.graphQL.disableQueries\n const mutationsEnabled =\n typeof collectionConfig.graphQL !== 'object' || !collectionConfig.graphQL.disableMutations\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[singularName] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findByIDResolver(collection),\n }\n\n graphqlResult.Query.fields[pluralName] = {\n type: buildPaginatedListType(pluralName, collection.graphQL.type),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagination: { type: GraphQLBoolean },\n sort: { type: GraphQLString },\n },\n resolve: findResolver(collection),\n }\n\n graphqlResult.Query.fields[`count${pluralName}`] = {\n type: new GraphQLObjectType({\n name: `count${pluralName}`,\n fields: {\n totalDocs: { type: GraphQLInt },\n },\n }),\n args: {\n draft: { type: GraphQLBoolean },\n where: { type: collection.graphQL.whereInputType },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: countResolver(collection),\n }\n\n graphqlResult.Query.fields[`docAccess${singularName}`] = {\n type: buildPolicyType({\n type: 'collection',\n entity: collectionConfig,\n scope: 'docAccess',\n typeSuffix: 'DocAccess',\n }),\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: docAccessResolver(collection),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`create${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: createResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`update${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n autosave: { type: GraphQLBoolean },\n ...(updateMutationInputType\n ? { data: { type: collection.graphQL.updateMutationInputType } }\n : {}),\n draft: { type: GraphQLBoolean },\n ...(config.localization\n ? {\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: updateResolver(collection),\n }\n\n graphqlResult.Mutation.fields[`delete${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n },\n resolve: getDeleteResolver(collection),\n }\n\n if (collectionConfig.disableDuplicate !== true) {\n graphqlResult.Mutation.fields[`duplicate${singularName}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: new GraphQLNonNull(idType) },\n ...(createMutationInputType\n ? { data: { type: collection.graphQL.mutationInputType } }\n : {}),\n },\n resolve: duplicateResolver(collection),\n }\n }\n }\n\n if (collectionConfig.versions) {\n const versionIDType = config.db.defaultIDType === 'text' ? GraphQLString : GraphQLInt\n const versionCollectionFields: Field[] = [\n ...buildVersionCollectionFields(config, collectionConfig),\n {\n name: 'id',\n type: config.db.defaultIDType as 'text',\n },\n {\n name: 'createdAt',\n type: 'date',\n label: 'Created At',\n },\n {\n name: 'updatedAt',\n type: 'date',\n label: 'Updated At',\n },\n ]\n\n collection.graphQL.versionType = buildObjectType({\n name: `${singularName}Version`,\n collectionSlug: collectionConfig.slug,\n config,\n fields: versionCollectionFields,\n forceNullable: forceNullableObjectType,\n graphqlResult,\n parentName: `${singularName}Version`,\n })\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[`version${formatName(singularName)}`] = {\n type: collection.graphQL.versionType,\n args: {\n id: { type: versionIDType },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n },\n resolve: findVersionByIDResolver(collection),\n }\n graphqlResult.Query.fields[`versions${pluralName}`] = {\n type: buildPaginatedListType(\n `versions${formatName(pluralName)}`,\n collection.graphQL.versionType,\n ),\n args: {\n where: {\n type: buildWhereInputType({\n name: `versions${singularName}`,\n fields: versionCollectionFields,\n parentName: `versions${singularName}`,\n }),\n },\n ...(config.localization\n ? {\n fallbackLocale: { type: graphqlResult.types.fallbackLocaleInputType },\n locale: { type: graphqlResult.types.localeInputType },\n }\n : {}),\n limit: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagination: { type: GraphQLBoolean },\n sort: { type: GraphQLString },\n },\n resolve: findVersionsResolver(collection),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`restoreVersion${formatName(singularName)}`] = {\n type: collection.graphQL.type,\n args: {\n id: { type: versionIDType },\n draft: { type: GraphQLBoolean },\n },\n resolve: restoreVersionResolver(collection),\n }\n }\n }\n\n if (collectionConfig.auth) {\n const authFields: Field[] =\n collectionConfig.auth.disableLocalStrategy ||\n (collectionConfig.auth.loginWithUsername &&\n !collectionConfig.auth.loginWithUsername.allowEmailLogin &&\n !collectionConfig.auth.loginWithUsername.requireEmail)\n ? []\n : [\n {\n name: 'email',\n type: 'email',\n required: true,\n },\n ]\n collection.graphQL.JWT = buildObjectType({\n name: formatName(`${slug}JWT`),\n config,\n fields: [\n ...collectionConfig.fields.filter((field) => fieldAffectsData(field) && field.saveToJWT),\n ...authFields,\n {\n name: 'collection',\n type: 'text',\n required: true,\n },\n ],\n graphqlResult,\n parentName: formatName(`${slug}JWT`),\n })\n\n if (queriesEnabled) {\n graphqlResult.Query.fields[`me${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Me`),\n fields: {\n collection: {\n type: GraphQLString,\n },\n exp: {\n type: GraphQLInt,\n },\n strategy: {\n type: GraphQLString,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n resolve: me(collection),\n }\n\n graphqlResult.Query.fields[`initialized${singularName}`] = {\n type: GraphQLBoolean,\n resolve: init(collection.config.slug),\n }\n }\n\n if (mutationsEnabled) {\n graphqlResult.Mutation.fields[`refreshToken${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}Refreshed${singularName}`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n refreshedToken: {\n type: GraphQLString,\n },\n strategy: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.JWT,\n },\n },\n }),\n resolve: refresh(collection),\n }\n\n graphqlResult.Mutation.fields[`logout${singularName}`] = {\n type: GraphQLString,\n resolve: logout(collection),\n }\n\n if (!collectionConfig.auth.disableLocalStrategy) {\n const authArgs = {}\n\n const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(\n collectionConfig.auth.loginWithUsername,\n )\n\n if (canLoginWithEmail) {\n authArgs['email'] = { type: new GraphQLNonNull(GraphQLString) }\n }\n if (canLoginWithUsername) {\n authArgs['username'] = { type: new GraphQLNonNull(GraphQLString) }\n }\n\n if (collectionConfig.auth.maxLoginAttempts > 0) {\n graphqlResult.Mutation.fields[`unlock${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: authArgs,\n resolve: unlock(collection),\n }\n }\n\n graphqlResult.Mutation.fields[`login${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}LoginResult`),\n fields: {\n exp: {\n type: GraphQLInt,\n },\n token: {\n type: GraphQLString,\n },\n user: {\n type: collection.graphQL.type,\n },\n },\n }),\n args: {\n ...authArgs,\n password: { type: GraphQLString },\n },\n resolve: login(collection),\n }\n\n graphqlResult.Mutation.fields[`forgotPassword${singularName}`] = {\n type: new GraphQLNonNull(GraphQLBoolean),\n args: {\n disableEmail: { type: GraphQLBoolean },\n expiration: { type: GraphQLInt },\n ...authArgs,\n },\n resolve: forgotPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`resetPassword${singularName}`] = {\n type: new GraphQLObjectType({\n name: formatName(`${slug}ResetPassword`),\n fields: {\n token: { type: GraphQLString },\n user: { type: collection.graphQL.type },\n },\n }),\n args: {\n password: { type: GraphQLString },\n token: { type: GraphQLString },\n },\n resolve: resetPassword(collection),\n }\n\n graphqlResult.Mutation.fields[`verifyEmail${singularName}`] = {\n type: GraphQLBoolean,\n args: {\n token: { type: GraphQLString },\n },\n resolve: verifyEmail(collection),\n }\n }\n }\n }\n })\n}\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLNonNull","GraphQLObjectType","GraphQLString","buildVersionCollectionFields","flattenTopLevelFields","formatNames","toWords","fieldAffectsData","getLoginOptions","forgotPassword","init","login","logout","me","refresh","resetPassword","unlock","verifyEmail","countResolver","createResolver","getDeleteResolver","docAccessResolver","duplicateResolver","findResolver","findByIDResolver","findVersionByIDResolver","findVersionsResolver","restoreVersionResolver","updateResolver","formatName","buildMutationInputType","getCollectionIDType","buildObjectType","buildPaginatedListType","buildPolicyType","buildWhereInputType","initCollections","config","graphqlResult","Object","keys","collections","forEach","slug","collection","collectionConfig","fields","graphQL","versions","singularName","pluralName","fromSlug","singular","plural","hasIDField","findIndex","field","name","idType","db","defaultIDType","baseFields","whereInputFields","id","type","push","forceNullableObjectType","Boolean","drafts","collectionSlug","forceNullable","parentName","paginatedType","whereInputType","mutationInputFields","auth","disableLocalStrategy","optionalPassword","label","required","mutationCreateInputFields","allowIDOnCreate","flattenedFields","some","createMutationInputType","parentIsLocalized","mutationInputType","updateMutationInputType","filter","queriesEnabled","disableQueries","mutationsEnabled","disableMutations","Query","args","draft","localization","fallbackLocale","types","fallbackLocaleInputType","locale","localeInputType","resolve","where","limit","page","pagination","sort","totalDocs","entity","scope","typeSuffix","Mutation","data","autosave","disableDuplicate","versionIDType","versionCollectionFields","versionType","authFields","loginWithUsername","allowEmailLogin","requireEmail","JWT","saveToJWT","exp","strategy","token","user","refreshedToken","authArgs","canLoginWithEmail","canLoginWithUsername","maxLoginAttempts","password","disableEmail","expiration"],"mappings":"AAQA,SACEA,cAAc,EACdC,UAAU,EACVC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,QACR,UAAS;AAChB,SAASC,4BAA4B,EAAEC,qBAAqB,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAS;AACnG,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,iBAAgB;AAIlE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,MAAM,QAAQ,8BAA6B;AACpD,SAASC,EAAE,QAAQ,0BAAyB;AAC5C,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,MAAM,QAAQ,8BAA6B;AACpD,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,qCAAoC;AACnE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,iBAAiB,QAAQ,wCAAuC;AACzE,SAASC,iBAAiB,QAAQ,wCAAuC;AACzE,SAASC,YAAY,QAAQ,mCAAkC;AAC/D,SAASC,gBAAgB,QAAQ,uCAAsC;AACvE,SAASC,uBAAuB,QAAQ,8CAA6C;AACrF,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,sBAAsB,QAAQ,6CAA4C;AACnF,SAASC,cAAc,QAAQ,qCAAoC;AACnE,SAASC,UAAU,QAAQ,6BAA4B;AACvD,SAASC,sBAAsB,EAAEC,mBAAmB,QAAQ,8BAA6B;AACzF,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,eAAe,QAAQ,yBAAwB;AACxD,SAASC,mBAAmB,QAAQ,2BAA0B;AAM9D,OAAO,SAASC,gBAAgB,EAAEC,MAAM,EAAEC,aAAa,EAA8B;IACnFC,OAAOC,IAAI,CAACF,cAAcG,WAAW,EAAEC,OAAO,CAAC,CAACC;QAC9C,MAAMC,aAAyBN,cAAcG,WAAW,CAACE,KAAK;QAC9D,MAAM,EACJN,QAAQQ,gBAAgB,EACxBR,QAAQ,EAAES,MAAM,EAAEC,UAAU,CAAC,CAAyC,EAAEC,QAAQ,EAAE,EACnF,GAAGJ;QAEJ,IAAI,CAACG,SAAS;YACZ;QACF;QAEA,IAAIE;QACJ,IAAIC;QAEJ,MAAMC,WAAW9C,YAAYuC,WAAWP,MAAM,CAACM,IAAI;QAEnD,IAAII,QAAQE,YAAY,EAAE;YACxBA,eAAe3C,QAAQyC,QAAQE,YAAY,EAAE;QAC/C,OAAO;YACLA,eAAeE,SAASC,QAAQ;QAClC;QACA,IAAIL,QAAQG,UAAU,EAAE;YACtBA,aAAa5C,QAAQyC,QAAQG,UAAU,EAAE;QAC3C,OAAO;YACLA,aAAaC,SAASE,MAAM;QAC9B;QAEA,4CAA4C;QAC5C,gDAAgD;QAChD,4DAA4D;QAC5D,yBAAyB;QACzB,IAAIJ,iBAAiBC,YAAY;YAC/BA,aAAa,CAAC,GAAG,EAAED,cAAc;QACnC;QAEAL,WAAWG,OAAO,GAAG,CAAC;QAEtB,MAAMO,aACJlD,sBAAsB0C,QAAQS,SAAS,CACrC,CAACC,QAAUjD,iBAAiBiD,UAAUA,MAAMC,IAAI,KAAK,QACnD,CAAC;QAEP,MAAMC,SAAS3B,oBAAoBM,OAAOsB,EAAE,CAACC,aAAa,EAAEf;QAE5D,MAAMgB,aAA+B,CAAC;QAEtC,MAAMC,mBAAmB;eAAIhB;SAAO;QAEpC,IAAI,CAACQ,YAAY;YACfO,WAAWE,EAAE,GAAG;gBAAEC,MAAM,IAAIhE,eAAe0D;YAAQ;YACnDI,iBAAiBG,IAAI,CAAC;gBACpBR,MAAM;gBACNO,MAAM3B,OAAOsB,EAAE,CAACC,aAAa;YAC/B;QACF;QAEA,MAAMM,0BAA0BC,QAAQnB,UAAUoB;QAElDxB,WAAWG,OAAO,CAACiB,IAAI,GAAGhC,gBAAgB;YACxCyB,MAAMR;YACNY;YACAQ,gBAAgBxB,iBAAiBF,IAAI;YACrCN;YACAS;YACAwB,eAAeJ;YACf5B;YACAiC,YAAYtB;QACd;QAEAL,WAAWG,OAAO,CAACyB,aAAa,GAAGvC,uBAAuBiB,YAAYN,WAAWG,OAAO,CAACiB,IAAI;QAE7FpB,WAAWG,OAAO,CAAC0B,cAAc,GAAGtC,oBAAoB;YACtDsB,MAAMR;YACNH,QAAQgB;YACRS,YAAYtB;QACd;QAEA,MAAMyB,sBAAsB;eAAI5B;SAAO;QAEvC,IACED,iBAAiB8B,IAAI,IACpB,CAAA,CAAC9B,iBAAiB8B,IAAI,CAACC,oBAAoB,IACzC,OAAO/B,iBAAiB8B,IAAI,CAACC,oBAAoB,KAAK,YACrD/B,iBAAiB8B,IAAI,CAACC,oBAAoB,CAACC,gBAAgB,GAC/D;YACAH,oBAAoBT,IAAI,CAAC;gBACvBR,MAAM;gBACNO,MAAM;gBACNc,OAAO;gBACPC,UAAU,CACR,CAAA,OAAOlC,iBAAiB8B,IAAI,CAACC,oBAAoB,KAAK,YACtD/B,iBAAiB8B,IAAI,CAACC,oBAAoB,CAACC,gBAAgB,AAAD;YAE9D;QACF;QAEA,IAAIG,4BAA4BN;QAEhC,IACErC,OAAOsB,EAAE,CAACsB,eAAe,IACzB,CAACpC,iBAAiBqC,eAAe,CAACC,IAAI,CAAC,CAAC3B,QAAUA,MAAMC,IAAI,KAAK,OACjE;YACAuB,4BAA4B;mBACvBA;gBACH;oBACEvB,MAAM;oBACNO,MAAM3B,OAAOsB,EAAE,CAACC,aAAa;gBAC/B;aACD;QACH;QAEA,MAAMwB,0BAA0BtD,uBAAuB;YACrD2B,MAAMR;YACNZ;YACAS,QAAQkC;YACR1C;YACA+C,mBAAmB;YACnBd,YAAYtB;QACd;QACA,IAAImC,yBAAyB;YAC3BxC,WAAWG,OAAO,CAACuC,iBAAiB,GAAG,IAAItF,eAAeoF;QAC5D;QAEA,MAAMG,0BAA0BzD,uBAAuB;YACrD2B,MAAM,GAAGR,aAAa,MAAM,CAAC;YAC7BZ;YACAS,QAAQ4B,oBAAoBc,MAAM,CAChC,CAAChC,QAAU,CAAEjD,CAAAA,iBAAiBiD,UAAUA,MAAMC,IAAI,KAAK,IAAG;YAE5Da,eAAe;YACfhC;YACA+C,mBAAmB;YACnBd,YAAY,GAAGtB,aAAa,MAAM,CAAC;QACrC;QACA,IAAIsC,yBAAyB;YAC3B3C,WAAWG,OAAO,CAACwC,uBAAuB,GAAG,IAAIvF,eAAeuF;QAClE;QAEA,MAAME,iBACJ,OAAO5C,iBAAiBE,OAAO,KAAK,YAAY,CAACF,iBAAiBE,OAAO,CAAC2C,cAAc;QAC1F,MAAMC,mBACJ,OAAO9C,iBAAiBE,OAAO,KAAK,YAAY,CAACF,iBAAiBE,OAAO,CAAC6C,gBAAgB;QAE5F,IAAIH,gBAAgB;YAClBnD,cAAcuD,KAAK,CAAC/C,MAAM,CAACG,aAAa,GAAG;gBACzCe,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gBAC7B8B,MAAM;oBACJ/B,IAAI;wBAAEC,MAAM,IAAIhE,eAAe0D;oBAAQ;oBACvCqC,OAAO;wBAAE/B,MAAMlE;oBAAe;oBAC9B,GAAIuC,OAAO2D,YAAY,GACnB;wBACEC,gBAAgB;4BAAEjC,MAAM1B,cAAc4D,KAAK,CAACC,uBAAuB;wBAAC;wBACpEC,QAAQ;4BAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;gBACR;gBACAC,SAAS9E,iBAAiBoB;YAC5B;YAEAN,cAAcuD,KAAK,CAAC/C,MAAM,CAACI,WAAW,GAAG;gBACvCc,MAAM/B,uBAAuBiB,YAAYN,WAAWG,OAAO,CAACiB,IAAI;gBAChE8B,MAAM;oBACJC,OAAO;wBAAE/B,MAAMlE;oBAAe;oBAC9ByG,OAAO;wBAAEvC,MAAMpB,WAAWG,OAAO,CAAC0B,cAAc;oBAAC;oBACjD,GAAIpC,OAAO2D,YAAY,GACnB;wBACEC,gBAAgB;4BAAEjC,MAAM1B,cAAc4D,KAAK,CAACC,uBAAuB;wBAAC;wBACpEC,QAAQ;4BAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;oBACNG,OAAO;wBAAExC,MAAMjE;oBAAW;oBAC1B0G,MAAM;wBAAEzC,MAAMjE;oBAAW;oBACzB2G,YAAY;wBAAE1C,MAAMlE;oBAAe;oBACnC6G,MAAM;wBAAE3C,MAAM9D;oBAAc;gBAC9B;gBACAoG,SAAS/E,aAAaqB;YACxB;YAEAN,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,KAAK,EAAEI,YAAY,CAAC,GAAG;gBACjDc,MAAM,IAAI/D,kBAAkB;oBAC1BwD,MAAM,CAAC,KAAK,EAAEP,YAAY;oBAC1BJ,QAAQ;wBACN8D,WAAW;4BAAE5C,MAAMjE;wBAAW;oBAChC;gBACF;gBACA+F,MAAM;oBACJC,OAAO;wBAAE/B,MAAMlE;oBAAe;oBAC9ByG,OAAO;wBAAEvC,MAAMpB,WAAWG,OAAO,CAAC0B,cAAc;oBAAC;oBACjD,GAAIpC,OAAO2D,YAAY,GACnB;wBACEI,QAAQ;4BAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;gBACR;gBACAC,SAASpF,cAAc0B;YACzB;YAEAN,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,SAAS,EAAEG,cAAc,CAAC,GAAG;gBACvDe,MAAM9B,gBAAgB;oBACpB8B,MAAM;oBACN6C,QAAQhE;oBACRiE,OAAO;oBACPC,YAAY;gBACd;gBACAjB,MAAM;oBACJ/B,IAAI;wBAAEC,MAAM,IAAIhE,eAAe0D;oBAAQ;gBACzC;gBACA4C,SAASjF,kBAAkBuB;YAC7B;QACF;QAEA,IAAI+C,kBAAkB;YACpBrD,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,GAAG;gBACvDe,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gBAC7B8B,MAAM;oBACJ,GAAIV,0BACA;wBAAE6B,MAAM;4BAAEjD,MAAMpB,WAAWG,OAAO,CAACuC,iBAAiB;wBAAC;oBAAE,IACvD,CAAC,CAAC;oBACNS,OAAO;wBAAE/B,MAAMlE;oBAAe;oBAC9B,GAAIuC,OAAO2D,YAAY,GACnB;wBACEI,QAAQ;4BAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;gBACR;gBACAC,SAASnF,eAAeyB;YAC1B;YAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,GAAG;gBACvDe,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gBAC7B8B,MAAM;oBACJ/B,IAAI;wBAAEC,MAAM,IAAIhE,eAAe0D;oBAAQ;oBACvCwD,UAAU;wBAAElD,MAAMlE;oBAAe;oBACjC,GAAIyF,0BACA;wBAAE0B,MAAM;4BAAEjD,MAAMpB,WAAWG,OAAO,CAACwC,uBAAuB;wBAAC;oBAAE,IAC7D,CAAC,CAAC;oBACNQ,OAAO;wBAAE/B,MAAMlE;oBAAe;oBAC9B,GAAIuC,OAAO2D,YAAY,GACnB;wBACEI,QAAQ;4BAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;wBAAC;oBACtD,IACA,CAAC,CAAC;gBACR;gBACAC,SAAS1E,eAAegB;YAC1B;YAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,GAAG;gBACvDe,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gBAC7B8B,MAAM;oBACJ/B,IAAI;wBAAEC,MAAM,IAAIhE,eAAe0D;oBAAQ;gBACzC;gBACA4C,SAASlF,kBAAkBwB;YAC7B;YAEA,IAAIC,iBAAiBsE,gBAAgB,KAAK,MAAM;gBAC9C7E,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,SAAS,EAAEG,cAAc,CAAC,GAAG;oBAC1De,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;oBAC7B8B,MAAM;wBACJ/B,IAAI;4BAAEC,MAAM,IAAIhE,eAAe0D;wBAAQ;wBACvC,GAAI0B,0BACA;4BAAE6B,MAAM;gCAAEjD,MAAMpB,WAAWG,OAAO,CAACuC,iBAAiB;4BAAC;wBAAE,IACvD,CAAC,CAAC;oBACR;oBACAgB,SAAShF,kBAAkBsB;gBAC7B;YACF;QACF;QAEA,IAAIC,iBAAiBG,QAAQ,EAAE;YAC7B,MAAMoE,gBAAgB/E,OAAOsB,EAAE,CAACC,aAAa,KAAK,SAAS1D,gBAAgBH;YAC3E,MAAMsH,0BAAmC;mBACpClH,6BAA6BkC,QAAQQ;gBACxC;oBACEY,MAAM;oBACNO,MAAM3B,OAAOsB,EAAE,CAACC,aAAa;gBAC/B;gBACA;oBACEH,MAAM;oBACNO,MAAM;oBACNc,OAAO;gBACT;gBACA;oBACErB,MAAM;oBACNO,MAAM;oBACNc,OAAO;gBACT;aACD;YAEDlC,WAAWG,OAAO,CAACuE,WAAW,GAAGtF,gBAAgB;gBAC/CyB,MAAM,GAAGR,aAAa,OAAO,CAAC;gBAC9BoB,gBAAgBxB,iBAAiBF,IAAI;gBACrCN;gBACAS,QAAQuE;gBACR/C,eAAeJ;gBACf5B;gBACAiC,YAAY,GAAGtB,aAAa,OAAO,CAAC;YACtC;YAEA,IAAIwC,gBAAgB;gBAClBnD,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,OAAO,EAAEjB,WAAWoB,eAAe,CAAC,GAAG;oBACjEe,MAAMpB,WAAWG,OAAO,CAACuE,WAAW;oBACpCxB,MAAM;wBACJ/B,IAAI;4BAAEC,MAAMoD;wBAAc;wBAC1B,GAAI/E,OAAO2D,YAAY,GACnB;4BACEC,gBAAgB;gCAAEjC,MAAM1B,cAAc4D,KAAK,CAACC,uBAAuB;4BAAC;4BACpEC,QAAQ;gCAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;4BAAC;wBACtD,IACA,CAAC,CAAC;oBACR;oBACAC,SAAS7E,wBAAwBmB;gBACnC;gBACAN,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,QAAQ,EAAEI,YAAY,CAAC,GAAG;oBACpDc,MAAM/B,uBACJ,CAAC,QAAQ,EAAEJ,WAAWqB,aAAa,EACnCN,WAAWG,OAAO,CAACuE,WAAW;oBAEhCxB,MAAM;wBACJS,OAAO;4BACLvC,MAAM7B,oBAAoB;gCACxBsB,MAAM,CAAC,QAAQ,EAAER,cAAc;gCAC/BH,QAAQuE;gCACR9C,YAAY,CAAC,QAAQ,EAAEtB,cAAc;4BACvC;wBACF;wBACA,GAAIZ,OAAO2D,YAAY,GACnB;4BACEC,gBAAgB;gCAAEjC,MAAM1B,cAAc4D,KAAK,CAACC,uBAAuB;4BAAC;4BACpEC,QAAQ;gCAAEpC,MAAM1B,cAAc4D,KAAK,CAACG,eAAe;4BAAC;wBACtD,IACA,CAAC,CAAC;wBACNG,OAAO;4BAAExC,MAAMjE;wBAAW;wBAC1B0G,MAAM;4BAAEzC,MAAMjE;wBAAW;wBACzB2G,YAAY;4BAAE1C,MAAMlE;wBAAe;wBACnC6G,MAAM;4BAAE3C,MAAM9D;wBAAc;oBAC9B;oBACAoG,SAAS5E,qBAAqBkB;gBAChC;YACF;YAEA,IAAI+C,kBAAkB;gBACpBrD,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,cAAc,EAAEjB,WAAWoB,eAAe,CAAC,GAAG;oBAC3Ee,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;oBAC7B8B,MAAM;wBACJ/B,IAAI;4BAAEC,MAAMoD;wBAAc;wBAC1BrB,OAAO;4BAAE/B,MAAMlE;wBAAe;oBAChC;oBACAwG,SAAS3E,uBAAuBiB;gBAClC;YACF;QACF;QAEA,IAAIC,iBAAiB8B,IAAI,EAAE;YACzB,MAAM4C,aACJ1E,iBAAiB8B,IAAI,CAACC,oBAAoB,IACzC/B,iBAAiB8B,IAAI,CAAC6C,iBAAiB,IACtC,CAAC3E,iBAAiB8B,IAAI,CAAC6C,iBAAiB,CAACC,eAAe,IACxD,CAAC5E,iBAAiB8B,IAAI,CAAC6C,iBAAiB,CAACE,YAAY,GACnD,EAAE,GACF;gBACE;oBACEjE,MAAM;oBACNO,MAAM;oBACNe,UAAU;gBACZ;aACD;YACPnC,WAAWG,OAAO,CAAC4E,GAAG,GAAG3F,gBAAgB;gBACvCyB,MAAM5B,WAAW,GAAGc,KAAK,GAAG,CAAC;gBAC7BN;gBACAS,QAAQ;uBACHD,iBAAiBC,MAAM,CAAC0C,MAAM,CAAC,CAAChC,QAAUjD,iBAAiBiD,UAAUA,MAAMoE,SAAS;uBACpFL;oBACH;wBACE9D,MAAM;wBACNO,MAAM;wBACNe,UAAU;oBACZ;iBACD;gBACDzC;gBACAiC,YAAY1C,WAAW,GAAGc,KAAK,GAAG,CAAC;YACrC;YAEA,IAAI8C,gBAAgB;gBAClBnD,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,EAAE,EAAEG,cAAc,CAAC,GAAG;oBAChDe,MAAM,IAAI/D,kBAAkB;wBAC1BwD,MAAM5B,WAAW,GAAGc,KAAK,EAAE,CAAC;wBAC5BG,QAAQ;4BACNF,YAAY;gCACVoB,MAAM9D;4BACR;4BACA2H,KAAK;gCACH7D,MAAMjE;4BACR;4BACA+H,UAAU;gCACR9D,MAAM9D;4BACR;4BACA6H,OAAO;gCACL/D,MAAM9D;4BACR;4BACA8H,MAAM;gCACJhE,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;4BAC/B;wBACF;oBACF;oBACAsC,SAASzF,GAAG+B;gBACd;gBAEAN,cAAcuD,KAAK,CAAC/C,MAAM,CAAC,CAAC,WAAW,EAAEG,cAAc,CAAC,GAAG;oBACzDe,MAAMlE;oBACNwG,SAAS5F,KAAKkC,WAAWP,MAAM,CAACM,IAAI;gBACtC;YACF;YAEA,IAAIgD,kBAAkB;gBACpBrD,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,YAAY,EAAEG,cAAc,CAAC,GAAG;oBAC7De,MAAM,IAAI/D,kBAAkB;wBAC1BwD,MAAM5B,WAAW,GAAGc,KAAK,SAAS,EAAEM,cAAc;wBAClDH,QAAQ;4BACN+E,KAAK;gCACH7D,MAAMjE;4BACR;4BACAkI,gBAAgB;gCACdjE,MAAM9D;4BACR;4BACA4H,UAAU;gCACR9D,MAAM9D;4BACR;4BACA8H,MAAM;gCACJhE,MAAMpB,WAAWG,OAAO,CAAC4E,GAAG;4BAC9B;wBACF;oBACF;oBACArB,SAASxF,QAAQ8B;gBACnB;gBAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,GAAG;oBACvDe,MAAM9D;oBACNoG,SAAS1F,OAAOgC;gBAClB;gBAEA,IAAI,CAACC,iBAAiB8B,IAAI,CAACC,oBAAoB,EAAE;oBAC/C,MAAMsD,WAAW,CAAC;oBAElB,MAAM,EAAEC,iBAAiB,EAAEC,oBAAoB,EAAE,GAAG5H,gBAClDqC,iBAAiB8B,IAAI,CAAC6C,iBAAiB;oBAGzC,IAAIW,mBAAmB;wBACrBD,QAAQ,CAAC,QAAQ,GAAG;4BAAElE,MAAM,IAAIhE,eAAeE;wBAAe;oBAChE;oBACA,IAAIkI,sBAAsB;wBACxBF,QAAQ,CAAC,WAAW,GAAG;4BAAElE,MAAM,IAAIhE,eAAeE;wBAAe;oBACnE;oBAEA,IAAI2C,iBAAiB8B,IAAI,CAAC0D,gBAAgB,GAAG,GAAG;wBAC9C/F,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,MAAM,EAAEG,cAAc,CAAC,GAAG;4BACvDe,MAAM,IAAIhE,eAAeF;4BACzBgG,MAAMoC;4BACN5B,SAAStF,OAAO4B;wBAClB;oBACF;oBAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,KAAK,EAAEG,cAAc,CAAC,GAAG;wBACtDe,MAAM,IAAI/D,kBAAkB;4BAC1BwD,MAAM5B,WAAW,GAAGc,KAAK,WAAW,CAAC;4BACrCG,QAAQ;gCACN+E,KAAK;oCACH7D,MAAMjE;gCACR;gCACAgI,OAAO;oCACL/D,MAAM9D;gCACR;gCACA8H,MAAM;oCACJhE,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gCAC/B;4BACF;wBACF;wBACA8B,MAAM;4BACJ,GAAGoC,QAAQ;4BACXI,UAAU;gCAAEtE,MAAM9D;4BAAc;wBAClC;wBACAoG,SAAS3F,MAAMiC;oBACjB;oBAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,cAAc,EAAEG,cAAc,CAAC,GAAG;wBAC/De,MAAM,IAAIhE,eAAeF;wBACzBgG,MAAM;4BACJyC,cAAc;gCAAEvE,MAAMlE;4BAAe;4BACrC0I,YAAY;gCAAExE,MAAMjE;4BAAW;4BAC/B,GAAGmI,QAAQ;wBACb;wBACA5B,SAAS7F,eAAemC;oBAC1B;oBAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,aAAa,EAAEG,cAAc,CAAC,GAAG;wBAC9De,MAAM,IAAI/D,kBAAkB;4BAC1BwD,MAAM5B,WAAW,GAAGc,KAAK,aAAa,CAAC;4BACvCG,QAAQ;gCACNiF,OAAO;oCAAE/D,MAAM9D;gCAAc;gCAC7B8H,MAAM;oCAAEhE,MAAMpB,WAAWG,OAAO,CAACiB,IAAI;gCAAC;4BACxC;wBACF;wBACA8B,MAAM;4BACJwC,UAAU;gCAAEtE,MAAM9D;4BAAc;4BAChC6H,OAAO;gCAAE/D,MAAM9D;4BAAc;wBAC/B;wBACAoG,SAASvF,cAAc6B;oBACzB;oBAEAN,cAAc0E,QAAQ,CAAClE,MAAM,CAAC,CAAC,WAAW,EAAEG,cAAc,CAAC,GAAG;wBAC5De,MAAMlE;wBACNgG,MAAM;4BACJiC,OAAO;gCAAE/D,MAAM9D;4BAAc;wBAC/B;wBACAoG,SAASrF,YAAY2B;oBACvB;gBACF;YACF;QACF;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/graphql",
|
|
3
|
-
"version": "3.37.0
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/pluralize": "^0.0.33",
|
|
53
53
|
"graphql-http": "^1.22.0",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
54
|
+
"payload": "3.37.0",
|
|
55
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"graphql": "^16.8.1",
|
|
59
|
-
"payload": "3.37.0
|
|
59
|
+
"payload": "3.37.0"
|
|
60
60
|
},
|
|
61
61
|
"scripts": {
|
|
62
62
|
"build": "pnpm build:types && pnpm build:swc",
|