@webiny/api-headless-cms 0.0.0-unstable.97a151f74d → 0.0.0-unstable.9e825fd5fb

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 (374) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +60 -23
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  13. package/crud/contentEntry/markLockedFields.js +15 -28
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +5 -61
  16. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  17. package/crud/contentEntry/searchableFields.js +1 -12
  18. package/crud/contentEntry/searchableFields.js.map +1 -1
  19. package/crud/contentEntry.crud.d.ts +4 -1
  20. package/crud/contentEntry.crud.js +964 -916
  21. package/crud/contentEntry.crud.js.map +1 -1
  22. package/crud/contentModel/afterCreate.js +0 -2
  23. package/crud/contentModel/afterCreate.js.map +1 -1
  24. package/crud/contentModel/afterCreateFrom.js +0 -2
  25. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  26. package/crud/contentModel/afterDelete.js +0 -2
  27. package/crud/contentModel/afterDelete.js.map +1 -1
  28. package/crud/contentModel/afterUpdate.js +0 -2
  29. package/crud/contentModel/afterUpdate.js.map +1 -1
  30. package/crud/contentModel/beforeCreate.d.ts +2 -3
  31. package/crud/contentModel/beforeCreate.js +43 -109
  32. package/crud/contentModel/beforeCreate.js.map +1 -1
  33. package/crud/contentModel/beforeDelete.js +0 -10
  34. package/crud/contentModel/beforeDelete.js.map +1 -1
  35. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  36. package/crud/contentModel/beforeUpdate.js +33 -10
  37. package/crud/contentModel/beforeUpdate.js.map +1 -1
  38. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  39. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  40. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  41. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  42. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  43. package/crud/contentModel/createFieldStorageId.js +0 -3
  44. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  45. package/crud/contentModel/defaultFields.d.ts +5 -0
  46. package/crud/contentModel/defaultFields.js +58 -0
  47. package/crud/contentModel/defaultFields.js.map +1 -0
  48. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  49. package/crud/contentModel/fields/descriptionField.js +42 -0
  50. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  51. package/crud/contentModel/fields/imageField.d.ts +2 -0
  52. package/crud/contentModel/fields/imageField.js +46 -0
  53. package/crud/contentModel/fields/imageField.js.map +1 -0
  54. package/crud/contentModel/fields/titleField.d.ts +2 -0
  55. package/crud/contentModel/fields/titleField.js +58 -0
  56. package/crud/contentModel/fields/titleField.js.map +1 -0
  57. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  58. package/crud/contentModel/validate/endingAllowed.js +26 -0
  59. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  60. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  61. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  62. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  63. package/crud/contentModel/validate/modelId.d.ts +11 -0
  64. package/crud/contentModel/validate/modelId.js +36 -0
  65. package/crud/contentModel/validate/modelId.js.map +1 -0
  66. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  67. package/crud/contentModel/validate/pluralApiName.js +24 -0
  68. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  69. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  70. package/crud/contentModel/validate/singularApiName.js +24 -0
  71. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  72. package/crud/contentModel/validateLayout.js +0 -8
  73. package/crud/contentModel/validateLayout.js.map +1 -1
  74. package/crud/contentModel/validateModel.d.ts +4 -4
  75. package/crud/contentModel/validateModel.js +6 -11
  76. package/crud/contentModel/validateModel.js.map +1 -1
  77. package/crud/contentModel/validateModelFields.d.ts +4 -4
  78. package/crud/contentModel/validateModelFields.js +119 -144
  79. package/crud/contentModel/validateModelFields.js.map +1 -1
  80. package/crud/contentModel/validation.d.ts +519 -0
  81. package/crud/contentModel/validation.js +145 -0
  82. package/crud/contentModel/validation.js.map +1 -0
  83. package/crud/contentModel.crud.js +364 -375
  84. package/crud/contentModel.crud.js.map +1 -1
  85. package/crud/contentModelGroup/beforeCreate.js +0 -12
  86. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  87. package/crud/contentModelGroup/beforeDelete.js +0 -8
  88. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  89. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  90. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  91. package/crud/contentModelGroup/validation.d.ts +30 -0
  92. package/crud/contentModelGroup/validation.js +34 -0
  93. package/crud/contentModelGroup/validation.js.map +1 -0
  94. package/crud/contentModelGroup.crud.js +194 -208
  95. package/crud/contentModelGroup.crud.js.map +1 -1
  96. package/crud/settings.crud.d.ts +1 -1
  97. package/crud/settings.crud.js +5 -22
  98. package/crud/settings.crud.js.map +1 -1
  99. package/crud/system.crud.js +1 -96
  100. package/crud/system.crud.js.map +1 -1
  101. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  102. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  103. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  104. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  105. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  106. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  107. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  108. package/fieldConverters/index.d.ts +2 -1
  109. package/fieldConverters/index.js +2 -5
  110. package/fieldConverters/index.js.map +1 -1
  111. package/graphql/buildSchemaPlugins.d.ts +8 -3
  112. package/graphql/buildSchemaPlugins.js +6 -14
  113. package/graphql/buildSchemaPlugins.js.map +1 -1
  114. package/graphql/createExecutableSchema.d.ts +6 -0
  115. package/graphql/createExecutableSchema.js +29 -0
  116. package/graphql/createExecutableSchema.js.map +1 -0
  117. package/graphql/generateSchema.d.ts +8 -0
  118. package/graphql/generateSchema.js +31 -0
  119. package/graphql/generateSchema.js.map +1 -0
  120. package/graphql/graphQLHandlerFactory.js +134 -110
  121. package/graphql/graphQLHandlerFactory.js.map +1 -1
  122. package/graphql/index.d.ts +1 -3
  123. package/graphql/index.js +2 -46
  124. package/graphql/index.js.map +1 -1
  125. package/graphql/schema/baseContentSchema.d.ts +6 -2
  126. package/graphql/schema/baseContentSchema.js +10 -20
  127. package/graphql/schema/baseContentSchema.js.map +1 -1
  128. package/graphql/schema/baseSchema.d.ts +3 -0
  129. package/graphql/schema/baseSchema.js +53 -0
  130. package/graphql/schema/baseSchema.js.map +1 -0
  131. package/graphql/schema/contentEntries.d.ts +6 -2
  132. package/graphql/schema/contentEntries.js +118 -107
  133. package/graphql/schema/contentEntries.js.map +1 -1
  134. package/graphql/schema/contentModelGroups.d.ts +6 -2
  135. package/graphql/schema/contentModelGroups.js +16 -29
  136. package/graphql/schema/contentModelGroups.js.map +1 -1
  137. package/graphql/schema/contentModels.d.ts +6 -2
  138. package/graphql/schema/contentModels.js +46 -27
  139. package/graphql/schema/contentModels.js.map +1 -1
  140. package/graphql/schema/createFieldResolvers.js +13 -24
  141. package/graphql/schema/createFieldResolvers.js.map +1 -1
  142. package/graphql/schema/createManageResolvers.d.ts +1 -1
  143. package/graphql/schema/createManageResolvers.js +33 -43
  144. package/graphql/schema/createManageResolvers.js.map +1 -1
  145. package/graphql/schema/createManageSDL.d.ts +3 -0
  146. package/graphql/schema/createManageSDL.js +61 -65
  147. package/graphql/schema/createManageSDL.js.map +1 -1
  148. package/graphql/schema/createPreviewResolvers.js +3 -17
  149. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  150. package/graphql/schema/createReadResolvers.js +8 -17
  151. package/graphql/schema/createReadResolvers.js.map +1 -1
  152. package/graphql/schema/createReadSDL.d.ts +3 -0
  153. package/graphql/schema/createReadSDL.js +30 -34
  154. package/graphql/schema/createReadSDL.js.map +1 -1
  155. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  156. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  157. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  158. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  159. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  160. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  161. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  162. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  163. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  164. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  165. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  166. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  167. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  168. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  169. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  170. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  171. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  172. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  173. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  174. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  175. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  176. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  177. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  178. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  179. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  180. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  181. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  182. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  183. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  184. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  185. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  186. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  187. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  188. package/graphql/schema/schemaPlugins.d.ts +8 -3
  189. package/graphql/schema/schemaPlugins.js +64 -66
  190. package/graphql/schema/schemaPlugins.js.map +1 -1
  191. package/graphql/system.js +55 -87
  192. package/graphql/system.js.map +1 -1
  193. package/graphqlFields/boolean.js +0 -12
  194. package/graphqlFields/boolean.js.map +1 -1
  195. package/graphqlFields/datetime.js +0 -17
  196. package/graphqlFields/datetime.js.map +1 -1
  197. package/graphqlFields/dynamicZone/dynamicZoneField.js +37 -30
  198. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  199. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
  200. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  201. package/graphqlFields/dynamicZone/index.js +0 -2
  202. package/graphqlFields/dynamicZone/index.js.map +1 -1
  203. package/graphqlFields/file.js +0 -8
  204. package/graphqlFields/file.js.map +1 -1
  205. package/graphqlFields/helpers.js +0 -10
  206. package/graphqlFields/helpers.js.map +1 -1
  207. package/graphqlFields/index.js +0 -12
  208. package/graphqlFields/index.js.map +1 -1
  209. package/graphqlFields/longText.js +0 -10
  210. package/graphqlFields/longText.js.map +1 -1
  211. package/graphqlFields/number.js +0 -12
  212. package/graphqlFields/number.js.map +1 -1
  213. package/graphqlFields/object.js +46 -50
  214. package/graphqlFields/object.js.map +1 -1
  215. package/graphqlFields/ref.js +64 -66
  216. package/graphqlFields/ref.js.map +1 -1
  217. package/graphqlFields/richText.js +0 -9
  218. package/graphqlFields/richText.js.map +1 -1
  219. package/graphqlFields/text.js +0 -11
  220. package/graphqlFields/text.js.map +1 -1
  221. package/index.d.ts +5 -3
  222. package/index.js +23 -29
  223. package/index.js.map +1 -1
  224. package/modelManager/DefaultCmsModelManager.js +0 -16
  225. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  226. package/modelManager/index.js +0 -4
  227. package/modelManager/index.js.map +1 -1
  228. package/package.json +26 -28
  229. package/parameters/context.js +0 -4
  230. package/parameters/context.js.map +1 -1
  231. package/parameters/header.js +0 -11
  232. package/parameters/header.js.map +1 -1
  233. package/parameters/index.js +0 -8
  234. package/parameters/index.js.map +1 -1
  235. package/parameters/manual.js +1 -8
  236. package/parameters/manual.js.map +1 -1
  237. package/parameters/path.js +0 -11
  238. package/parameters/path.js.map +1 -1
  239. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  240. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  241. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  242. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  243. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  244. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  245. package/plugins/CmsGroupPlugin.js +0 -8
  246. package/plugins/CmsGroupPlugin.js.map +1 -1
  247. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  248. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  249. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  250. package/plugins/CmsModelPlugin.d.ts +19 -3
  251. package/plugins/CmsModelPlugin.js +30 -40
  252. package/plugins/CmsModelPlugin.js.map +1 -1
  253. package/plugins/CmsParametersPlugin.js +0 -7
  254. package/plugins/CmsParametersPlugin.js.map +1 -1
  255. package/plugins/StorageTransformPlugin.js +0 -9
  256. package/plugins/StorageTransformPlugin.js.map +1 -1
  257. package/plugins/index.d.ts +2 -0
  258. package/plugins/index.js +22 -10
  259. package/plugins/index.js.map +1 -1
  260. package/storage/default.js +0 -3
  261. package/storage/default.js.map +1 -1
  262. package/storage/object.js +0 -19
  263. package/storage/object.js.map +1 -1
  264. package/types.d.ts +234 -43
  265. package/types.js +53 -64
  266. package/types.js.map +1 -1
  267. package/utils/access.js +11 -25
  268. package/utils/access.js.map +1 -1
  269. package/utils/converters/Converter.js +0 -13
  270. package/utils/converters/Converter.js.map +1 -1
  271. package/utils/converters/ConverterCollection.js +9 -33
  272. package/utils/converters/ConverterCollection.js.map +1 -1
  273. package/utils/converters/valueKeyStorageConverter.d.ts +2 -2
  274. package/utils/converters/valueKeyStorageConverter.js +8 -27
  275. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  276. package/utils/createTypeFromFields.d.ts +1 -0
  277. package/utils/createTypeFromFields.js +11 -19
  278. package/utils/createTypeFromFields.js.map +1 -1
  279. package/utils/createTypeName.js +0 -9
  280. package/utils/createTypeName.js.map +1 -1
  281. package/utils/entryStorage.js +17 -34
  282. package/utils/entryStorage.js.map +1 -1
  283. package/utils/filterAsync.js +0 -5
  284. package/utils/filterAsync.js.map +1 -1
  285. package/utils/getBaseFieldType.js +0 -2
  286. package/utils/getBaseFieldType.js.map +1 -1
  287. package/utils/getEntryDescription.d.ts +2 -0
  288. package/utils/getEntryDescription.js +17 -0
  289. package/utils/getEntryDescription.js.map +1 -0
  290. package/utils/getEntryImage.d.ts +2 -0
  291. package/utils/getEntryImage.js +17 -0
  292. package/utils/getEntryImage.js.map +1 -0
  293. package/utils/getEntryTitle.js +0 -9
  294. package/utils/getEntryTitle.js.map +1 -1
  295. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  296. package/utils/getSchemaFromFieldPlugins.js +23 -19
  297. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  298. package/utils/incrementEntryIdVersion.d.ts +5 -0
  299. package/utils/incrementEntryIdVersion.js +29 -0
  300. package/utils/incrementEntryIdVersion.js.map +1 -0
  301. package/utils/ownership.d.ts +3 -3
  302. package/utils/ownership.js +0 -8
  303. package/utils/ownership.js.map +1 -1
  304. package/utils/permissions.js +8 -23
  305. package/utils/permissions.js.map +1 -1
  306. package/utils/renderFields.d.ts +2 -1
  307. package/utils/renderFields.js +8 -10
  308. package/utils/renderFields.js.map +1 -1
  309. package/utils/renderGetFilterFields.js +0 -13
  310. package/utils/renderGetFilterFields.js.map +1 -1
  311. package/utils/renderInputFields.d.ts +2 -1
  312. package/utils/renderInputFields.js +4 -9
  313. package/utils/renderInputFields.js.map +1 -1
  314. package/utils/renderListFilterFields.js +1 -10
  315. package/utils/renderListFilterFields.js.map +1 -1
  316. package/utils/renderSortEnum.d.ts +7 -4
  317. package/utils/renderSortEnum.js +19 -11
  318. package/utils/renderSortEnum.js.map +1 -1
  319. package/utils/toSlug.js +0 -4
  320. package/utils/toSlug.js.map +1 -1
  321. package/validators/dateGte.js +0 -7
  322. package/validators/dateGte.js.map +1 -1
  323. package/validators/dateLte.js +0 -7
  324. package/validators/dateLte.js.map +1 -1
  325. package/validators/dynamicZone.js +0 -4
  326. package/validators/dynamicZone.js.map +1 -1
  327. package/validators/gte.js +0 -8
  328. package/validators/gte.js.map +1 -1
  329. package/validators/in.js +0 -8
  330. package/validators/in.js.map +1 -1
  331. package/validators/index.js +0 -16
  332. package/validators/index.js.map +1 -1
  333. package/validators/lte.js +0 -8
  334. package/validators/lte.js.map +1 -1
  335. package/validators/maxLength.js +0 -8
  336. package/validators/maxLength.js.map +1 -1
  337. package/validators/minLength.js +0 -8
  338. package/validators/minLength.js.map +1 -1
  339. package/validators/pattern.js +0 -9
  340. package/validators/pattern.js.map +1 -1
  341. package/validators/patternPlugins/email.js +0 -2
  342. package/validators/patternPlugins/email.js.map +1 -1
  343. package/validators/patternPlugins/index.js +0 -8
  344. package/validators/patternPlugins/index.js.map +1 -1
  345. package/validators/patternPlugins/lowerCase.js +0 -2
  346. package/validators/patternPlugins/lowerCase.js.map +1 -1
  347. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  348. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  349. package/validators/patternPlugins/upperCase.js +0 -2
  350. package/validators/patternPlugins/upperCase.js.map +1 -1
  351. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  352. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  353. package/validators/patternPlugins/url.js +0 -2
  354. package/validators/patternPlugins/url.js.map +1 -1
  355. package/validators/required.js +0 -5
  356. package/validators/required.js.map +1 -1
  357. package/validators/timeGte.js +0 -8
  358. package/validators/timeGte.js.map +1 -1
  359. package/validators/timeLte.js +0 -8
  360. package/validators/timeLte.js.map +1 -1
  361. package/validators/unique.js +0 -7
  362. package/validators/unique.js.map +1 -1
  363. package/crud/index.d.ts +0 -6
  364. package/crud/index.js +0 -85
  365. package/crud/index.js.map +0 -1
  366. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  367. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  368. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  369. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  370. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  371. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  372. package/utils/filterModelFields.d.ts +0 -16
  373. package/utils/filterModelFields.js +0 -77
  374. package/utils/filterModelFields.js.map +0 -1
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createRefField = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
12
10
  var _createTypeName = require("../utils/createTypeName");
13
-
14
11
  var _utils = require("@webiny/utils");
15
-
16
12
  var _helpers = require("./helpers");
17
-
18
13
  const createUnionTypeName = (model, field) => {
19
- return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
14
+ return `${model.singularApiName}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
20
15
  };
21
-
22
16
  const createListFilters = ({
23
17
  field
24
18
  }) => {
@@ -26,7 +20,6 @@ const createListFilters = ({
26
20
  ${field.fieldId}: RefFieldWhereInput
27
21
  `;
28
22
  };
29
-
30
23
  const createFilteringTypeDef = () => {
31
24
  return `
32
25
  input RefFieldWhereInput {
@@ -41,7 +34,6 @@ const createFilteringTypeDef = () => {
41
34
  }
42
35
  `;
43
36
  };
44
-
45
37
  const appendTypename = (entries, typename) => {
46
38
  return entries.map(item => {
47
39
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
@@ -53,18 +45,30 @@ const appendTypename = (entries, typename) => {
53
45
  * We cast settings.models as object to have modelId because internally we know that it is so.
54
46
  * Internal stuff so we are sure that settings.models contains what we require.
55
47
  */
56
-
57
-
58
48
  const getFieldModels = field => {
59
49
  if (!field.settings || Array.isArray(field.settings.models) === false) {
60
50
  return [];
61
51
  }
62
-
63
52
  return field.settings.models;
64
53
  };
65
-
66
54
  const modelIdToTypeName = new Map();
67
-
55
+ const getModel = params => {
56
+ const {
57
+ models,
58
+ modelId
59
+ } = params;
60
+ const model = models.find(item => item.modelId === modelId);
61
+ if (model) {
62
+ return model;
63
+ }
64
+ throw new _error.default(`Could not find model with ID "${modelId}" in the list of models.`, "MODEL_NOT_FOUND", {
65
+ modelId
66
+ });
67
+ };
68
+ const getModelSingularApiName = params => {
69
+ const model = getModel(params);
70
+ return model.singularApiName;
71
+ };
68
72
  const createRefField = () => {
69
73
  return {
70
74
  name: "cms-model-field-to-graphql-ref",
@@ -75,122 +79,123 @@ const createRefField = () => {
75
79
  read: {
76
80
  createTypeField({
77
81
  model,
78
- field
82
+ field,
83
+ models
79
84
  }) {
80
85
  var _field$settings;
81
-
82
- const models = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.models) || [];
83
- const gqlType = models.length > 1 ? createUnionTypeName(model, field) : (0, _createTypeName.createReadTypeName)(models[0].modelId);
84
- const typeDefs = models.length > 1 ? `union ${gqlType} = ${getFieldModels(field).map(({
86
+ const fieldModels = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.models) || [];
87
+ const gqlType = fieldModels.length > 1 ? createUnionTypeName(model, field) : (0, _createTypeName.createReadTypeName)(getModelSingularApiName({
88
+ models,
89
+ modelId: fieldModels[0].modelId
90
+ }));
91
+ const typeDefs = fieldModels.length > 1 ? `union ${gqlType} = ${getFieldModels(field).map(({
85
92
  modelId
86
- }) => (0, _createTypeName.createReadTypeName)(modelId)).join(" | ")}` : "";
93
+ }) => (0, _createTypeName.createReadTypeName)(getModelSingularApiName({
94
+ models,
95
+ modelId
96
+ }))).join(" | ")}` : "";
87
97
  return {
88
- fields: field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`,
98
+ fields: field.fieldId + `(populate: Boolean = true): ${field.multipleValues ? `[${gqlType}!]` : gqlType}`,
89
99
  typeDefs
90
100
  };
91
101
  },
92
-
93
102
  /**
94
103
  * TS is complaining about mixed types for createResolver.
95
104
  * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?
96
105
  */
97
106
  // @ts-ignore
98
- createResolver(params) {
107
+ createResolver({
108
+ field,
109
+ models
110
+ }) {
99
111
  var _field$settings2;
100
-
101
- const {
102
- field
103
- } = params; // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.
104
-
105
- const models = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || [];
106
-
107
- for (const item of models) {
108
- modelIdToTypeName.set(item.modelId, (0, _createTypeName.createReadTypeName)(item.modelId));
112
+ // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.
113
+ const fieldModels = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || [];
114
+ for (const item of fieldModels) {
115
+ modelIdToTypeName.set(item.modelId, (0, _createTypeName.createReadTypeName)(getModelSingularApiName({
116
+ models,
117
+ modelId: item.modelId
118
+ })));
109
119
  }
110
-
111
- return async (parent, _, context) => {
120
+ return async (parent, args, context) => {
112
121
  const {
113
122
  cms
114
- } = context; // Get field value for this entry
123
+ } = context;
115
124
 
125
+ // Get field value for this entry
116
126
  const initialValue = parent[field.fieldId];
117
-
118
127
  if (!initialValue) {
119
128
  return null;
120
129
  }
121
-
130
+ if (args.populate === false) {
131
+ return initialValue;
132
+ }
122
133
  if (field.multipleValues) {
123
134
  /**
124
135
  * We cast because value really can be array and single value.
125
136
  * At this point, we are 99% sure that it is an array (+ we check for it)
126
137
  */
127
138
  const value = initialValue;
128
-
129
139
  if (Array.isArray(value) === false || value.length === 0) {
130
140
  return [];
131
141
  }
132
-
133
142
  const entriesByModel = value.reduce((collection, ref) => {
134
143
  if (!collection[ref.modelId]) {
135
144
  collection[ref.modelId] = [];
136
145
  } else if (collection[ref.modelId].includes(ref.entryId) === true) {
137
146
  return collection;
138
147
  }
139
-
140
148
  collection[ref.modelId].push(ref.entryId);
141
149
  return collection;
142
150
  }, {});
143
151
  const getters = Object.keys(entriesByModel).map(async modelId => {
144
- const idList = entriesByModel[modelId]; // Get model manager, to get access to CRUD methods
145
-
152
+ const idList = entriesByModel[modelId];
153
+ // Get model manager, to get access to CRUD methods
146
154
  const model = await cms.getModelManager(modelId);
147
- let entries; // `read` API works with `published` data
148
-
155
+ let entries;
156
+ // `read` API works with `published` data
149
157
  if (cms.READ) {
150
158
  entries = await model.getPublishedByIds(idList);
151
- } // `preview` and `manage` with `latest` data
159
+ }
160
+ // `preview` and `manage` with `latest` data
152
161
  else {
153
162
  entries = await model.getLatestByIds(idList);
154
163
  }
155
-
156
164
  return appendTypename(entries, modelIdToTypeName.get(modelId));
157
165
  });
158
166
  return await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
159
167
  }
168
+ const value = initialValue;
160
169
 
161
- const value = initialValue; // Get model manager, to get access to CRUD methods
162
-
163
- const model = await cms.getModelManager(value.modelId);
164
- let revisions; // `read` API works with `published` data
165
-
170
+ // Get model manager, to get access to CRUD methods
171
+ const model = await cms.getEntryManager(value.modelId);
172
+ let revisions;
173
+ // `read` API works with `published` data
166
174
  if (cms.READ) {
167
175
  revisions = await model.getPublishedByIds([value.entryId]);
168
- } // `preview` API works with `latest` data
176
+ }
177
+ // `preview` API works with `latest` data
169
178
  else {
170
179
  revisions = await model.getLatestByIds([value.entryId]);
171
180
  }
181
+
172
182
  /**
173
183
  * If there are no revisions we must return null.
174
184
  */
175
-
176
-
177
185
  if (!revisions || revisions.length === 0) {
178
186
  return null;
179
187
  }
180
-
181
188
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revisions[0]), {}, {
182
189
  __typename: modelIdToTypeName.get(value.modelId)
183
190
  });
184
191
  };
185
192
  },
186
-
187
193
  createSchema() {
188
194
  return {
189
195
  typeDefs: createFilteringTypeDef(),
190
196
  resolvers: {}
191
197
  };
192
198
  },
193
-
194
199
  createListFilters
195
200
  },
196
201
  manage: {
@@ -201,9 +206,7 @@ const createRefField = () => {
201
206
  * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`
202
207
  */
203
208
  return {
204
- typeDefs:
205
- /* GraphQL */
206
- `
209
+ typeDefs: /* GraphQL */`
207
210
  type RefField {
208
211
  modelId: String!
209
212
  entryId: ID!
@@ -232,26 +235,21 @@ const createRefField = () => {
232
235
  }
233
236
  };
234
237
  },
235
-
236
238
  createTypeField({
237
239
  field
238
240
  }) {
239
241
  if (field.multipleValues) {
240
242
  return `${field.fieldId}: [RefField!]`;
241
243
  }
242
-
243
244
  return `${field.fieldId}: RefField`;
244
245
  },
245
-
246
246
  createInputField({
247
247
  field
248
248
  }) {
249
249
  return (0, _helpers.createGraphQLInputField)(field, "RefFieldInput");
250
250
  },
251
-
252
251
  createListFilters
253
252
  }
254
253
  };
255
254
  };
256
-
257
255
  exports.createRefField = createRefField;
@@ -1 +1 @@
1
- {"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","createRefField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","gqlType","length","typeDefs","join","fields","multipleValues","createResolver","params","set","parent","_","context","cms","initialValue","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","revisions","createSchema","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField"],"sources":["ref.ts"],"sourcesContent":["import {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}_${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\nexport const createRefField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field }) {\n const models = field.settings?.models || [];\n const gqlType =\n models.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(models[0].modelId);\n\n const typeDefs =\n models.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n : \"\";\n\n return {\n fields: field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`,\n typeDefs\n };\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver(params) {\n const { field } = params;\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const models = field.settings?.models || [];\n for (const item of models) {\n modelIdToTypeName.set(item.modelId, createReadTypeName(item.modelId));\n }\n\n return async (parent, _, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema() {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.\n * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.\n * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`\n */\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createUnionTypeName","model","field","singularApiName","createReadTypeName","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","getModel","params","modelId","find","WebinyError","getModelSingularApiName","createRefField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","fieldModels","gqlType","length","typeDefs","join","fields","multipleValues","createResolver","set","parent","args","context","cms","initialValue","populate","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","getEntryManager","revisions","createSchema","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField"],"sources":["ref.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\n\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\ninterface GetModelParams {\n models: CmsModel[];\n modelId: string;\n}\n\nconst getModel = (params: GetModelParams): CmsModel => {\n const { models, modelId } = params;\n\n const model = models.find(item => item.modelId === modelId);\n if (model) {\n return model;\n }\n throw new WebinyError(\n `Could not find model with ID \"${modelId}\" in the list of models.`,\n \"MODEL_NOT_FOUND\",\n {\n modelId\n }\n );\n};\n\nconst getModelSingularApiName = (params: GetModelParams): string => {\n const model = getModel(params);\n\n return model.singularApiName;\n};\n\nexport const createRefField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field, models }) {\n const fieldModels = field.settings?.models || [];\n const gqlType =\n fieldModels.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(\n getModelSingularApiName({ models, modelId: fieldModels[0].modelId })\n );\n\n const typeDefs =\n fieldModels.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) =>\n createReadTypeName(\n getModelSingularApiName({\n models,\n modelId\n })\n )\n )\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${\n field.multipleValues ? `[${gqlType}!]` : gqlType\n }`,\n typeDefs\n };\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver({ field, models }) {\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const fieldModels = field.settings?.models || [];\n for (const item of fieldModels) {\n modelIdToTypeName.set(\n item.modelId,\n createReadTypeName(\n getModelSingularApiName({\n models,\n modelId: item.modelId\n })\n )\n );\n }\n\n return async (parent, args, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n if (args.populate === false) {\n return initialValue;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getEntryManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema() {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.\n * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.\n * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`\n */\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createRichTextField = void 0;
7
-
8
7
  var _helpers = require("./helpers");
9
-
10
8
  const createRichTextField = () => {
11
9
  return {
12
10
  name: "cms-model-field-to-graphql-rich-text",
@@ -21,16 +19,13 @@ const createRichTextField = () => {
21
19
  if (field.multipleValues) {
22
20
  return `${field.fieldId}: [JSON]`;
23
21
  }
24
-
25
22
  return `${field.fieldId}: JSON`;
26
23
  },
27
-
28
24
  createGetFilters({
29
25
  field
30
26
  }) {
31
27
  return `${field.fieldId}: JSON`;
32
28
  }
33
-
34
29
  },
35
30
  manage: {
36
31
  createTypeField({
@@ -39,18 +34,14 @@ const createRichTextField = () => {
39
34
  if (field.multipleValues) {
40
35
  return `${field.fieldId}: [JSON]`;
41
36
  }
42
-
43
37
  return `${field.fieldId}: JSON`;
44
38
  },
45
-
46
39
  createInputField({
47
40
  field
48
41
  }) {
49
42
  return (0, _helpers.createGraphQLInputField)(field, "JSON");
50
43
  }
51
-
52
44
  }
53
45
  };
54
46
  };
55
-
56
47
  exports.createRichTextField = createRichTextField;
@@ -1 +1 @@
1
- {"version":3,"names":["createRichTextField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createRichTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;;AACA;;AAEO,MAAMA,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCADH;IAEHC,IAAI,EAAE,4BAFH;IAGHC,SAAS,EAAE,WAHR;IAIHC,UAAU,EAAE,KAJT;IAKHC,YAAY,EAAE,KALX;IAMHC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;QACH;;QAED,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;MACH,CAPC;;MAQFC,gBAAgB,CAAC;QAAEH;MAAF,CAAD,EAAY;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAxB;MACH;;IAVC,CANH;IAkBHE,MAAM,EAAE;MACJL,eAAe,CAAC;QAAEC;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;QACH;;QACD,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;MACH,CANG;;MAOJG,gBAAgB,CAAC;QAAEL;MAAF,CAAD,EAAY;QACxB,OAAO,IAAAM,gCAAA,EAAwBN,KAAxB,EAA+B,MAA/B,CAAP;MACH;;IATG;EAlBL,CAAP;AA8BH,CA/BM"}
1
+ {"version":3,"names":["createRichTextField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createRichTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEO,MAAMA,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgB,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgB,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createTextField = void 0;
7
-
8
7
  var _helpers = require("./helpers");
9
-
10
8
  const createListFilters = ({
11
9
  field
12
10
  }) => {
@@ -19,7 +17,6 @@ const createListFilters = ({
19
17
  ${field.fieldId}_not_contains: String
20
18
  `;
21
19
  };
22
-
23
20
  const createTextField = () => {
24
21
  return {
25
22
  name: "cms-model-field-to-graphql-text",
@@ -35,39 +32,31 @@ const createTextField = () => {
35
32
  if (field.multipleValues) {
36
33
  return `${field.fieldId}: [String]`;
37
34
  }
38
-
39
35
  return `${field.fieldId}: String`;
40
36
  },
41
-
42
37
  createGetFilters({
43
38
  field
44
39
  }) {
45
40
  return `${field.fieldId}: String`;
46
41
  },
47
-
48
42
  createListFilters
49
43
  },
50
44
  manage: {
51
45
  createListFilters,
52
-
53
46
  createTypeField({
54
47
  field
55
48
  }) {
56
49
  if (field.multipleValues) {
57
50
  return `${field.fieldId}: [String]`;
58
51
  }
59
-
60
52
  return `${field.fieldId}: String`;
61
53
  },
62
-
63
54
  createInputField({
64
55
  field
65
56
  }) {
66
57
  return (0, _helpers.createGraphQLInputField)(field, "String");
67
58
  }
68
-
69
59
  }
70
60
  };
71
61
  };
72
-
73
62
  exports.createTextField = createTextField;
@@ -1 +1 @@
1
- {"version":3,"names":["createListFilters","field","fieldId","createTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAPI;AAQH,CATD;;AAWO,MAAMC,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCADH;IAEHC,IAAI,EAAE,4BAFH;IAGHC,SAAS,EAAE,MAHR;IAIHC,UAAU,EAAE,IAJT;IAKHC,YAAY,EAAE,IALX;IAMHC,cAAc,EAAE,IANb;IAOHC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEV;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;QACH;;QACD,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;MACH,CANC;;MAOFW,gBAAgB,CAAC;QAAEZ;MAAF,CAAD,EAAY;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAxB;MACH,CATC;;MAUFF;IAVE,CAPH;IAmBHc,MAAM,EAAE;MACJd,iBADI;;MAEJW,eAAe,CAAC;QAAEV;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAxB;QACH;;QACD,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAxB;MACH,CAPG;;MAQJa,gBAAgB,CAAC;QAAEd;MAAF,CAAD,EAAY;QACxB,OAAO,IAAAe,gCAAA,EAAwBf,KAAxB,EAA+B,QAA/B,CAAP;MACH;;IAVG;EAnBL,CAAP;AAgCH,CAjCM"}
1
+ {"version":3,"names":["createListFilters","field","fieldId","createTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDW,gBAAgB,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDc,MAAM,EAAE;MACJd,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDa,gBAAgB,CAAC;QAAEd;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAe,gCAAuB,EAACf,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
package/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { CreateGraphQLParams } from "./graphql";
2
- import { CrudParams } from "./crud";
2
+ import { CrudParams } from "./context";
3
3
  import { entryFieldFromStorageTransform, entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage";
4
4
  export declare type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;
5
- export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("./plugins").CmsParametersPlugin | (import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/plugins/types").PluginCollection)[])[];
5
+ export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("@webiny/plugins/types").PluginCollection)[];
6
6
  export declare type ContentContextParams = CrudParams;
7
- export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api-upgrade").UpgradePlugin<import("./types").CmsContext>[] | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin)[])[];
7
+ export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
8
8
  export * from "./graphqlFields";
9
9
  export * from "./plugins";
10
+ export * from "./utils/incrementEntryIdVersion";
11
+ export { attachCmsModelFieldConverters } from "./utils/converters/valueKeyStorageConverter";
10
12
  export { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };
package/index.js CHANGED
@@ -8,8 +8,15 @@ var _exportNames = {
8
8
  createHeadlessCmsContext: true,
9
9
  entryFieldFromStorageTransform: true,
10
10
  entryFromStorageTransform: true,
11
- entryToStorageTransform: true
11
+ entryToStorageTransform: true,
12
+ attachCmsModelFieldConverters: true
12
13
  };
14
+ Object.defineProperty(exports, "attachCmsModelFieldConverters", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _valueKeyStorageConverter.attachCmsModelFieldConverters;
18
+ }
19
+ });
13
20
  exports.createHeadlessCmsGraphQL = exports.createHeadlessCmsContext = void 0;
14
21
  Object.defineProperty(exports, "entryFieldFromStorageTransform", {
15
22
  enumerable: true,
@@ -29,17 +36,9 @@ Object.defineProperty(exports, "entryToStorageTransform", {
29
36
  return _entryStorage.entryToStorageTransform;
30
37
  }
31
38
  });
32
-
33
39
  var _graphql = require("./graphql");
34
-
35
- var _upgrades = require("./upgrades");
36
-
37
40
  var _modelManager = require("./modelManager");
38
-
39
- var _crud = require("./crud");
40
-
41
41
  var _graphqlFields = require("./graphqlFields");
42
-
43
42
  Object.keys(_graphqlFields).forEach(function (key) {
44
43
  if (key === "default" || key === "__esModule") return;
45
44
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -51,25 +50,15 @@ Object.keys(_graphqlFields).forEach(function (key) {
51
50
  }
52
51
  });
53
52
  });
54
-
55
53
  var _validators = require("./validators");
56
-
57
54
  var _default = require("./storage/default");
58
-
59
55
  var _object = require("./storage/object");
60
-
61
56
  var _dynamicZoneStorage = require("./graphqlFields/dynamicZone/dynamicZoneStorage");
62
-
63
57
  var _parameters = require("./parameters");
64
-
65
58
  var _context = require("./context");
66
-
67
59
  var _entryStorage = require("./utils/entryStorage");
68
-
69
60
  var _fieldConverters = require("./fieldConverters");
70
-
71
61
  var _plugins = require("./plugins");
72
-
73
62
  Object.keys(_plugins).forEach(function (key) {
74
63
  if (key === "default" || key === "__esModule") return;
75
64
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -81,7 +70,19 @@ Object.keys(_plugins).forEach(function (key) {
81
70
  }
82
71
  });
83
72
  });
84
-
73
+ var _incrementEntryIdVersion = require("./utils/incrementEntryIdVersion");
74
+ Object.keys(_incrementEntryIdVersion).forEach(function (key) {
75
+ if (key === "default" || key === "__esModule") return;
76
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
77
+ if (key in exports && exports[key] === _incrementEntryIdVersion[key]) return;
78
+ Object.defineProperty(exports, key, {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _incrementEntryIdVersion[key];
82
+ }
83
+ });
84
+ });
85
+ var _valueKeyStorageConverter = require("./utils/converters/valueKeyStorageConverter");
85
86
  const createHeadlessCmsGraphQL = (params = {}) => {
86
87
  return [
87
88
  /**
@@ -91,21 +92,14 @@ const createHeadlessCmsGraphQL = (params = {}) => {
91
92
  /**
92
93
  * At this point we can create, or not create, CMS GraphQL Schema.
93
94
  */
94
- (0, _graphql.createGraphQL)(params)];
95
+ ...(0, _graphql.createGraphQL)(params)];
95
96
  };
96
-
97
97
  exports.createHeadlessCmsGraphQL = createHeadlessCmsGraphQL;
98
-
99
98
  const createHeadlessCmsContext = params => {
100
99
  return [
101
100
  /**
102
101
  * Context for all Lambdas - everything is loaded now.
103
102
  */
104
- (0, _context.createContextPlugin)(), (0, _modelManager.createDefaultModelManager)(),
105
- /**
106
- *
107
- */
108
- (0, _crud.createCrud)(params), (0, _graphqlFields.createGraphQLFields)(), (0, _fieldConverters.createFieldConverters)(), (0, _validators.createValidators)(), (0, _default.createDefaultStorageTransform)(), (0, _object.createObjectStorageTransform)(), (0, _dynamicZoneStorage.createDynamicZoneStorageTransform)(), (0, _upgrades.createUpgrades)()];
103
+ (0, _context.createContextPlugin)(params), (0, _modelManager.createDefaultModelManager)(), (0, _graphqlFields.createGraphQLFields)(), (0, _fieldConverters.createFieldConverters)(), (0, _validators.createValidators)(), (0, _default.createDefaultStorageTransform)(), (0, _object.createObjectStorageTransform)(), (0, _dynamicZoneStorage.createDynamicZoneStorageTransform)()];
109
104
  };
110
-
111
105
  exports.createHeadlessCmsContext = createHeadlessCmsContext;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createHeadlessCmsGraphQL","params","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createCrud","createGraphQLFields","createFieldConverters","createValidators","createDefaultStorageTransform","createObjectStorageTransform","createDynamicZoneStorageTransform","createUpgrades"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createUpgrades } from \"~/upgrades\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createCrud, CrudParams } from \"~/crud\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDefaultStorageTransform } from \"~/storage/default\";\nimport { createObjectStorageTransform } from \"~/storage/object\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n baseCreateGraphQL(params)\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(),\n createDefaultModelManager(),\n /**\n *\n */\n createCrud(params),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n createDefaultStorageTransform(),\n createObjectStorageTransform(),\n createDynamicZoneStorageTransform(),\n createUpgrades()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAuDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAtDA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAKA;;AAwCA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AArCO,MAAMA,wBAAwB,GAAG,CAACC,MAAsC,GAAG,EAA1C,KAAiD;EACrF,OAAO;EACH;AACR;AACA;EACQ,IAAAC,qCAAA,GAJG,EAKH,IAAAC,uCAAA,GALG,EAMH,IAAAC,wCAAA,GANG;EAOH;AACR;AACA;EACQ,IAAAC,sBAAA,EAAkBJ,MAAlB,CAVG,CAAP;AAYH,CAbM;;;;AAgBA,MAAMK,wBAAwB,GAAIL,MAAD,IAAkC;EACtE,OAAO;EACH;AACR;AACA;EACQ,IAAAM,4BAAA,GAJG,EAKH,IAAAC,uCAAA,GALG;EAMH;AACR;AACA;EACQ,IAAAC,gBAAA,EAAWR,MAAX,CATG,EAUH,IAAAS,kCAAA,GAVG,EAWH,IAAAC,sCAAA,GAXG,EAYH,IAAAC,4BAAA,GAZG,EAaH,IAAAC,sCAAA,GAbG,EAcH,IAAAC,oCAAA,GAdG,EAeH,IAAAC,qDAAA,GAfG,EAgBH,IAAAC,wBAAA,GAhBG,CAAP;AAkBH,CAnBM"}
1
+ {"version":3,"names":["createHeadlessCmsGraphQL","params","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createDefaultStorageTransform","createObjectStorageTransform","createDynamicZoneStorageTransform"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDefaultStorageTransform } from \"~/storage/default\";\nimport { createObjectStorageTransform } from \"~/storage/object\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params)\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n createDefaultStorageTransform(),\n createObjectStorageTransform(),\n createDynamicZoneStorageTransform()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport * from \"~/utils/incrementEntryIdVersion\";\nexport { attachCmsModelFieldConverters } from \"~/utils/converters/valueKeyStorageConverter\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAkDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAjDA;AACA;AACA;AACA;AACA;AAKA;AACA;AAKA;AAmCA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAlCO,MAAMA,wBAAwB,GAAG,CAACC,MAAsC,GAAG,CAAC,CAAC,KAAK;EACrF,OAAO;EACH;AACR;AACA;EACQ,IAAAC,qCAAyB,GAAE,EAC3B,IAAAC,uCAA2B,GAAE,EAC7B,IAAAC,wCAA4B,GAAE;EAC9B;AACR;AACA;EACQ,GAAG,IAAAC,sBAAiB,EAACJ,MAAM,CAAC,CAC/B;AACL,CAAC;AAAC;AAGK,MAAMK,wBAAwB,GAAIL,MAA4B,IAAK;EACtE,OAAO;EACH;AACR;AACA;EACQ,IAAAM,4BAAmB,EAACN,MAAM,CAAC,EAC3B,IAAAO,uCAAyB,GAAE,EAC3B,IAAAC,kCAAmB,GAAE,EACrB,IAAAC,sCAAqB,GAAE,EACvB,IAAAC,4BAAgB,GAAE,EAClB,IAAAC,sCAA6B,GAAE,EAC/B,IAAAC,oCAA4B,GAAE,EAC9B,IAAAC,qDAAiC,GAAE,CACtC;AACL,CAAC;AAAC"}