@payloadcms/graphql 3.0.0-beta.9 → 3.0.0-beta.90

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.
Files changed (228) hide show
  1. package/bin.js +54 -0
  2. package/dist/bin/generateSchema.d.ts +3 -0
  3. package/dist/bin/generateSchema.d.ts.map +1 -0
  4. package/dist/bin/generateSchema.js +10 -0
  5. package/dist/bin/generateSchema.js.map +1 -0
  6. package/dist/bin/index.d.ts +2 -0
  7. package/dist/bin/index.d.ts.map +1 -0
  8. package/dist/bin/index.js +17 -0
  9. package/dist/bin/index.js.map +1 -0
  10. package/dist/exports/types.d.ts +4 -0
  11. package/dist/exports/types.d.ts.map +1 -0
  12. package/dist/exports/types.js +5 -0
  13. package/dist/exports/types.js.map +1 -0
  14. package/dist/exports/utilities.d.ts +3 -0
  15. package/dist/exports/utilities.d.ts.map +1 -0
  16. package/dist/exports/utilities.js +4 -0
  17. package/dist/exports/utilities.js.map +1 -0
  18. package/dist/index.d.ts +3 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts +51 -0
  23. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts.map +1 -0
  24. package/dist/packages/graphql-query-complexity/QueryComplexity.js +270 -0
  25. package/dist/packages/graphql-query-complexity/QueryComplexity.js.map +1 -0
  26. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts +5 -0
  27. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts.map +1 -0
  28. package/dist/packages/graphql-query-complexity/createComplexityRule.js +8 -0
  29. package/dist/packages/graphql-query-complexity/createComplexityRule.js.map +1 -0
  30. package/dist/packages/graphql-query-complexity/estimators/fieldExtensions/index.d.ts +3 -0
  31. package/dist/packages/graphql-query-complexity/estimators/fieldExtensions/index.d.ts.map +1 -0
  32. package/dist/packages/graphql-query-complexity/estimators/fieldExtensions/index.js +14 -0
  33. package/dist/packages/graphql-query-complexity/estimators/fieldExtensions/index.js.map +1 -0
  34. package/dist/packages/graphql-query-complexity/estimators/simple/index.d.ts +5 -0
  35. package/dist/packages/graphql-query-complexity/estimators/simple/index.d.ts.map +1 -0
  36. package/dist/packages/graphql-query-complexity/estimators/simple/index.js +8 -0
  37. package/dist/packages/graphql-query-complexity/estimators/simple/index.js.map +1 -0
  38. package/dist/packages/graphql-query-complexity/index.d.ts +4 -0
  39. package/dist/packages/graphql-query-complexity/index.d.ts.map +1 -0
  40. package/dist/packages/graphql-query-complexity/index.js +5 -0
  41. package/dist/packages/graphql-query-complexity/index.js.map +1 -0
  42. package/dist/packages/graphql-type-json/index.d.ts +4 -0
  43. package/dist/packages/graphql-type-json/index.d.ts.map +1 -0
  44. package/dist/packages/graphql-type-json/index.js +63 -0
  45. package/dist/packages/graphql-type-json/index.js.map +1 -0
  46. package/dist/resolvers/auth/access.d.ts +1 -1
  47. package/dist/resolvers/auth/access.d.ts.map +1 -1
  48. package/dist/resolvers/auth/access.js +1 -2
  49. package/dist/resolvers/auth/access.js.map +1 -1
  50. package/dist/resolvers/auth/forgotPassword.d.ts +1 -1
  51. package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
  52. package/dist/resolvers/auth/forgotPassword.js +3 -3
  53. package/dist/resolvers/auth/forgotPassword.js.map +1 -1
  54. package/dist/resolvers/auth/init.d.ts.map +1 -1
  55. package/dist/resolvers/auth/init.js +1 -2
  56. package/dist/resolvers/auth/init.js.map +1 -1
  57. package/dist/resolvers/auth/login.d.ts +1 -1
  58. package/dist/resolvers/auth/login.d.ts.map +1 -1
  59. package/dist/resolvers/auth/login.js +3 -4
  60. package/dist/resolvers/auth/login.js.map +1 -1
  61. package/dist/resolvers/auth/logout.d.ts +1 -1
  62. package/dist/resolvers/auth/logout.d.ts.map +1 -1
  63. package/dist/resolvers/auth/logout.js +1 -3
  64. package/dist/resolvers/auth/logout.js.map +1 -1
  65. package/dist/resolvers/auth/me.d.ts +1 -1
  66. package/dist/resolvers/auth/me.d.ts.map +1 -1
  67. package/dist/resolvers/auth/me.js +3 -2
  68. package/dist/resolvers/auth/me.js.map +1 -1
  69. package/dist/resolvers/auth/refresh.d.ts +1 -1
  70. package/dist/resolvers/auth/refresh.d.ts.map +1 -1
  71. package/dist/resolvers/auth/refresh.js +3 -11
  72. package/dist/resolvers/auth/refresh.js.map +1 -1
  73. package/dist/resolvers/auth/resetPassword.d.ts +1 -1
  74. package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
  75. package/dist/resolvers/auth/resetPassword.js +1 -3
  76. package/dist/resolvers/auth/resetPassword.js.map +1 -1
  77. package/dist/resolvers/auth/unlock.d.ts +1 -1
  78. package/dist/resolvers/auth/unlock.d.ts.map +1 -1
  79. package/dist/resolvers/auth/unlock.js +3 -3
  80. package/dist/resolvers/auth/unlock.js.map +1 -1
  81. package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
  82. package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
  83. package/dist/resolvers/auth/verifyEmail.js +1 -2
  84. package/dist/resolvers/auth/verifyEmail.js.map +1 -1
  85. package/dist/resolvers/collections/count.d.ts +12 -0
  86. package/dist/resolvers/collections/count.d.ts.map +1 -0
  87. package/dist/resolvers/collections/count.js +22 -0
  88. package/dist/resolvers/collections/count.js.map +1 -0
  89. package/dist/resolvers/collections/create.d.ts +5 -8
  90. package/dist/resolvers/collections/create.d.ts.map +1 -1
  91. package/dist/resolvers/collections/create.js +1 -2
  92. package/dist/resolvers/collections/create.js.map +1 -1
  93. package/dist/resolvers/collections/delete.d.ts +6 -6
  94. package/dist/resolvers/collections/delete.d.ts.map +1 -1
  95. package/dist/resolvers/collections/delete.js +8 -6
  96. package/dist/resolvers/collections/delete.js.map +1 -1
  97. package/dist/resolvers/collections/docAccess.d.ts +1 -2
  98. package/dist/resolvers/collections/docAccess.d.ts.map +1 -1
  99. package/dist/resolvers/collections/docAccess.js +1 -2
  100. package/dist/resolvers/collections/docAccess.js.map +1 -1
  101. package/dist/resolvers/collections/duplicate.d.ts +4 -6
  102. package/dist/resolvers/collections/duplicate.d.ts.map +1 -1
  103. package/dist/resolvers/collections/duplicate.js +2 -2
  104. package/dist/resolvers/collections/duplicate.js.map +1 -1
  105. package/dist/resolvers/collections/find.d.ts +2 -4
  106. package/dist/resolvers/collections/find.d.ts.map +1 -1
  107. package/dist/resolvers/collections/find.js +12 -6
  108. package/dist/resolvers/collections/find.js.map +1 -1
  109. package/dist/resolvers/collections/findByID.d.ts +4 -6
  110. package/dist/resolvers/collections/findByID.d.ts.map +1 -1
  111. package/dist/resolvers/collections/findByID.js +6 -3
  112. package/dist/resolvers/collections/findByID.js.map +1 -1
  113. package/dist/resolvers/collections/findVersionByID.d.ts +2 -5
  114. package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -1
  115. package/dist/resolvers/collections/findVersionByID.js +3 -4
  116. package/dist/resolvers/collections/findVersionByID.js.map +1 -1
  117. package/dist/resolvers/collections/findVersions.d.ts +3 -4
  118. package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
  119. package/dist/resolvers/collections/findVersions.js +8 -6
  120. package/dist/resolvers/collections/findVersions.js.map +1 -1
  121. package/dist/resolvers/collections/restoreVersion.d.ts +2 -2
  122. package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
  123. package/dist/resolvers/collections/restoreVersion.js +2 -2
  124. package/dist/resolvers/collections/restoreVersion.js.map +1 -1
  125. package/dist/resolvers/collections/update.d.ts +6 -7
  126. package/dist/resolvers/collections/update.d.ts.map +1 -1
  127. package/dist/resolvers/collections/update.js +8 -6
  128. package/dist/resolvers/collections/update.js.map +1 -1
  129. package/dist/resolvers/globals/docAccess.d.ts +1 -2
  130. package/dist/resolvers/globals/docAccess.d.ts.map +1 -1
  131. package/dist/resolvers/globals/docAccess.js +1 -2
  132. package/dist/resolvers/globals/docAccess.js.map +1 -1
  133. package/dist/resolvers/globals/findOne.d.ts +1 -1
  134. package/dist/resolvers/globals/findOne.d.ts.map +1 -1
  135. package/dist/resolvers/globals/findOne.js +1 -2
  136. package/dist/resolvers/globals/findOne.js.map +1 -1
  137. package/dist/resolvers/globals/findVersionByID.d.ts +1 -1
  138. package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
  139. package/dist/resolvers/globals/findVersionByID.js +1 -2
  140. package/dist/resolvers/globals/findVersionByID.js.map +1 -1
  141. package/dist/resolvers/globals/findVersions.d.ts +1 -1
  142. package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
  143. package/dist/resolvers/globals/findVersions.js +1 -2
  144. package/dist/resolvers/globals/findVersions.js.map +1 -1
  145. package/dist/resolvers/globals/index.js.map +1 -1
  146. package/dist/resolvers/globals/restoreVersion.d.ts +2 -1
  147. package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
  148. package/dist/resolvers/globals/restoreVersion.js +2 -2
  149. package/dist/resolvers/globals/restoreVersion.js.map +1 -1
  150. package/dist/resolvers/globals/update.d.ts +5 -6
  151. package/dist/resolvers/globals/update.d.ts.map +1 -1
  152. package/dist/resolvers/globals/update.js +1 -2
  153. package/dist/resolvers/globals/update.js.map +1 -1
  154. package/dist/resolvers/types.d.ts +1 -1
  155. package/dist/resolvers/types.d.ts.map +1 -1
  156. package/dist/resolvers/types.js.map +1 -1
  157. package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -1
  158. package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
  159. package/dist/schema/buildFallbackLocaleInputType.js.map +1 -1
  160. package/dist/schema/buildLocaleInputType.d.ts +1 -1
  161. package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
  162. package/dist/schema/buildLocaleInputType.js.map +1 -1
  163. package/dist/schema/buildMutationInputType.d.ts +1 -2
  164. package/dist/schema/buildMutationInputType.d.ts.map +1 -1
  165. package/dist/schema/buildMutationInputType.js +35 -8
  166. package/dist/schema/buildMutationInputType.js.map +1 -1
  167. package/dist/schema/buildObjectType.d.ts +3 -4
  168. package/dist/schema/buildObjectType.d.ts.map +1 -1
  169. package/dist/schema/buildObjectType.js +183 -63
  170. package/dist/schema/buildObjectType.js.map +1 -1
  171. package/dist/schema/buildPaginatedListType.d.ts +1 -2
  172. package/dist/schema/buildPaginatedListType.d.ts.map +1 -1
  173. package/dist/schema/buildPaginatedListType.js +1 -2
  174. package/dist/schema/buildPaginatedListType.js.map +1 -1
  175. package/dist/schema/buildPoliciesType.d.ts +1 -1
  176. package/dist/schema/buildPoliciesType.d.ts.map +1 -1
  177. package/dist/schema/buildPoliciesType.js +2 -2
  178. package/dist/schema/buildPoliciesType.js.map +1 -1
  179. package/dist/schema/buildWhereInputType.d.ts +1 -1
  180. package/dist/schema/buildWhereInputType.d.ts.map +1 -1
  181. package/dist/schema/buildWhereInputType.js +3 -3
  182. package/dist/schema/buildWhereInputType.js.map +1 -1
  183. package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
  184. package/dist/schema/fieldToWhereInputSchemaMap.js +28 -4
  185. package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -1
  186. package/dist/schema/initCollections.d.ts +1 -2
  187. package/dist/schema/initCollections.d.ts.map +1 -1
  188. package/dist/schema/initCollections.js +63 -30
  189. package/dist/schema/initCollections.js.map +1 -1
  190. package/dist/schema/initGlobals.d.ts +1 -2
  191. package/dist/schema/initGlobals.d.ts.map +1 -1
  192. package/dist/schema/initGlobals.js +10 -5
  193. package/dist/schema/initGlobals.js.map +1 -1
  194. package/dist/schema/isFieldNullable.d.ts +1 -1
  195. package/dist/schema/isFieldNullable.d.ts.map +1 -1
  196. package/dist/schema/isFieldNullable.js +1 -1
  197. package/dist/schema/isFieldNullable.js.map +1 -1
  198. package/dist/schema/operators.js.map +1 -1
  199. package/dist/schema/recursivelyBuildNestedPaths.d.ts +1 -1
  200. package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
  201. package/dist/schema/recursivelyBuildNestedPaths.js +1 -1
  202. package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -1
  203. package/dist/schema/withNullableType.d.ts +1 -1
  204. package/dist/schema/withNullableType.d.ts.map +1 -1
  205. package/dist/schema/withNullableType.js.map +1 -1
  206. package/dist/schema/withOperators.d.ts +1 -1
  207. package/dist/schema/withOperators.d.ts.map +1 -1
  208. package/dist/schema/withOperators.js +7 -4
  209. package/dist/schema/withOperators.js.map +1 -1
  210. package/dist/utilities/combineParentName.js.map +1 -1
  211. package/dist/utilities/formatName.js.map +1 -1
  212. package/dist/utilities/formatName.spec.js +1 -1
  213. package/dist/utilities/formatName.spec.js.map +1 -1
  214. package/dist/utilities/formatOptions.d.ts +1 -1
  215. package/dist/utilities/formatOptions.d.ts.map +1 -1
  216. package/dist/utilities/formatOptions.js.map +1 -1
  217. package/dist/utilities/getCheckIfLocaleObject.js.map +1 -1
  218. package/dist/utilities/groupOrTabHasRequiredSubfield.d.ts +1 -1
  219. package/dist/utilities/groupOrTabHasRequiredSubfield.d.ts.map +1 -1
  220. package/dist/utilities/groupOrTabHasRequiredSubfield.js +1 -1
  221. package/dist/utilities/groupOrTabHasRequiredSubfield.js.map +1 -1
  222. package/dist/utilities/uppercase.js.map +1 -1
  223. package/dist/utilities/wrapCustomResolver.d.ts +1 -1
  224. package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
  225. package/dist/utilities/wrapCustomResolver.js +1 -1
  226. package/dist/utilities/wrapCustomResolver.js.map +1 -1
  227. package/package.json +34 -23
  228. package/src/index.ts +0 -126
@@ -1,15 +1,14 @@
1
- /* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-await-in-loop */ /* eslint-disable no-restricted-syntax */ import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql';
1
+ import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql';
2
2
  import { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars';
3
- /* eslint-disable no-use-before-define */ import { GraphQLJSON } from 'graphql-type-json';
4
- import { tabHasName } from 'payload/types';
5
- import { toWords } from 'payload/utilities';
3
+ import { MissingEditorProp, createDataloaderCacheKey, toWords } from 'payload';
4
+ import { tabHasName } from 'payload/shared';
5
+ import { GraphQLJSON } from '../packages/graphql-type-json/index.js';
6
6
  import combineParentName from '../utilities/combineParentName.js';
7
7
  import formatName from '../utilities/formatName.js';
8
8
  import formatOptions from '../utilities/formatOptions.js';
9
- import buildWhereInputType from './buildWhereInputType.js';
10
9
  import isFieldNullable from './isFieldNullable.js';
11
10
  import withNullableType from './withNullableType.js';
12
- function buildObjectType({ name, baseFields = {}, config, fields, forceNullable, graphqlResult, parentName }) {
11
+ export function buildObjectType({ name, baseFields = {}, config, fields, forceNullable, graphqlResult, parentName }) {
13
12
  const fieldToSchemaMap = {
14
13
  array: (objectTypeConfig, field)=>{
15
14
  const interfaceName = field?.interfaceName || combineParentName(parentName, toWords(field.name, true));
@@ -191,7 +190,7 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
191
190
  value: {
192
191
  type: new GraphQLUnionType({
193
192
  name: relationshipName,
194
- async resolveType (data, { req }) {
193
+ resolveType (data, { req }) {
195
194
  return graphqlResult.collections[data.collection].graphQL.type.name;
196
195
  },
197
196
  types
@@ -208,6 +207,14 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
208
207
  // that is currently being created.
209
208
  type = type || newlyCreatedBlockType;
210
209
  const relationshipArgs = {};
210
+ const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [
211
+ relationTo
212
+ ]).some((relation)=>graphqlResult.collections[relation].config.versions?.drafts);
213
+ if (relationsUseDrafts) {
214
+ relationshipArgs.draft = {
215
+ type: GraphQLBoolean
216
+ };
217
+ }
211
218
  if (config.localization) {
212
219
  relationshipArgs.locale = {
213
220
  type: graphqlResult.types.localeInputType
@@ -227,6 +234,7 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
227
234
  const locale = args.locale || context.req.locale;
228
235
  const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale;
229
236
  let relatedCollectionSlug = field.relationTo;
237
+ const draft = Boolean(args.draft ?? context.req.query?.draft);
230
238
  if (hasManyValues) {
231
239
  const results = [];
232
240
  const resultPromises = [];
@@ -237,17 +245,18 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
237
245
  collectionSlug = relatedDoc.relationTo;
238
246
  id = relatedDoc.value;
239
247
  }
240
- const result = await context.req.payloadDataLoader.load(JSON.stringify([
241
- context.req.transactionID,
242
- collectionSlug,
243
- id,
244
- 0,
245
- 0,
246
- locale,
248
+ const result = await context.req.payloadDataLoader.load(createDataloaderCacheKey({
249
+ collectionSlug: collectionSlug,
250
+ currentDepth: 0,
251
+ depth: 0,
252
+ docID: id,
253
+ draft,
247
254
  fallbackLocale,
248
- false,
249
- false
250
- ]));
255
+ locale,
256
+ overrideAccess: false,
257
+ showHiddenFields: false,
258
+ transactionID: context.req.transactionID
259
+ }));
251
260
  if (result) {
252
261
  if (isRelatedToManyCollections) {
253
262
  results[i] = {
@@ -276,17 +285,18 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
276
285
  relatedCollectionSlug = value.relationTo;
277
286
  }
278
287
  if (id) {
279
- const relatedDocument = await context.req.payloadDataLoader.load(JSON.stringify([
280
- context.req.transactionID,
281
- relatedCollectionSlug,
282
- id,
283
- 0,
284
- 0,
285
- locale,
288
+ const relatedDocument = await context.req.payloadDataLoader.load(createDataloaderCacheKey({
289
+ collectionSlug: relatedCollectionSlug,
290
+ currentDepth: 0,
291
+ depth: 0,
292
+ docID: id,
293
+ draft,
286
294
  fallbackLocale,
287
- false,
288
- false
289
- ]));
295
+ locale,
296
+ overrideAccess: false,
297
+ showHiddenFields: false,
298
+ transactionID: context.req.transactionID
299
+ }));
290
300
  if (relatedDocument) {
291
301
  if (isRelatedToManyCollections) {
292
302
  return {
@@ -321,25 +331,39 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
321
331
  async resolve (parent, args, context) {
322
332
  let depth = config.defaultDepth;
323
333
  if (typeof args.depth !== 'undefined') depth = args.depth;
334
+ if (!field?.editor) {
335
+ 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
336
+ ;
337
+ }
338
+ if (typeof field?.editor === 'function') {
339
+ throw new Error('Attempted to access unsanitized rich text editor.');
340
+ }
324
341
  const editor = field?.editor;
325
342
  // RichText fields have their own depth argument in GraphQL.
326
343
  // This is why the populationPromise (which populates richtext fields like uploads and relationships)
327
344
  // is run here again, with the provided depth.
328
345
  // In the graphql find.ts resolver, the depth is then hard-coded to 0.
329
346
  // Effectively, this means that the populationPromise for GraphQL is only run here, and not in the find.ts resolver / normal population promise.
330
- if (editor?.populationPromise) {
331
- await editor?.populationPromise({
347
+ if (editor?.graphQLPopulationPromises) {
348
+ const fieldPromises = [];
349
+ const populationPromises = [];
350
+ const populateDepth = field?.maxDepth !== undefined && field?.maxDepth < depth ? field?.maxDepth : depth;
351
+ editor?.graphQLPopulationPromises({
332
352
  context,
333
- depth,
353
+ depth: populateDepth,
354
+ draft: args.draft,
334
355
  field,
356
+ fieldPromises,
335
357
  findMany: false,
336
358
  flattenLocales: false,
337
359
  overrideAccess: false,
338
- populationPromises: [],
360
+ populationPromises,
339
361
  req: context.req,
340
362
  showHiddenFields: false,
341
363
  siblingDoc: parent
342
364
  });
365
+ await Promise.all(fieldPromises);
366
+ await Promise.all(populationPromises);
343
367
  }
344
368
  return parent[field.name];
345
369
  }
@@ -414,61 +438,158 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
414
438
  }),
415
439
  upload: (objectTypeConfig, field)=>{
416
440
  const { relationTo } = field;
417
- const uploadName = combineParentName(parentName, toWords(field.name, true));
441
+ const isRelatedToManyCollections = Array.isArray(relationTo);
442
+ const hasManyValues = field.hasMany;
443
+ const relationshipName = combineParentName(parentName, toWords(field.name, true));
444
+ let type;
445
+ let relationToType = null;
446
+ if (Array.isArray(relationTo)) {
447
+ relationToType = new GraphQLEnumType({
448
+ name: `${relationshipName}_RelationTo`,
449
+ values: relationTo.reduce((relations, relation)=>({
450
+ ...relations,
451
+ [formatName(relation)]: {
452
+ value: relation
453
+ }
454
+ }), {})
455
+ });
456
+ const types = relationTo.map((relation)=>graphqlResult.collections[relation].graphQL.type);
457
+ type = new GraphQLObjectType({
458
+ name: `${relationshipName}_Relationship`,
459
+ fields: {
460
+ relationTo: {
461
+ type: relationToType
462
+ },
463
+ value: {
464
+ type: new GraphQLUnionType({
465
+ name: relationshipName,
466
+ resolveType (data, { req }) {
467
+ return graphqlResult.collections[data.collection].graphQL.type.name;
468
+ },
469
+ types
470
+ })
471
+ }
472
+ }
473
+ });
474
+ } else {
475
+ ({ type } = graphqlResult.collections[relationTo].graphQL);
476
+ }
418
477
  // If the relationshipType is undefined at this point,
419
478
  // it can be assumed that this blockType can have a relationship
420
479
  // to itself. Therefore, we set the relationshipType equal to the blockType
421
480
  // that is currently being created.
422
- const type = withNullableType(field, graphqlResult.collections[relationTo].graphQL.type || newlyCreatedBlockType, forceNullable);
423
- const uploadArgs = {};
481
+ type = type || newlyCreatedBlockType;
482
+ const relationshipArgs = {};
483
+ const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [
484
+ relationTo
485
+ ]).some((relation)=>graphqlResult.collections[relation].config.versions?.drafts);
486
+ if (relationsUseDrafts) {
487
+ relationshipArgs.draft = {
488
+ type: GraphQLBoolean
489
+ };
490
+ }
424
491
  if (config.localization) {
425
- uploadArgs.locale = {
492
+ relationshipArgs.locale = {
426
493
  type: graphqlResult.types.localeInputType
427
494
  };
428
- uploadArgs.fallbackLocale = {
495
+ relationshipArgs.fallbackLocale = {
429
496
  type: graphqlResult.types.fallbackLocaleInputType
430
497
  };
431
498
  }
432
- const relatedCollectionSlug = field.relationTo;
433
- const upload = {
434
- type,
435
- args: uploadArgs,
499
+ const relationship = {
500
+ type: withNullableType(field, hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type, forceNullable),
501
+ args: relationshipArgs,
436
502
  extensions: {
437
- complexity: 20
503
+ complexity: 10
438
504
  },
439
505
  async resolve (parent, args, context) {
440
506
  const value = parent[field.name];
441
507
  const locale = args.locale || context.req.locale;
442
508
  const fallbackLocale = args.fallbackLocale || context.req.fallbackLocale;
443
- const id = value;
509
+ let relatedCollectionSlug = field.relationTo;
510
+ const draft = Boolean(args.draft ?? context.req.query?.draft);
511
+ if (hasManyValues) {
512
+ const results = [];
513
+ const resultPromises = [];
514
+ const createPopulationPromise = async (relatedDoc, i)=>{
515
+ let id = relatedDoc;
516
+ let collectionSlug = field.relationTo;
517
+ if (isRelatedToManyCollections) {
518
+ collectionSlug = relatedDoc.relationTo;
519
+ id = relatedDoc.value;
520
+ }
521
+ const result = await context.req.payloadDataLoader.load(createDataloaderCacheKey({
522
+ collectionSlug: collectionSlug,
523
+ currentDepth: 0,
524
+ depth: 0,
525
+ docID: id,
526
+ draft,
527
+ fallbackLocale,
528
+ locale,
529
+ overrideAccess: false,
530
+ showHiddenFields: false,
531
+ transactionID: context.req.transactionID
532
+ }));
533
+ if (result) {
534
+ if (isRelatedToManyCollections) {
535
+ results[i] = {
536
+ relationTo: collectionSlug,
537
+ value: {
538
+ ...result,
539
+ collection: collectionSlug
540
+ }
541
+ };
542
+ } else {
543
+ results[i] = result;
544
+ }
545
+ }
546
+ };
547
+ if (value) {
548
+ value.forEach((relatedDoc, i)=>{
549
+ resultPromises.push(createPopulationPromise(relatedDoc, i));
550
+ });
551
+ }
552
+ await Promise.all(resultPromises);
553
+ return results;
554
+ }
555
+ let id = value;
556
+ if (isRelatedToManyCollections && value) {
557
+ id = value.value;
558
+ relatedCollectionSlug = value.relationTo;
559
+ }
444
560
  if (id) {
445
- const relatedDocument = await context.req.payloadDataLoader.load(JSON.stringify([
446
- context.req.transactionID,
447
- relatedCollectionSlug,
448
- id,
449
- 0,
450
- 0,
451
- locale,
561
+ const relatedDocument = await context.req.payloadDataLoader.load(createDataloaderCacheKey({
562
+ collectionSlug: relatedCollectionSlug,
563
+ currentDepth: 0,
564
+ depth: 0,
565
+ docID: id,
566
+ draft,
452
567
  fallbackLocale,
453
- false,
454
- false
455
- ]));
456
- return relatedDocument || null;
568
+ locale,
569
+ overrideAccess: false,
570
+ showHiddenFields: false,
571
+ transactionID: context.req.transactionID
572
+ }));
573
+ if (relatedDocument) {
574
+ if (isRelatedToManyCollections) {
575
+ return {
576
+ relationTo: relatedCollectionSlug,
577
+ value: {
578
+ ...relatedDocument,
579
+ collection: relatedCollectionSlug
580
+ }
581
+ };
582
+ }
583
+ return relatedDocument;
584
+ }
585
+ return null;
457
586
  }
458
587
  return null;
459
588
  }
460
589
  };
461
- const whereFields = graphqlResult.collections[relationTo].config.fields;
462
- upload.args.where = {
463
- type: buildWhereInputType({
464
- name: uploadName,
465
- fields: whereFields,
466
- parentName: uploadName
467
- })
468
- };
469
590
  return {
470
591
  ...objectTypeConfig,
471
- [field.name]: upload
592
+ [field.name]: relationship
472
593
  };
473
594
  }
474
595
  };
@@ -488,6 +609,5 @@ function buildObjectType({ name, baseFields = {}, config, fields, forceNullable,
488
609
  const newlyCreatedBlockType = new GraphQLObjectType(objectSchema);
489
610
  return newlyCreatedBlockType;
490
611
  }
491
- export default buildObjectType;
492
612
 
493
613
  //# sourceMappingURL=buildObjectType.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable no-await-in-loop */\n/* eslint-disable no-restricted-syntax */\nimport type { GraphQLFieldConfig, GraphQLType } from 'graphql'\nimport type { GraphQLInfo } from 'payload/config'\nimport type {\n ArrayField,\n BlockField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextAdapter,\n RichTextField,\n RowField,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextField,\n TextareaField,\n UploadField,\n} from 'payload/types'\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'\n/* eslint-disable no-use-before-define */\nimport { GraphQLJSON } from 'graphql-type-json'\nimport { tabHasName } from 'payload/types'\nimport { toWords } from 'payload/utilities'\n\nimport type { Context } from '../resolvers/types.js'\n\nimport combineParentName from '../utilities/combineParentName.js'\nimport formatName from '../utilities/formatName.js'\nimport formatOptions from '../utilities/formatOptions.js'\nimport buildWhereInputType from './buildWhereInputType.js'\nimport isFieldNullable from './isFieldNullable.js'\nimport withNullableType from './withNullableType.js'\n\ntype LocaleInputType = {\n fallbackLocale: {\n type: GraphQLType\n }\n locale: {\n type: GraphQLType\n }\n where: {\n type: GraphQLType\n }\n}\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentName: string\n}\n\nfunction buildObjectType({\n name,\n baseFields = {},\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentName,\n}: Args): GraphQLObjectType {\n const fieldToSchemaMap = {\n array: (objectTypeConfig: ObjectTypeConfig, field: ArrayField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable(field, forceNullable),\n graphqlResult,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.arrayTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n const arrayType = new GraphQLList(\n new GraphQLNonNull(graphqlResult.types.arrayTypes[interfaceName]),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, arrayType) },\n }\n },\n blocks: (objectTypeConfig: ObjectTypeConfig, field: BlockField) => {\n const blockTypes: GraphQLObjectType<any, any>[] = field.blocks.reduce((acc, block) => {\n if (!graphqlResult.types.blockTypes[block.slug]) {\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 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[block.slug]) {\n acc.push(graphqlResult.types.blockTypes[block.slug])\n }\n\n return acc\n }, [])\n\n if (blockTypes.length === 0) {\n return objectTypeConfig\n }\n\n const fullName = combineParentName(parentName, toWords(field.name, true))\n\n const type = new GraphQLList(\n new GraphQLNonNull(\n new GraphQLUnionType({\n name: fullName,\n resolveType: (data) => graphqlResult.types.blockTypes[data.blockType].name,\n types: blockTypes,\n }),\n ),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, type) },\n }\n },\n checkbox: (objectTypeConfig: ObjectTypeConfig, field: CheckboxField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLBoolean, forceNullable) },\n }),\n code: (objectTypeConfig: ObjectTypeConfig, field: CodeField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n collapsible: (objectTypeConfig: ObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(objectTypeConfigWithCollapsibleFields, subField)\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: (objectTypeConfig: ObjectTypeConfig, field: DateField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, DateTimeResolver, forceNullable) },\n }),\n email: (objectTypeConfig: ObjectTypeConfig, field: EmailField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, EmailAddressResolver, forceNullable) },\n }),\n group: (objectTypeConfig: ObjectTypeConfig, field: GroupField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable(field, forceNullable),\n graphqlResult,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: graphqlResult.types.groupTypes[interfaceName] },\n }\n },\n json: (objectTypeConfig: ObjectTypeConfig, field: JSONField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLJSON, forceNullable) },\n }),\n number: (objectTypeConfig: ObjectTypeConfig, field: NumberField) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field?.hasMany === true ? new GraphQLList(type) : type,\n forceNullable,\n ),\n },\n }\n },\n point: (objectTypeConfig: ObjectTypeConfig, field: PointField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n forceNullable,\n ),\n },\n }),\n radio: (objectTypeConfig: ObjectTypeConfig, field: RadioField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n new GraphQLEnumType({\n name: combineParentName(parentName, field.name),\n values: formatOptions(field),\n }),\n forceNullable,\n ),\n },\n }),\n relationship: (objectTypeConfig: ObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n 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 async resolveType(data, { req }) {\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 fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\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 field,\n hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n forceNullable,\n ),\n args: relationshipArgs,\n extensions: { complexity: 10 },\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\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 JSON.stringify([\n context.req.transactionID,\n collectionSlug,\n id,\n 0,\n 0,\n locale,\n fallbackLocale,\n false,\n false,\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 JSON.stringify([\n context.req.transactionID,\n relatedCollectionSlug,\n id,\n 0,\n 0,\n locale,\n fallbackLocale,\n false,\n false,\n ]),\n )\n\n if (relatedDocument) {\n if (isRelatedToManyCollections) {\n return {\n relationTo: relatedCollectionSlug,\n value: {\n ...relatedDocument,\n collection: relatedCollectionSlug,\n },\n }\n }\n\n return relatedDocument\n }\n\n return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n richText: (objectTypeConfig: ObjectTypeConfig, field: RichTextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(field, GraphQLJSON, forceNullable),\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') depth = args.depth\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?.populationPromise) {\n await editor?.populationPromise({\n context,\n depth,\n field,\n findMany: false,\n flattenLocales: false,\n overrideAccess: false,\n populationPromises: [],\n req: context.req,\n showHiddenFields: false,\n siblingDoc: parent,\n })\n }\n\n return parent[field.name]\n },\n },\n }),\n row: (objectTypeConfig: ObjectTypeConfig, field: RowField) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(objectTypeConfigWithRowFields, subField)\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: (objectTypeConfig: ObjectTypeConfig, field: SelectField) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLType = new GraphQLEnumType({\n name: fullName,\n values: formatOptions(field),\n })\n\n type = field.hasMany ? new GraphQLList(new GraphQLNonNull(type)) : type\n type = withNullableType(field, type, forceNullable)\n\n return {\n ...objectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (objectTypeConfig: ObjectTypeConfig, field: TabsField) =>\n field.tabs.reduce((tabSchema, tab) => {\n if (tabHasName(tab)) {\n const interfaceName =\n tab?.interfaceName || combineParentName(parentName, toWords(tab.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: tab.fields,\n forceNullable,\n graphqlResult,\n 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]: { type: graphqlResult.types.groupTypes[interfaceName] },\n }\n }\n\n return {\n ...tabSchema,\n ...tab.fields.reduce((subFieldSchema, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(subFieldSchema, subField)\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: (objectTypeConfig: ObjectTypeConfig, field: TextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,\n forceNullable,\n ),\n },\n }),\n textarea: (objectTypeConfig: ObjectTypeConfig, field: TextareaField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n upload: (objectTypeConfig: ObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n\n const uploadName = combineParentName(parentName, toWords(field.name, true))\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 const type = withNullableType(\n field,\n graphqlResult.collections[relationTo].graphQL.type || newlyCreatedBlockType,\n forceNullable,\n )\n\n const uploadArgs = {} as LocaleInputType\n\n if (config.localization) {\n uploadArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n uploadArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relatedCollectionSlug = field.relationTo\n\n const upload = {\n type,\n args: uploadArgs,\n extensions: { complexity: 20 },\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 const id = value\n\n if (id) {\n const relatedDocument = await context.req.payloadDataLoader.load(\n JSON.stringify([\n context.req.transactionID,\n relatedCollectionSlug,\n id,\n 0,\n 0,\n locale,\n fallbackLocale,\n false,\n false,\n ]),\n )\n\n return relatedDocument || null\n }\n\n return null\n },\n }\n\n const whereFields = graphqlResult.collections[relationTo].config.fields\n\n upload.args.where = {\n type: buildWhereInputType({\n name: uploadName,\n fields: whereFields,\n parentName: uploadName,\n }),\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: upload,\n }\n },\n }\n\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema(objectTypeConfig, field),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n\nexport default buildObjectType\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","GraphQLJSON","tabHasName","toWords","combineParentName","formatName","formatOptions","buildWhereInputType","isFieldNullable","withNullableType","buildObjectType","name","baseFields","config","fields","forceNullable","graphqlResult","parentName","fieldToSchemaMap","array","objectTypeConfig","field","interfaceName","types","arrayTypes","objectType","Object","keys","getFields","length","arrayType","type","blocks","blockTypes","reduce","acc","block","slug","graphQL","singularName","push","fullName","resolveType","data","blockType","checkbox","code","collapsible","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","json","number","hasMany","point","radio","values","relationship","relationTo","isRelatedToManyCollections","Array","isArray","hasManyValues","relationshipName","relationToType","relations","relation","value","map","collections","req","collection","newlyCreatedBlockType","relationshipArgs","localization","locale","localeInputType","fallbackLocale","fallbackLocaleInputType","args","extensions","complexity","resolve","parent","context","relatedCollectionSlug","results","resultPromises","createPopulationPromise","relatedDoc","i","id","collectionSlug","result","payloadDataLoader","load","JSON","stringify","transactionID","forEach","Promise","all","relatedDocument","richText","depth","defaultDepth","editor","populationPromise","findMany","flattenLocales","overrideAccess","populationPromises","showHiddenFields","siblingDoc","row","objectTypeConfigWithRowFields","select","tabs","tabSchema","tab","subFieldSchema","text","textarea","upload","uploadName","uploadArgs","whereFields","where","objectSchema","fieldSchema"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/buildObjectType.ts"],"sourcesContent":["import type { GraphQLFieldConfig, GraphQLType } from 'graphql'\nimport type {\n ArrayField,\n BlockField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n GraphQLInfo,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextAdapter,\n RichTextField,\n RowField,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextField,\n TextareaField,\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 { MissingEditorProp, createDataloaderCacheKey, 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 buildWhereInputType from './buildWhereInputType.js'\nimport isFieldNullable from './isFieldNullable.js'\nimport withNullableType from './withNullableType.js'\n\ntype LocaleInputType = {\n fallbackLocale: {\n type: GraphQLType\n }\n locale: {\n type: GraphQLType\n }\n where: {\n type: GraphQLType\n }\n}\n\nexport type ObjectTypeConfig = {\n [path: string]: GraphQLFieldConfig<any, any>\n}\n\ntype Args = {\n baseFields?: ObjectTypeConfig\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentName: string\n}\n\nexport function buildObjectType({\n name,\n baseFields = {},\n config,\n fields,\n forceNullable,\n graphqlResult,\n parentName,\n}: Args): GraphQLObjectType {\n const fieldToSchemaMap = {\n array: (objectTypeConfig: ObjectTypeConfig, field: ArrayField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable(field, forceNullable),\n graphqlResult,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.arrayTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.arrayTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n const arrayType = new GraphQLList(\n new GraphQLNonNull(graphqlResult.types.arrayTypes[interfaceName]),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, arrayType) },\n }\n },\n blocks: (objectTypeConfig: ObjectTypeConfig, field: BlockField) => {\n const blockTypes: GraphQLObjectType<any, any>[] = field.blocks.reduce((acc, block) => {\n if (!graphqlResult.types.blockTypes[block.slug]) {\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 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[block.slug]) {\n acc.push(graphqlResult.types.blockTypes[block.slug])\n }\n\n return acc\n }, [])\n\n if (blockTypes.length === 0) {\n return objectTypeConfig\n }\n\n const fullName = combineParentName(parentName, toWords(field.name, true))\n\n const type = new GraphQLList(\n new GraphQLNonNull(\n new GraphQLUnionType({\n name: fullName,\n resolveType: (data) => graphqlResult.types.blockTypes[data.blockType].name,\n types: blockTypes,\n }),\n ),\n )\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, type) },\n }\n },\n checkbox: (objectTypeConfig: ObjectTypeConfig, field: CheckboxField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLBoolean, forceNullable) },\n }),\n code: (objectTypeConfig: ObjectTypeConfig, field: CodeField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n collapsible: (objectTypeConfig: ObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(objectTypeConfigWithCollapsibleFields, subField)\n return objectTypeConfigWithCollapsibleFields\n }, objectTypeConfig),\n date: (objectTypeConfig: ObjectTypeConfig, field: DateField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, DateTimeResolver, forceNullable) },\n }),\n email: (objectTypeConfig: ObjectTypeConfig, field: EmailField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, EmailAddressResolver, forceNullable) },\n }),\n group: (objectTypeConfig: ObjectTypeConfig, field: GroupField) => {\n const interfaceName =\n field?.interfaceName || combineParentName(parentName, toWords(field.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: field.fields,\n forceNullable: isFieldNullable(field, forceNullable),\n graphqlResult,\n parentName: interfaceName,\n })\n\n if (Object.keys(objectType.getFields()).length) {\n graphqlResult.types.groupTypes[interfaceName] = objectType\n }\n }\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: { type: graphqlResult.types.groupTypes[interfaceName] },\n }\n },\n json: (objectTypeConfig: ObjectTypeConfig, field: JSONField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLJSON, forceNullable) },\n }),\n number: (objectTypeConfig: ObjectTypeConfig, field: NumberField) => {\n const type = field?.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field?.hasMany === true ? new GraphQLList(type) : type,\n forceNullable,\n ),\n },\n }\n },\n point: (objectTypeConfig: ObjectTypeConfig, field: PointField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n new GraphQLList(new GraphQLNonNull(GraphQLFloat)),\n forceNullable,\n ),\n },\n }),\n radio: (objectTypeConfig: ObjectTypeConfig, field: RadioField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n new GraphQLEnumType({\n name: combineParentName(parentName, field.name),\n values: formatOptions(field),\n }),\n forceNullable,\n ),\n },\n }),\n relationship: (objectTypeConfig: ObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n 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, { req }) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo]).some(\n (relation) => graphqlResult.collections[relation].config.versions?.drafts,\n )\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType(\n field,\n hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n forceNullable,\n ),\n args: relationshipArgs,\n extensions: { complexity: 10 },\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: 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 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 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 return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n richText: (objectTypeConfig: ObjectTypeConfig, field: RichTextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(field, GraphQLJSON, forceNullable),\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') depth = args.depth\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 populationPromises,\n req: context.req,\n showHiddenFields: false,\n siblingDoc: parent,\n })\n await Promise.all(fieldPromises)\n await Promise.all(populationPromises)\n }\n\n return parent[field.name]\n },\n },\n }),\n row: (objectTypeConfig: ObjectTypeConfig, field: RowField) =>\n field.fields.reduce((objectTypeConfigWithRowFields, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(objectTypeConfigWithRowFields, subField)\n return objectTypeConfigWithRowFields\n }, objectTypeConfig),\n select: (objectTypeConfig: ObjectTypeConfig, field: SelectField) => {\n const fullName = combineParentName(parentName, field.name)\n\n let type: GraphQLType = new GraphQLEnumType({\n name: fullName,\n values: formatOptions(field),\n })\n\n type = field.hasMany ? new GraphQLList(new GraphQLNonNull(type)) : type\n type = withNullableType(field, type, forceNullable)\n\n return {\n ...objectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (objectTypeConfig: ObjectTypeConfig, field: TabsField) =>\n field.tabs.reduce((tabSchema, tab) => {\n if (tabHasName(tab)) {\n const interfaceName =\n tab?.interfaceName || combineParentName(parentName, toWords(tab.name, true))\n\n if (!graphqlResult.types.groupTypes[interfaceName]) {\n const objectType = buildObjectType({\n name: interfaceName,\n config,\n fields: tab.fields,\n forceNullable,\n graphqlResult,\n 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]: { type: graphqlResult.types.groupTypes[interfaceName] },\n }\n }\n\n return {\n ...tabSchema,\n ...tab.fields.reduce((subFieldSchema, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(subFieldSchema, subField)\n return subFieldSchema\n }, tabSchema),\n }\n }, objectTypeConfig),\n text: (objectTypeConfig: ObjectTypeConfig, field: TextField) => ({\n ...objectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,\n forceNullable,\n ),\n },\n }),\n textarea: (objectTypeConfig: ObjectTypeConfig, field: TextareaField) => ({\n ...objectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n upload: (objectTypeConfig: ObjectTypeConfig, field: UploadField) => {\n const { relationTo } = field\n const isRelatedToManyCollections = Array.isArray(relationTo)\n const hasManyValues = field.hasMany\n const relationshipName = combineParentName(parentName, toWords(field.name, true))\n\n let type\n let relationToType = null\n\n if (Array.isArray(relationTo)) {\n relationToType = new GraphQLEnumType({\n name: `${relationshipName}_RelationTo`,\n values: relationTo.reduce(\n (relations, relation) => ({\n ...relations,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n })\n\n const types = relationTo.map((relation) => graphqlResult.collections[relation].graphQL.type)\n\n type = new GraphQLObjectType({\n name: `${relationshipName}_Relationship`,\n fields: {\n relationTo: {\n type: relationToType,\n },\n value: {\n type: new GraphQLUnionType({\n name: relationshipName,\n resolveType(data, { req }) {\n return graphqlResult.collections[data.collection].graphQL.type.name\n },\n types,\n }),\n },\n },\n })\n } else {\n ;({ type } = graphqlResult.collections[relationTo].graphQL)\n }\n\n // If the relationshipType is undefined at this point,\n // it can be assumed that this blockType can have a relationship\n // to itself. Therefore, we set the relationshipType equal to the blockType\n // that is currently being created.\n\n type = type || newlyCreatedBlockType\n\n const relationshipArgs: {\n draft?: unknown\n fallbackLocale?: unknown\n limit?: unknown\n locale?: unknown\n page?: unknown\n where?: unknown\n } = {}\n\n const relationsUseDrafts = (Array.isArray(relationTo) ? relationTo : [relationTo]).some(\n (relation) => graphqlResult.collections[relation].config.versions?.drafts,\n )\n\n if (relationsUseDrafts) {\n relationshipArgs.draft = {\n type: GraphQLBoolean,\n }\n }\n\n if (config.localization) {\n relationshipArgs.locale = {\n type: graphqlResult.types.localeInputType,\n }\n\n relationshipArgs.fallbackLocale = {\n type: graphqlResult.types.fallbackLocaleInputType,\n }\n }\n\n const relationship = {\n type: withNullableType(\n field,\n hasManyValues ? new GraphQLList(new GraphQLNonNull(type)) : type,\n forceNullable,\n ),\n args: relationshipArgs,\n extensions: { complexity: 10 },\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: 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 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 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 return null\n }\n\n return null\n },\n }\n\n return {\n ...objectTypeConfig,\n [field.name]: relationship,\n }\n },\n }\n\n const objectSchema = {\n name,\n fields: () =>\n fields.reduce((objectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return objectTypeConfig\n }\n\n return {\n ...objectTypeConfig,\n ...fieldSchema(objectTypeConfig, field),\n }\n }, baseFields),\n }\n\n const newlyCreatedBlockType = new GraphQLObjectType(objectSchema)\n\n return newlyCreatedBlockType\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLObjectType","GraphQLString","GraphQLUnionType","DateTimeResolver","EmailAddressResolver","MissingEditorProp","createDataloaderCacheKey","toWords","tabHasName","GraphQLJSON","combineParentName","formatName","formatOptions","isFieldNullable","withNullableType","buildObjectType","name","baseFields","config","fields","forceNullable","graphqlResult","parentName","fieldToSchemaMap","array","objectTypeConfig","field","interfaceName","types","arrayTypes","objectType","Object","keys","getFields","length","arrayType","type","blocks","blockTypes","reduce","acc","block","slug","graphQL","singularName","push","fullName","resolveType","data","blockType","checkbox","code","collapsible","objectTypeConfigWithCollapsibleFields","subField","addSubField","date","email","group","groupTypes","json","number","hasMany","point","radio","values","relationship","relationTo","isRelatedToManyCollections","Array","isArray","hasManyValues","relationshipName","relationToType","relations","relation","value","map","collections","req","collection","newlyCreatedBlockType","relationshipArgs","relationsUseDrafts","some","versions","drafts","draft","localization","locale","localeInputType","fallbackLocale","fallbackLocaleInputType","args","extensions","complexity","resolve","parent","context","relatedCollectionSlug","Boolean","query","results","resultPromises","createPopulationPromise","relatedDoc","i","id","collectionSlug","result","payloadDataLoader","load","currentDepth","depth","docID","overrideAccess","showHiddenFields","transactionID","forEach","Promise","all","relatedDocument","richText","defaultDepth","editor","Error","graphQLPopulationPromises","fieldPromises","populationPromises","populateDepth","maxDepth","undefined","findMany","flattenLocales","siblingDoc","row","objectTypeConfigWithRowFields","select","tabs","tabSchema","tab","subFieldSchema","text","textarea","upload","objectSchema","fieldSchema"],"mappings":"AA4BA,SACEA,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,EACbC,gBAAgB,QACX,UAAS;AAChB,SAASC,gBAAgB,EAAEC,oBAAoB,QAAQ,kBAAiB;AACxE,SAASC,iBAAiB,EAAEC,wBAAwB,EAAEC,OAAO,QAAQ,UAAS;AAC9E,SAASC,UAAU,QAAQ,iBAAgB;AAI3C,SAASC,WAAW,QAAQ,yCAAwC;AACpE,OAAOC,uBAAuB,oCAAmC;AACjE,OAAOC,gBAAgB,6BAA4B;AACnD,OAAOC,mBAAmB,gCAA+B;AAEzD,OAAOC,qBAAqB,uBAAsB;AAClD,OAAOC,sBAAsB,wBAAuB;AA4BpD,OAAO,SAASC,gBAAgB,EAC9BC,IAAI,EACJC,aAAa,CAAC,CAAC,EACfC,MAAM,EACNC,MAAM,EACNC,aAAa,EACbC,aAAa,EACbC,UAAU,EACL;IACL,MAAMC,mBAAmB;QACvBC,OAAO,CAACC,kBAAoCC;YAC1C,MAAMC,gBACJD,OAAOC,iBAAiBjB,kBAAkBY,YAAYf,QAAQmB,MAAMV,IAAI,EAAE;YAE5E,IAAI,CAACK,cAAcO,KAAK,CAACC,UAAU,CAACF,cAAc,EAAE;gBAClD,MAAMG,aAAaf,gBAAgB;oBACjCC,MAAMW;oBACNT;oBACAC,QAAQO,MAAMP,MAAM;oBACpBC,eAAeP,gBAAgBa,OAAON;oBACtCC;oBACAC,YAAYK;gBACd;gBAEA,IAAII,OAAOC,IAAI,CAACF,WAAWG,SAAS,IAAIC,MAAM,EAAE;oBAC9Cb,cAAcO,KAAK,CAACC,UAAU,CAACF,cAAc,GAAGG;gBAClD;YACF;YAEA,IAAI,CAACT,cAAcO,KAAK,CAACC,UAAU,CAACF,cAAc,EAAE;gBAClD,OAAOF;YACT;YAEA,MAAMU,YAAY,IAAIrC,YACpB,IAAIC,eAAesB,cAAcO,KAAK,CAACC,UAAU,CAACF,cAAc;YAGlE,OAAO;gBACL,GAAGF,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOS;gBAAW;YAC3D;QACF;QACAE,QAAQ,CAACZ,kBAAoCC;YAC3C,MAAMY,aAA4CZ,MAAMW,MAAM,CAACE,MAAM,CAAC,CAACC,KAAKC;gBAC1E,IAAI,CAACpB,cAAcO,KAAK,CAACU,UAAU,CAACG,MAAMC,IAAI,CAAC,EAAE;oBAC/C,MAAMf,gBACJc,OAAOd,iBAAiBc,OAAOE,SAASC,gBAAgBrC,QAAQkC,MAAMC,IAAI,EAAE;oBAE9E,MAAMZ,aAAaf,gBAAgB;wBACjCC,MAAMW;wBACNT;wBACAC,QAAQ;+BACHsB,MAAMtB,MAAM;4BACf;gCACEH,MAAM;gCACNoB,MAAM;4BACR;yBACD;wBACDhB;wBACAC;wBACAC,YAAYK;oBACd;oBAEA,IAAII,OAAOC,IAAI,CAACF,WAAWG,SAAS,IAAIC,MAAM,EAAE;wBAC9Cb,cAAcO,KAAK,CAACU,UAAU,CAACG,MAAMC,IAAI,CAAC,GAAGZ;oBAC/C;gBACF;gBAEA,IAAIT,cAAcO,KAAK,CAACU,UAAU,CAACG,MAAMC,IAAI,CAAC,EAAE;oBAC9CF,IAAIK,IAAI,CAACxB,cAAcO,KAAK,CAACU,UAAU,CAACG,MAAMC,IAAI,CAAC;gBACrD;gBAEA,OAAOF;YACT,GAAG,EAAE;YAEL,IAAIF,WAAWJ,MAAM,KAAK,GAAG;gBAC3B,OAAOT;YACT;YAEA,MAAMqB,WAAWpC,kBAAkBY,YAAYf,QAAQmB,MAAMV,IAAI,EAAE;YAEnE,MAAMoB,OAAO,IAAItC,YACf,IAAIC,eACF,IAAIG,iBAAiB;gBACnBc,MAAM8B;gBACNC,aAAa,CAACC,OAAS3B,cAAcO,KAAK,CAACU,UAAU,CAACU,KAAKC,SAAS,CAAC,CAACjC,IAAI;gBAC1EY,OAAOU;YACT;YAIJ,OAAO;gBACL,GAAGb,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOU;gBAAM;YACtD;QACF;QACAc,UAAU,CAACzB,kBAAoCC,QAA0B,CAAA;gBACvE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOhC,gBAAgB0B;gBAAe;YAC/E,CAAA;QACA+B,MAAM,CAAC1B,kBAAoCC,QAAsB,CAAA;gBAC/D,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOzB,eAAemB;gBAAe;YAC9E,CAAA;QACAgC,aAAa,CAAC3B,kBAAoCC,QAChDA,MAAMP,MAAM,CAACoB,MAAM,CAAC,CAACc,uCAAuCC;gBAC1D,MAAMC,cAAchC,gBAAgB,CAAC+B,SAASlB,IAAI,CAAC;gBACnD,IAAImB,aAAa,OAAOA,YAAYF,uCAAuCC;gBAC3E,OAAOD;YACT,GAAG5B;QACL+B,MAAM,CAAC/B,kBAAoCC,QAAsB,CAAA;gBAC/D,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOvB,kBAAkBiB;gBAAe;YACjF,CAAA;QACAqC,OAAO,CAAChC,kBAAoCC,QAAuB,CAAA;gBACjE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOtB,sBAAsBgB;gBAAe;YACrF,CAAA;QACAsC,OAAO,CAACjC,kBAAoCC;YAC1C,MAAMC,gBACJD,OAAOC,iBAAiBjB,kBAAkBY,YAAYf,QAAQmB,MAAMV,IAAI,EAAE;YAE5E,IAAI,CAACK,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,EAAE;gBAClD,MAAMG,aAAaf,gBAAgB;oBACjCC,MAAMW;oBACNT;oBACAC,QAAQO,MAAMP,MAAM;oBACpBC,eAAeP,gBAAgBa,OAAON;oBACtCC;oBACAC,YAAYK;gBACd;gBAEA,IAAII,OAAOC,IAAI,CAACF,WAAWG,SAAS,IAAIC,MAAM,EAAE;oBAC9Cb,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,GAAGG;gBAClD;YACF;YAEA,IAAI,CAACT,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,EAAE;gBAClD,OAAOF;YACT;YAEA,OAAO;gBACL,GAAGA,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMf,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc;gBAAC;YACtE;QACF;QACAiC,MAAM,CAACnC,kBAAoCC,QAAsB,CAAA;gBAC/D,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOjB,aAAaW;gBAAe;YAC5E,CAAA;QACAyC,QAAQ,CAACpC,kBAAoCC;YAC3C,MAAMU,OAAOV,OAAOV,SAAS,OAAOnB,aAAaD;YACjD,OAAO;gBACL,GAAG6B,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBACZoB,MAAMtB,iBACJY,OACAA,OAAOoC,YAAY,OAAO,IAAIhE,YAAYsC,QAAQA,MAClDhB;gBAEJ;YACF;QACF;QACA2C,OAAO,CAACtC,kBAAoCC,QAAuB,CAAA;gBACjE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBACZoB,MAAMtB,iBACJY,OACA,IAAI5B,YAAY,IAAIC,eAAeH,gBACnCwB;gBAEJ;YACF,CAAA;QACA4C,OAAO,CAACvC,kBAAoCC,QAAuB,CAAA;gBACjE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBACZoB,MAAMtB,iBACJY,OACA,IAAI/B,gBAAgB;wBAClBqB,MAAMN,kBAAkBY,YAAYI,MAAMV,IAAI;wBAC9CiD,QAAQrD,cAAcc;oBACxB,IACAN;gBAEJ;YACF,CAAA;QACA8C,cAAc,CAACzC,kBAAoCC;YACjD,MAAM,EAAEyC,UAAU,EAAE,GAAGzC;YACvB,MAAM0C,6BAA6BC,MAAMC,OAAO,CAACH;YACjD,MAAMI,gBAAgB7C,MAAMoC,OAAO;YACnC,MAAMU,mBAAmB9D,kBAAkBY,YAAYf,QAAQmB,MAAMV,IAAI,EAAE;YAE3E,IAAIoB;YACJ,IAAIqC,iBAAiB;YAErB,IAAIJ,MAAMC,OAAO,CAACH,aAAa;gBAC7BM,iBAAiB,IAAI9E,gBAAgB;oBACnCqB,MAAM,CAAC,EAAEwD,iBAAiB,WAAW,CAAC;oBACtCP,QAAQE,WAAW5B,MAAM,CACvB,CAACmC,WAAWC,WAAc,CAAA;4BACxB,GAAGD,SAAS;4BACZ,CAAC/D,WAAWgE,UAAU,EAAE;gCACtBC,OAAOD;4BACT;wBACF,CAAA,GACA,CAAC;gBAEL;gBAEA,MAAM/C,QAAQuC,WAAWU,GAAG,CAAC,CAACF,WAAatD,cAAcyD,WAAW,CAACH,SAAS,CAAChC,OAAO,CAACP,IAAI;gBAE3FA,OAAO,IAAIpC,kBAAkB;oBAC3BgB,MAAM,CAAC,EAAEwD,iBAAiB,aAAa,CAAC;oBACxCrD,QAAQ;wBACNgD,YAAY;4BACV/B,MAAMqC;wBACR;wBACAG,OAAO;4BACLxC,MAAM,IAAIlC,iBAAiB;gCACzBc,MAAMwD;gCACNzB,aAAYC,IAAI,EAAE,EAAE+B,GAAG,EAAE;oCACvB,OAAO1D,cAAcyD,WAAW,CAAC9B,KAAKgC,UAAU,CAAC,CAACrC,OAAO,CAACP,IAAI,CAACpB,IAAI;gCACrE;gCACAY;4BACF;wBACF;oBACF;gBACF;YACF,OAAO;gBACH,CAAA,EAAEQ,IAAI,EAAE,GAAGf,cAAcyD,WAAW,CAACX,WAAW,CAACxB,OAAO,AAAD;YAC3D;YAEA,sDAAsD;YACtD,gEAAgE;YAChE,2EAA2E;YAC3E,mCAAmC;YAEnCP,OAAOA,QAAQ6C;YAEf,MAAMC,mBAOF,CAAC;YAEL,MAAMC,qBAAqB,AAACd,CAAAA,MAAMC,OAAO,CAACH,cAAcA,aAAa;gBAACA;aAAW,AAAD,EAAGiB,IAAI,CACrF,CAACT,WAAatD,cAAcyD,WAAW,CAACH,SAAS,CAACzD,MAAM,CAACmE,QAAQ,EAAEC;YAGrE,IAAIH,oBAAoB;gBACtBD,iBAAiBK,KAAK,GAAG;oBACvBnD,MAAM1C;gBACR;YACF;YAEA,IAAIwB,OAAOsE,YAAY,EAAE;gBACvBN,iBAAiBO,MAAM,GAAG;oBACxBrD,MAAMf,cAAcO,KAAK,CAAC8D,eAAe;gBAC3C;gBAEAR,iBAAiBS,cAAc,GAAG;oBAChCvD,MAAMf,cAAcO,KAAK,CAACgE,uBAAuB;gBACnD;YACF;YAEA,MAAM1B,eAAe;gBACnB9B,MAAMtB,iBACJY,OACA6C,gBAAgB,IAAIzE,YAAY,IAAIC,eAAeqC,SAASA,MAC5DhB;gBAEFyE,MAAMX;gBACNY,YAAY;oBAAEC,YAAY;gBAAG;gBAC7B,MAAMC,SAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAgB;oBAC1C,MAAMtB,QAAQqB,MAAM,CAACvE,MAAMV,IAAI,CAAC;oBAChC,MAAMyE,SAASI,KAAKJ,MAAM,IAAIS,QAAQnB,GAAG,CAACU,MAAM;oBAChD,MAAME,iBAAiBE,KAAKF,cAAc,IAAIO,QAAQnB,GAAG,CAACY,cAAc;oBACxE,IAAIQ,wBAAwBzE,MAAMyC,UAAU;oBAC5C,MAAMoB,QAAQa,QAAQP,KAAKN,KAAK,IAAIW,QAAQnB,GAAG,CAACsB,KAAK,EAAEd;oBAEvD,IAAIhB,eAAe;wBACjB,MAAM+B,UAAU,EAAE;wBAClB,MAAMC,iBAAiB,EAAE;wBAEzB,MAAMC,0BAA0B,OAAOC,YAAYC;4BACjD,IAAIC,KAAKF;4BACT,IAAIG,iBAAiBlF,MAAMyC,UAAU;4BAErC,IAAIC,4BAA4B;gCAC9BwC,iBAAiBH,WAAWtC,UAAU;gCACtCwC,KAAKF,WAAW7B,KAAK;4BACvB;4BAEA,MAAMiC,SAAS,MAAMX,QAAQnB,GAAG,CAAC+B,iBAAiB,CAACC,IAAI,CACrDzG,yBAAyB;gCACvBsG,gBAAgBA;gCAChBI,cAAc;gCACdC,OAAO;gCACPC,OAAOP;gCACPpB;gCACAI;gCACAF;gCACA0B,gBAAgB;gCAChBC,kBAAkB;gCAClBC,eAAenB,QAAQnB,GAAG,CAACsC,aAAa;4BAC1C;4BAGF,IAAIR,QAAQ;gCACV,IAAIzC,4BAA4B;oCAC9BkC,OAAO,CAACI,EAAE,GAAG;wCACXvC,YAAYyC;wCACZhC,OAAO;4CACL,GAAGiC,MAAM;4CACT7B,YAAY4B;wCACd;oCACF;gCACF,OAAO;oCACLN,OAAO,CAACI,EAAE,GAAGG;gCACf;4BACF;wBACF;wBAEA,IAAIjC,OAAO;4BACTA,MAAM0C,OAAO,CAAC,CAACb,YAAYC;gCACzBH,eAAe1D,IAAI,CAAC2D,wBAAwBC,YAAYC;4BAC1D;wBACF;wBAEA,MAAMa,QAAQC,GAAG,CAACjB;wBAClB,OAAOD;oBACT;oBAEA,IAAIK,KAAK/B;oBACT,IAAIR,8BAA8BQ,OAAO;wBACvC+B,KAAK/B,MAAMA,KAAK;wBAChBuB,wBAAwBvB,MAAMT,UAAU;oBAC1C;oBAEA,IAAIwC,IAAI;wBACN,MAAMc,kBAAkB,MAAMvB,QAAQnB,GAAG,CAAC+B,iBAAiB,CAACC,IAAI,CAC9DzG,yBAAyB;4BACvBsG,gBAAgBT;4BAChBa,cAAc;4BACdC,OAAO;4BACPC,OAAOP;4BACPpB;4BACAI;4BACAF;4BACA0B,gBAAgB;4BAChBC,kBAAkB;4BAClBC,eAAenB,QAAQnB,GAAG,CAACsC,aAAa;wBAC1C;wBAGF,IAAII,iBAAiB;4BACnB,IAAIrD,4BAA4B;gCAC9B,OAAO;oCACLD,YAAYgC;oCACZvB,OAAO;wCACL,GAAG6C,eAAe;wCAClBzC,YAAYmB;oCACd;gCACF;4BACF;4BAEA,OAAOsB;wBACT;wBAEA,OAAO;oBACT;oBAEA,OAAO;gBACT;YACF;YAEA,OAAO;gBACL,GAAGhG,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAEkD;YAChB;QACF;QACAwD,UAAU,CAACjG,kBAAoCC,QAA0B,CAAA;gBACvE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBACZoB,MAAMtB,iBAAiBY,OAAOjB,aAAaW;oBAC3CyE,MAAM;wBACJoB,OAAO;4BACL7E,MAAMvC;wBACR;oBACF;oBACA,MAAMmG,SAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAgB;wBAC1C,IAAIe,QAAQ/F,OAAOyG,YAAY;wBAC/B,IAAI,OAAO9B,KAAKoB,KAAK,KAAK,aAAaA,QAAQpB,KAAKoB,KAAK;wBACzD,IAAI,CAACvF,OAAOkG,QAAQ;4BAClB,MAAM,IAAIvH,kBAAkBqB,OAAO,8HAA8H;;wBACnK;wBAEA,IAAI,OAAOA,OAAOkG,WAAW,YAAY;4BACvC,MAAM,IAAIC,MAAM;wBAClB;wBAEA,MAAMD,SAA0BlG,OAAOkG;wBAEvC,4DAA4D;wBAC5D,qGAAqG;wBACrG,8CAA8C;wBAC9C,sEAAsE;wBACtE,gJAAgJ;wBAChJ,IAAIA,QAAQE,2BAA2B;4BACrC,MAAMC,gBAAgB,EAAE;4BACxB,MAAMC,qBAAqB,EAAE;4BAC7B,MAAMC,gBACJvG,OAAOwG,aAAaC,aAAazG,OAAOwG,WAAWjB,QAAQvF,OAAOwG,WAAWjB;4BAE/EW,QAAQE,0BAA0B;gCAChC5B;gCACAe,OAAOgB;gCACP1C,OAAOM,KAAKN,KAAK;gCACjB7D;gCACAqG;gCACAK,UAAU;gCACVC,gBAAgB;gCAChBlB,gBAAgB;gCAChBa;gCACAjD,KAAKmB,QAAQnB,GAAG;gCAChBqC,kBAAkB;gCAClBkB,YAAYrC;4BACd;4BACA,MAAMsB,QAAQC,GAAG,CAACO;4BAClB,MAAMR,QAAQC,GAAG,CAACQ;wBACpB;wBAEA,OAAO/B,MAAM,CAACvE,MAAMV,IAAI,CAAC;oBAC3B;gBACF;YACF,CAAA;QACAuH,KAAK,CAAC9G,kBAAoCC,QACxCA,MAAMP,MAAM,CAACoB,MAAM,CAAC,CAACiG,+BAA+BlF;gBAClD,MAAMC,cAAchC,gBAAgB,CAAC+B,SAASlB,IAAI,CAAC;gBACnD,IAAImB,aAAa,OAAOA,YAAYiF,+BAA+BlF;gBACnE,OAAOkF;YACT,GAAG/G;QACLgH,QAAQ,CAAChH,kBAAoCC;YAC3C,MAAMoB,WAAWpC,kBAAkBY,YAAYI,MAAMV,IAAI;YAEzD,IAAIoB,OAAoB,IAAIzC,gBAAgB;gBAC1CqB,MAAM8B;gBACNmB,QAAQrD,cAAcc;YACxB;YAEAU,OAAOV,MAAMoC,OAAO,GAAG,IAAIhE,YAAY,IAAIC,eAAeqC,SAASA;YACnEA,OAAOtB,iBAAiBY,OAAOU,MAAMhB;YAErC,OAAO;gBACL,GAAGK,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB;gBAAK;YACvB;QACF;QACAsG,MAAM,CAACjH,kBAAoCC,QACzCA,MAAMgH,IAAI,CAACnG,MAAM,CAAC,CAACoG,WAAWC;gBAC5B,IAAIpI,WAAWoI,MAAM;oBACnB,MAAMjH,gBACJiH,KAAKjH,iBAAiBjB,kBAAkBY,YAAYf,QAAQqI,IAAI5H,IAAI,EAAE;oBAExE,IAAI,CAACK,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,EAAE;wBAClD,MAAMG,aAAaf,gBAAgB;4BACjCC,MAAMW;4BACNT;4BACAC,QAAQyH,IAAIzH,MAAM;4BAClBC;4BACAC;4BACAC,YAAYK;wBACd;wBAEA,IAAII,OAAOC,IAAI,CAACF,WAAWG,SAAS,IAAIC,MAAM,EAAE;4BAC9Cb,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,GAAGG;wBAClD;oBACF;oBAEA,IAAI,CAACT,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc,EAAE;wBAClD,OAAOgH;oBACT;oBAEA,OAAO;wBACL,GAAGA,SAAS;wBACZ,CAACC,IAAI5H,IAAI,CAAC,EAAE;4BAAEoB,MAAMf,cAAcO,KAAK,CAAC+B,UAAU,CAAChC,cAAc;wBAAC;oBACpE;gBACF;gBAEA,OAAO;oBACL,GAAGgH,SAAS;oBACZ,GAAGC,IAAIzH,MAAM,CAACoB,MAAM,CAAC,CAACsG,gBAAgBvF;wBACpC,MAAMC,cAAchC,gBAAgB,CAAC+B,SAASlB,IAAI,CAAC;wBACnD,IAAImB,aAAa,OAAOA,YAAYsF,gBAAgBvF;wBACpD,OAAOuF;oBACT,GAAGF,UAAU;gBACf;YACF,GAAGlH;QACLqH,MAAM,CAACrH,kBAAoCC,QAAsB,CAAA;gBAC/D,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBACZoB,MAAMtB,iBACJY,OACAA,MAAMoC,OAAO,KAAK,OAAO,IAAIhE,YAAYG,iBAAiBA,eAC1DmB;gBAEJ;YACF,CAAA;QACA2H,UAAU,CAACtH,kBAAoCC,QAA0B,CAAA;gBACvE,GAAGD,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAE;oBAAEoB,MAAMtB,iBAAiBY,OAAOzB,eAAemB;gBAAe;YAC9E,CAAA;QACA4H,QAAQ,CAACvH,kBAAoCC;YAC3C,MAAM,EAAEyC,UAAU,EAAE,GAAGzC;YACvB,MAAM0C,6BAA6BC,MAAMC,OAAO,CAACH;YACjD,MAAMI,gBAAgB7C,MAAMoC,OAAO;YACnC,MAAMU,mBAAmB9D,kBAAkBY,YAAYf,QAAQmB,MAAMV,IAAI,EAAE;YAE3E,IAAIoB;YACJ,IAAIqC,iBAAiB;YAErB,IAAIJ,MAAMC,OAAO,CAACH,aAAa;gBAC7BM,iBAAiB,IAAI9E,gBAAgB;oBACnCqB,MAAM,CAAC,EAAEwD,iBAAiB,WAAW,CAAC;oBACtCP,QAAQE,WAAW5B,MAAM,CACvB,CAACmC,WAAWC,WAAc,CAAA;4BACxB,GAAGD,SAAS;4BACZ,CAAC/D,WAAWgE,UAAU,EAAE;gCACtBC,OAAOD;4BACT;wBACF,CAAA,GACA,CAAC;gBAEL;gBAEA,MAAM/C,QAAQuC,WAAWU,GAAG,CAAC,CAACF,WAAatD,cAAcyD,WAAW,CAACH,SAAS,CAAChC,OAAO,CAACP,IAAI;gBAE3FA,OAAO,IAAIpC,kBAAkB;oBAC3BgB,MAAM,CAAC,EAAEwD,iBAAiB,aAAa,CAAC;oBACxCrD,QAAQ;wBACNgD,YAAY;4BACV/B,MAAMqC;wBACR;wBACAG,OAAO;4BACLxC,MAAM,IAAIlC,iBAAiB;gCACzBc,MAAMwD;gCACNzB,aAAYC,IAAI,EAAE,EAAE+B,GAAG,EAAE;oCACvB,OAAO1D,cAAcyD,WAAW,CAAC9B,KAAKgC,UAAU,CAAC,CAACrC,OAAO,CAACP,IAAI,CAACpB,IAAI;gCACrE;gCACAY;4BACF;wBACF;oBACF;gBACF;YACF,OAAO;gBACH,CAAA,EAAEQ,IAAI,EAAE,GAAGf,cAAcyD,WAAW,CAACX,WAAW,CAACxB,OAAO,AAAD;YAC3D;YAEA,sDAAsD;YACtD,gEAAgE;YAChE,2EAA2E;YAC3E,mCAAmC;YAEnCP,OAAOA,QAAQ6C;YAEf,MAAMC,mBAOF,CAAC;YAEL,MAAMC,qBAAqB,AAACd,CAAAA,MAAMC,OAAO,CAACH,cAAcA,aAAa;gBAACA;aAAW,AAAD,EAAGiB,IAAI,CACrF,CAACT,WAAatD,cAAcyD,WAAW,CAACH,SAAS,CAACzD,MAAM,CAACmE,QAAQ,EAAEC;YAGrE,IAAIH,oBAAoB;gBACtBD,iBAAiBK,KAAK,GAAG;oBACvBnD,MAAM1C;gBACR;YACF;YAEA,IAAIwB,OAAOsE,YAAY,EAAE;gBACvBN,iBAAiBO,MAAM,GAAG;oBACxBrD,MAAMf,cAAcO,KAAK,CAAC8D,eAAe;gBAC3C;gBAEAR,iBAAiBS,cAAc,GAAG;oBAChCvD,MAAMf,cAAcO,KAAK,CAACgE,uBAAuB;gBACnD;YACF;YAEA,MAAM1B,eAAe;gBACnB9B,MAAMtB,iBACJY,OACA6C,gBAAgB,IAAIzE,YAAY,IAAIC,eAAeqC,SAASA,MAC5DhB;gBAEFyE,MAAMX;gBACNY,YAAY;oBAAEC,YAAY;gBAAG;gBAC7B,MAAMC,SAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAgB;oBAC1C,MAAMtB,QAAQqB,MAAM,CAACvE,MAAMV,IAAI,CAAC;oBAChC,MAAMyE,SAASI,KAAKJ,MAAM,IAAIS,QAAQnB,GAAG,CAACU,MAAM;oBAChD,MAAME,iBAAiBE,KAAKF,cAAc,IAAIO,QAAQnB,GAAG,CAACY,cAAc;oBACxE,IAAIQ,wBAAwBzE,MAAMyC,UAAU;oBAC5C,MAAMoB,QAAQa,QAAQP,KAAKN,KAAK,IAAIW,QAAQnB,GAAG,CAACsB,KAAK,EAAEd;oBAEvD,IAAIhB,eAAe;wBACjB,MAAM+B,UAAU,EAAE;wBAClB,MAAMC,iBAAiB,EAAE;wBAEzB,MAAMC,0BAA0B,OAAOC,YAAYC;4BACjD,IAAIC,KAAKF;4BACT,IAAIG,iBAAiBlF,MAAMyC,UAAU;4BAErC,IAAIC,4BAA4B;gCAC9BwC,iBAAiBH,WAAWtC,UAAU;gCACtCwC,KAAKF,WAAW7B,KAAK;4BACvB;4BAEA,MAAMiC,SAAS,MAAMX,QAAQnB,GAAG,CAAC+B,iBAAiB,CAACC,IAAI,CACrDzG,yBAAyB;gCACvBsG,gBAAgBA;gCAChBI,cAAc;gCACdC,OAAO;gCACPC,OAAOP;gCACPpB;gCACAI;gCACAF;gCACA0B,gBAAgB;gCAChBC,kBAAkB;gCAClBC,eAAenB,QAAQnB,GAAG,CAACsC,aAAa;4BAC1C;4BAGF,IAAIR,QAAQ;gCACV,IAAIzC,4BAA4B;oCAC9BkC,OAAO,CAACI,EAAE,GAAG;wCACXvC,YAAYyC;wCACZhC,OAAO;4CACL,GAAGiC,MAAM;4CACT7B,YAAY4B;wCACd;oCACF;gCACF,OAAO;oCACLN,OAAO,CAACI,EAAE,GAAGG;gCACf;4BACF;wBACF;wBAEA,IAAIjC,OAAO;4BACTA,MAAM0C,OAAO,CAAC,CAACb,YAAYC;gCACzBH,eAAe1D,IAAI,CAAC2D,wBAAwBC,YAAYC;4BAC1D;wBACF;wBAEA,MAAMa,QAAQC,GAAG,CAACjB;wBAClB,OAAOD;oBACT;oBAEA,IAAIK,KAAK/B;oBACT,IAAIR,8BAA8BQ,OAAO;wBACvC+B,KAAK/B,MAAMA,KAAK;wBAChBuB,wBAAwBvB,MAAMT,UAAU;oBAC1C;oBAEA,IAAIwC,IAAI;wBACN,MAAMc,kBAAkB,MAAMvB,QAAQnB,GAAG,CAAC+B,iBAAiB,CAACC,IAAI,CAC9DzG,yBAAyB;4BACvBsG,gBAAgBT;4BAChBa,cAAc;4BACdC,OAAO;4BACPC,OAAOP;4BACPpB;4BACAI;4BACAF;4BACA0B,gBAAgB;4BAChBC,kBAAkB;4BAClBC,eAAenB,QAAQnB,GAAG,CAACsC,aAAa;wBAC1C;wBAGF,IAAII,iBAAiB;4BACnB,IAAIrD,4BAA4B;gCAC9B,OAAO;oCACLD,YAAYgC;oCACZvB,OAAO;wCACL,GAAG6C,eAAe;wCAClBzC,YAAYmB;oCACd;gCACF;4BACF;4BAEA,OAAOsB;wBACT;wBAEA,OAAO;oBACT;oBAEA,OAAO;gBACT;YACF;YAEA,OAAO;gBACL,GAAGhG,gBAAgB;gBACnB,CAACC,MAAMV,IAAI,CAAC,EAAEkD;YAChB;QACF;IACF;IAEA,MAAM+E,eAAe;QACnBjI;QACAG,QAAQ,IACNA,OAAOoB,MAAM,CAAC,CAACd,kBAAkBC;gBAC/B,MAAMwH,cAAc3H,gBAAgB,CAACG,MAAMU,IAAI,CAAC;gBAEhD,IAAI,OAAO8G,gBAAgB,YAAY;oBACrC,OAAOzH;gBACT;gBAEA,OAAO;oBACL,GAAGA,gBAAgB;oBACnB,GAAGyH,YAAYzH,kBAAkBC,MAAM;gBACzC;YACF,GAAGT;IACP;IAEA,MAAMgE,wBAAwB,IAAIjF,kBAAkBiJ;IAEpD,OAAOhE;AACT"}
@@ -1,4 +1,3 @@
1
1
  import { GraphQLObjectType } from 'graphql';
2
- declare const buildPaginatedListType: (name: any, docType: any) => GraphQLObjectType<any, any>;
3
- export default buildPaginatedListType;
2
+ export declare const buildPaginatedListType: (name: any, docType: any) => GraphQLObjectType<any, any>;
4
3
  //# sourceMappingURL=buildPaginatedListType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildPaginatedListType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPaginatedListType.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEpF,QAAA,MAAM,sBAAsB,0DAkBxB,CAAA;AAEJ,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"buildPaginatedListType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPaginatedListType.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEpF,eAAO,MAAM,sBAAsB,0DAkB/B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { GraphQLBoolean, GraphQLInt, GraphQLList, GraphQLObjectType } from 'graphql';
2
- const buildPaginatedListType = (name, docType)=>new GraphQLObjectType({
2
+ export const buildPaginatedListType = (name, docType)=>new GraphQLObjectType({
3
3
  name,
4
4
  fields: {
5
5
  docs: {
@@ -37,6 +37,5 @@ const buildPaginatedListType = (name, docType)=>new GraphQLObjectType({
37
37
  }
38
38
  }
39
39
  });
40
- export default buildPaginatedListType;
41
40
 
42
41
  //# sourceMappingURL=buildPaginatedListType.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/buildPaginatedListType.ts"],"sourcesContent":["import { GraphQLBoolean, GraphQLInt, GraphQLList, GraphQLObjectType } from 'graphql'\n\nconst buildPaginatedListType = (name, docType) =>\n new GraphQLObjectType({\n name,\n fields: {\n docs: {\n type: new GraphQLList(docType),\n },\n hasNextPage: { type: GraphQLBoolean },\n hasPrevPage: { type: GraphQLBoolean },\n limit: { type: GraphQLInt },\n nextPage: { type: GraphQLInt },\n offset: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagingCounter: { type: GraphQLInt },\n prevPage: { type: GraphQLInt },\n totalDocs: { type: GraphQLInt },\n totalPages: { type: GraphQLInt },\n },\n })\n\nexport default buildPaginatedListType\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLList","GraphQLObjectType","buildPaginatedListType","name","docType","fields","docs","type","hasNextPage","hasPrevPage","limit","nextPage","offset","page","pagingCounter","prevPage","totalDocs","totalPages"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,UAAS;AAEpF,MAAMC,yBAAyB,CAACC,MAAMC,UACpC,IAAIH,kBAAkB;QACpBE;QACAE,QAAQ;YACNC,MAAM;gBACJC,MAAM,IAAIP,YAAYI;YACxB;YACAI,aAAa;gBAAED,MAAMT;YAAe;YACpCW,aAAa;gBAAEF,MAAMT;YAAe;YACpCY,OAAO;gBAAEH,MAAMR;YAAW;YAC1BY,UAAU;gBAAEJ,MAAMR;YAAW;YAC7Ba,QAAQ;gBAAEL,MAAMR;YAAW;YAC3Bc,MAAM;gBAAEN,MAAMR;YAAW;YACzBe,eAAe;gBAAEP,MAAMR;YAAW;YAClCgB,UAAU;gBAAER,MAAMR;YAAW;YAC7BiB,WAAW;gBAAET,MAAMR;YAAW;YAC9BkB,YAAY;gBAAEV,MAAMR;YAAW;QACjC;IACF;AAEF,eAAeG,uBAAsB"}
1
+ {"version":3,"sources":["../../src/schema/buildPaginatedListType.ts"],"sourcesContent":["import { GraphQLBoolean, GraphQLInt, GraphQLList, GraphQLObjectType } from 'graphql'\n\nexport const buildPaginatedListType = (name, docType) =>\n new GraphQLObjectType({\n name,\n fields: {\n docs: {\n type: new GraphQLList(docType),\n },\n hasNextPage: { type: GraphQLBoolean },\n hasPrevPage: { type: GraphQLBoolean },\n limit: { type: GraphQLInt },\n nextPage: { type: GraphQLInt },\n offset: { type: GraphQLInt },\n page: { type: GraphQLInt },\n pagingCounter: { type: GraphQLInt },\n prevPage: { type: GraphQLInt },\n totalDocs: { type: GraphQLInt },\n totalPages: { type: GraphQLInt },\n },\n })\n"],"names":["GraphQLBoolean","GraphQLInt","GraphQLList","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,iBAAiB,QAAQ,UAAS;AAEpF,OAAO,MAAMC,yBAAyB,CAACC,MAAMC,UAC3C,IAAIH,kBAAkB;QACpBE;QACAE,QAAQ;YACNC,MAAM;gBACJC,MAAM,IAAIP,YAAYI;YACxB;YACAI,aAAa;gBAAED,MAAMT;YAAe;YACpCW,aAAa;gBAAEF,MAAMT;YAAe;YACpCY,OAAO;gBAAEH,MAAMR;YAAW;YAC1BY,UAAU;gBAAEJ,MAAMR;YAAW;YAC7Ba,QAAQ;gBAAEL,MAAMR;YAAW;YAC3Bc,MAAM;gBAAEN,MAAMR;YAAW;YACzBe,eAAe;gBAAEP,MAAMR;YAAW;YAClCgB,UAAU;gBAAER,MAAMR;YAAW;YAC7BiB,WAAW;gBAAET,MAAMR;YAAW;YAC9BkB,YAAY;gBAAEV,MAAMR;YAAW;QACjC;IACF,GAAE"}
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig, Field, GlobalConfig, SanitizedConfig } from 'payload/types';
1
+ import type { CollectionConfig, Field, GlobalConfig, SanitizedConfig } from 'payload';
2
2
  import { GraphQLObjectType } from 'graphql';
3
3
  type OperationType = 'create' | 'delete' | 'read' | 'readVersions' | 'unlock' | 'update';
4
4
  type AccessScopes = 'docAccess' | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"buildPoliciesType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPoliciesType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,YAAY,EAEZ,eAAe,EAEhB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAkC,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAM3E,KAAK,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExF,KAAK,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AA8E3C,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,iBAAiB,SAAU,iBAAiB;;;;CA4BxD,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,CACA;IACE,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,YAAY,CAAA;CACnB,GACD;IACE,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,QAAQ,CAAA;CACf,CACJ,CAAA;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAuDxE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAyCpF"}
1
+ {"version":3,"file":"buildPoliciesType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPoliciesType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,YAAY,EAEZ,eAAe,EAEhB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkC,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAM3E,KAAK,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExF,KAAK,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AA8E3C,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,iBAAiB,SAAU,iBAAiB;;;;CA4BxD,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,CACA;IACE,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,YAAY,CAAA;CACnB,GACD;IACE,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,QAAQ,CAAA;CACf,CACJ,CAAA;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAuDxE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAyCpF"}
@@ -1,6 +1,6 @@
1
1
  import { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql';
2
- import { GraphQLJSONObject } from 'graphql-type-json';
3
- import { toWords } from 'payload/utilities';
2
+ import { toWords } from 'payload';
3
+ import { GraphQLJSONObject } from '../packages/graphql-type-json/index.js';
4
4
  import formatName from '../utilities/formatName.js';
5
5
  const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, field)=>{
6
6
  const includeField = !field.hidden && field.type !== 'ui';