@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 +1 @@
1
- {"version":3,"names":["processValue","params","fields","sourceValue","getStoragePlugin","plugins","model","operation","pReduce","values","field","baseType","getBaseFieldType","plugin","Error","value","fieldId","createObjectStorageTransform","StorageTransformPlugin","name","fieldType","toStorage","settings","multipleValues","pMap","fromStorage"],"sources":["object.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport { CmsModel, CmsModelField } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: Record<string, any>;\n getStoragePlugin: (fieldType: string) => StorageTransformPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<Record<string, any>>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStoragePlugin, plugins, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n if (!plugin) {\n throw new Error(`Missing storage plugin for field type \"${baseType}\".`);\n }\n const value = await plugin[operation]({\n plugins,\n model,\n field,\n value: sourceValue[field.fieldId],\n getStoragePlugin\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nexport const createObjectStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.object.default\",\n fieldType: \"object\",\n toStorage: async ({ field, value, getStoragePlugin, model, plugins }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return await pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n });\n },\n fromStorage: async ({ field, value, getStoragePlugin, plugins, model }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n })\n );\n }\n\n return processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AAcA,MAAMA,YAA0B,GAAG,MAAMC,MAAN,IAAgB;EAC/C,MAAM;IAAEC,MAAF;IAAUC,WAAV;IAAuBC,gBAAvB;IAAyCC,OAAzC;IAAkDC,KAAlD;IAAyDC;EAAzD,IAAuEN,MAA7E;EACA,OAAO,MAAM,IAAAO,gBAAA,EACTN,MADS,EAET,OAAOO,MAAP,EAAeC,KAAf,KAAyB;IACrB,MAAMC,QAAQ,GAAG,IAAAC,kCAAA,EAAiBF,KAAjB,CAAjB;IACA,MAAMG,MAAM,GAAGT,gBAAgB,CAACO,QAAD,CAA/B;;IACA,IAAI,CAACE,MAAL,EAAa;MACT,MAAM,IAAIC,KAAJ,CAAW,0CAAyCH,QAAS,IAA7D,CAAN;IACH;;IACD,MAAMI,KAAK,GAAG,MAAMF,MAAM,CAACN,SAAD,CAAN,CAAkB;MAClCF,OADkC;MAElCC,KAFkC;MAGlCI,KAHkC;MAIlCK,KAAK,EAAEZ,WAAW,CAACO,KAAK,CAACM,OAAP,CAJgB;MAKlCZ;IALkC,CAAlB,CAApB;IAOA,mEAAYK,MAAZ;MAAoB,CAACC,KAAK,CAACM,OAAP,GAAiBD;IAArC;EACH,CAhBQ,EAiBT,EAjBS,CAAb;AAmBH,CArBD;;AAuBO,MAAME,4BAA4B,GAAG,MAA8B;EACtE,OAAO,IAAIC,8CAAJ,CAA2B;IAC9BC,IAAI,EAAE,+CADwB;IAE9BC,SAAS,EAAE,QAFmB;IAG9BC,SAAS,EAAE,OAAO;MAAEX,KAAF;MAASK,KAAT;MAAgBX,gBAAhB;MAAkCE,KAAlC;MAAyCD;IAAzC,CAAP,KAA8D;MAAA;;MACrE,IAAI,CAACU,KAAL,EAAY;QACR,OAAO,IAAP;MACH;;MAED,MAAMb,MAAM,GAAI,oBAAAQ,KAAK,CAACY,QAAN,oEAAgBpB,MAAhB,KAA0B,EAA1C;;MAEA,IAAIQ,KAAK,CAACa,cAAV,EAA0B;QACtB,OAAO,MAAM,IAAAC,aAAA,EAAKT,KAAL,EAAqCA,KAAK,IACnDf,YAAY,CAAC;UACTG,WAAW,EAAEY,KADJ;UAETX,gBAFS;UAGTE,KAHS;UAITD,OAJS;UAKTE,SAAS,EAAE,WALF;UAMTL;QANS,CAAD,CADH,CAAb;MAUH;;MAED,OAAO,MAAMF,YAAY,CAAC;QACtBG,WAAW,EAAEY,KADS;QAEtBX,gBAFsB;QAGtBE,KAHsB;QAItBD,OAJsB;QAKtBE,SAAS,EAAE,WALW;QAMtBL;MANsB,CAAD,CAAzB;IAQH,CA/B6B;IAgC9BuB,WAAW,EAAE,OAAO;MAAEf,KAAF;MAASK,KAAT;MAAgBX,gBAAhB;MAAkCC,OAAlC;MAA2CC;IAA3C,CAAP,KAA8D;MAAA;;MACvE,IAAI,CAACS,KAAL,EAAY;QACR,OAAO,IAAP;MACH;;MAED,MAAMb,MAAM,GAAI,qBAAAQ,KAAK,CAACY,QAAN,sEAAgBpB,MAAhB,KAA0B,EAA1C;;MAEA,IAAIQ,KAAK,CAACa,cAAV,EAA0B;QACtB,OAAO,IAAAC,aAAA,EAAKT,KAAL,EAAqCA,KAAK,IAC7Cf,YAAY,CAAC;UACTG,WAAW,EAAEY,KADJ;UAETX,gBAFS;UAGTE,KAHS;UAITD,OAJS;UAKTE,SAAS,EAAE,aALF;UAMTL;QANS,CAAD,CADT,CAAP;MAUH;;MAED,OAAOF,YAAY,CAAC;QAChBG,WAAW,EAAEY,KADG;QAEhBX,gBAFgB;QAGhBE,KAHgB;QAIhBD,OAJgB;QAKhBE,SAAS,EAAE,aALK;QAMhBL;MANgB,CAAD,CAAnB;IAQH;EA5D6B,CAA3B,CAAP;AA8DH,CA/DM"}
1
+ {"version":3,"names":["processValue","params","fields","sourceValue","getStoragePlugin","plugins","model","operation","pReduce","values","field","baseType","getBaseFieldType","plugin","Error","value","fieldId","createObjectStorageTransform","StorageTransformPlugin","name","fieldType","toStorage","settings","multipleValues","pMap","fromStorage"],"sources":["object.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport { CmsModel, CmsModelField } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: Record<string, any>;\n getStoragePlugin: (fieldType: string) => StorageTransformPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<Record<string, any>>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStoragePlugin, plugins, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n if (!plugin) {\n throw new Error(`Missing storage plugin for field type \"${baseType}\".`);\n }\n const value = await plugin[operation]({\n plugins,\n model,\n field,\n value: sourceValue[field.fieldId],\n getStoragePlugin\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nexport const createObjectStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.object.default\",\n fieldType: \"object\",\n toStorage: async ({ field, value, getStoragePlugin, model, plugins }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return await pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n });\n },\n fromStorage: async ({ field, value, getStoragePlugin, plugins, model }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return pMap(value as Record<string, any>[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n })\n );\n }\n\n return processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AAGA;AACA;AAcA,MAAMA,YAA0B,GAAG,MAAMC,MAAM,IAAI;EAC/C,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC,gBAAgB;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGN,MAAM;EACnF,OAAO,MAAM,IAAAO,gBAAO,EAChBN,MAAM,EACN,OAAOO,MAAM,EAAEC,KAAK,KAAK;IACrB,MAAMC,QAAQ,GAAG,IAAAC,kCAAgB,EAACF,KAAK,CAAC;IACxC,MAAMG,MAAM,GAAGT,gBAAgB,CAACO,QAAQ,CAAC;IACzC,IAAI,CAACE,MAAM,EAAE;MACT,MAAM,IAAIC,KAAK,CAAE,0CAAyCH,QAAS,IAAG,CAAC;IAC3E;IACA,MAAMI,KAAK,GAAG,MAAMF,MAAM,CAACN,SAAS,CAAC,CAAC;MAClCF,OAAO;MACPC,KAAK;MACLI,KAAK;MACLK,KAAK,EAAEZ,WAAW,CAACO,KAAK,CAACM,OAAO,CAAC;MACjCZ;IACJ,CAAC,CAAC;IACF,mEAAYK,MAAM;MAAE,CAACC,KAAK,CAACM,OAAO,GAAGD;IAAK;EAC9C,CAAC,EACD,CAAC,CAAC,CACL;AACL,CAAC;AAEM,MAAME,4BAA4B,GAAG,MAA8B;EACtE,OAAO,IAAIC,8CAAsB,CAAC;IAC9BC,IAAI,EAAE,+CAA+C;IACrDC,SAAS,EAAE,QAAQ;IACnBC,SAAS,EAAE,OAAO;MAAEX,KAAK;MAAEK,KAAK;MAAEX,gBAAgB;MAAEE,KAAK;MAAED;IAAQ,CAAC,KAAK;MAAA;MACrE,IAAI,CAACU,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMb,MAAM,GAAI,oBAAAQ,KAAK,CAACY,QAAQ,oDAAd,gBAAgBpB,MAAM,KAAI,EAAsB;MAEhE,IAAIQ,KAAK,CAACa,cAAc,EAAE;QACtB,OAAO,MAAM,IAAAC,aAAI,EAACT,KAAK,EAA2BA,KAAK,IACnDf,YAAY,CAAC;UACTG,WAAW,EAAEY,KAAK;UAClBX,gBAAgB;UAChBE,KAAK;UACLD,OAAO;UACPE,SAAS,EAAE,WAAW;UACtBL;QACJ,CAAC,CAAC,CACL;MACL;MAEA,OAAO,MAAMF,YAAY,CAAC;QACtBG,WAAW,EAAEY,KAAK;QAClBX,gBAAgB;QAChBE,KAAK;QACLD,OAAO;QACPE,SAAS,EAAE,WAAW;QACtBL;MACJ,CAAC,CAAC;IACN,CAAC;IACDuB,WAAW,EAAE,OAAO;MAAEf,KAAK;MAAEK,KAAK;MAAEX,gBAAgB;MAAEC,OAAO;MAAEC;IAAM,CAAC,KAAK;MAAA;MACvE,IAAI,CAACS,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMb,MAAM,GAAI,qBAAAQ,KAAK,CAACY,QAAQ,qDAAd,iBAAgBpB,MAAM,KAAI,EAAsB;MAEhE,IAAIQ,KAAK,CAACa,cAAc,EAAE;QACtB,OAAO,IAAAC,aAAI,EAACT,KAAK,EAA2BA,KAAK,IAC7Cf,YAAY,CAAC;UACTG,WAAW,EAAEY,KAAK;UAClBX,gBAAgB;UAChBE,KAAK;UACLD,OAAO;UACPE,SAAS,EAAE,aAAa;UACxBL;QACJ,CAAC,CAAC,CACL;MACL;MAEA,OAAOF,YAAY,CAAC;QAChBG,WAAW,EAAEY,KAAK;QAClBX,gBAAgB;QAChBE,KAAK;QACLD,OAAO;QACPE,SAAS,EAAE,aAAa;QACxBL;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
package/types.d.ts CHANGED
@@ -5,7 +5,6 @@ import { GraphQLFieldResolver, GraphQLSchemaDefinition, Resolvers } from "@webin
5
5
  import { SecurityPermission } from "@webiny/api-security/types";
6
6
  import { DbContext } from "@webiny/handler-db/types";
7
7
  import { FileManagerContext } from "@webiny/api-file-manager/types";
8
- import { UpgradePlugin } from "@webiny/api-upgrade/types";
9
8
  import { Topic } from "@webiny/pubsub/types";
10
9
  import { CmsModelConverterCallable } from "./utils/converters/ConverterCollection";
11
10
  export declare type ApiEndpoint = "manage" | "preview" | "read";
@@ -98,6 +97,10 @@ export interface CmsModelFieldSettings {
98
97
  * Object field has child fields.
99
98
  */
100
99
  fields?: CmsModelField[];
100
+ /**
101
+ * Is the file field images only one?
102
+ */
103
+ imagesOnly?: boolean;
101
104
  /**
102
105
  * Object field has child fields - so it needs to have a layout.
103
106
  */
@@ -135,18 +138,16 @@ export interface CmsModelField {
135
138
  * A type of the field.
136
139
  * We are defining our built-in fields, so people know which are available by the default.
137
140
  */
138
- type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | string;
141
+ type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | "dynamicZone" | string;
139
142
  /**
140
143
  * A unique storage ID for storing actual values.
141
- * Must in form of a-zA-Z0-9@a-zA-Z0-9@a-zA-Z0-9.
144
+ * Must in form of a-zA-Z0-9@a-zA-Z0-9
142
145
  *
143
146
  * This is an auto-generated value: uses `id` and `type`
144
147
  *
145
148
  * This is used as path for the entry value.
146
- *
147
- * @internal
148
149
  */
149
- storageId: string;
150
+ storageId: `${string}@${string}` | string;
150
151
  /**
151
152
  * Field identifier for the model field that will be available to the outside world.
152
153
  * `storageId` is used as path (or column) to store the data.
@@ -233,6 +234,9 @@ export interface CmsModelDynamicZoneField extends CmsModelField {
233
234
  export interface CmsModelFieldWithParent extends CmsModelField {
234
235
  parent?: CmsModelFieldWithParent | null;
235
236
  }
237
+ export interface CmsModelDynamicZoneFieldWithParent extends CmsModelDynamicZoneField {
238
+ parent?: CmsModelDynamicZoneFieldWithParent | null;
239
+ }
236
240
  /**
237
241
  * A definition for dateTime field to show possible type of the field in settings.
238
242
  */
@@ -360,7 +364,21 @@ export interface LockedField {
360
364
  [key: string]: any;
361
365
  }
362
366
  /**
363
- * Cms Model defining an entry.
367
+ * @category Database model
368
+ * @category CmsModel
369
+ */
370
+ export interface CmsModelGroup {
371
+ /**
372
+ * Generated ID of the group
373
+ */
374
+ id: string;
375
+ /**
376
+ * Name of the group
377
+ */
378
+ name: string;
379
+ }
380
+ /**
381
+ * Base CMS Model. Should not be exported and used outside of this package.
364
382
  *
365
383
  * @category Database model
366
384
  * @category CmsModel
@@ -374,6 +392,24 @@ export interface CmsModel {
374
392
  * Unique ID for the content model. Created from name if not defined by user.
375
393
  */
376
394
  modelId: string;
395
+ /**
396
+ * Name of the content model in singular form to be used in the API.
397
+ * example:
398
+ * - Article
399
+ * - Fruit
400
+ * - Vegetable
401
+ * - Car
402
+ */
403
+ singularApiName: string;
404
+ /**
405
+ * Name of the content model in plural form to be used in the API.
406
+ * example:
407
+ * - Articles
408
+ * - Fruits
409
+ * - Vegetables
410
+ * - Cars
411
+ */
412
+ pluralApiName: string;
377
413
  /**
378
414
  * Model tenant.
379
415
  */
@@ -385,20 +421,15 @@ export interface CmsModel {
385
421
  /**
386
422
  * Cms Group reference object.
387
423
  */
388
- group: {
389
- /**
390
- * Generated ID of the group
391
- */
392
- id: string;
393
- /**
394
- * Name of the group
395
- */
396
- name: string;
397
- };
424
+ group: CmsModelGroup;
425
+ /**
426
+ * Icon for the content model.
427
+ */
428
+ icon?: string | null;
398
429
  /**
399
430
  * Description for the content model.
400
431
  */
401
- description: string;
432
+ description: string | null;
402
433
  /**
403
434
  * Date created
404
435
  */
@@ -410,7 +441,7 @@ export interface CmsModel {
410
441
  /**
411
442
  * CreatedBy object wrapper. Contains id, name and type of the user.
412
443
  */
413
- createdBy?: CreatedBy;
444
+ createdBy?: CmsIdentity;
414
445
  /**
415
446
  * List of fields defining entry values.
416
447
  */
@@ -439,6 +470,16 @@ export interface CmsModel {
439
470
  * It is picked as first available text field. Or user can select own field.
440
471
  */
441
472
  titleFieldId: string;
473
+ /**
474
+ * The field which is displayed as the description one.
475
+ * Only way this is null or undefined is that there are no long-text fields to be set as description.
476
+ */
477
+ descriptionFieldId?: string | null;
478
+ /**
479
+ * The field which is displayed as the image.
480
+ * Only way this is null or undefined is that there are no file fields, with images only set, to be set as image.
481
+ */
482
+ imageFieldId?: string | null;
442
483
  /**
443
484
  * The version of Webiny which this record was stored with.
444
485
  */
@@ -479,6 +520,21 @@ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
479
520
  typeResolvers: Resolvers<CmsContext>;
480
521
  } | false;
481
522
  }
523
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
524
+ fields: TField[];
525
+ originalFields: TField[];
526
+ }
527
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidate {
528
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams): void;
529
+ }
530
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
531
+ field: TField;
532
+ originalField?: TField;
533
+ validate: CmsModelFieldToGraphQLPluginValidateChildFieldsValidate;
534
+ }
535
+ export interface CmsModelFieldToGraphQLPluginValidateChildFields<TField extends CmsModelField = CmsModelField> {
536
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField>): void;
537
+ }
482
538
  /**
483
539
  * @category Plugin
484
540
  * @category ModelField
@@ -596,6 +652,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
596
652
  * ```
597
653
  */
598
654
  createTypeField(params: {
655
+ models: CmsModel[];
599
656
  model: CmsModel;
600
657
  field: TField;
601
658
  fieldTypePlugins: CmsFieldTypePlugins;
@@ -696,6 +753,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
696
753
  * ```
697
754
  */
698
755
  createTypeField: (params: {
756
+ models: CmsModel[];
699
757
  model: CmsModel;
700
758
  field: TField;
701
759
  fieldTypePlugins: CmsFieldTypePlugins;
@@ -716,6 +774,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
716
774
  * ```
717
775
  */
718
776
  createInputField: (params: {
777
+ models: CmsModel[];
719
778
  model: CmsModel;
720
779
  field: TField;
721
780
  fieldTypePlugins: CmsFieldTypePlugins;
@@ -736,6 +795,11 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
736
795
  */
737
796
  createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
738
797
  };
798
+ /**
799
+ *
800
+ * @param field
801
+ */
802
+ validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;
739
803
  }
740
804
  /**
741
805
  * Check for content model locked field.
@@ -778,7 +842,7 @@ export interface CmsFieldTypePlugins {
778
842
  *
779
843
  * @category General
780
844
  */
781
- export interface CreatedBy {
845
+ export interface CmsIdentity {
782
846
  /**
783
847
  * ID if the user.
784
848
  */
@@ -828,7 +892,7 @@ export interface CmsSettingsContext {
828
892
  /**
829
893
  * Get the datetime when content model last changed.
830
894
  */
831
- getModelLastChange: () => Promise<Date>;
895
+ getModelLastChange: () => Promise<Date | null>;
832
896
  }
833
897
  export interface OnSystemBeforeInstallTopicParams {
834
898
  tenant: string;
@@ -846,9 +910,7 @@ export interface OnSystemInstallErrorTopicParams {
846
910
  export declare type CmsSystemContext = {
847
911
  getSystemVersion: () => Promise<string | null>;
848
912
  setSystemVersion: (version: string) => Promise<void>;
849
- getReadAPIKey(): Promise<string | null>;
850
913
  installSystem: () => Promise<void>;
851
- upgradeSystem: (version: string) => Promise<boolean>;
852
914
  /**
853
915
  * Lifecycle events - deprecated
854
916
  */
@@ -929,7 +991,7 @@ export interface CmsGroup {
929
991
  /**
930
992
  * CreatedBy reference object.
931
993
  */
932
- createdBy?: CreatedBy;
994
+ createdBy?: CmsIdentity;
933
995
  /**
934
996
  * Date group was created on.
935
997
  */
@@ -976,6 +1038,15 @@ export interface OnGroupBeforeCreateTopicParams {
976
1038
  export interface OnGroupAfterCreateTopicParams {
977
1039
  group: CmsGroup;
978
1040
  }
1041
+ /**
1042
+ * @category CmsGroup
1043
+ * @category Topic
1044
+ */
1045
+ export interface OnGroupCreateErrorTopicParams {
1046
+ input: CmsGroupCreateInput;
1047
+ group: CmsGroup;
1048
+ error: Error;
1049
+ }
979
1050
  /**
980
1051
  * @category CmsGroup
981
1052
  * @category Topic
@@ -992,6 +1063,16 @@ export interface OnGroupAfterUpdateTopicParams {
992
1063
  original: CmsGroup;
993
1064
  group: CmsGroup;
994
1065
  }
1066
+ /**
1067
+ * @category CmsGroup
1068
+ * @category Topic
1069
+ */
1070
+ export interface OnGroupUpdateErrorTopicParams {
1071
+ input: CmsGroupUpdateInput;
1072
+ original: CmsGroup;
1073
+ group: CmsGroup;
1074
+ error: Error;
1075
+ }
995
1076
  /**
996
1077
  * @category CmsGroup
997
1078
  * @category Topic
@@ -1006,6 +1087,14 @@ export interface OnGroupBeforeDeleteTopicParams {
1006
1087
  export interface OnGroupAfterDeleteTopicParams {
1007
1088
  group: CmsGroup;
1008
1089
  }
1090
+ /**
1091
+ * @category CmsGroup
1092
+ * @category Topic
1093
+ */
1094
+ export interface OnGroupDeleteErrorTopicParams {
1095
+ group: CmsGroup;
1096
+ error: Error;
1097
+ }
1009
1098
  /**
1010
1099
  * Cms Group in context.
1011
1100
  *
@@ -1069,10 +1158,13 @@ export interface CmsGroupContext {
1069
1158
  */
1070
1159
  onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1071
1160
  onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1161
+ onGroupCreateError: Topic<OnGroupCreateErrorTopicParams>;
1072
1162
  onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1073
1163
  onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1164
+ onGroupUpdateError: Topic<OnGroupUpdateErrorTopicParams>;
1074
1165
  onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1075
1166
  onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1167
+ onGroupDeleteError: Topic<OnGroupDeleteErrorTopicParams>;
1076
1168
  }
1077
1169
  /**
1078
1170
  * Definition for content model field validator.
@@ -1101,6 +1193,14 @@ export interface CmsModelCreateInput {
1101
1193
  * Name of the content model.
1102
1194
  */
1103
1195
  name: string;
1196
+ /**
1197
+ * Singular name of the content model to be used in the API.
1198
+ */
1199
+ singularApiName: string;
1200
+ /**
1201
+ * Plural name of the content model to be used in the API.
1202
+ */
1203
+ pluralApiName: string;
1104
1204
  /**
1105
1205
  * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.
1106
1206
  */
@@ -1108,7 +1208,7 @@ export interface CmsModelCreateInput {
1108
1208
  /**
1109
1209
  * Description of the content model.
1110
1210
  */
1111
- description?: string;
1211
+ description?: string | null;
1112
1212
  /**
1113
1213
  * Group where to put the content model in.
1114
1214
  */
@@ -1133,10 +1233,11 @@ export interface CmsModelCreateInput {
1133
1233
  */
1134
1234
  tags?: string[];
1135
1235
  /**
1136
- * The field that is being displayed as entry title.
1137
- * It is picked as first available text field. Or user can select own field.
1236
+ * Fields fieldId which are picked to represent the CMS entry.
1138
1237
  */
1139
- titleFieldId?: string;
1238
+ titleFieldId?: string | null;
1239
+ descriptionFieldId?: string | null;
1240
+ imageFieldId?: string | null;
1140
1241
  }
1141
1242
  /**
1142
1243
  * A GraphQL `params.data` parameter received when creating content model from existing model.
@@ -1180,11 +1281,11 @@ export interface CmsModelFieldInput {
1180
1281
  /**
1181
1282
  * Text to display below the field to help user what to write in the field.
1182
1283
  */
1183
- helpText?: string;
1284
+ helpText?: string | null;
1184
1285
  /**
1185
1286
  * Text to display in the field.
1186
1287
  */
1187
- placeholderText?: string;
1288
+ placeholderText?: string | null;
1188
1289
  /**
1189
1290
  * Fields can be tagged to give them contextual meaning.
1190
1291
  */
@@ -1208,7 +1309,7 @@ export interface CmsModelFieldInput {
1208
1309
  /**
1209
1310
  * @see CmsModelField.listValidation
1210
1311
  */
1211
- listValidation: CmsModelFieldValidation[];
1312
+ listValidation?: CmsModelFieldValidation[];
1212
1313
  /**
1213
1314
  * User defined settings.
1214
1315
  */
@@ -1225,6 +1326,14 @@ export interface CmsModelUpdateInput {
1225
1326
  * A new content model name.
1226
1327
  */
1227
1328
  name?: string;
1329
+ /**
1330
+ * A new singular name of the content model to be used in the API.
1331
+ */
1332
+ singularApiName?: string;
1333
+ /**
1334
+ * A new plural name of the content model to be used in the API.
1335
+ */
1336
+ pluralApiName?: string;
1228
1337
  /**
1229
1338
  * A group we want to move the model to.
1230
1339
  */
@@ -1232,7 +1341,7 @@ export interface CmsModelUpdateInput {
1232
1341
  /**
1233
1342
  * A new description of the content model.
1234
1343
  */
1235
- description?: string;
1344
+ description?: string | null;
1236
1345
  /**
1237
1346
  * A list of content model fields to define the entry values.
1238
1347
  */
@@ -1249,10 +1358,11 @@ export interface CmsModelUpdateInput {
1249
1358
  */
1250
1359
  layout: string[][];
1251
1360
  /**
1252
- * The field that is being displayed as entry title.
1253
- * It is picked as first available text field. Or user can select own field.
1361
+ * Fields fieldId which are picked to represent the CMS entry.
1254
1362
  */
1255
- titleFieldId?: string;
1363
+ titleFieldId?: string | null;
1364
+ descriptionFieldId?: string | null;
1365
+ imageFieldId?: string | null;
1256
1366
  }
1257
1367
  /**
1258
1368
  * A plugin to load a CmsModelManager.
@@ -1316,11 +1426,15 @@ export interface CmsEntry<T = CmsEntryValues> {
1316
1426
  /**
1317
1427
  * CreatedBy object reference.
1318
1428
  */
1319
- createdBy: CreatedBy;
1429
+ createdBy: CmsIdentity;
1320
1430
  /**
1321
1431
  * OwnedBy object reference. Can be different from CreatedBy.
1322
1432
  */
1323
- ownedBy: CreatedBy;
1433
+ ownedBy: CmsIdentity;
1434
+ /**
1435
+ * ModifiedBy object reference. Last person who modified the entry.
1436
+ */
1437
+ modifiedBy?: CmsIdentity | null;
1324
1438
  /**
1325
1439
  * A string of Date.toISOString() type.
1326
1440
  * Populated on creation.
@@ -1423,6 +1537,9 @@ export interface CmsModelManager {
1423
1537
  */
1424
1538
  delete: (id: string) => Promise<void>;
1425
1539
  }
1540
+ /**
1541
+ * Create
1542
+ */
1426
1543
  export interface OnModelBeforeCreateTopicParams {
1427
1544
  input: CmsModelCreateInput;
1428
1545
  model: CmsModel;
@@ -1431,6 +1548,14 @@ export interface OnModelAfterCreateTopicParams {
1431
1548
  input: CmsModelCreateInput;
1432
1549
  model: CmsModel;
1433
1550
  }
1551
+ export interface OnModelCreateErrorTopicParams {
1552
+ input: CmsModelCreateInput;
1553
+ model: CmsModel;
1554
+ error: Error;
1555
+ }
1556
+ /**
1557
+ * Create From / Clone
1558
+ */
1434
1559
  export interface OnModelBeforeCreateFromTopicParams {
1435
1560
  input: CmsModelCreateInput;
1436
1561
  original: CmsModel;
@@ -1441,6 +1566,15 @@ export interface OnModelAfterCreateFromTopicParams {
1441
1566
  original: CmsModel;
1442
1567
  model: CmsModel;
1443
1568
  }
1569
+ export interface OnModelCreateFromErrorParams {
1570
+ input: CmsModelCreateInput;
1571
+ original: CmsModel;
1572
+ model: CmsModel;
1573
+ error: Error;
1574
+ }
1575
+ /**
1576
+ * Update
1577
+ */
1444
1578
  export interface OnModelBeforeUpdateTopicParams {
1445
1579
  input: CmsModelUpdateInput;
1446
1580
  original: CmsModel;
@@ -1451,15 +1585,35 @@ export interface OnModelAfterUpdateTopicParams {
1451
1585
  original: CmsModel;
1452
1586
  model: CmsModel;
1453
1587
  }
1588
+ export interface OnModelUpdateErrorTopicParams {
1589
+ input: CmsModelUpdateInput;
1590
+ original: CmsModel;
1591
+ model: CmsModel;
1592
+ error: Error;
1593
+ }
1594
+ /**
1595
+ * Delete
1596
+ */
1454
1597
  export interface OnModelBeforeDeleteTopicParams {
1455
1598
  model: CmsModel;
1456
1599
  }
1457
1600
  export interface OnModelAfterDeleteTopicParams {
1458
1601
  model: CmsModel;
1459
1602
  }
1603
+ export interface OnModelDeleteErrorTopicParams {
1604
+ model: CmsModel;
1605
+ error: Error;
1606
+ }
1607
+ /**
1608
+ * Initialize
1609
+ */
1460
1610
  export interface OnModelInitializeParams {
1461
1611
  model: CmsModel;
1612
+ data: Record<string, any>;
1462
1613
  }
1614
+ /**
1615
+ *
1616
+ */
1463
1617
  export interface CmsModelUpdateDirectParams {
1464
1618
  model: CmsModel;
1465
1619
  original: CmsModel;
@@ -1506,7 +1660,7 @@ export interface CmsModelContext {
1506
1660
  *
1507
1661
  * Primary idea behind this is creating the index, for the code models, in the ES.
1508
1662
  */
1509
- initializeModel: (modelId: string) => Promise<boolean>;
1663
+ initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1510
1664
  /**
1511
1665
  * Get an instance of CmsModelManager for given content modelId.
1512
1666
  *
@@ -1567,12 +1721,16 @@ export interface CmsModelContext {
1567
1721
  */
1568
1722
  onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1569
1723
  onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1724
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1570
1725
  onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1571
1726
  onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1727
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1572
1728
  onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1573
1729
  onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1730
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1574
1731
  onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1575
1732
  onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1733
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1576
1734
  onModelInitialize: Topic<OnModelInitializeParams>;
1577
1735
  }
1578
1736
  /**
@@ -1716,6 +1874,9 @@ export interface CmsEntryMeta {
1716
1874
  */
1717
1875
  totalCount: number;
1718
1876
  }
1877
+ /**
1878
+ * Create
1879
+ */
1719
1880
  export interface OnEntryBeforeCreateTopicParams {
1720
1881
  input: CreateCmsEntryInput;
1721
1882
  entry: CmsEntry;
@@ -1733,6 +1894,9 @@ export interface OnEntryCreateErrorTopicParams {
1733
1894
  entry: CmsEntry;
1734
1895
  model: CmsModel;
1735
1896
  }
1897
+ /**
1898
+ * Revision Create
1899
+ */
1736
1900
  export interface OnEntryRevisionBeforeCreateTopicParams {
1737
1901
  input: CreateFromCmsEntryInput;
1738
1902
  entry: CmsEntry;
@@ -1749,9 +1913,13 @@ export interface OnEntryRevisionAfterCreateTopicParams {
1749
1913
  export interface OnEntryCreateRevisionErrorTopicParams {
1750
1914
  error: Error;
1751
1915
  input: CreateFromCmsEntryInput;
1916
+ original: CmsEntry;
1752
1917
  entry: CmsEntry;
1753
1918
  model: CmsModel;
1754
1919
  }
1920
+ /**
1921
+ * Update
1922
+ */
1755
1923
  export interface OnEntryBeforeUpdateTopicParams {
1756
1924
  input: UpdateCmsEntryInput;
1757
1925
  original: CmsEntry;
@@ -1771,6 +1939,9 @@ export interface OnEntryUpdateErrorTopicParams {
1771
1939
  entry: CmsEntry;
1772
1940
  model: CmsModel;
1773
1941
  }
1942
+ /**
1943
+ * Publish
1944
+ */
1774
1945
  export interface OnEntryBeforePublishTopicParams {
1775
1946
  entry: CmsEntry;
1776
1947
  model: StorageOperationsCmsModel;
@@ -1785,6 +1956,26 @@ export interface OnEntryPublishErrorTopicParams {
1785
1956
  entry: CmsEntry;
1786
1957
  model: StorageOperationsCmsModel;
1787
1958
  }
1959
+ /**
1960
+ * Republish
1961
+ */
1962
+ export interface OnEntryBeforeRepublishTopicParams {
1963
+ entry: CmsEntry;
1964
+ model: StorageOperationsCmsModel;
1965
+ }
1966
+ export interface OnEntryAfterRepublishTopicParams {
1967
+ entry: CmsEntry;
1968
+ model: StorageOperationsCmsModel;
1969
+ storageEntry: CmsEntry;
1970
+ }
1971
+ export interface OnEntryRepublishErrorTopicParams {
1972
+ error: Error;
1973
+ entry: CmsEntry;
1974
+ model: StorageOperationsCmsModel;
1975
+ }
1976
+ /**
1977
+ * Unpublish
1978
+ */
1788
1979
  export interface OnEntryBeforeUnpublishTopicParams {
1789
1980
  entry: CmsEntry;
1790
1981
  model: StorageOperationsCmsModel;
@@ -1838,6 +2029,7 @@ export interface EntryBeforeListTopicParams {
1838
2029
  * @category CmsEntry
1839
2030
  */
1840
2031
  export interface CreateCmsEntryInput {
2032
+ id?: string;
1841
2033
  [key: string]: any;
1842
2034
  }
1843
2035
  /**
@@ -2018,6 +2210,9 @@ export interface CmsEntryContext {
2018
2210
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
2019
2211
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
2020
2212
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2213
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2214
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2215
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
2021
2216
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2022
2217
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2023
2218
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2222,7 +2417,7 @@ export interface CmsEntryStorageOperationsListParams {
2222
2417
  sort?: CmsEntryListSort;
2223
2418
  search?: string;
2224
2419
  fields?: string[];
2225
- limit?: number;
2420
+ limit: number;
2226
2421
  after?: string | null;
2227
2422
  }
2228
2423
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {
@@ -2494,9 +2689,5 @@ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2494
2689
  */
2495
2690
  beforeInit?: (context: C) => Promise<void>;
2496
2691
  init?: (context: C) => Promise<void>;
2497
- /**
2498
- * An upgrade to run if necessary.
2499
- */
2500
- upgrade?: UpgradePlugin | null;
2501
2692
  }
2502
2693
  export {};