@webiny/api-headless-cms 0.0.0-unstable.615a930a68 → 0.0.0-unstable.6509387258

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 (383) 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 +19 -29
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  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 +4 -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/models.js +12 -0
  58. package/crud/contentModel/models.js.map +1 -1
  59. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  60. package/crud/contentModel/validate/endingAllowed.js +26 -0
  61. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  62. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  63. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  64. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  65. package/crud/contentModel/validate/modelId.d.ts +11 -0
  66. package/crud/contentModel/validate/modelId.js +36 -0
  67. package/crud/contentModel/validate/modelId.js.map +1 -0
  68. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  69. package/crud/contentModel/validate/pluralApiName.js +24 -0
  70. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  71. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  72. package/crud/contentModel/validate/singularApiName.js +24 -0
  73. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  74. package/crud/contentModel/validateLayout.js +0 -8
  75. package/crud/contentModel/validateLayout.js.map +1 -1
  76. package/crud/contentModel/validateModel.d.ts +4 -4
  77. package/crud/contentModel/validateModel.js +6 -11
  78. package/crud/contentModel/validateModel.js.map +1 -1
  79. package/crud/contentModel/validateModelFields.d.ts +4 -4
  80. package/crud/contentModel/validateModelFields.js +130 -147
  81. package/crud/contentModel/validateModelFields.js.map +1 -1
  82. package/crud/contentModel/validation.d.ts +519 -0
  83. package/crud/contentModel/validation.js +145 -0
  84. package/crud/contentModel/validation.js.map +1 -0
  85. package/crud/contentModel.crud.js +373 -362
  86. package/crud/contentModel.crud.js.map +1 -1
  87. package/crud/contentModelGroup/beforeCreate.js +0 -12
  88. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  89. package/crud/contentModelGroup/beforeDelete.js +0 -8
  90. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  91. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  92. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  93. package/crud/contentModelGroup/validation.d.ts +30 -0
  94. package/crud/contentModelGroup/validation.js +34 -0
  95. package/crud/contentModelGroup/validation.js.map +1 -0
  96. package/crud/contentModelGroup.crud.js +194 -208
  97. package/crud/contentModelGroup.crud.js.map +1 -1
  98. package/crud/settings.crud.js +0 -12
  99. package/crud/settings.crud.js.map +1 -1
  100. package/crud/system.crud.js +1 -96
  101. package/crud/system.crud.js.map +1 -1
  102. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  103. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  104. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  105. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  106. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  107. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  108. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  109. package/fieldConverters/index.d.ts +2 -1
  110. package/fieldConverters/index.js +2 -5
  111. package/fieldConverters/index.js.map +1 -1
  112. package/graphql/buildSchemaPlugins.d.ts +8 -3
  113. package/graphql/buildSchemaPlugins.js +6 -14
  114. package/graphql/buildSchemaPlugins.js.map +1 -1
  115. package/graphql/createExecutableSchema.d.ts +6 -0
  116. package/graphql/createExecutableSchema.js +29 -0
  117. package/graphql/createExecutableSchema.js.map +1 -0
  118. package/graphql/generateSchema.d.ts +8 -0
  119. package/graphql/generateSchema.js +31 -0
  120. package/graphql/generateSchema.js.map +1 -0
  121. package/graphql/graphQLHandlerFactory.js +102 -71
  122. package/graphql/graphQLHandlerFactory.js.map +1 -1
  123. package/graphql/index.d.ts +1 -3
  124. package/graphql/index.js +2 -46
  125. package/graphql/index.js.map +1 -1
  126. package/graphql/schema/baseContentSchema.d.ts +6 -2
  127. package/graphql/schema/baseContentSchema.js +10 -20
  128. package/graphql/schema/baseContentSchema.js.map +1 -1
  129. package/graphql/schema/baseSchema.d.ts +3 -0
  130. package/graphql/schema/baseSchema.js +53 -0
  131. package/graphql/schema/baseSchema.js.map +1 -0
  132. package/graphql/schema/contentEntries.d.ts +6 -2
  133. package/graphql/schema/contentEntries.js +118 -107
  134. package/graphql/schema/contentEntries.js.map +1 -1
  135. package/graphql/schema/contentModelGroups.d.ts +6 -2
  136. package/graphql/schema/contentModelGroups.js +16 -29
  137. package/graphql/schema/contentModelGroups.js.map +1 -1
  138. package/graphql/schema/contentModels.d.ts +6 -2
  139. package/graphql/schema/contentModels.js +62 -26
  140. package/graphql/schema/contentModels.js.map +1 -1
  141. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  142. package/graphql/schema/createFieldResolvers.js +20 -27
  143. package/graphql/schema/createFieldResolvers.js.map +1 -1
  144. package/graphql/schema/createManageResolvers.d.ts +1 -1
  145. package/graphql/schema/createManageResolvers.js +33 -43
  146. package/graphql/schema/createManageResolvers.js.map +1 -1
  147. package/graphql/schema/createManageSDL.d.ts +3 -0
  148. package/graphql/schema/createManageSDL.js +63 -68
  149. package/graphql/schema/createManageSDL.js.map +1 -1
  150. package/graphql/schema/createPreviewResolvers.js +3 -17
  151. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  152. package/graphql/schema/createReadResolvers.js +8 -17
  153. package/graphql/schema/createReadResolvers.js.map +1 -1
  154. package/graphql/schema/createReadSDL.d.ts +3 -0
  155. package/graphql/schema/createReadSDL.js +32 -36
  156. package/graphql/schema/createReadSDL.js.map +1 -1
  157. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  158. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  159. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  160. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  161. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  162. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  163. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  164. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  165. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  166. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  167. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  168. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  169. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  170. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  171. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  172. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  173. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  174. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  175. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  176. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  177. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  178. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  179. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  180. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  181. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  182. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  183. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  184. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  185. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  186. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  187. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  188. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  189. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  190. package/graphql/schema/schemaPlugins.d.ts +8 -3
  191. package/graphql/schema/schemaPlugins.js +64 -66
  192. package/graphql/schema/schemaPlugins.js.map +1 -1
  193. package/graphql/system.js +55 -87
  194. package/graphql/system.js.map +1 -1
  195. package/graphqlFields/boolean.js +0 -12
  196. package/graphqlFields/boolean.js.map +1 -1
  197. package/graphqlFields/datetime.js +0 -17
  198. package/graphqlFields/datetime.js.map +1 -1
  199. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  200. package/graphqlFields/dynamicZone/dynamicZoneField.js +216 -0
  201. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  202. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  203. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  204. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  205. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  206. package/graphqlFields/dynamicZone/index.js +19 -0
  207. package/graphqlFields/dynamicZone/index.js.map +1 -0
  208. package/graphqlFields/file.js +0 -8
  209. package/graphqlFields/file.js.map +1 -1
  210. package/graphqlFields/helpers.js +0 -10
  211. package/graphqlFields/helpers.js.map +1 -1
  212. package/graphqlFields/index.d.ts +1 -1
  213. package/graphqlFields/index.js +2 -12
  214. package/graphqlFields/index.js.map +1 -1
  215. package/graphqlFields/longText.js +0 -10
  216. package/graphqlFields/longText.js.map +1 -1
  217. package/graphqlFields/number.js +0 -12
  218. package/graphqlFields/number.js.map +1 -1
  219. package/graphqlFields/object.js +62 -115
  220. package/graphqlFields/object.js.map +1 -1
  221. package/graphqlFields/ref.js +86 -106
  222. package/graphqlFields/ref.js.map +1 -1
  223. package/graphqlFields/richText.js +0 -9
  224. package/graphqlFields/richText.js.map +1 -1
  225. package/graphqlFields/text.js +0 -11
  226. package/graphqlFields/text.js.map +1 -1
  227. package/index.d.ts +5 -3
  228. package/index.js +24 -28
  229. package/index.js.map +1 -1
  230. package/modelManager/DefaultCmsModelManager.js +0 -16
  231. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  232. package/modelManager/index.js +0 -4
  233. package/modelManager/index.js.map +1 -1
  234. package/package.json +27 -28
  235. package/parameters/context.js +0 -4
  236. package/parameters/context.js.map +1 -1
  237. package/parameters/header.js +0 -11
  238. package/parameters/header.js.map +1 -1
  239. package/parameters/index.js +0 -8
  240. package/parameters/index.js.map +1 -1
  241. package/parameters/manual.js +1 -8
  242. package/parameters/manual.js.map +1 -1
  243. package/parameters/path.js +0 -11
  244. package/parameters/path.js.map +1 -1
  245. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  246. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  247. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  248. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  249. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  250. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  251. package/plugins/CmsGroupPlugin.js +0 -8
  252. package/plugins/CmsGroupPlugin.js.map +1 -1
  253. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  254. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  255. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  256. package/plugins/CmsModelPlugin.d.ts +19 -3
  257. package/plugins/CmsModelPlugin.js +30 -40
  258. package/plugins/CmsModelPlugin.js.map +1 -1
  259. package/plugins/CmsParametersPlugin.js +0 -7
  260. package/plugins/CmsParametersPlugin.js.map +1 -1
  261. package/plugins/StorageTransformPlugin.d.ts +11 -11
  262. package/plugins/StorageTransformPlugin.js +0 -9
  263. package/plugins/StorageTransformPlugin.js.map +1 -1
  264. package/plugins/index.d.ts +2 -0
  265. package/plugins/index.js +22 -10
  266. package/plugins/index.js.map +1 -1
  267. package/storage/default.js +0 -3
  268. package/storage/default.js.map +1 -1
  269. package/storage/object.js +4 -20
  270. package/storage/object.js.map +1 -1
  271. package/types.d.ts +309 -81
  272. package/types.js +63 -70
  273. package/types.js.map +1 -1
  274. package/utils/access.js +11 -25
  275. package/utils/access.js.map +1 -1
  276. package/utils/converters/Converter.js +0 -13
  277. package/utils/converters/Converter.js.map +1 -1
  278. package/utils/converters/ConverterCollection.js +14 -34
  279. package/utils/converters/ConverterCollection.js.map +1 -1
  280. package/utils/converters/valueKeyStorageConverter.d.ts +2 -2
  281. package/utils/converters/valueKeyStorageConverter.js +8 -27
  282. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  283. package/utils/createTypeFromFields.d.ts +16 -0
  284. package/utils/createTypeFromFields.js +67 -0
  285. package/utils/createTypeFromFields.js.map +1 -0
  286. package/utils/createTypeName.js +2 -9
  287. package/utils/createTypeName.js.map +1 -1
  288. package/utils/entryStorage.js +22 -35
  289. package/utils/entryStorage.js.map +1 -1
  290. package/utils/filterAsync.js +0 -5
  291. package/utils/filterAsync.js.map +1 -1
  292. package/utils/getBaseFieldType.d.ts +4 -0
  293. package/utils/getBaseFieldType.js +10 -0
  294. package/utils/getBaseFieldType.js.map +1 -0
  295. package/utils/getEntryDescription.d.ts +2 -0
  296. package/utils/getEntryDescription.js +17 -0
  297. package/utils/getEntryDescription.js.map +1 -0
  298. package/utils/getEntryImage.d.ts +2 -0
  299. package/utils/getEntryImage.js +17 -0
  300. package/utils/getEntryImage.js.map +1 -0
  301. package/utils/getEntryTitle.js +0 -9
  302. package/utils/getEntryTitle.js.map +1 -1
  303. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  304. package/utils/getSchemaFromFieldPlugins.js +23 -19
  305. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  306. package/utils/incrementEntryIdVersion.d.ts +5 -0
  307. package/utils/incrementEntryIdVersion.js +29 -0
  308. package/utils/incrementEntryIdVersion.js.map +1 -0
  309. package/utils/ownership.d.ts +3 -3
  310. package/utils/ownership.js +0 -8
  311. package/utils/ownership.js.map +1 -1
  312. package/utils/permissions.js +8 -23
  313. package/utils/permissions.js.map +1 -1
  314. package/utils/renderFields.d.ts +2 -1
  315. package/utils/renderFields.js +10 -10
  316. package/utils/renderFields.js.map +1 -1
  317. package/utils/renderGetFilterFields.js +6 -14
  318. package/utils/renderGetFilterFields.js.map +1 -1
  319. package/utils/renderInputFields.d.ts +2 -1
  320. package/utils/renderInputFields.js +6 -9
  321. package/utils/renderInputFields.js.map +1 -1
  322. package/utils/renderListFilterFields.js +2 -9
  323. package/utils/renderListFilterFields.js.map +1 -1
  324. package/utils/renderSortEnum.d.ts +7 -4
  325. package/utils/renderSortEnum.js +21 -11
  326. package/utils/renderSortEnum.js.map +1 -1
  327. package/utils/toSlug.js +0 -4
  328. package/utils/toSlug.js.map +1 -1
  329. package/validators/dateGte.js +0 -7
  330. package/validators/dateGte.js.map +1 -1
  331. package/validators/dateLte.js +0 -7
  332. package/validators/dateLte.js.map +1 -1
  333. package/validators/dynamicZone.d.ts +2 -0
  334. package/validators/dynamicZone.js +20 -0
  335. package/validators/dynamicZone.js.map +1 -0
  336. package/validators/gte.js +0 -8
  337. package/validators/gte.js.map +1 -1
  338. package/validators/in.js +0 -8
  339. package/validators/in.js.map +1 -1
  340. package/validators/index.js +2 -16
  341. package/validators/index.js.map +1 -1
  342. package/validators/lte.js +0 -8
  343. package/validators/lte.js.map +1 -1
  344. package/validators/maxLength.js +0 -8
  345. package/validators/maxLength.js.map +1 -1
  346. package/validators/minLength.js +0 -8
  347. package/validators/minLength.js.map +1 -1
  348. package/validators/pattern.js +0 -9
  349. package/validators/pattern.js.map +1 -1
  350. package/validators/patternPlugins/email.js +0 -2
  351. package/validators/patternPlugins/email.js.map +1 -1
  352. package/validators/patternPlugins/index.js +0 -8
  353. package/validators/patternPlugins/index.js.map +1 -1
  354. package/validators/patternPlugins/lowerCase.js +0 -2
  355. package/validators/patternPlugins/lowerCase.js.map +1 -1
  356. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  357. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  358. package/validators/patternPlugins/upperCase.js +0 -2
  359. package/validators/patternPlugins/upperCase.js.map +1 -1
  360. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  361. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  362. package/validators/patternPlugins/url.js +0 -2
  363. package/validators/patternPlugins/url.js.map +1 -1
  364. package/validators/required.js +0 -5
  365. package/validators/required.js.map +1 -1
  366. package/validators/timeGte.js +0 -8
  367. package/validators/timeGte.js.map +1 -1
  368. package/validators/timeLte.js +0 -8
  369. package/validators/timeLte.js.map +1 -1
  370. package/validators/unique.js +0 -7
  371. package/validators/unique.js.map +1 -1
  372. package/crud/index.d.ts +0 -6
  373. package/crud/index.js +0 -85
  374. package/crud/index.js.map +0 -1
  375. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  376. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  377. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  378. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  379. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  380. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  381. package/utils/filterModelFields.d.ts +0 -16
  382. package/utils/filterModelFields.js +0 -77
  383. package/utils/filterModelFields.js.map +0 -1
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.
@@ -195,6 +196,10 @@ export interface CmsModelField {
195
196
  *
196
197
  */
197
198
  multipleValues?: boolean;
199
+ /**
200
+ * Fields can be tagged to give them contextual meaning.
201
+ */
202
+ tags?: string[];
198
203
  /**
199
204
  * Any user defined settings.
200
205
  *
@@ -202,18 +207,42 @@ export interface CmsModelField {
202
207
  */
203
208
  settings?: CmsModelFieldSettings;
204
209
  }
210
+ export interface CmsDynamicZoneTemplate {
211
+ id: string;
212
+ name: string;
213
+ gqlTypeName: string;
214
+ description: string;
215
+ icon: string;
216
+ fields: CmsModelField[];
217
+ layout: string[][];
218
+ validation: CmsModelFieldValidation[];
219
+ }
220
+ /**
221
+ * A definition for dynamic-zone field to show possible type of the field in settings.
222
+ */
223
+ export interface CmsModelDynamicZoneField extends CmsModelField {
224
+ /**
225
+ * Settings object for the field. Contains `templates` property.
226
+ */
227
+ settings: {
228
+ templates: CmsDynamicZoneTemplate[];
229
+ };
230
+ }
205
231
  /**
206
232
  * Used for our internal functionality.
207
233
  */
208
234
  export interface CmsModelFieldWithParent extends CmsModelField {
209
235
  parent?: CmsModelFieldWithParent | null;
210
236
  }
237
+ export interface CmsModelDynamicZoneFieldWithParent extends CmsModelDynamicZoneField {
238
+ parent?: CmsModelDynamicZoneFieldWithParent | null;
239
+ }
211
240
  /**
212
241
  * A definition for dateTime field to show possible type of the field in settings.
213
242
  */
214
243
  export interface CmsModelDateTimeField extends CmsModelField {
215
244
  /**
216
- * Settings object for the field. Contains type property.
245
+ * Settings object for the field. Contains `type` property.
217
246
  */
218
247
  settings: {
219
248
  type: "time" | "date" | "dateTimeWithoutTimezone" | "dateTimeWithTimezone";
@@ -335,7 +364,21 @@ export interface LockedField {
335
364
  [key: string]: any;
336
365
  }
337
366
  /**
338
- * 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.
339
382
  *
340
383
  * @category Database model
341
384
  * @category CmsModel
@@ -349,6 +392,24 @@ export interface CmsModel {
349
392
  * Unique ID for the content model. Created from name if not defined by user.
350
393
  */
351
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;
352
413
  /**
353
414
  * Model tenant.
354
415
  */
@@ -360,20 +421,15 @@ export interface CmsModel {
360
421
  /**
361
422
  * Cms Group reference object.
362
423
  */
363
- group: {
364
- /**
365
- * Generated ID of the group
366
- */
367
- id: string;
368
- /**
369
- * Name of the group
370
- */
371
- name: string;
372
- };
424
+ group: CmsModelGroup;
425
+ /**
426
+ * Icon for the content model.
427
+ */
428
+ icon?: string | null;
373
429
  /**
374
430
  * Description for the content model.
375
431
  */
376
- description: string;
432
+ description: string | null;
377
433
  /**
378
434
  * Date created
379
435
  */
@@ -385,7 +441,7 @@ export interface CmsModel {
385
441
  /**
386
442
  * CreatedBy object wrapper. Contains id, name and type of the user.
387
443
  */
388
- createdBy?: CreatedBy;
444
+ createdBy?: CmsIdentity;
389
445
  /**
390
446
  * List of fields defining entry values.
391
447
  */
@@ -401,6 +457,10 @@ export interface CmsModel {
401
457
  * ```
402
458
  */
403
459
  layout: string[][];
460
+ /**
461
+ * Models can be tagged to give them contextual meaning.
462
+ */
463
+ tags?: string[];
404
464
  /**
405
465
  * List of locked fields. Updated when entry is saved and a field has been used.
406
466
  */
@@ -410,6 +470,16 @@ export interface CmsModel {
410
470
  * It is picked as first available text field. Or user can select own field.
411
471
  */
412
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;
413
483
  /**
414
484
  * The version of Webiny which this record was stored with.
415
485
  */
@@ -437,25 +507,40 @@ export interface CmsModelFieldDefinition {
437
507
  fields: string;
438
508
  typeDefs?: string;
439
509
  }
440
- interface CmsModelFieldToGraphQLCreateResolverParams {
510
+ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
441
511
  models: CmsModel[];
442
512
  model: CmsModel;
443
513
  graphQLType: string;
444
- field: CmsModelField;
514
+ field: TField;
445
515
  createFieldResolvers: any;
446
516
  }
447
- export interface CmsModelFieldToGraphQLCreateResolver {
448
- (params: CmsModelFieldToGraphQLCreateResolverParams): GraphQLFieldResolver | {
517
+ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
518
+ (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
449
519
  resolver: GraphQLFieldResolver | null;
450
520
  typeResolvers: Resolvers<CmsContext>;
451
521
  } | false;
452
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
+ }
453
538
  /**
454
539
  * @category Plugin
455
540
  * @category ModelField
456
541
  * @category GraphQL
457
542
  */
458
- export interface CmsModelFieldToGraphQLPlugin extends Plugin {
543
+ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField> extends Plugin {
459
544
  /**
460
545
  * A plugin type
461
546
  */
@@ -509,7 +594,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
509
594
  */
510
595
  createStorageId?: (params: {
511
596
  model: CmsModel;
512
- field: CmsModelField;
597
+ field: TField;
513
598
  }) => string | null | undefined;
514
599
  /**
515
600
  * Read API methods.
@@ -528,7 +613,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
528
613
  */
529
614
  createGetFilters?(params: {
530
615
  model: CmsModel;
531
- field: CmsModelField;
616
+ field: TField;
532
617
  }): string;
533
618
  /**
534
619
  * Definition for list filtering for GraphQL.
@@ -548,7 +633,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
548
633
  */
549
634
  createListFilters?(params: {
550
635
  model: CmsModel;
551
- field: CmsModelField;
636
+ field: TField;
552
637
  plugins: CmsFieldTypePlugins;
553
638
  }): string;
554
639
  /**
@@ -567,13 +652,14 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
567
652
  * ```
568
653
  */
569
654
  createTypeField(params: {
655
+ models: CmsModel[];
570
656
  model: CmsModel;
571
- field: CmsModelField;
657
+ field: TField;
572
658
  fieldTypePlugins: CmsFieldTypePlugins;
573
659
  }): CmsModelFieldDefinition | string | null;
574
660
  /**
575
661
  * Definition for field resolver.
576
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
662
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
577
663
  *
578
664
  * ```ts
579
665
  * read: {
@@ -585,7 +671,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
585
671
  * }
586
672
  * ```
587
673
  */
588
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
674
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
589
675
  /**
590
676
  * Read API schema definitions for the field and resolvers for them.
591
677
  *
@@ -628,7 +714,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
628
714
  */
629
715
  createListFilters?: (params: {
630
716
  model: CmsModel;
631
- field: CmsModelField;
717
+ field: TField;
632
718
  plugins: CmsFieldTypePlugins;
633
719
  }) => string;
634
720
  /**
@@ -667,8 +753,9 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
667
753
  * ```
668
754
  */
669
755
  createTypeField: (params: {
756
+ models: CmsModel[];
670
757
  model: CmsModel;
671
- field: CmsModelField;
758
+ field: TField;
672
759
  fieldTypePlugins: CmsFieldTypePlugins;
673
760
  }) => CmsModelFieldDefinition | string | null;
674
761
  /**
@@ -687,13 +774,14 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
687
774
  * ```
688
775
  */
689
776
  createInputField: (params: {
777
+ models: CmsModel[];
690
778
  model: CmsModel;
691
- field: CmsModelField;
779
+ field: TField;
692
780
  fieldTypePlugins: CmsFieldTypePlugins;
693
781
  }) => CmsModelFieldDefinition | string | null;
694
782
  /**
695
783
  * Definition for field resolver.
696
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
784
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
697
785
  *
698
786
  * ```ts
699
787
  * manage: {
@@ -705,8 +793,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
705
793
  * }
706
794
  * ```
707
795
  */
708
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
796
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
709
797
  };
798
+ /**
799
+ *
800
+ * @param field
801
+ */
802
+ validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;
710
803
  }
711
804
  /**
712
805
  * Check for content model locked field.
@@ -745,11 +838,11 @@ export interface CmsFieldTypePlugins {
745
838
  [key: string]: CmsModelFieldToGraphQLPlugin;
746
839
  }
747
840
  /**
748
- * A interface describing the reference to a user that created some data in the database.
841
+ * An interface describing the reference to a user that created some data in the database.
749
842
  *
750
843
  * @category General
751
844
  */
752
- export interface CreatedBy {
845
+ export interface CmsIdentity {
753
846
  /**
754
847
  * ID if the user.
755
848
  */
@@ -817,9 +910,7 @@ export interface OnSystemInstallErrorTopicParams {
817
910
  export declare type CmsSystemContext = {
818
911
  getSystemVersion: () => Promise<string | null>;
819
912
  setSystemVersion: (version: string) => Promise<void>;
820
- getReadAPIKey(): Promise<string | null>;
821
913
  installSystem: () => Promise<void>;
822
- upgradeSystem: (version: string) => Promise<boolean>;
823
914
  /**
824
915
  * Lifecycle events - deprecated
825
916
  */
@@ -839,7 +930,7 @@ export declare type CmsSystemContext = {
839
930
  onSystemInstallError: Topic<OnSystemInstallErrorTopicParams>;
840
931
  };
841
932
  /**
842
- * A GraphQL params.data parameter received when creating content model group.
933
+ * A GraphQL `params.data` parameter received when creating content model group.
843
934
  *
844
935
  * @category CmsGroup
845
936
  * @category GraphQL params
@@ -851,7 +942,7 @@ export interface CmsGroupCreateInput {
851
942
  icon: string;
852
943
  }
853
944
  /**
854
- * A GraphQL params.data parameter received when updating content model group.
945
+ * A GraphQL `params.data` parameter received when updating content model group.
855
946
  *
856
947
  * @category CmsGroup
857
948
  * @category GraphQL params
@@ -900,7 +991,7 @@ export interface CmsGroup {
900
991
  /**
901
992
  * CreatedBy reference object.
902
993
  */
903
- createdBy?: CreatedBy;
994
+ createdBy?: CmsIdentity;
904
995
  /**
905
996
  * Date group was created on.
906
997
  */
@@ -921,7 +1012,7 @@ export interface CmsGroup {
921
1012
  isPrivate?: boolean;
922
1013
  }
923
1014
  /**
924
- * A data.where parameter received when listing content model groups.
1015
+ * A `data.where` parameter received when listing content model groups.
925
1016
  *
926
1017
  * @category CmsGroup
927
1018
  * @category GraphQL params
@@ -947,6 +1038,15 @@ export interface OnGroupBeforeCreateTopicParams {
947
1038
  export interface OnGroupAfterCreateTopicParams {
948
1039
  group: CmsGroup;
949
1040
  }
1041
+ /**
1042
+ * @category CmsGroup
1043
+ * @category Topic
1044
+ */
1045
+ export interface OnGroupCreateErrorTopicParams {
1046
+ input: CmsGroupCreateInput;
1047
+ group: CmsGroup;
1048
+ error: Error;
1049
+ }
950
1050
  /**
951
1051
  * @category CmsGroup
952
1052
  * @category Topic
@@ -963,6 +1063,16 @@ export interface OnGroupAfterUpdateTopicParams {
963
1063
  original: CmsGroup;
964
1064
  group: CmsGroup;
965
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
+ }
966
1076
  /**
967
1077
  * @category CmsGroup
968
1078
  * @category Topic
@@ -977,6 +1087,14 @@ export interface OnGroupBeforeDeleteTopicParams {
977
1087
  export interface OnGroupAfterDeleteTopicParams {
978
1088
  group: CmsGroup;
979
1089
  }
1090
+ /**
1091
+ * @category CmsGroup
1092
+ * @category Topic
1093
+ */
1094
+ export interface OnGroupDeleteErrorTopicParams {
1095
+ group: CmsGroup;
1096
+ error: Error;
1097
+ }
980
1098
  /**
981
1099
  * Cms Group in context.
982
1100
  *
@@ -1040,10 +1158,13 @@ export interface CmsGroupContext {
1040
1158
  */
1041
1159
  onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1042
1160
  onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1161
+ onGroupCreateError: Topic<OnGroupCreateErrorTopicParams>;
1043
1162
  onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1044
1163
  onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1164
+ onGroupUpdateError: Topic<OnGroupUpdateErrorTopicParams>;
1045
1165
  onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1046
1166
  onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1167
+ onGroupDeleteError: Topic<OnGroupDeleteErrorTopicParams>;
1047
1168
  }
1048
1169
  /**
1049
1170
  * Definition for content model field validator.
@@ -1062,7 +1183,7 @@ export interface CmsModelFieldValidation {
1062
1183
  };
1063
1184
  }
1064
1185
  /**
1065
- * A GraphQL params.data parameter received when creating content model.
1186
+ * A GraphQL `params.data` parameter received when creating content model.
1066
1187
  *
1067
1188
  * @category GraphQL params
1068
1189
  * @category CmsModel
@@ -1072,6 +1193,14 @@ export interface CmsModelCreateInput {
1072
1193
  * Name of the content model.
1073
1194
  */
1074
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;
1075
1204
  /**
1076
1205
  * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.
1077
1206
  */
@@ -1079,7 +1208,7 @@ export interface CmsModelCreateInput {
1079
1208
  /**
1080
1209
  * Description of the content model.
1081
1210
  */
1082
- description?: string;
1211
+ description?: string | null;
1083
1212
  /**
1084
1213
  * Group where to put the content model in.
1085
1214
  */
@@ -1100,13 +1229,18 @@ export interface CmsModelCreateInput {
1100
1229
  */
1101
1230
  layout?: string[][];
1102
1231
  /**
1103
- * The field that is being displayed as entry title.
1104
- * It is picked as first available text field. Or user can select own field.
1232
+ * Models can be tagged to give them contextual meaning.
1233
+ */
1234
+ tags?: string[];
1235
+ /**
1236
+ * Fields fieldId which are picked to represent the CMS entry.
1105
1237
  */
1106
- titleFieldId?: string;
1238
+ titleFieldId?: string | null;
1239
+ descriptionFieldId?: string | null;
1240
+ imageFieldId?: string | null;
1107
1241
  }
1108
1242
  /**
1109
- * A GraphQL params.data parameter received when creating content model from existing model.
1243
+ * A GraphQL `params.data` parameter received when creating content model from existing model.
1110
1244
  *
1111
1245
  * @category GraphQL params
1112
1246
  * @category CmsModel
@@ -1147,11 +1281,15 @@ export interface CmsModelFieldInput {
1147
1281
  /**
1148
1282
  * Text to display below the field to help user what to write in the field.
1149
1283
  */
1150
- helpText?: string;
1284
+ helpText?: string | null;
1151
1285
  /**
1152
1286
  * Text to display in the field.
1153
1287
  */
1154
- placeholderText?: string;
1288
+ placeholderText?: string | null;
1289
+ /**
1290
+ * Fields can be tagged to give them contextual meaning.
1291
+ */
1292
+ tags?: string[];
1155
1293
  /**
1156
1294
  * Are multiple values allowed?
1157
1295
  */
@@ -1171,14 +1309,14 @@ export interface CmsModelFieldInput {
1171
1309
  /**
1172
1310
  * @see CmsModelField.listValidation
1173
1311
  */
1174
- listValidation: CmsModelFieldValidation[];
1312
+ listValidation?: CmsModelFieldValidation[];
1175
1313
  /**
1176
1314
  * User defined settings.
1177
1315
  */
1178
1316
  settings?: Record<string, any>;
1179
1317
  }
1180
1318
  /**
1181
- * A GraphQL params.data parameter received when updating content model.
1319
+ * A GraphQL `params.data` parameter received when updating content model.
1182
1320
  *
1183
1321
  * @category GraphQL params
1184
1322
  * @category CmsModel
@@ -1188,6 +1326,14 @@ export interface CmsModelUpdateInput {
1188
1326
  * A new content model name.
1189
1327
  */
1190
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;
1191
1337
  /**
1192
1338
  * A group we want to move the model to.
1193
1339
  */
@@ -1195,7 +1341,7 @@ export interface CmsModelUpdateInput {
1195
1341
  /**
1196
1342
  * A new description of the content model.
1197
1343
  */
1198
- description?: string;
1344
+ description?: string | null;
1199
1345
  /**
1200
1346
  * A list of content model fields to define the entry values.
1201
1347
  */
@@ -1212,10 +1358,11 @@ export interface CmsModelUpdateInput {
1212
1358
  */
1213
1359
  layout: string[][];
1214
1360
  /**
1215
- * The field that is being displayed as entry title.
1216
- * 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.
1217
1362
  */
1218
- titleFieldId?: string;
1363
+ titleFieldId?: string | null;
1364
+ descriptionFieldId?: string | null;
1365
+ imageFieldId?: string | null;
1219
1366
  }
1220
1367
  /**
1221
1368
  * A plugin to load a CmsModelManager.
@@ -1260,7 +1407,7 @@ export interface CmsEntryValues {
1260
1407
  export interface CmsEntry<T = CmsEntryValues> {
1261
1408
  /**
1262
1409
  * A version of the webiny this entry was created with.
1263
- * This can be used when upgrading the system so we know which entries to update.
1410
+ * This can be used when upgrading the system, so we know which entries to update.
1264
1411
  */
1265
1412
  webinyVersion: string;
1266
1413
  /**
@@ -1279,11 +1426,15 @@ export interface CmsEntry<T = CmsEntryValues> {
1279
1426
  /**
1280
1427
  * CreatedBy object reference.
1281
1428
  */
1282
- createdBy: CreatedBy;
1429
+ createdBy: CmsIdentity;
1283
1430
  /**
1284
1431
  * OwnedBy object reference. Can be different from CreatedBy.
1285
1432
  */
1286
- ownedBy: CreatedBy;
1433
+ ownedBy: CmsIdentity;
1434
+ /**
1435
+ * ModifiedBy object reference. Last person who modified the entry.
1436
+ */
1437
+ modifiedBy?: CmsIdentity | null;
1287
1438
  /**
1288
1439
  * A string of Date.toISOString() type.
1289
1440
  * Populated on creation.
@@ -1330,10 +1481,10 @@ export interface CmsEntry<T = CmsEntryValues> {
1330
1481
  /**
1331
1482
  * Settings for the given entry.
1332
1483
  *
1333
- * Introduced with Advanced Publishing Workflow - will be always inserted after this PR is merged.
1334
- * Be aware that when accessing properties in it on old systems - it will break if not checked first.
1484
+ * Introduced with Advanced Publishing Workflow. Will always be inserted once this PR is merged.
1485
+ * Be aware that when accessing properties in it on old systems, it will break if not checked first.
1335
1486
  *
1336
- * Available only on the Manage API in entry GraphQL type meta.data property.
1487
+ * Available only on the Manage API in entry GraphQL type `meta.data` property.
1337
1488
  */
1338
1489
  meta?: {
1339
1490
  [key: string]: any;
@@ -1366,7 +1517,7 @@ export interface CmsModelManager {
1366
1517
  */
1367
1518
  getPublishedByIds: (ids: string[]) => Promise<CmsEntry[]>;
1368
1519
  /**
1369
- * Get a list of latest entries by the ID list.
1520
+ * Get a list of the latest entries by the ID list.
1370
1521
  */
1371
1522
  getLatestByIds: (ids: string[]) => Promise<CmsEntry[]>;
1372
1523
  /**
@@ -1374,18 +1525,21 @@ export interface CmsModelManager {
1374
1525
  */
1375
1526
  get: (id: string) => Promise<CmsEntry>;
1376
1527
  /**
1377
- * Create a entry.
1528
+ * Create an entry.
1378
1529
  */
1379
1530
  create: (data: CreateCmsEntryInput) => Promise<CmsEntry>;
1380
1531
  /**
1381
- * Update a entry.
1532
+ * Update an entry.
1382
1533
  */
1383
1534
  update: (id: string, data: UpdateCmsEntryInput) => Promise<CmsEntry>;
1384
1535
  /**
1385
- * Delete a entry.
1536
+ * Delete an entry.
1386
1537
  */
1387
1538
  delete: (id: string) => Promise<void>;
1388
1539
  }
1540
+ /**
1541
+ * Create
1542
+ */
1389
1543
  export interface OnModelBeforeCreateTopicParams {
1390
1544
  input: CmsModelCreateInput;
1391
1545
  model: CmsModel;
@@ -1394,6 +1548,14 @@ export interface OnModelAfterCreateTopicParams {
1394
1548
  input: CmsModelCreateInput;
1395
1549
  model: CmsModel;
1396
1550
  }
1551
+ export interface OnModelCreateErrorTopicParams {
1552
+ input: CmsModelCreateInput;
1553
+ model: CmsModel;
1554
+ error: Error;
1555
+ }
1556
+ /**
1557
+ * Create From / Clone
1558
+ */
1397
1559
  export interface OnModelBeforeCreateFromTopicParams {
1398
1560
  input: CmsModelCreateInput;
1399
1561
  original: CmsModel;
@@ -1404,6 +1566,15 @@ export interface OnModelAfterCreateFromTopicParams {
1404
1566
  original: CmsModel;
1405
1567
  model: CmsModel;
1406
1568
  }
1569
+ export interface OnModelCreateFromErrorParams {
1570
+ input: CmsModelCreateInput;
1571
+ original: CmsModel;
1572
+ model: CmsModel;
1573
+ error: Error;
1574
+ }
1575
+ /**
1576
+ * Update
1577
+ */
1407
1578
  export interface OnModelBeforeUpdateTopicParams {
1408
1579
  input: CmsModelUpdateInput;
1409
1580
  original: CmsModel;
@@ -1414,15 +1585,35 @@ export interface OnModelAfterUpdateTopicParams {
1414
1585
  original: CmsModel;
1415
1586
  model: CmsModel;
1416
1587
  }
1588
+ export interface OnModelUpdateErrorTopicParams {
1589
+ input: CmsModelUpdateInput;
1590
+ original: CmsModel;
1591
+ model: CmsModel;
1592
+ error: Error;
1593
+ }
1594
+ /**
1595
+ * Delete
1596
+ */
1417
1597
  export interface OnModelBeforeDeleteTopicParams {
1418
1598
  model: CmsModel;
1419
1599
  }
1420
1600
  export interface OnModelAfterDeleteTopicParams {
1421
1601
  model: CmsModel;
1422
1602
  }
1603
+ export interface OnModelDeleteErrorTopicParams {
1604
+ model: CmsModel;
1605
+ error: Error;
1606
+ }
1607
+ /**
1608
+ * Initialize
1609
+ */
1423
1610
  export interface OnModelInitializeParams {
1424
1611
  model: CmsModel;
1612
+ data: Record<string, any>;
1425
1613
  }
1614
+ /**
1615
+ *
1616
+ */
1426
1617
  export interface CmsModelUpdateDirectParams {
1427
1618
  model: CmsModel;
1428
1619
  original: CmsModel;
@@ -1469,9 +1660,9 @@ export interface CmsModelContext {
1469
1660
  *
1470
1661
  * Primary idea behind this is creating the index, for the code models, in the ES.
1471
1662
  */
1472
- initializeModel: (modelId: string) => Promise<boolean>;
1663
+ initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1473
1664
  /**
1474
- * Get a instance of CmsModelManager for given content modelId.
1665
+ * Get an instance of CmsModelManager for given content modelId.
1475
1666
  *
1476
1667
  * @see CmsModelManager
1477
1668
  *
@@ -1530,12 +1721,16 @@ export interface CmsModelContext {
1530
1721
  */
1531
1722
  onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1532
1723
  onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1724
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1533
1725
  onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1534
1726
  onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1727
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1535
1728
  onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1536
1729
  onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1730
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1537
1731
  onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1538
1732
  onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1733
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1539
1734
  onModelInitialize: Topic<OnModelInitializeParams>;
1540
1735
  }
1541
1736
  /**
@@ -1679,6 +1874,9 @@ export interface CmsEntryMeta {
1679
1874
  */
1680
1875
  totalCount: number;
1681
1876
  }
1877
+ /**
1878
+ * Create
1879
+ */
1682
1880
  export interface OnEntryBeforeCreateTopicParams {
1683
1881
  input: CreateCmsEntryInput;
1684
1882
  entry: CmsEntry;
@@ -1696,6 +1894,9 @@ export interface OnEntryCreateErrorTopicParams {
1696
1894
  entry: CmsEntry;
1697
1895
  model: CmsModel;
1698
1896
  }
1897
+ /**
1898
+ * Revision Create
1899
+ */
1699
1900
  export interface OnEntryRevisionBeforeCreateTopicParams {
1700
1901
  input: CreateFromCmsEntryInput;
1701
1902
  entry: CmsEntry;
@@ -1712,9 +1913,13 @@ export interface OnEntryRevisionAfterCreateTopicParams {
1712
1913
  export interface OnEntryCreateRevisionErrorTopicParams {
1713
1914
  error: Error;
1714
1915
  input: CreateFromCmsEntryInput;
1916
+ original: CmsEntry;
1715
1917
  entry: CmsEntry;
1716
1918
  model: CmsModel;
1717
1919
  }
1920
+ /**
1921
+ * Update
1922
+ */
1718
1923
  export interface OnEntryBeforeUpdateTopicParams {
1719
1924
  input: UpdateCmsEntryInput;
1720
1925
  original: CmsEntry;
@@ -1734,6 +1939,9 @@ export interface OnEntryUpdateErrorTopicParams {
1734
1939
  entry: CmsEntry;
1735
1940
  model: CmsModel;
1736
1941
  }
1942
+ /**
1943
+ * Publish
1944
+ */
1737
1945
  export interface OnEntryBeforePublishTopicParams {
1738
1946
  entry: CmsEntry;
1739
1947
  model: StorageOperationsCmsModel;
@@ -1748,6 +1956,26 @@ export interface OnEntryPublishErrorTopicParams {
1748
1956
  entry: CmsEntry;
1749
1957
  model: StorageOperationsCmsModel;
1750
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
+ */
1751
1979
  export interface OnEntryBeforeUnpublishTopicParams {
1752
1980
  entry: CmsEntry;
1753
1981
  model: StorageOperationsCmsModel;
@@ -1801,6 +2029,7 @@ export interface EntryBeforeListTopicParams {
1801
2029
  * @category CmsEntry
1802
2030
  */
1803
2031
  export interface CreateCmsEntryInput {
2032
+ id?: string;
1804
2033
  [key: string]: any;
1805
2034
  }
1806
2035
  /**
@@ -1841,7 +2070,7 @@ export interface CmsEntryContext {
1841
2070
  */
1842
2071
  listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1843
2072
  /**
1844
- * Lists latest entries. Used for manage API.
2073
+ * Lists the latest entries. Used for manage API.
1845
2074
  */
1846
2075
  listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1847
2076
  /**
@@ -1981,6 +2210,9 @@ export interface CmsEntryContext {
1981
2210
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
1982
2211
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
1983
2212
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2213
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2214
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2215
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
1984
2216
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
1985
2217
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
1986
2218
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2029,13 +2261,13 @@ export interface BaseCmsSecurityPermission extends SecurityPermission {
2029
2261
  */
2030
2262
  export interface CmsModelPermission extends BaseCmsSecurityPermission {
2031
2263
  /**
2032
- * A object representing `key: model.modelId` values where key is locale code.
2264
+ * An object representing `key: model.modelId` values where key is locale code.
2033
2265
  */
2034
2266
  models?: {
2035
2267
  [key: string]: string[];
2036
2268
  };
2037
2269
  /**
2038
- * A object representing `key: group.id` values where key is locale code.
2270
+ * {locale: groupId[]} map, where key is a locale code.
2039
2271
  */
2040
2272
  groups?: {
2041
2273
  [key: string]: string[];
@@ -2049,7 +2281,7 @@ export interface CmsModelPermission extends BaseCmsSecurityPermission {
2049
2281
  */
2050
2282
  export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2051
2283
  /**
2052
- * A object representing `key: group.id` values where key is locale code.
2284
+ * {locale: groupId[]} map, where key is a locale code.
2053
2285
  */
2054
2286
  groups?: {
2055
2287
  [key: string]: string[];
@@ -2064,13 +2296,13 @@ export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2064
2296
  export interface CmsEntryPermission extends BaseCmsSecurityPermission {
2065
2297
  pw?: string;
2066
2298
  /**
2067
- * A object representing `key: model.modelId` values where key is locale code.
2299
+ * An object representing `key: model.modelId` values where key is locale code.
2068
2300
  */
2069
2301
  models?: {
2070
2302
  [key: string]: string[];
2071
2303
  };
2072
2304
  /**
2073
- * A object representing `key: group.id` values where key is locale code.
2305
+ * {locale: groupId[]} map, where key is a locale code.
2074
2306
  */
2075
2307
  groups?: {
2076
2308
  [key: string]: string[];
@@ -2185,7 +2417,7 @@ export interface CmsEntryStorageOperationsListParams {
2185
2417
  sort?: CmsEntryListSort;
2186
2418
  search?: string;
2187
2419
  fields?: string[];
2188
- limit?: number;
2420
+ limit: number;
2189
2421
  after?: string | null;
2190
2422
  }
2191
2423
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {
@@ -2457,9 +2689,5 @@ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2457
2689
  */
2458
2690
  beforeInit?: (context: C) => Promise<void>;
2459
2691
  init?: (context: C) => Promise<void>;
2460
- /**
2461
- * An upgrade to run if necessary.
2462
- */
2463
- upgrade?: UpgradePlugin | null;
2464
2692
  }
2465
2693
  export {};