@webiny/api-headless-cms 0.0.0-unstable.aad28a72ae → 0.0.0-unstable.acacc54f0e

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 (448) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +94 -24
  6. package/context.js.map +1 -1
  7. package/crud/contentEntry/afterDelete.js +0 -5
  8. package/crud/contentEntry/afterDelete.js.map +1 -1
  9. package/crud/contentEntry/beforeCreate.js +0 -3
  10. package/crud/contentEntry/beforeCreate.js.map +1 -1
  11. package/crud/contentEntry/beforeUpdate.js +0 -3
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataValidation.js +1 -40
  14. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  15. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  16. package/crud/contentEntry/markLockedFields.js +15 -28
  17. package/crud/contentEntry/markLockedFields.js.map +1 -1
  18. package/crud/contentEntry/referenceFieldsMapping.js +39 -66
  19. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  20. package/crud/contentEntry/searchableFields.js +1 -12
  21. package/crud/contentEntry/searchableFields.js.map +1 -1
  22. package/crud/contentEntry.crud.d.ts +12 -5
  23. package/crud/contentEntry.crud.js +1183 -921
  24. package/crud/contentEntry.crud.js.map +1 -1
  25. package/crud/contentModel/afterCreate.js +0 -2
  26. package/crud/contentModel/afterCreate.js.map +1 -1
  27. package/crud/contentModel/afterCreateFrom.js +0 -2
  28. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  29. package/crud/contentModel/afterDelete.js +0 -2
  30. package/crud/contentModel/afterDelete.js.map +1 -1
  31. package/crud/contentModel/afterUpdate.js +0 -2
  32. package/crud/contentModel/afterUpdate.js.map +1 -1
  33. package/crud/contentModel/beforeCreate.d.ts +2 -3
  34. package/crud/contentModel/beforeCreate.js +43 -109
  35. package/crud/contentModel/beforeCreate.js.map +1 -1
  36. package/crud/contentModel/beforeDelete.d.ts +1 -1
  37. package/crud/contentModel/beforeDelete.js +1 -15
  38. package/crud/contentModel/beforeDelete.js.map +1 -1
  39. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  40. package/crud/contentModel/beforeUpdate.js +33 -10
  41. package/crud/contentModel/beforeUpdate.js.map +1 -1
  42. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  43. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  44. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  45. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  46. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  47. package/crud/contentModel/createFieldStorageId.js +0 -3
  48. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  49. package/crud/contentModel/defaultFields.d.ts +5 -0
  50. package/crud/contentModel/defaultFields.js +58 -0
  51. package/crud/contentModel/defaultFields.js.map +1 -0
  52. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  53. package/crud/contentModel/fields/descriptionField.js +42 -0
  54. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  55. package/crud/contentModel/fields/imageField.d.ts +2 -0
  56. package/crud/contentModel/fields/imageField.js +46 -0
  57. package/crud/contentModel/fields/imageField.js.map +1 -0
  58. package/crud/contentModel/fields/titleField.d.ts +2 -0
  59. package/crud/contentModel/fields/titleField.js +58 -0
  60. package/crud/contentModel/fields/titleField.js.map +1 -0
  61. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  62. package/crud/contentModel/validate/endingAllowed.js +26 -0
  63. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  64. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  65. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  66. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  67. package/crud/contentModel/validate/modelId.d.ts +11 -0
  68. package/crud/contentModel/validate/modelId.js +36 -0
  69. package/crud/contentModel/validate/modelId.js.map +1 -0
  70. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  71. package/crud/contentModel/validate/pluralApiName.js +24 -0
  72. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  73. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  74. package/crud/contentModel/validate/singularApiName.js +24 -0
  75. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  76. package/crud/contentModel/validateLayout.js +0 -8
  77. package/crud/contentModel/validateLayout.js.map +1 -1
  78. package/crud/contentModel/validateModel.d.ts +4 -4
  79. package/crud/contentModel/validateModel.js +6 -11
  80. package/crud/contentModel/validateModel.js.map +1 -1
  81. package/crud/contentModel/validateModelFields.d.ts +4 -4
  82. package/crud/contentModel/validateModelFields.js +98 -127
  83. package/crud/contentModel/validateModelFields.js.map +1 -1
  84. package/crud/contentModel/validation.d.ts +591 -0
  85. package/crud/contentModel/validation.js +145 -0
  86. package/crud/contentModel/validation.js.map +1 -0
  87. package/crud/contentModel.crud.d.ts +2 -0
  88. package/crud/contentModel.crud.js +373 -397
  89. package/crud/contentModel.crud.js.map +1 -1
  90. package/crud/contentModelGroup/beforeCreate.js +0 -12
  91. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  92. package/crud/contentModelGroup/beforeDelete.js +0 -8
  93. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  94. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  95. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  96. package/crud/contentModelGroup/validation.d.ts +30 -0
  97. package/crud/contentModelGroup/validation.js +34 -0
  98. package/crud/contentModelGroup/validation.js.map +1 -0
  99. package/crud/contentModelGroup.crud.d.ts +2 -0
  100. package/crud/contentModelGroup.crud.js +206 -235
  101. package/crud/contentModelGroup.crud.js.map +1 -1
  102. package/crud/settings.crud.d.ts +3 -1
  103. package/crud/settings.crud.js +7 -28
  104. package/crud/settings.crud.js.map +1 -1
  105. package/crud/system.crud.js +1 -96
  106. package/crud/system.crud.js.map +1 -1
  107. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  108. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  109. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +0 -36
  110. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  111. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +1 -54
  112. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  113. package/fieldConverters/index.js +0 -5
  114. package/fieldConverters/index.js.map +1 -1
  115. package/graphql/buildSchemaPlugins.d.ts +8 -3
  116. package/graphql/buildSchemaPlugins.js +7 -11
  117. package/graphql/buildSchemaPlugins.js.map +1 -1
  118. package/graphql/checkEndpointAccess.d.ts +2 -0
  119. package/graphql/checkEndpointAccess.js +18 -0
  120. package/graphql/checkEndpointAccess.js.map +1 -0
  121. package/graphql/createExecutableSchema.d.ts +6 -0
  122. package/graphql/createExecutableSchema.js +29 -0
  123. package/graphql/createExecutableSchema.js.map +1 -0
  124. package/graphql/createRequestBody.d.ts +2 -0
  125. package/graphql/createRequestBody.js +14 -0
  126. package/graphql/createRequestBody.js.map +1 -0
  127. package/graphql/formatErrorPayload.d.ts +1 -0
  128. package/graphql/formatErrorPayload.js +25 -0
  129. package/graphql/formatErrorPayload.js.map +1 -0
  130. package/graphql/generateSchema.d.ts +8 -0
  131. package/graphql/generateSchema.js +31 -0
  132. package/graphql/generateSchema.js.map +1 -0
  133. package/graphql/getSchema.d.ts +17 -0
  134. package/graphql/getSchema.js +102 -0
  135. package/graphql/getSchema.js.map +1 -0
  136. package/graphql/graphQLHandlerFactory.js +8 -169
  137. package/graphql/graphQLHandlerFactory.js.map +1 -1
  138. package/graphql/handleRequest.d.ts +11 -0
  139. package/graphql/handleRequest.js +81 -0
  140. package/graphql/handleRequest.js.map +1 -0
  141. package/graphql/index.d.ts +1 -3
  142. package/graphql/index.js +2 -46
  143. package/graphql/index.js.map +1 -1
  144. package/graphql/schema/baseContentSchema.d.ts +6 -2
  145. package/graphql/schema/baseContentSchema.js +10 -20
  146. package/graphql/schema/baseContentSchema.js.map +1 -1
  147. package/graphql/schema/baseSchema.d.ts +3 -0
  148. package/graphql/schema/baseSchema.js +84 -0
  149. package/graphql/schema/baseSchema.js.map +1 -0
  150. package/graphql/schema/contentEntries.d.ts +6 -2
  151. package/graphql/schema/contentEntries.js +126 -110
  152. package/graphql/schema/contentEntries.js.map +1 -1
  153. package/graphql/schema/contentModelGroups.d.ts +6 -2
  154. package/graphql/schema/contentModelGroups.js +16 -29
  155. package/graphql/schema/contentModelGroups.js.map +1 -1
  156. package/graphql/schema/contentModels.d.ts +6 -2
  157. package/graphql/schema/contentModels.js +41 -24
  158. package/graphql/schema/contentModels.js.map +1 -1
  159. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  160. package/graphql/schema/createFieldResolvers.js +19 -36
  161. package/graphql/schema/createFieldResolvers.js.map +1 -1
  162. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  163. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  164. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  165. package/graphql/schema/createManageResolvers.d.ts +1 -1
  166. package/graphql/schema/createManageResolvers.js +47 -43
  167. package/graphql/schema/createManageResolvers.js.map +1 -1
  168. package/graphql/schema/createManageSDL.d.ts +3 -0
  169. package/graphql/schema/createManageSDL.js +96 -77
  170. package/graphql/schema/createManageSDL.js.map +1 -1
  171. package/graphql/schema/createPreviewResolvers.js +3 -17
  172. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  173. package/graphql/schema/createReadResolvers.js +8 -17
  174. package/graphql/schema/createReadResolvers.js.map +1 -1
  175. package/graphql/schema/createReadSDL.d.ts +3 -0
  176. package/graphql/schema/createReadSDL.js +47 -47
  177. package/graphql/schema/createReadSDL.js.map +1 -1
  178. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  179. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  180. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  181. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  182. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  183. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  184. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  185. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  186. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -9
  187. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  188. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  189. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  190. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  191. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  192. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  193. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  194. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  195. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  196. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  197. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  198. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  199. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  200. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  201. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  202. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  203. package/graphql/schema/resolvers/manage/resolveMove.js +25 -0
  204. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  205. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  206. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  207. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  208. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  209. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  210. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  211. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  212. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  213. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  214. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  215. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  216. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  217. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  218. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  219. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  220. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  221. package/graphql/schema/schemaPlugins.d.ts +8 -3
  222. package/graphql/schema/schemaPlugins.js +58 -69
  223. package/graphql/schema/schemaPlugins.js.map +1 -1
  224. package/graphql/system.d.ts +2 -5
  225. package/graphql/system.js +56 -98
  226. package/graphql/system.js.map +1 -1
  227. package/graphqlFields/boolean.js +0 -12
  228. package/graphqlFields/boolean.js.map +1 -1
  229. package/graphqlFields/datetime.js +0 -17
  230. package/graphqlFields/datetime.js.map +1 -1
  231. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  232. package/graphqlFields/dynamicZone/dynamicZoneField.js +57 -48
  233. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  234. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
  235. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  236. package/graphqlFields/dynamicZone/index.js +0 -2
  237. package/graphqlFields/dynamicZone/index.js.map +1 -1
  238. package/graphqlFields/file.js +0 -8
  239. package/graphqlFields/file.js.map +1 -1
  240. package/graphqlFields/helpers.js +0 -10
  241. package/graphqlFields/helpers.js.map +1 -1
  242. package/graphqlFields/index.js +0 -12
  243. package/graphqlFields/index.js.map +1 -1
  244. package/graphqlFields/longText.js +0 -10
  245. package/graphqlFields/longText.js.map +1 -1
  246. package/graphqlFields/number.js +1 -12
  247. package/graphqlFields/number.js.map +1 -1
  248. package/graphqlFields/object.js +25 -42
  249. package/graphqlFields/object.js.map +1 -1
  250. package/graphqlFields/ref.js +64 -66
  251. package/graphqlFields/ref.js.map +1 -1
  252. package/graphqlFields/richText.js +0 -9
  253. package/graphqlFields/richText.js.map +1 -1
  254. package/graphqlFields/text.js +2 -11
  255. package/graphqlFields/text.js.map +1 -1
  256. package/index.d.ts +5 -3
  257. package/index.js +26 -28
  258. package/index.js.map +1 -1
  259. package/modelManager/DefaultCmsModelManager.js +0 -16
  260. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  261. package/modelManager/index.js +0 -4
  262. package/modelManager/index.js.map +1 -1
  263. package/package.json +35 -41
  264. package/parameters/context.js +0 -4
  265. package/parameters/context.js.map +1 -1
  266. package/parameters/header.js +3 -14
  267. package/parameters/header.js.map +1 -1
  268. package/parameters/index.js +0 -8
  269. package/parameters/index.js.map +1 -1
  270. package/parameters/manual.js +1 -8
  271. package/parameters/manual.js.map +1 -1
  272. package/parameters/path.js +0 -11
  273. package/parameters/path.js.map +1 -1
  274. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  275. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  276. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  277. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  278. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  279. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  280. package/plugins/CmsGroupPlugin.js +0 -8
  281. package/plugins/CmsGroupPlugin.js.map +1 -1
  282. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  283. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  284. package/plugins/CmsModelPlugin.d.ts +21 -3
  285. package/plugins/CmsModelPlugin.js +30 -40
  286. package/plugins/CmsModelPlugin.js.map +1 -1
  287. package/plugins/CmsParametersPlugin.js +3 -6
  288. package/plugins/CmsParametersPlugin.js.map +1 -1
  289. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  290. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  291. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  292. package/plugins/StorageTransformPlugin.js +0 -9
  293. package/plugins/StorageTransformPlugin.js.map +1 -1
  294. package/plugins/index.d.ts +3 -0
  295. package/plugins/index.js +33 -10
  296. package/plugins/index.js.map +1 -1
  297. package/storage/default.js +0 -3
  298. package/storage/default.js.map +1 -1
  299. package/storage/object.js +0 -19
  300. package/storage/object.js.map +1 -1
  301. package/types.d.ts +302 -95
  302. package/types.js +41 -77
  303. package/types.js.map +1 -1
  304. package/utils/converters/Converter.js +0 -13
  305. package/utils/converters/Converter.js.map +1 -1
  306. package/utils/converters/ConverterCollection.js +9 -33
  307. package/utils/converters/ConverterCollection.js.map +1 -1
  308. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  309. package/utils/converters/valueKeyStorageConverter.js +30 -45
  310. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  311. package/utils/createTypeFromFields.d.ts +1 -0
  312. package/utils/createTypeFromFields.js +12 -21
  313. package/utils/createTypeFromFields.js.map +1 -1
  314. package/utils/createTypeName.d.ts +0 -2
  315. package/utils/createTypeName.js +2 -19
  316. package/utils/createTypeName.js.map +1 -1
  317. package/utils/entryStorage.js +10 -26
  318. package/utils/entryStorage.js.map +1 -1
  319. package/utils/filterAsync.js +0 -5
  320. package/utils/filterAsync.js.map +1 -1
  321. package/utils/getBaseFieldType.d.ts +1 -3
  322. package/utils/getBaseFieldType.js +0 -2
  323. package/utils/getBaseFieldType.js.map +1 -1
  324. package/utils/getEntryDescription.d.ts +2 -0
  325. package/utils/getEntryDescription.js +17 -0
  326. package/utils/getEntryDescription.js.map +1 -0
  327. package/utils/getEntryImage.d.ts +2 -0
  328. package/utils/getEntryImage.js +17 -0
  329. package/utils/getEntryImage.js.map +1 -0
  330. package/utils/getEntryTitle.d.ts +1 -1
  331. package/utils/getEntryTitle.js +0 -9
  332. package/utils/getEntryTitle.js.map +1 -1
  333. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  334. package/utils/getSchemaFromFieldPlugins.js +23 -19
  335. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  336. package/utils/incrementEntryIdVersion.d.ts +5 -0
  337. package/utils/incrementEntryIdVersion.js +29 -0
  338. package/utils/incrementEntryIdVersion.js.map +1 -0
  339. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  340. package/utils/permissions/EntriesPermissions.js +9 -0
  341. package/utils/permissions/EntriesPermissions.js.map +1 -0
  342. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  343. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  344. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  345. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  346. package/utils/permissions/ModelsPermissions.js +91 -0
  347. package/utils/permissions/ModelsPermissions.js.map +1 -0
  348. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  349. package/utils/permissions/SettingsPermissions.js +9 -0
  350. package/utils/permissions/SettingsPermissions.js.map +1 -0
  351. package/utils/renderFields.d.ts +4 -2
  352. package/utils/renderFields.js +10 -11
  353. package/utils/renderFields.js.map +1 -1
  354. package/utils/renderGetFilterFields.d.ts +2 -2
  355. package/utils/renderGetFilterFields.js +7 -33
  356. package/utils/renderGetFilterFields.js.map +1 -1
  357. package/utils/renderInputFields.d.ts +4 -2
  358. package/utils/renderInputFields.js +17 -14
  359. package/utils/renderInputFields.js.map +1 -1
  360. package/utils/renderListFilterFields.d.ts +3 -1
  361. package/utils/renderListFilterFields.js +16 -30
  362. package/utils/renderListFilterFields.js.map +1 -1
  363. package/utils/renderSortEnum.d.ts +9 -5
  364. package/utils/renderSortEnum.js +24 -12
  365. package/utils/renderSortEnum.js.map +1 -1
  366. package/utils/toSlug.js +0 -4
  367. package/utils/toSlug.js.map +1 -1
  368. package/validators/dateGte.js +0 -7
  369. package/validators/dateGte.js.map +1 -1
  370. package/validators/dateLte.js +0 -7
  371. package/validators/dateLte.js.map +1 -1
  372. package/validators/dynamicZone.js +0 -4
  373. package/validators/dynamicZone.js.map +1 -1
  374. package/validators/gte.js +0 -8
  375. package/validators/gte.js.map +1 -1
  376. package/validators/in.js +0 -8
  377. package/validators/in.js.map +1 -1
  378. package/validators/index.js +0 -16
  379. package/validators/index.js.map +1 -1
  380. package/validators/lte.js +0 -8
  381. package/validators/lte.js.map +1 -1
  382. package/validators/maxLength.js +0 -8
  383. package/validators/maxLength.js.map +1 -1
  384. package/validators/minLength.js +0 -8
  385. package/validators/minLength.js.map +1 -1
  386. package/validators/pattern.js +0 -9
  387. package/validators/pattern.js.map +1 -1
  388. package/validators/patternPlugins/email.js +0 -2
  389. package/validators/patternPlugins/email.js.map +1 -1
  390. package/validators/patternPlugins/index.js +0 -8
  391. package/validators/patternPlugins/index.js.map +1 -1
  392. package/validators/patternPlugins/lowerCase.js +0 -2
  393. package/validators/patternPlugins/lowerCase.js.map +1 -1
  394. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  395. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  396. package/validators/patternPlugins/upperCase.js +0 -2
  397. package/validators/patternPlugins/upperCase.js.map +1 -1
  398. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  399. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  400. package/validators/patternPlugins/url.js +0 -2
  401. package/validators/patternPlugins/url.js.map +1 -1
  402. package/validators/required.js +0 -5
  403. package/validators/required.js.map +1 -1
  404. package/validators/timeGte.js +0 -8
  405. package/validators/timeGte.js.map +1 -1
  406. package/validators/timeLte.js +0 -8
  407. package/validators/timeLte.js.map +1 -1
  408. package/validators/unique.js +0 -7
  409. package/validators/unique.js.map +1 -1
  410. package/crud/contentModel/createFieldModels.d.ts +0 -2
  411. package/crud/contentModel/createFieldModels.js +0 -26
  412. package/crud/contentModel/createFieldModels.js.map +0 -1
  413. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  414. package/crud/contentModel/fieldIdValidation.js +0 -25
  415. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  416. package/crud/contentModel/idValidation.d.ts +0 -1
  417. package/crud/contentModel/idValidation.js +0 -22
  418. package/crud/contentModel/idValidation.js.map +0 -1
  419. package/crud/contentModel/models.d.ts +0 -4
  420. package/crud/contentModel/models.js +0 -192
  421. package/crud/contentModel/models.js.map +0 -1
  422. package/crud/contentModel/systemFields.d.ts +0 -1
  423. package/crud/contentModel/systemFields.js +0 -8
  424. package/crud/contentModel/systemFields.js.map +0 -1
  425. package/crud/index.d.ts +0 -6
  426. package/crud/index.js +0 -85
  427. package/crud/index.js.map +0 -1
  428. package/upgrades/5.33.0/index.d.ts +0 -3
  429. package/upgrades/5.33.0/index.js +0 -182
  430. package/upgrades/5.33.0/index.js.map +0 -1
  431. package/upgrades/index.d.ts +0 -1
  432. package/upgrades/index.js +0 -12
  433. package/upgrades/index.js.map +0 -1
  434. package/utils/access.d.ts +0 -8
  435. package/utils/access.js +0 -90
  436. package/utils/access.js.map +0 -1
  437. package/utils/filterModelFields.d.ts +0 -16
  438. package/utils/filterModelFields.js +0 -77
  439. package/utils/filterModelFields.js.map +0 -1
  440. package/utils/ownership.d.ts +0 -8
  441. package/utils/ownership.js +0 -41
  442. package/utils/ownership.js.map +0 -1
  443. package/utils/permissions.d.ts +0 -7
  444. package/utils/permissions.js +0 -106
  445. package/utils/permissions.js.map +0 -1
  446. package/utils/pluralizedTypeName.d.ts +0 -1
  447. package/utils/pluralizedTypeName.js +0 -26
  448. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupsSchema","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","security","disableAuthorization","models","listModels","enableAuthorization","filter","model","isPrivate","id","totalContentModels","length","plugin","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","getGroup","NotFoundError","Response","e","ErrorResponse","listContentModelGroups","__","groups","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","GraphQLSchemaPlugin","typeDefs"],"sources":["contentModelGroups.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\n\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\n\nexport const createGroupsSchema = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group.id === group.id;\n });\n },\n totalContentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group === group.id;\n }).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const group = await context.cms.getGroup(id);\n if (group?.isPrivate) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const groups = await context.cms.listGroups();\n return new Response(groups.filter(group => group.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsCreatedBy\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_handlerGraphql","require","_CmsGroupPlugin","_plugins","createGroupsSchema","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","models","security","withoutAuthorization","listModels","filter","model","isPrivate","id","totalContentModels","length","plugin","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","getGroup","NotFoundError","Response","e","ErrorResponse","listContentModelGroups","__","groups","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","CmsGraphQLSchemaPlugin","typeDefs","name","exports"],"sources":["contentModelGroups.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createGroupsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n const models = await context.security.withoutAuthorization(async () => {\n return context.cms.listModels();\n });\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group.id === group.id;\n });\n },\n totalContentModels: async (group, _, context) => {\n const models = await context.security.withoutAuthorization(async () => {\n return context.cms.listModels();\n });\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group === group.id;\n }).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const group = await context.cms.getGroup(id);\n if (group?.isPrivate) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const groups = await context.cms.listGroups();\n return new Response(groups.filter(group => group.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsIdentity\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-model-groups`;\n\n return plugin;\n};\n"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { CmsContext } from "../../types";
2
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
- export declare const createModelsSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
2
+ import { CmsGraphQLSchemaPlugin } from "../../plugins";
3
+ interface Params {
4
+ context: CmsContext;
5
+ }
6
+ export declare const createModelsSchema: ({ context }: Params) => CmsGraphQLSchemaPlugin;
7
+ export {};
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.createModelsSchema = void 0;
7
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
9
  var _handlerGraphql = require("@webiny/handler-graphql");
9
-
10
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
11
-
12
10
  var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
13
-
14
- const createModelsSchema = context => {
11
+ var _plugins = require("../../plugins");
12
+ var _toSlug = require("../../utils/toSlug");
13
+ const createModelsSchema = ({
14
+ context
15
+ }) => {
15
16
  const resolvers = {
16
17
  Query: {
17
18
  getContentModel: async (_, args, context) => {
18
19
  try {
19
20
  const model = await context.cms.getModel(args.modelId);
20
-
21
21
  if ((model === null || model === void 0 ? void 0 : model.isPrivate) === true) {
22
22
  if (!model) {
23
23
  throw new _handlerGraphql.NotFoundError(`Content model "${args.modelId}" was not found!`);
24
24
  }
25
25
  }
26
-
27
26
  return new _handlerGraphql.Response(model);
28
27
  } catch (e) {
29
28
  return new _handlerGraphql.ErrorResponse(e);
@@ -43,22 +42,28 @@ const createModelsSchema = context => {
43
42
  // Make sure `tags` are always returned as an array.
44
43
  return Array.isArray(field.tags) ? field.tags : [];
45
44
  }
46
-
47
45
  },
48
46
  CmsContentModel: {
47
+ group: async model => {
48
+ const groups = await context.security.withoutAuthorization(async () => {
49
+ return context.cms.listGroups();
50
+ });
51
+ const group = groups.find(group => group.id === model.group.id);
52
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model.group), {}, {
53
+ slug: (0, _toSlug.toSlug)(model.group.name)
54
+ }, group || {});
55
+ },
49
56
  tags(model) {
50
57
  // Make sure `tags` always contain a `type` tag, to differentiate between models.
51
58
  const hasType = (model.tags || []).find(tag => tag.startsWith("type:"));
52
59
  return hasType ? model.tags : ["type:model", ...(model.tags || [])];
53
60
  },
54
-
55
61
  plugin: async (model, _, context) => {
56
62
  return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type).some(item => item.contentModel.modelId === model.modelId);
57
63
  }
58
64
  }
59
65
  };
60
66
  let manageSchema = "";
61
-
62
67
  if (context.cms.MANAGE) {
63
68
  resolvers["Mutation"] = {
64
69
  createContentModel: async (_, args, context) => {
@@ -82,7 +87,6 @@ const createModelsSchema = context => {
82
87
  modelId,
83
88
  data
84
89
  } = args;
85
-
86
90
  try {
87
91
  const model = await context.cms.updateModel(modelId, data);
88
92
  return new _handlerGraphql.Response(model);
@@ -94,7 +98,6 @@ const createModelsSchema = context => {
94
98
  const {
95
99
  modelId
96
100
  } = args;
97
-
98
101
  try {
99
102
  await context.cms.deleteModel(modelId);
100
103
  return new _handlerGraphql.Response(true);
@@ -107,7 +110,6 @@ const createModelsSchema = context => {
107
110
  modelId,
108
111
  data
109
112
  } = args;
110
-
111
113
  try {
112
114
  const result = await context.cms.initializeModel(modelId, data || {});
113
115
  return new _handlerGraphql.Response(result);
@@ -116,9 +118,7 @@ const createModelsSchema = context => {
116
118
  }
117
119
  }
118
120
  };
119
- manageSchema =
120
- /* GraphQL */
121
- `
121
+ manageSchema = /* GraphQL */`
122
122
  input CmsPredefinedValueInput {
123
123
  label: String!
124
124
  value: String!
@@ -160,30 +160,44 @@ const createModelsSchema = context => {
160
160
 
161
161
  input CmsContentModelCreateInput {
162
162
  name: String!
163
+ singularApiName: String!
164
+ pluralApiName: String!
163
165
  modelId: String
164
166
  group: RefInput!
167
+ icon: String
165
168
  description: String
166
169
  layout: [[ID!]!]
167
170
  fields: [CmsContentModelFieldInput!]
168
171
  titleFieldId: String
172
+ descriptionFieldId: String
173
+ imageFieldId: String
169
174
  tags: [String!]
175
+ defaultFields: Boolean
170
176
  }
171
177
 
172
178
  input CmsContentModelCreateFromInput {
173
179
  name: String!
180
+ singularApiName: String!
181
+ pluralApiName: String!
174
182
  modelId: String
175
183
  group: RefInput!
184
+ icon: String
176
185
  description: String
177
186
  locale: String
178
187
  }
179
188
 
180
189
  input CmsContentModelUpdateInput {
181
190
  name: String
191
+ singularApiName: String
192
+ pluralApiName: String
182
193
  group: RefInput
194
+ icon: String
183
195
  description: String
184
196
  layout: [[ID!]!]!
185
197
  fields: [CmsContentModelFieldInput!]!
186
198
  titleFieldId: String
199
+ descriptionFieldId: String
200
+ imageFieldId: String
187
201
  tags: [String!]
188
202
  }
189
203
 
@@ -212,11 +226,8 @@ const createModelsSchema = context => {
212
226
  }
213
227
  `;
214
228
  }
215
-
216
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
217
- typeDefs:
218
- /* GraphQL */
219
- `
229
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
230
+ typeDefs: /* GraphQL */`
220
231
  type CmsFieldValidation {
221
232
  name: String!
222
233
  message: String
@@ -259,16 +270,21 @@ const createModelsSchema = context => {
259
270
 
260
271
  type CmsContentModel {
261
272
  name: String!
273
+ singularApiName: String!
274
+ pluralApiName: String!
262
275
  modelId: String!
263
276
  description: String
264
277
  group: CmsContentModelGroup!
278
+ icon: String
265
279
  createdOn: DateTime
266
280
  savedOn: DateTime
267
- createdBy: CmsCreatedBy
281
+ createdBy: CmsIdentity
268
282
  fields: [CmsContentModelField!]!
269
283
  lockedFields: [JSON]
270
284
  layout: [[String!]!]!
271
285
  titleFieldId: String
286
+ descriptionFieldId: String
287
+ imageFieldId: String
272
288
  tags: [String!]!
273
289
  # Returns true if the content model is registered via a plugin.
274
290
  plugin: Boolean!
@@ -295,6 +311,7 @@ const createModelsSchema = context => {
295
311
  `,
296
312
  resolvers
297
313
  });
314
+ plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;
315
+ return plugin;
298
316
  };
299
-
300
317
  exports.createModelsSchema = createModelsSchema;
@@ -1 +1 @@
1
- {"version":3,"names":["createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","isPrivate","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","CmsContentModelField","tags","field","Array","isArray","CmsContentModel","hasType","find","tag","startsWith","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","initializeModel","result","GraphQLSchemaPlugin","typeDefs"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\n\nexport const createModelsSchema = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n if (model?.isPrivate === true) {\n if (!model) {\n throw new NotFoundError(\n `Content model \"${args.modelId}\" was not found!`\n );\n }\n }\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModelField: {\n tags(field) {\n // Make sure `tags` are always returned as an array.\n return Array.isArray(field.tags) ? field.tags : [];\n }\n },\n CmsContentModel: {\n tags(model: CmsModel) {\n // Make sure `tags` always contain a `type` tag, to differentiate between models.\n const hasType = (model.tags || []).find(tag => tag.startsWith(\"type:\"));\n\n return hasType ? model.tags : [\"type:model\", ...(model.tags || [])];\n },\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n initializeModel: async (_, args, context) => {\n const { modelId, data } = args;\n\n try {\n const result = await context.cms.initializeModel(modelId, data || {});\n return new Response(result);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n # we never use user input - this is here to the GraphQL does not break when posting from our UI\n # used for debugging purposes\n storageId: String\n fieldId: String!\n type: String!\n tags: [String!]\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n tags: [String!]\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n group: RefInput\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n tags: [String!]\n }\n\n type InitializeModelResponse {\n data: Boolean\n error: CmsError\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n\n # users can send anything into the data variable\n initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!\n }\n `;\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n # auto-generated value\n # used for debugging purposes\n storageId: String\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n tags: [String!]!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsCreatedBy\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n tags: [String!]!\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n};\n"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA5FQ;EA6FH;;EAED,OAAO,IAAIa,wCAAJ,CAAoC;IACvCC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcd,YAAa;AAC3B,SA7E+C;IA8EvCrC;EA9EuC,CAApC,CAAP;AAgFH,CAhRM"}
1
+ {"version":3,"names":["_handlerGraphql","require","_CmsModelPlugin","_plugins","_toSlug","createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","isPrivate","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","CmsContentModelField","tags","field","Array","isArray","CmsContentModel","group","groups","security","withoutAuthorization","listGroups","find","id","_objectSpread2","default","slug","toSlug","name","hasType","tag","startsWith","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","initializeModel","result","CmsGraphQLSchemaPlugin","typeDefs","exports"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { toSlug } from \"~/utils/toSlug\";\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createModelsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n if (model?.isPrivate === true) {\n if (!model) {\n throw new NotFoundError(\n `Content model \"${args.modelId}\" was not found!`\n );\n }\n }\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModelField: {\n tags(field) {\n // Make sure `tags` are always returned as an array.\n return Array.isArray(field.tags) ? field.tags : [];\n }\n },\n CmsContentModel: {\n group: async (model: CmsModel) => {\n const groups = await context.security.withoutAuthorization(async () => {\n return context.cms.listGroups();\n });\n\n const group = groups.find(group => group.id === model.group.id);\n return {\n ...model.group,\n slug: toSlug(model.group.name),\n ...(group || {})\n };\n },\n tags(model: CmsModel) {\n // Make sure `tags` always contain a `type` tag, to differentiate between models.\n const hasType = (model.tags || []).find(tag => tag.startsWith(\"type:\"));\n\n return hasType ? model.tags : [\"type:model\", ...(model.tags || [])];\n },\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n initializeModel: async (_, args, context) => {\n const { modelId, data } = args;\n\n try {\n const result = await context.cms.initializeModel(modelId, data || {});\n return new Response(result);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n # we never use user input - this is here to the GraphQL does not break when posting from our UI\n # used for debugging purposes\n storageId: String\n fieldId: String!\n type: String!\n tags: [String!]\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n defaultFields: Boolean\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n singularApiName: String\n pluralApiName: String\n group: RefInput\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n type InitializeModelResponse {\n data: Boolean\n error: CmsError\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n\n # users can send anything into the data variable\n initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!\n }\n `;\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n # auto-generated value\n # used for debugging purposes\n storageId: String\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n tags: [String!]!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n icon: String\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsIdentity\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]!\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;\n return plugin;\n};\n"],"mappings":"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,OAAO,CAACO,GAAG,CAACqD,eAAe,CAACnD,OAAO,EAAE4C,IAAI,IAAI,CAAC,CAAC,CAAC;UACrE,OAAO,IAAIzC,wBAAQ,CAACiD,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAOhD,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IAEDoC,YAAY,GAAG,aAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;EACL;EAEA,MAAMR,MAAM,GAAG,IAAIqB,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcd,YAAa;AAC3B,SAAS;IACDhD;EACJ,CAAC,CAAC;EACFwC,MAAM,CAACJ,IAAI,GAAI,+BAA8BrC,OAAO,CAACO,GAAG,CAACsC,IAAK,iBAAgB;EAC9E,OAAOJ,MAAM;AACjB,CAAC;AAACuB,OAAA,CAAAjE,kBAAA,GAAAA,kBAAA"}
@@ -1,4 +1,4 @@
1
- import { CmsModelField, ApiEndpoint, CmsModel, CmsFieldTypePlugins } from "../../types";
1
+ import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../../types";
2
2
  import { Resolvers } from "@webiny/handler-graphql/types";
3
3
  interface CreateFieldResolvers {
4
4
  graphQLType: string;
@@ -1,39 +1,19 @@
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.createFieldResolversFactory = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _set = _interopRequireDefault(require("lodash/set"));
13
-
14
10
  var _entryStorage = require("../../utils/entryStorage");
15
-
16
11
  var _error = _interopRequireDefault(require("@webiny/error"));
17
-
18
12
  var _getBaseFieldType = require("../../utils/getBaseFieldType");
19
-
20
- const getCreateResolver = (plugins, field, endpointType) => {
21
- const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
22
-
23
- if (!plugins[baseType]) {
24
- return null;
25
- } else if (!plugins[baseType][endpointType]) {
26
- return null;
27
- }
28
-
29
- return plugins[baseType][endpointType].createResolver;
30
- };
31
13
  /**
32
14
  * We use a factory to avoid passing the parameters for recursive invocations.
33
15
  * This way they will always be in the function scope, and we can only pass "fields".
34
16
  */
35
-
36
-
37
17
  const createFieldResolversFactory = factoryParams => {
38
18
  const {
39
19
  endpointType,
@@ -50,36 +30,35 @@ const createFieldResolversFactory = factoryParams => {
50
30
  } = params;
51
31
  const fieldResolvers = (0, _objectSpread2.default)({}, extraResolvers);
52
32
  const typeResolvers = {};
53
-
54
33
  for (const field of fields) {
55
- if (!fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)]) {
34
+ var _plugin$endpointType;
35
+ const plugin = fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)];
36
+ if (!plugin) {
56
37
  continue;
57
38
  }
58
39
  /**
59
40
  * Field that is passed into this factory MUST have fieldId, so filter it before the method call.
60
41
  */
61
-
62
-
63
42
  if (!field.fieldId) {
64
43
  throw new _error.default("Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.", "FIELD_ID_ERROR", {
65
44
  field
66
45
  });
67
46
  }
68
-
69
- const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);
47
+ const createResolver = ((_plugin$endpointType = plugin[endpointType]) === null || _plugin$endpointType === void 0 ? void 0 : _plugin$endpointType.createResolver) || null;
70
48
  let resolver;
71
49
  const fieldResolver = createResolver ? createResolver({
72
50
  graphQLType,
73
51
  models,
74
52
  model,
75
53
  field,
76
- createFieldResolvers
54
+ createFieldResolvers,
55
+ fieldTypePlugins
77
56
  }) : null;
57
+
78
58
  /**
79
59
  * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.
80
60
  * This is to fix the breaking of GraphQL schema.
81
61
  */
82
-
83
62
  if (fieldResolver === false) {
84
63
  continue;
85
64
  } else if (typeof fieldResolver === "function") {
@@ -88,34 +67,38 @@ const createFieldResolversFactory = factoryParams => {
88
67
  resolver = fieldResolver.resolver;
89
68
  Object.assign(typeResolvers, fieldResolver.typeResolvers);
90
69
  }
91
-
92
70
  const {
93
71
  fieldId
94
- } = field; // TODO @ts-refactor figure out types for parameters
72
+ } = field;
73
+ // TODO @ts-refactor figure out types for parameters
95
74
  // @ts-ignore
96
-
97
75
  fieldResolvers[fieldId] = async (parent, args, context, info) => {
76
+ var _parent$values, _parent$values2, _parent$values3;
77
+ /**
78
+ * This is required because due to ref field can be requested without the populated data.
79
+ * At that point there is no .values no fieldId property on the parent
80
+ */
81
+ const value = (parent === null || parent === void 0 || (_parent$values = parent.values) === null || _parent$values === void 0 ? void 0 : _parent$values[fieldId]) === undefined ? parent === null || parent === void 0 ? void 0 : parent[fieldId] : parent === null || parent === void 0 || (_parent$values2 = parent.values) === null || _parent$values2 === void 0 ? void 0 : _parent$values2[fieldId];
82
+ if (value === undefined) {
83
+ return undefined;
84
+ }
98
85
  // Get transformed value (eg. data decompression)
99
86
  const transformedValue = await (0, _entryStorage.entryFieldFromStorageTransform)({
100
87
  context,
101
88
  model,
102
89
  field,
103
- value: isRoot ? parent.values[fieldId] : parent[fieldId]
90
+ value: isRoot ? (_parent$values3 = parent.values) === null || _parent$values3 === void 0 ? void 0 : _parent$values3[fieldId] : parent[fieldId]
104
91
  });
105
92
  (0, _set.default)(isRoot ? parent.values : parent, fieldId, transformedValue);
106
-
107
93
  if (!resolver) {
108
94
  return isRoot ? parent.values[fieldId] : parent[fieldId];
109
95
  }
110
-
111
96
  return await resolver(isRoot ? parent.values : parent, args, context, info);
112
97
  };
113
98
  }
114
-
115
99
  return (0, _objectSpread2.default)({
116
100
  [graphQLType]: fieldResolvers
117
101
  }, typeResolvers);
118
102
  };
119
103
  };
120
-
121
104
  exports.createFieldResolversFactory = createFieldResolversFactory;
@@ -1 +1 @@
1
- {"version":3,"names":["getCreateResolver","plugins","field","endpointType","baseType","getBaseFieldType","createResolver","createFieldResolversFactory","factoryParams","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","fieldId","WebinyError","resolver","fieldResolver","Object","assign","parent","args","context","info","transformedValue","entryFieldFromStorageTransform","value","values","set"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport {\n CmsModelField,\n CmsContext,\n CmsModelFieldToGraphQLCreateResolver,\n ApiEndpoint,\n CmsModel,\n CmsFieldTypePlugins\n} from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst getCreateResolver = (\n plugins: CmsFieldTypePlugins,\n field: CmsModelField,\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver | null => {\n const baseType = getBaseFieldType(field);\n if (!plugins[baseType]) {\n return null;\n } else if (!plugins[baseType][endpointType]) {\n return null;\n }\n return plugins[baseType][endpointType].createResolver;\n};\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope, and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n if (!fieldTypePlugins[getBaseFieldType(field)]) {\n continue;\n }\n /**\n * Field that is passed into this factory MUST have fieldId, so filter it before the method call.\n */\n if (!field.fieldId) {\n throw new WebinyError(\n \"Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.\",\n \"FIELD_ID_ERROR\",\n {\n field\n }\n );\n }\n\n const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({ graphQLType, models, model, field, createFieldResolvers })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-ignore\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_set","_interopRequireDefault","require","_entryStorage","_error","_getBaseFieldType","createFieldResolversFactory","factoryParams","endpointType","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","_objectSpread2","default","typeResolvers","field","_plugin$endpointType","plugin","getBaseFieldType","fieldId","WebinyError","createResolver","resolver","fieldResolver","Object","assign","parent","args","context","info","_parent$values","_parent$values2","_parent$values3","value","values","undefined","transformedValue","entryFieldFromStorageTransform","set","exports"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { ApiEndpoint, CmsContext, CmsFieldTypePlugins, CmsModel, CmsModelField } from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope, and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n if (!plugin) {\n continue;\n }\n /**\n * Field that is passed into this factory MUST have fieldId, so filter it before the method call.\n */\n if (!field.fieldId) {\n throw new WebinyError(\n \"Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.\",\n \"FIELD_ID_ERROR\",\n {\n field\n }\n );\n }\n\n const createResolver = plugin[endpointType]?.createResolver || null;\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({\n graphQLType,\n models,\n model,\n field,\n createFieldResolvers,\n fieldTypePlugins\n })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-ignore\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n /**\n * This is required because due to ref field can be requested without the populated data.\n * At that point there is no .values no fieldId property on the parent\n */\n const value =\n parent?.values?.[fieldId] === undefined\n ? parent?.[fieldId]\n : parent?.values?.[fieldId];\n if (value === undefined) {\n return undefined;\n }\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values?.[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CmsFieldTypePlugins } from "../../types";
2
+ import { PluginsContainer } from "@webiny/plugins";
3
+ export declare const createFieldTypePluginRecords: (plugins: PluginsContainer) => CmsFieldTypePlugins;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFieldTypePluginRecords = void 0;
7
+ const createFieldTypePluginRecords = plugins => {
8
+ return plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
9
+ acc[pl.fieldType] = pl;
10
+ return acc;
11
+ }, {});
12
+ };
13
+ exports.createFieldTypePluginRecords = createFieldTypePluginRecords;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFieldTypePluginRecords","plugins","byType","reduce","acc","pl","fieldType","exports"],"sources":["createFieldTypePluginRecords.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport const createFieldTypePluginRecords = (plugins: PluginsContainer) => {\n return plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n};\n"],"mappings":";;;;;;AAGO,MAAMA,4BAA4B,GAAIC,OAAyB,IAAK;EACvE,OAAOA,OAAO,CACTC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAACG,OAAA,CAAAP,4BAAA,GAAAA,4BAAA"}
@@ -1,4 +1,4 @@
1
- import { CmsModel, CmsFieldTypePlugins, CmsContext } from "../../types";
1
+ import { CmsContext, CmsFieldTypePlugins, CmsModel } from "../../types";
2
2
  interface CreateManageResolversParams {
3
3
  models: CmsModel[];
4
4
  model: CmsModel;