@webiny/api-headless-cms 0.0.0-unstable.97a151f74d → 0.0.0-unstable.98511f29f1

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 (457) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +94 -24
  6. package/context.js.map +1 -1
  7. package/crud/contentEntry/afterDelete.js +0 -5
  8. package/crud/contentEntry/afterDelete.js.map +1 -1
  9. package/crud/contentEntry/beforeCreate.js +0 -3
  10. package/crud/contentEntry/beforeCreate.js.map +1 -1
  11. package/crud/contentEntry/beforeUpdate.js +0 -3
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataValidation.js +1 -40
  14. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  15. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  16. package/crud/contentEntry/markLockedFields.js +15 -28
  17. package/crud/contentEntry/markLockedFields.js.map +1 -1
  18. package/crud/contentEntry/referenceFieldsMapping.js +39 -66
  19. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  20. package/crud/contentEntry/searchableFields.js +1 -12
  21. package/crud/contentEntry/searchableFields.js.map +1 -1
  22. package/crud/contentEntry.crud.d.ts +12 -5
  23. package/crud/contentEntry.crud.js +1224 -913
  24. package/crud/contentEntry.crud.js.map +1 -1
  25. package/crud/contentModel/afterCreate.js +0 -2
  26. package/crud/contentModel/afterCreate.js.map +1 -1
  27. package/crud/contentModel/afterCreateFrom.js +0 -2
  28. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  29. package/crud/contentModel/afterDelete.js +0 -2
  30. package/crud/contentModel/afterDelete.js.map +1 -1
  31. package/crud/contentModel/afterUpdate.js +0 -2
  32. package/crud/contentModel/afterUpdate.js.map +1 -1
  33. package/crud/contentModel/beforeCreate.d.ts +2 -3
  34. package/crud/contentModel/beforeCreate.js +43 -109
  35. package/crud/contentModel/beforeCreate.js.map +1 -1
  36. package/crud/contentModel/beforeDelete.d.ts +1 -1
  37. package/crud/contentModel/beforeDelete.js +1 -15
  38. package/crud/contentModel/beforeDelete.js.map +1 -1
  39. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  40. package/crud/contentModel/beforeUpdate.js +33 -10
  41. package/crud/contentModel/beforeUpdate.js.map +1 -1
  42. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  43. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  44. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  45. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  46. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  47. package/crud/contentModel/createFieldStorageId.js +0 -3
  48. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  49. package/crud/contentModel/defaultFields.d.ts +5 -0
  50. package/crud/contentModel/defaultFields.js +58 -0
  51. package/crud/contentModel/defaultFields.js.map +1 -0
  52. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  53. package/crud/contentModel/fields/descriptionField.js +42 -0
  54. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  55. package/crud/contentModel/fields/imageField.d.ts +2 -0
  56. package/crud/contentModel/fields/imageField.js +46 -0
  57. package/crud/contentModel/fields/imageField.js.map +1 -0
  58. package/crud/contentModel/fields/titleField.d.ts +2 -0
  59. package/crud/contentModel/fields/titleField.js +58 -0
  60. package/crud/contentModel/fields/titleField.js.map +1 -0
  61. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  62. package/crud/contentModel/validate/endingAllowed.js +26 -0
  63. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  64. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  65. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  66. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  67. package/crud/contentModel/validate/modelId.d.ts +11 -0
  68. package/crud/contentModel/validate/modelId.js +36 -0
  69. package/crud/contentModel/validate/modelId.js.map +1 -0
  70. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  71. package/crud/contentModel/validate/pluralApiName.js +24 -0
  72. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  73. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  74. package/crud/contentModel/validate/singularApiName.js +24 -0
  75. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  76. package/crud/contentModel/validateLayout.js +0 -8
  77. package/crud/contentModel/validateLayout.js.map +1 -1
  78. package/crud/contentModel/validateModel.d.ts +4 -4
  79. package/crud/contentModel/validateModel.js +6 -11
  80. package/crud/contentModel/validateModel.js.map +1 -1
  81. package/crud/contentModel/validateModelFields.d.ts +4 -4
  82. package/crud/contentModel/validateModelFields.js +120 -145
  83. package/crud/contentModel/validateModelFields.js.map +1 -1
  84. package/crud/contentModel/validation.d.ts +591 -0
  85. package/crud/contentModel/validation.js +145 -0
  86. package/crud/contentModel/validation.js.map +1 -0
  87. package/crud/contentModel.crud.d.ts +2 -0
  88. package/crud/contentModel.crud.js +380 -381
  89. package/crud/contentModel.crud.js.map +1 -1
  90. package/crud/contentModelGroup/beforeCreate.js +0 -12
  91. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  92. package/crud/contentModelGroup/beforeDelete.js +0 -8
  93. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  94. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  95. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  96. package/crud/contentModelGroup/validation.d.ts +30 -0
  97. package/crud/contentModelGroup/validation.js +34 -0
  98. package/crud/contentModelGroup/validation.js.map +1 -0
  99. package/crud/contentModelGroup.crud.d.ts +2 -0
  100. package/crud/contentModelGroup.crud.js +223 -222
  101. package/crud/contentModelGroup.crud.js.map +1 -1
  102. package/crud/settings.crud.d.ts +3 -1
  103. package/crud/settings.crud.js +7 -28
  104. package/crud/settings.crud.js.map +1 -1
  105. package/crud/system.crud.js +1 -96
  106. package/crud/system.crud.js.map +1 -1
  107. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  108. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  109. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  110. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  111. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  112. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +1 -54
  113. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  114. package/fieldConverters/index.d.ts +2 -1
  115. package/fieldConverters/index.js +2 -5
  116. package/fieldConverters/index.js.map +1 -1
  117. package/graphql/buildSchemaPlugins.d.ts +8 -3
  118. package/graphql/buildSchemaPlugins.js +7 -11
  119. package/graphql/buildSchemaPlugins.js.map +1 -1
  120. package/graphql/checkEndpointAccess.d.ts +2 -0
  121. package/graphql/checkEndpointAccess.js +18 -0
  122. package/graphql/checkEndpointAccess.js.map +1 -0
  123. package/graphql/createExecutableSchema.d.ts +6 -0
  124. package/graphql/createExecutableSchema.js +29 -0
  125. package/graphql/createExecutableSchema.js.map +1 -0
  126. package/graphql/createRequestBody.d.ts +2 -0
  127. package/graphql/createRequestBody.js +14 -0
  128. package/graphql/createRequestBody.js.map +1 -0
  129. package/graphql/formatErrorPayload.d.ts +1 -0
  130. package/graphql/formatErrorPayload.js +25 -0
  131. package/graphql/formatErrorPayload.js.map +1 -0
  132. package/graphql/generateSchema.d.ts +8 -0
  133. package/graphql/generateSchema.js +31 -0
  134. package/graphql/generateSchema.js.map +1 -0
  135. package/graphql/getSchema.d.ts +17 -0
  136. package/graphql/getSchema.js +102 -0
  137. package/graphql/getSchema.js.map +1 -0
  138. package/graphql/graphQLHandlerFactory.js +8 -169
  139. package/graphql/graphQLHandlerFactory.js.map +1 -1
  140. package/graphql/handleRequest.d.ts +11 -0
  141. package/graphql/handleRequest.js +81 -0
  142. package/graphql/handleRequest.js.map +1 -0
  143. package/graphql/index.d.ts +1 -3
  144. package/graphql/index.js +2 -46
  145. package/graphql/index.js.map +1 -1
  146. package/graphql/schema/baseContentSchema.d.ts +6 -2
  147. package/graphql/schema/baseContentSchema.js +10 -20
  148. package/graphql/schema/baseContentSchema.js.map +1 -1
  149. package/graphql/schema/baseSchema.d.ts +3 -0
  150. package/graphql/schema/baseSchema.js +84 -0
  151. package/graphql/schema/baseSchema.js.map +1 -0
  152. package/graphql/schema/contentEntries.d.ts +6 -2
  153. package/graphql/schema/contentEntries.js +126 -110
  154. package/graphql/schema/contentEntries.js.map +1 -1
  155. package/graphql/schema/contentModelGroups.d.ts +6 -2
  156. package/graphql/schema/contentModelGroups.js +16 -29
  157. package/graphql/schema/contentModelGroups.js.map +1 -1
  158. package/graphql/schema/contentModels.d.ts +6 -2
  159. package/graphql/schema/contentModels.js +46 -27
  160. package/graphql/schema/contentModels.js.map +1 -1
  161. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  162. package/graphql/schema/createFieldResolvers.js +19 -36
  163. package/graphql/schema/createFieldResolvers.js.map +1 -1
  164. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  165. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  166. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  167. package/graphql/schema/createManageResolvers.d.ts +1 -1
  168. package/graphql/schema/createManageResolvers.js +47 -43
  169. package/graphql/schema/createManageResolvers.js.map +1 -1
  170. package/graphql/schema/createManageSDL.d.ts +3 -0
  171. package/graphql/schema/createManageSDL.js +96 -77
  172. package/graphql/schema/createManageSDL.js.map +1 -1
  173. package/graphql/schema/createPreviewResolvers.js +3 -17
  174. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  175. package/graphql/schema/createReadResolvers.js +8 -17
  176. package/graphql/schema/createReadResolvers.js.map +1 -1
  177. package/graphql/schema/createReadSDL.d.ts +3 -0
  178. package/graphql/schema/createReadSDL.js +47 -47
  179. package/graphql/schema/createReadSDL.js.map +1 -1
  180. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  181. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  182. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  183. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  184. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  185. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  186. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  187. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  188. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -9
  189. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  190. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  191. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  192. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  193. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  194. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  195. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  196. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  197. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  198. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  199. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  200. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  201. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  202. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  203. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  204. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  205. package/graphql/schema/resolvers/manage/resolveMove.js +25 -0
  206. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  207. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  208. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  209. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  210. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  211. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  212. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  213. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  214. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  215. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  216. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  217. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  218. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  219. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  220. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  221. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  222. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  223. package/graphql/schema/schemaPlugins.d.ts +8 -3
  224. package/graphql/schema/schemaPlugins.js +58 -69
  225. package/graphql/schema/schemaPlugins.js.map +1 -1
  226. package/graphql/system.d.ts +2 -5
  227. package/graphql/system.js +56 -98
  228. package/graphql/system.js.map +1 -1
  229. package/graphqlFields/boolean.js +0 -12
  230. package/graphqlFields/boolean.js.map +1 -1
  231. package/graphqlFields/datetime.js +0 -17
  232. package/graphqlFields/datetime.js.map +1 -1
  233. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  234. package/graphqlFields/dynamicZone/dynamicZoneField.js +79 -45
  235. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  236. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
  237. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  238. package/graphqlFields/dynamicZone/index.js +0 -2
  239. package/graphqlFields/dynamicZone/index.js.map +1 -1
  240. package/graphqlFields/file.js +0 -8
  241. package/graphqlFields/file.js.map +1 -1
  242. package/graphqlFields/helpers.js +0 -10
  243. package/graphqlFields/helpers.js.map +1 -1
  244. package/graphqlFields/index.js +0 -12
  245. package/graphqlFields/index.js.map +1 -1
  246. package/graphqlFields/longText.js +0 -10
  247. package/graphqlFields/longText.js.map +1 -1
  248. package/graphqlFields/number.js +1 -12
  249. package/graphqlFields/number.js.map +1 -1
  250. package/graphqlFields/object.js +48 -52
  251. package/graphqlFields/object.js.map +1 -1
  252. package/graphqlFields/ref.js +64 -66
  253. package/graphqlFields/ref.js.map +1 -1
  254. package/graphqlFields/richText.js +0 -9
  255. package/graphqlFields/richText.js.map +1 -1
  256. package/graphqlFields/text.js +2 -11
  257. package/graphqlFields/text.js.map +1 -1
  258. package/index.d.ts +5 -3
  259. package/index.js +26 -28
  260. package/index.js.map +1 -1
  261. package/modelManager/DefaultCmsModelManager.js +0 -16
  262. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  263. package/modelManager/index.js +0 -4
  264. package/modelManager/index.js.map +1 -1
  265. package/package.json +35 -41
  266. package/parameters/context.js +0 -4
  267. package/parameters/context.js.map +1 -1
  268. package/parameters/header.js +3 -14
  269. package/parameters/header.js.map +1 -1
  270. package/parameters/index.js +0 -8
  271. package/parameters/index.js.map +1 -1
  272. package/parameters/manual.js +1 -8
  273. package/parameters/manual.js.map +1 -1
  274. package/parameters/path.js +0 -11
  275. package/parameters/path.js.map +1 -1
  276. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  277. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  278. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  279. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  280. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  281. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  282. package/plugins/CmsGroupPlugin.js +0 -8
  283. package/plugins/CmsGroupPlugin.js.map +1 -1
  284. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  285. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  286. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  287. package/plugins/CmsModelPlugin.d.ts +21 -3
  288. package/plugins/CmsModelPlugin.js +30 -40
  289. package/plugins/CmsModelPlugin.js.map +1 -1
  290. package/plugins/CmsParametersPlugin.js +3 -6
  291. package/plugins/CmsParametersPlugin.js.map +1 -1
  292. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  293. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  294. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  295. package/plugins/StorageTransformPlugin.js +0 -9
  296. package/plugins/StorageTransformPlugin.js.map +1 -1
  297. package/plugins/index.d.ts +3 -0
  298. package/plugins/index.js +33 -10
  299. package/plugins/index.js.map +1 -1
  300. package/storage/default.js +0 -3
  301. package/storage/default.js.map +1 -1
  302. package/storage/object.js +0 -19
  303. package/storage/object.js.map +1 -1
  304. package/types.d.ts +401 -96
  305. package/types.js +71 -68
  306. package/types.js.map +1 -1
  307. package/utils/converters/Converter.js +0 -13
  308. package/utils/converters/Converter.js.map +1 -1
  309. package/utils/converters/ConverterCollection.js +9 -33
  310. package/utils/converters/ConverterCollection.js.map +1 -1
  311. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  312. package/utils/converters/valueKeyStorageConverter.js +30 -45
  313. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  314. package/utils/createTypeFromFields.d.ts +1 -0
  315. package/utils/createTypeFromFields.js +12 -21
  316. package/utils/createTypeFromFields.js.map +1 -1
  317. package/utils/createTypeName.d.ts +0 -2
  318. package/utils/createTypeName.js +2 -19
  319. package/utils/createTypeName.js.map +1 -1
  320. package/utils/entryStorage.js +17 -34
  321. package/utils/entryStorage.js.map +1 -1
  322. package/utils/filterAsync.js +0 -5
  323. package/utils/filterAsync.js.map +1 -1
  324. package/utils/getBaseFieldType.d.ts +1 -3
  325. package/utils/getBaseFieldType.js +0 -2
  326. package/utils/getBaseFieldType.js.map +1 -1
  327. package/utils/getEntryDescription.d.ts +2 -0
  328. package/utils/getEntryDescription.js +17 -0
  329. package/utils/getEntryDescription.js.map +1 -0
  330. package/utils/getEntryImage.d.ts +2 -0
  331. package/utils/getEntryImage.js +17 -0
  332. package/utils/getEntryImage.js.map +1 -0
  333. package/utils/getEntryTitle.d.ts +1 -1
  334. package/utils/getEntryTitle.js +0 -9
  335. package/utils/getEntryTitle.js.map +1 -1
  336. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  337. package/utils/getSchemaFromFieldPlugins.js +23 -19
  338. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  339. package/utils/incrementEntryIdVersion.d.ts +5 -0
  340. package/utils/incrementEntryIdVersion.js +29 -0
  341. package/utils/incrementEntryIdVersion.js.map +1 -0
  342. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  343. package/utils/permissions/EntriesPermissions.js +9 -0
  344. package/utils/permissions/EntriesPermissions.js.map +1 -0
  345. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  346. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  347. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  348. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  349. package/utils/permissions/ModelsPermissions.js +91 -0
  350. package/utils/permissions/ModelsPermissions.js.map +1 -0
  351. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  352. package/utils/permissions/SettingsPermissions.js +9 -0
  353. package/utils/permissions/SettingsPermissions.js.map +1 -0
  354. package/utils/renderFields.d.ts +4 -2
  355. package/utils/renderFields.js +10 -11
  356. package/utils/renderFields.js.map +1 -1
  357. package/utils/renderGetFilterFields.d.ts +2 -2
  358. package/utils/renderGetFilterFields.js +7 -33
  359. package/utils/renderGetFilterFields.js.map +1 -1
  360. package/utils/renderInputFields.d.ts +4 -2
  361. package/utils/renderInputFields.js +17 -14
  362. package/utils/renderInputFields.js.map +1 -1
  363. package/utils/renderListFilterFields.d.ts +3 -1
  364. package/utils/renderListFilterFields.js +16 -30
  365. package/utils/renderListFilterFields.js.map +1 -1
  366. package/utils/renderSortEnum.d.ts +9 -5
  367. package/utils/renderSortEnum.js +24 -12
  368. package/utils/renderSortEnum.js.map +1 -1
  369. package/utils/toSlug.js +0 -4
  370. package/utils/toSlug.js.map +1 -1
  371. package/validators/dateGte.js +0 -7
  372. package/validators/dateGte.js.map +1 -1
  373. package/validators/dateLte.js +0 -7
  374. package/validators/dateLte.js.map +1 -1
  375. package/validators/dynamicZone.js +0 -4
  376. package/validators/dynamicZone.js.map +1 -1
  377. package/validators/gte.js +0 -8
  378. package/validators/gte.js.map +1 -1
  379. package/validators/in.js +0 -8
  380. package/validators/in.js.map +1 -1
  381. package/validators/index.js +0 -16
  382. package/validators/index.js.map +1 -1
  383. package/validators/lte.js +0 -8
  384. package/validators/lte.js.map +1 -1
  385. package/validators/maxLength.js +0 -8
  386. package/validators/maxLength.js.map +1 -1
  387. package/validators/minLength.js +0 -8
  388. package/validators/minLength.js.map +1 -1
  389. package/validators/pattern.js +0 -9
  390. package/validators/pattern.js.map +1 -1
  391. package/validators/patternPlugins/email.js +0 -2
  392. package/validators/patternPlugins/email.js.map +1 -1
  393. package/validators/patternPlugins/index.js +0 -8
  394. package/validators/patternPlugins/index.js.map +1 -1
  395. package/validators/patternPlugins/lowerCase.js +0 -2
  396. package/validators/patternPlugins/lowerCase.js.map +1 -1
  397. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  398. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  399. package/validators/patternPlugins/upperCase.js +0 -2
  400. package/validators/patternPlugins/upperCase.js.map +1 -1
  401. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  402. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  403. package/validators/patternPlugins/url.js +0 -2
  404. package/validators/patternPlugins/url.js.map +1 -1
  405. package/validators/required.js +0 -5
  406. package/validators/required.js.map +1 -1
  407. package/validators/timeGte.js +0 -8
  408. package/validators/timeGte.js.map +1 -1
  409. package/validators/timeLte.js +0 -8
  410. package/validators/timeLte.js.map +1 -1
  411. package/validators/unique.js +0 -7
  412. package/validators/unique.js.map +1 -1
  413. package/crud/contentModel/createFieldModels.d.ts +0 -2
  414. package/crud/contentModel/createFieldModels.js +0 -26
  415. package/crud/contentModel/createFieldModels.js.map +0 -1
  416. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  417. package/crud/contentModel/fieldIdValidation.js +0 -25
  418. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  419. package/crud/contentModel/idValidation.d.ts +0 -1
  420. package/crud/contentModel/idValidation.js +0 -22
  421. package/crud/contentModel/idValidation.js.map +0 -1
  422. package/crud/contentModel/models.d.ts +0 -4
  423. package/crud/contentModel/models.js +0 -192
  424. package/crud/contentModel/models.js.map +0 -1
  425. package/crud/contentModel/systemFields.d.ts +0 -1
  426. package/crud/contentModel/systemFields.js +0 -8
  427. package/crud/contentModel/systemFields.js.map +0 -1
  428. package/crud/index.d.ts +0 -6
  429. package/crud/index.js +0 -85
  430. package/crud/index.js.map +0 -1
  431. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  432. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  433. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  434. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  435. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  436. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  437. package/upgrades/5.33.0/index.d.ts +0 -3
  438. package/upgrades/5.33.0/index.js +0 -182
  439. package/upgrades/5.33.0/index.js.map +0 -1
  440. package/upgrades/index.d.ts +0 -1
  441. package/upgrades/index.js +0 -12
  442. package/upgrades/index.js.map +0 -1
  443. package/utils/access.d.ts +0 -8
  444. package/utils/access.js +0 -90
  445. package/utils/access.js.map +0 -1
  446. package/utils/filterModelFields.d.ts +0 -16
  447. package/utils/filterModelFields.js +0 -77
  448. package/utils/filterModelFields.js.map +0 -1
  449. package/utils/ownership.d.ts +0 -8
  450. package/utils/ownership.js +0 -41
  451. package/utils/ownership.js.map +0 -1
  452. package/utils/permissions.d.ts +0 -7
  453. package/utils/permissions.js +0 -106
  454. package/utils/permissions.js.map +0 -1
  455. package/utils/pluralizedTypeName.d.ts +0 -1
  456. package/utils/pluralizedTypeName.js +0 -26
  457. package/utils/pluralizedTypeName.js.map +0 -1
package/types.d.ts CHANGED
@@ -4,8 +4,6 @@ import { Context } from "@webiny/api/types";
4
4
  import { GraphQLFieldResolver, GraphQLSchemaDefinition, Resolvers } from "@webiny/handler-graphql/types";
5
5
  import { SecurityPermission } from "@webiny/api-security/types";
6
6
  import { DbContext } from "@webiny/handler-db/types";
7
- import { FileManagerContext } from "@webiny/api-file-manager/types";
8
- import { UpgradePlugin } from "@webiny/api-upgrade/types";
9
7
  import { Topic } from "@webiny/pubsub/types";
10
8
  import { CmsModelConverterCallable } from "./utils/converters/ConverterCollection";
11
9
  export declare type ApiEndpoint = "manage" | "preview" | "read";
@@ -44,7 +42,7 @@ export interface HeadlessCms extends CmsSettingsContext, CmsSystemContext, CmsGr
44
42
  *
45
43
  * @category Context
46
44
  */
47
- export interface CmsContext extends Context, DbContext, I18NContext, FileManagerContext {
45
+ export interface CmsContext extends Context, DbContext, I18NContext {
48
46
  cms: HeadlessCms;
49
47
  }
50
48
  interface CmsModelFieldPredefinedValuesValue {
@@ -98,6 +96,10 @@ export interface CmsModelFieldSettings {
98
96
  * Object field has child fields.
99
97
  */
100
98
  fields?: CmsModelField[];
99
+ /**
100
+ * Is the file field images only one?
101
+ */
102
+ imagesOnly?: boolean;
101
103
  /**
102
104
  * Object field has child fields - so it needs to have a layout.
103
105
  */
@@ -115,6 +117,7 @@ export interface CmsModelFieldSettings {
115
117
  */
116
118
  [key: string]: any;
117
119
  }
120
+ export declare type CmsModelFieldType = "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | "dynamicZone" | string;
118
121
  /**
119
122
  * A definition for content model field. This type exists on the app side as well.
120
123
  *
@@ -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: CmsModelFieldType;
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
  */
@@ -472,6 +513,7 @@ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
472
513
  graphQLType: string;
473
514
  field: TField;
474
515
  createFieldResolvers: any;
516
+ fieldTypePlugins: CmsFieldTypePlugins;
475
517
  }
476
518
  export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
477
519
  (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
@@ -479,6 +521,21 @@ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
479
521
  typeResolvers: Resolvers<CmsContext>;
480
522
  } | false;
481
523
  }
524
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
525
+ fields: TField[];
526
+ originalFields: TField[];
527
+ }
528
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidate {
529
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams): void;
530
+ }
531
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
532
+ field: TField;
533
+ originalField?: TField;
534
+ validate: CmsModelFieldToGraphQLPluginValidateChildFieldsValidate;
535
+ }
536
+ export interface CmsModelFieldToGraphQLPluginValidateChildFields<TField extends CmsModelField = CmsModelField> {
537
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField>): void;
538
+ }
482
539
  /**
483
540
  * @category Plugin
484
541
  * @category ModelField
@@ -538,7 +595,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
538
595
  */
539
596
  createStorageId?: (params: {
540
597
  model: CmsModel;
541
- field: TField;
598
+ field: Omit<TField, "storageId"> & Partial<Pick<TField, "storageId">>;
542
599
  }) => string | null | undefined;
543
600
  /**
544
601
  * Read API methods.
@@ -556,7 +613,6 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
556
613
  * ```
557
614
  */
558
615
  createGetFilters?(params: {
559
- model: CmsModel;
560
616
  field: TField;
561
617
  }): string;
562
618
  /**
@@ -576,7 +632,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
576
632
  * ```
577
633
  */
578
634
  createListFilters?(params: {
579
- model: CmsModel;
635
+ model: Pick<CmsModel, "singularApiName">;
580
636
  field: TField;
581
637
  plugins: CmsFieldTypePlugins;
582
638
  }): string;
@@ -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;
@@ -656,7 +713,7 @@ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = Cms
656
713
  * ```
657
714
  */
658
715
  createListFilters?: (params: {
659
- model: CmsModel;
716
+ model: Pick<CmsModel, "singularApiName">;
660
717
  field: TField;
661
718
  plugins: CmsFieldTypePlugins;
662
719
  }) => string;
@@ -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.
@@ -1364,6 +1478,12 @@ export interface CmsEntry<T = CmsEntryValues> {
1364
1478
  * @see CmsModelField
1365
1479
  */
1366
1480
  values: T;
1481
+ /**
1482
+ * Advanced Content Organization
1483
+ */
1484
+ location?: {
1485
+ folderId?: string | null;
1486
+ };
1367
1487
  /**
1368
1488
  * Settings for the given entry.
1369
1489
  *
@@ -1379,6 +1499,10 @@ export interface CmsEntry<T = CmsEntryValues> {
1379
1499
  export interface CmsStorageEntry extends CmsEntry {
1380
1500
  [key: string]: any;
1381
1501
  }
1502
+ export interface CmsEntryUniqueValue {
1503
+ value: string;
1504
+ count: number;
1505
+ }
1382
1506
  /**
1383
1507
  * A definition for content model manager to be used in the code.
1384
1508
  * The default one uses `CmsEntryContext` methods internally, but devs can change to what every they want.
@@ -1423,6 +1547,9 @@ export interface CmsModelManager {
1423
1547
  */
1424
1548
  delete: (id: string) => Promise<void>;
1425
1549
  }
1550
+ /**
1551
+ * Create
1552
+ */
1426
1553
  export interface OnModelBeforeCreateTopicParams {
1427
1554
  input: CmsModelCreateInput;
1428
1555
  model: CmsModel;
@@ -1431,6 +1558,14 @@ export interface OnModelAfterCreateTopicParams {
1431
1558
  input: CmsModelCreateInput;
1432
1559
  model: CmsModel;
1433
1560
  }
1561
+ export interface OnModelCreateErrorTopicParams {
1562
+ input: CmsModelCreateInput;
1563
+ model: CmsModel;
1564
+ error: Error;
1565
+ }
1566
+ /**
1567
+ * Create From / Clone
1568
+ */
1434
1569
  export interface OnModelBeforeCreateFromTopicParams {
1435
1570
  input: CmsModelCreateInput;
1436
1571
  original: CmsModel;
@@ -1441,6 +1576,15 @@ export interface OnModelAfterCreateFromTopicParams {
1441
1576
  original: CmsModel;
1442
1577
  model: CmsModel;
1443
1578
  }
1579
+ export interface OnModelCreateFromErrorParams {
1580
+ input: CmsModelCreateInput;
1581
+ original: CmsModel;
1582
+ model: CmsModel;
1583
+ error: Error;
1584
+ }
1585
+ /**
1586
+ * Update
1587
+ */
1444
1588
  export interface OnModelBeforeUpdateTopicParams {
1445
1589
  input: CmsModelUpdateInput;
1446
1590
  original: CmsModel;
@@ -1451,15 +1595,35 @@ export interface OnModelAfterUpdateTopicParams {
1451
1595
  original: CmsModel;
1452
1596
  model: CmsModel;
1453
1597
  }
1598
+ export interface OnModelUpdateErrorTopicParams {
1599
+ input: CmsModelUpdateInput;
1600
+ original: CmsModel;
1601
+ model: CmsModel;
1602
+ error: Error;
1603
+ }
1604
+ /**
1605
+ * Delete
1606
+ */
1454
1607
  export interface OnModelBeforeDeleteTopicParams {
1455
1608
  model: CmsModel;
1456
1609
  }
1457
1610
  export interface OnModelAfterDeleteTopicParams {
1458
1611
  model: CmsModel;
1459
1612
  }
1613
+ export interface OnModelDeleteErrorTopicParams {
1614
+ model: CmsModel;
1615
+ error: Error;
1616
+ }
1617
+ /**
1618
+ * Initialize
1619
+ */
1460
1620
  export interface OnModelInitializeParams {
1461
1621
  model: CmsModel;
1622
+ data: Record<string, any>;
1462
1623
  }
1624
+ /**
1625
+ *
1626
+ */
1463
1627
  export interface CmsModelUpdateDirectParams {
1464
1628
  model: CmsModel;
1465
1629
  original: CmsModel;
@@ -1506,7 +1670,7 @@ export interface CmsModelContext {
1506
1670
  *
1507
1671
  * Primary idea behind this is creating the index, for the code models, in the ES.
1508
1672
  */
1509
- initializeModel: (modelId: string) => Promise<boolean>;
1673
+ initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1510
1674
  /**
1511
1675
  * Get an instance of CmsModelManager for given content modelId.
1512
1676
  *
@@ -1567,12 +1731,16 @@ export interface CmsModelContext {
1567
1731
  */
1568
1732
  onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1569
1733
  onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1734
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1570
1735
  onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1571
1736
  onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1737
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1572
1738
  onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1573
1739
  onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1740
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1574
1741
  onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1575
1742
  onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1743
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1576
1744
  onModelInitialize: Topic<OnModelInitializeParams>;
1577
1745
  }
1578
1746
  /**
@@ -1716,15 +1884,18 @@ export interface CmsEntryMeta {
1716
1884
  */
1717
1885
  totalCount: number;
1718
1886
  }
1887
+ /**
1888
+ * Create
1889
+ */
1719
1890
  export interface OnEntryBeforeCreateTopicParams {
1720
1891
  input: CreateCmsEntryInput;
1721
1892
  entry: CmsEntry;
1722
- model: StorageOperationsCmsModel;
1893
+ model: CmsModel;
1723
1894
  }
1724
1895
  export interface OnEntryAfterCreateTopicParams {
1725
1896
  input: CreateCmsEntryInput;
1726
1897
  entry: CmsEntry;
1727
- model: StorageOperationsCmsModel;
1898
+ model: CmsModel;
1728
1899
  storageEntry: CmsEntry;
1729
1900
  }
1730
1901
  export interface OnEntryCreateErrorTopicParams {
@@ -1733,65 +1904,114 @@ export interface OnEntryCreateErrorTopicParams {
1733
1904
  entry: CmsEntry;
1734
1905
  model: CmsModel;
1735
1906
  }
1907
+ /**
1908
+ * Revision Create
1909
+ */
1736
1910
  export interface OnEntryRevisionBeforeCreateTopicParams {
1737
1911
  input: CreateFromCmsEntryInput;
1738
1912
  entry: CmsEntry;
1739
1913
  original: CmsEntry;
1740
- model: StorageOperationsCmsModel;
1914
+ model: CmsModel;
1741
1915
  }
1742
1916
  export interface OnEntryRevisionAfterCreateTopicParams {
1743
1917
  input: CreateFromCmsEntryInput;
1744
1918
  entry: CmsEntry;
1745
1919
  original: CmsEntry;
1746
- model: StorageOperationsCmsModel;
1920
+ model: CmsModel;
1747
1921
  storageEntry: CmsEntry;
1748
1922
  }
1749
1923
  export interface OnEntryCreateRevisionErrorTopicParams {
1750
1924
  error: Error;
1751
1925
  input: CreateFromCmsEntryInput;
1926
+ original: CmsEntry;
1752
1927
  entry: CmsEntry;
1753
1928
  model: CmsModel;
1754
1929
  }
1930
+ /**
1931
+ * Update
1932
+ */
1755
1933
  export interface OnEntryBeforeUpdateTopicParams {
1756
1934
  input: UpdateCmsEntryInput;
1757
1935
  original: CmsEntry;
1758
1936
  entry: CmsEntry;
1759
- model: StorageOperationsCmsModel;
1937
+ model: CmsModel;
1760
1938
  }
1761
1939
  export interface OnEntryAfterUpdateTopicParams {
1762
1940
  input: UpdateCmsEntryInput;
1763
1941
  original: CmsEntry;
1764
1942
  entry: CmsEntry;
1765
- model: StorageOperationsCmsModel;
1943
+ model: CmsModel;
1766
1944
  storageEntry: CmsEntry;
1767
1945
  }
1768
1946
  export interface OnEntryUpdateErrorTopicParams {
1769
1947
  error: Error;
1770
- input: CreateFromCmsEntryInput;
1948
+ input: UpdateCmsEntryInput;
1771
1949
  entry: CmsEntry;
1772
1950
  model: CmsModel;
1773
1951
  }
1952
+ /**
1953
+ * Move
1954
+ */
1955
+ export interface OnEntryBeforeMoveTopicParams {
1956
+ folderId: string;
1957
+ entry: CmsEntry;
1958
+ model: CmsModel;
1959
+ }
1960
+ export interface OnEntryAfterMoveTopicParams {
1961
+ folderId: string;
1962
+ entry: CmsEntry;
1963
+ model: CmsModel;
1964
+ }
1965
+ export interface OnEntryMoveErrorTopicParams {
1966
+ error: Error;
1967
+ folderId: string;
1968
+ entry: CmsEntry;
1969
+ model: CmsModel;
1970
+ }
1971
+ /**
1972
+ * Publish
1973
+ */
1774
1974
  export interface OnEntryBeforePublishTopicParams {
1775
1975
  entry: CmsEntry;
1776
- model: StorageOperationsCmsModel;
1976
+ model: CmsModel;
1777
1977
  }
1778
1978
  export interface OnEntryAfterPublishTopicParams {
1779
1979
  entry: CmsEntry;
1780
- model: StorageOperationsCmsModel;
1980
+ model: CmsModel;
1781
1981
  storageEntry: CmsEntry;
1782
1982
  }
1783
1983
  export interface OnEntryPublishErrorTopicParams {
1784
1984
  error: Error;
1785
1985
  entry: CmsEntry;
1786
- model: StorageOperationsCmsModel;
1986
+ model: CmsModel;
1787
1987
  }
1988
+ /**
1989
+ * Republish
1990
+ */
1991
+ export interface OnEntryBeforeRepublishTopicParams {
1992
+ entry: CmsEntry;
1993
+ model: CmsModel;
1994
+ }
1995
+ export interface OnEntryAfterRepublishTopicParams {
1996
+ entry: CmsEntry;
1997
+ model: CmsModel;
1998
+ storageEntry: CmsEntry;
1999
+ }
2000
+ export interface OnEntryRepublishErrorTopicParams {
2001
+ error: Error;
2002
+ entry: CmsEntry;
2003
+ model: CmsModel;
2004
+ }
2005
+ /**
2006
+ * Unpublish
2007
+ */
1788
2008
  export interface OnEntryBeforeUnpublishTopicParams {
1789
2009
  entry: CmsEntry;
1790
- model: StorageOperationsCmsModel;
2010
+ model: CmsModel;
1791
2011
  }
1792
2012
  export interface OnEntryAfterUnpublishTopicParams {
1793
2013
  entry: CmsEntry;
1794
- model: StorageOperationsCmsModel;
2014
+ model: CmsModel;
1795
2015
  storageEntry: CmsEntry;
1796
2016
  }
1797
2017
  export interface OnEntryUnpublishErrorTopicParams {
@@ -1801,43 +2021,63 @@ export interface OnEntryUnpublishErrorTopicParams {
1801
2021
  }
1802
2022
  export interface OnEntryBeforeDeleteTopicParams {
1803
2023
  entry: CmsEntry;
1804
- model: StorageOperationsCmsModel;
2024
+ model: CmsModel;
1805
2025
  }
1806
2026
  export interface OnEntryAfterDeleteTopicParams {
1807
2027
  entry: CmsEntry;
1808
- model: StorageOperationsCmsModel;
2028
+ model: CmsModel;
1809
2029
  }
1810
2030
  export interface OnEntryDeleteErrorTopicParams {
1811
2031
  error: Error;
1812
2032
  entry: CmsEntry;
1813
- model: StorageOperationsCmsModel;
2033
+ model: CmsModel;
1814
2034
  }
1815
2035
  export interface OnEntryRevisionBeforeDeleteTopicParams {
1816
2036
  entry: CmsEntry;
1817
- model: StorageOperationsCmsModel;
2037
+ model: CmsModel;
1818
2038
  }
1819
2039
  export interface OnEntryRevisionAfterDeleteTopicParams {
1820
2040
  entry: CmsEntry;
1821
- model: StorageOperationsCmsModel;
2041
+ model: CmsModel;
1822
2042
  }
1823
2043
  export interface OnEntryRevisionDeleteErrorTopicParams {
1824
2044
  error: Error;
1825
2045
  entry: CmsEntry;
1826
- model: StorageOperationsCmsModel;
2046
+ model: CmsModel;
2047
+ }
2048
+ export interface OnEntryBeforeDeleteMultipleTopicParams {
2049
+ model: CmsModel;
2050
+ entries: CmsEntry[];
2051
+ ids: string[];
2052
+ }
2053
+ export interface OnEntryAfterDeleteMultipleTopicParams {
2054
+ model: CmsModel;
2055
+ entries: CmsEntry[];
2056
+ ids: string[];
2057
+ }
2058
+ export interface OnEntryDeleteMultipleErrorTopicParams {
2059
+ model: CmsModel;
2060
+ entries: CmsEntry[];
2061
+ ids: string[];
2062
+ error: Error;
1827
2063
  }
1828
2064
  export interface OnEntryBeforeGetTopicParams {
1829
- model: StorageOperationsCmsModel;
2065
+ model: CmsModel;
1830
2066
  where: CmsEntryListWhere;
1831
2067
  }
1832
2068
  export interface EntryBeforeListTopicParams {
1833
2069
  where: CmsEntryListWhere;
1834
- model: StorageOperationsCmsModel;
2070
+ model: CmsModel;
1835
2071
  }
1836
2072
  /**
1837
2073
  * @category Context
1838
2074
  * @category CmsEntry
1839
2075
  */
1840
2076
  export interface CreateCmsEntryInput {
2077
+ id?: string;
2078
+ wbyAco_location?: {
2079
+ folderId?: string | null;
2080
+ };
1841
2081
  [key: string]: any;
1842
2082
  }
1843
2083
  /**
@@ -1852,8 +2092,39 @@ export interface CreateFromCmsEntryInput {
1852
2092
  * @category CmsEntry
1853
2093
  */
1854
2094
  export interface UpdateCmsEntryInput {
2095
+ wbyAco_location?: {
2096
+ folderId?: string | null;
2097
+ };
1855
2098
  [key: string]: any;
1856
2099
  }
2100
+ /**
2101
+ * @category Context
2102
+ * @category CmsEntry
2103
+ */
2104
+ export interface GetUniqueFieldValuesParams {
2105
+ where: CmsEntryListWhere;
2106
+ fieldId: string;
2107
+ }
2108
+ /**
2109
+ * @category CmsEntry
2110
+ */
2111
+ export interface CmsDeleteEntryOptions {
2112
+ /**
2113
+ * Runs the delete commands even if the entry is not found in the DynamoDB.
2114
+ * This is to force clean the entry records that might have been left behind a failed delete.
2115
+ */
2116
+ force?: boolean;
2117
+ }
2118
+ /**
2119
+ * @category Context
2120
+ * @category CmsEntry
2121
+ */
2122
+ export interface DeleteMultipleEntriesParams {
2123
+ entries: string[];
2124
+ }
2125
+ export declare type DeleteMultipleEntriesResponse = {
2126
+ id: string;
2127
+ }[];
1857
2128
  /**
1858
2129
  * Cms Entry CRUD methods in the context.
1859
2130
  *
@@ -1864,7 +2135,7 @@ export interface CmsEntryContext {
1864
2135
  /**
1865
2136
  * Get a single content entry for a model.
1866
2137
  */
1867
- getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry | null>;
2138
+ getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry>;
1868
2139
  /**
1869
2140
  * Get a list of entries for a model by a given ID (revision).
1870
2141
  */
@@ -1876,15 +2147,15 @@ export interface CmsEntryContext {
1876
2147
  /**
1877
2148
  * List entries for a model. Internal method used by get, listLatest and listPublished.
1878
2149
  */
1879
- listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2150
+ listEntries: <T = CmsEntryValues>(model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1880
2151
  /**
1881
2152
  * Lists the latest entries. Used for manage API.
1882
2153
  */
1883
- listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2154
+ listLatestEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1884
2155
  /**
1885
2156
  * List published entries. Used for read API.
1886
2157
  */
1887
- listPublishedEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2158
+ listPublishedEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1888
2159
  /**
1889
2160
  * List published entries by IDs.
1890
2161
  */
@@ -1905,6 +2176,10 @@ export interface CmsEntryContext {
1905
2176
  * Update existing entry.
1906
2177
  */
1907
2178
  updateEntry: (model: CmsModel, id: string, input: UpdateCmsEntryInput, meta?: Record<string, any>) => Promise<CmsEntry>;
2179
+ /**
2180
+ * Move entry, and all its revisions, to a new folder.
2181
+ */
2182
+ moveEntry: (model: CmsModel, id: string, folderId: string) => Promise<CmsEntry>;
1908
2183
  /**
1909
2184
  * Method that republishes entry with given identifier.
1910
2185
  * @internal
@@ -1917,7 +2192,11 @@ export interface CmsEntryContext {
1917
2192
  /**
1918
2193
  * Delete entry with all its revisions.
1919
2194
  */
1920
- deleteEntry: (model: CmsModel, id: string) => Promise<void>;
2195
+ deleteEntry: (model: CmsModel, id: string, options?: CmsDeleteEntryOptions) => Promise<void>;
2196
+ /**
2197
+ * Delete multiple entries
2198
+ */
2199
+ deleteMultipleEntries: (model: CmsModel, params: DeleteMultipleEntriesParams) => Promise<DeleteMultipleEntriesResponse>;
1921
2200
  /**
1922
2201
  * Publish entry.
1923
2202
  */
@@ -1931,7 +2210,13 @@ export interface CmsEntryContext {
1931
2210
  */
1932
2211
  getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
1933
2212
  /**
1934
- * Lifecyle events - deprecated.
2213
+ * List all unique values for a given field.
2214
+ *
2215
+ * @internal
2216
+ */
2217
+ getUniqueFieldValues: (model: CmsModel, params: GetUniqueFieldValuesParams) => Promise<CmsEntryUniqueValue[]>;
2218
+ /**
2219
+ * Lifecycle events - deprecated.
1935
2220
  */
1936
2221
  /**
1937
2222
  * @deprecated
@@ -2009,6 +2294,9 @@ export interface CmsEntryContext {
2009
2294
  onEntryBeforeUpdate: Topic<OnEntryBeforeUpdateTopicParams>;
2010
2295
  onEntryAfterUpdate: Topic<OnEntryAfterUpdateTopicParams>;
2011
2296
  onEntryUpdateError: Topic<OnEntryUpdateErrorTopicParams>;
2297
+ onEntryBeforeMove: Topic<OnEntryBeforeMoveTopicParams>;
2298
+ onEntryAfterMove: Topic<OnEntryAfterMoveTopicParams>;
2299
+ onEntryMoveError: Topic<OnEntryMoveErrorTopicParams>;
2012
2300
  onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;
2013
2301
  onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;
2014
2302
  onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;
@@ -2018,6 +2306,9 @@ export interface CmsEntryContext {
2018
2306
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
2019
2307
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
2020
2308
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2309
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2310
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2311
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
2021
2312
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2022
2313
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2023
2314
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2222,7 +2513,7 @@ export interface CmsEntryStorageOperationsListParams {
2222
2513
  sort?: CmsEntryListSort;
2223
2514
  search?: string;
2224
2515
  fields?: string[];
2225
- limit?: number;
2516
+ limit: number;
2226
2517
  after?: string | null;
2227
2518
  }
2228
2519
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {
@@ -2274,11 +2565,11 @@ export interface CmsEntryStorageOperationsDeleteRevisionParams<T extends CmsStor
2274
2565
  latestStorageEntry: T | null;
2275
2566
  }
2276
2567
  export interface CmsEntryStorageOperationsDeleteParams {
2277
- /**
2278
- * Entry that is going to be deleted.
2279
- */
2280
2568
  entry: CmsEntry;
2281
2569
  }
2570
+ export interface CmsEntryStorageOperationsDeleteEntriesParams {
2571
+ entries: string[];
2572
+ }
2282
2573
  export interface CmsEntryStorageOperationsPublishParams<T extends CmsStorageEntry = CmsStorageEntry> {
2283
2574
  /**
2284
2575
  * The modified entry that is going to be saved as published.
@@ -2300,6 +2591,10 @@ export interface CmsEntryStorageOperationsUnpublishParams<T extends CmsStorageEn
2300
2591
  */
2301
2592
  storageEntry: T;
2302
2593
  }
2594
+ export interface CmsEntryStorageOperationsGetUniqueFieldValuesParams {
2595
+ where: CmsEntryListWhere;
2596
+ fieldId: string;
2597
+ }
2303
2598
  export interface CmsEntryStorageOperationsGetByIdsParams {
2304
2599
  ids: readonly string[];
2305
2600
  }
@@ -2356,71 +2651,85 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2356
2651
  /**
2357
2652
  * Get all the entries of the ids.
2358
2653
  */
2359
- getByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2654
+ getByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2360
2655
  /**
2361
2656
  * Get all the published entries of the ids.
2362
2657
  */
2363
- getPublishedByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2658
+ getPublishedByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2364
2659
  /**
2365
2660
  * Get all the latest entries of the ids.
2366
2661
  */
2367
- getLatestByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2662
+ getLatestByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2368
2663
  /**
2369
2664
  * Get all revisions of the given entry id.
2370
2665
  */
2371
- getRevisions: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2666
+ getRevisions: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2372
2667
  /**
2373
2668
  * Get the entry by the given revision id.
2374
2669
  */
2375
- getRevisionById: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2670
+ getRevisionById: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2376
2671
  /**
2377
2672
  * Get the published entry by given entryId.
2378
2673
  */
2379
- getPublishedRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2674
+ getPublishedRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2380
2675
  /**
2381
2676
  * Get the latest entry by given entryId.
2382
2677
  */
2383
- getLatestRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2678
+ getLatestRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2384
2679
  /**
2385
2680
  * Get the revision of the entry before given one.
2386
2681
  */
2387
- getPreviousRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2682
+ getPreviousRevision: (model: CmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2388
2683
  /**
2389
2684
  * Gets entry by given params.
2390
2685
  */
2391
- get: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2686
+ get: (model: CmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2392
2687
  /**
2393
2688
  * List all entries. Filterable via params.
2394
2689
  */
2395
- list: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2690
+ list: (model: CmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2396
2691
  /**
2397
2692
  * Create a new entry.
2398
2693
  */
2399
- create: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2694
+ create: (model: CmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2400
2695
  /**
2401
2696
  * Create a new entry from existing one.
2402
2697
  */
2403
- createRevisionFrom: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2698
+ createRevisionFrom: (model: CmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2404
2699
  /**
2405
2700
  * Update existing entry.
2406
2701
  */
2407
- update: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2702
+ update: (model: CmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2703
+ /**
2704
+ * Move entry and all its entries into a new folder.
2705
+ */
2706
+ move: (model: CmsModel, id: string, folderId: string) => Promise<void>;
2408
2707
  /**
2409
2708
  * Delete the entry revision.
2410
2709
  */
2411
- deleteRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2710
+ deleteRevision: (model: CmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2412
2711
  /**
2413
2712
  * Delete the entry.
2414
2713
  */
2415
- delete: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2714
+ delete: (model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2715
+ /**
2716
+ * Delete multiple entries, with a limit on how much can be deleted in one call.
2717
+ */
2718
+ deleteMultipleEntries: (model: CmsModel, params: CmsEntryStorageOperationsDeleteEntriesParams) => Promise<void>;
2416
2719
  /**
2417
2720
  * Publish the entry.
2418
2721
  */
2419
- publish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2722
+ publish: (model: CmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2420
2723
  /**
2421
2724
  * Unpublish the entry.
2422
2725
  */
2423
- unpublish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2726
+ unpublish: (model: CmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2727
+ /**
2728
+ * Method to list all the unique values for the given field id.
2729
+ * Simplest use case would be to aggregate tags for some content.
2730
+ * @internal
2731
+ */
2732
+ getUniqueFieldValues: (model: CmsModel, params: CmsEntryStorageOperationsGetUniqueFieldValuesParams) => Promise<CmsEntryUniqueValue[]>;
2424
2733
  }
2425
2734
  export declare enum CONTENT_ENTRY_STATUS {
2426
2735
  DRAFT = "draft",
@@ -2492,11 +2801,7 @@ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2492
2801
  /**
2493
2802
  * Either attach something from the storage operations or run something in it.
2494
2803
  */
2495
- beforeInit?: (context: C) => Promise<void>;
2804
+ beforeInit: (context: C) => Promise<void>;
2496
2805
  init?: (context: C) => Promise<void>;
2497
- /**
2498
- * An upgrade to run if necessary.
2499
- */
2500
- upgrade?: UpgradePlugin | null;
2501
2806
  }
2502
2807
  export {};