@webiny/api-headless-cms 0.0.0-unstable.97a151f74d → 0.0.0-unstable.99666aeb00

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 +1166 -917
  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 +551 -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 +0 -53
  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 +6 -14
  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 +123 -107
  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 +30 -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 +0 -11
  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 +0 -7
  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 +371 -96
  305. package/types.js +64 -64
  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 +26 -46
  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,95 @@ 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
+ * Publish
1954
+ */
1774
1955
  export interface OnEntryBeforePublishTopicParams {
1775
1956
  entry: CmsEntry;
1776
- model: StorageOperationsCmsModel;
1957
+ model: CmsModel;
1777
1958
  }
1778
1959
  export interface OnEntryAfterPublishTopicParams {
1779
1960
  entry: CmsEntry;
1780
- model: StorageOperationsCmsModel;
1961
+ model: CmsModel;
1781
1962
  storageEntry: CmsEntry;
1782
1963
  }
1783
1964
  export interface OnEntryPublishErrorTopicParams {
1784
1965
  error: Error;
1785
1966
  entry: CmsEntry;
1786
- model: StorageOperationsCmsModel;
1967
+ model: CmsModel;
1968
+ }
1969
+ /**
1970
+ * Republish
1971
+ */
1972
+ export interface OnEntryBeforeRepublishTopicParams {
1973
+ entry: CmsEntry;
1974
+ model: CmsModel;
1787
1975
  }
1976
+ export interface OnEntryAfterRepublishTopicParams {
1977
+ entry: CmsEntry;
1978
+ model: CmsModel;
1979
+ storageEntry: CmsEntry;
1980
+ }
1981
+ export interface OnEntryRepublishErrorTopicParams {
1982
+ error: Error;
1983
+ entry: CmsEntry;
1984
+ model: CmsModel;
1985
+ }
1986
+ /**
1987
+ * Unpublish
1988
+ */
1788
1989
  export interface OnEntryBeforeUnpublishTopicParams {
1789
1990
  entry: CmsEntry;
1790
- model: StorageOperationsCmsModel;
1991
+ model: CmsModel;
1791
1992
  }
1792
1993
  export interface OnEntryAfterUnpublishTopicParams {
1793
1994
  entry: CmsEntry;
1794
- model: StorageOperationsCmsModel;
1995
+ model: CmsModel;
1795
1996
  storageEntry: CmsEntry;
1796
1997
  }
1797
1998
  export interface OnEntryUnpublishErrorTopicParams {
@@ -1801,43 +2002,63 @@ export interface OnEntryUnpublishErrorTopicParams {
1801
2002
  }
1802
2003
  export interface OnEntryBeforeDeleteTopicParams {
1803
2004
  entry: CmsEntry;
1804
- model: StorageOperationsCmsModel;
2005
+ model: CmsModel;
1805
2006
  }
1806
2007
  export interface OnEntryAfterDeleteTopicParams {
1807
2008
  entry: CmsEntry;
1808
- model: StorageOperationsCmsModel;
2009
+ model: CmsModel;
1809
2010
  }
1810
2011
  export interface OnEntryDeleteErrorTopicParams {
1811
2012
  error: Error;
1812
2013
  entry: CmsEntry;
1813
- model: StorageOperationsCmsModel;
2014
+ model: CmsModel;
1814
2015
  }
1815
2016
  export interface OnEntryRevisionBeforeDeleteTopicParams {
1816
2017
  entry: CmsEntry;
1817
- model: StorageOperationsCmsModel;
2018
+ model: CmsModel;
1818
2019
  }
1819
2020
  export interface OnEntryRevisionAfterDeleteTopicParams {
1820
2021
  entry: CmsEntry;
1821
- model: StorageOperationsCmsModel;
2022
+ model: CmsModel;
1822
2023
  }
1823
2024
  export interface OnEntryRevisionDeleteErrorTopicParams {
1824
2025
  error: Error;
1825
2026
  entry: CmsEntry;
1826
- model: StorageOperationsCmsModel;
2027
+ model: CmsModel;
2028
+ }
2029
+ export interface OnEntryBeforeDeleteMultipleTopicParams {
2030
+ model: CmsModel;
2031
+ entries: CmsEntry[];
2032
+ ids: string[];
2033
+ }
2034
+ export interface OnEntryAfterDeleteMultipleTopicParams {
2035
+ model: CmsModel;
2036
+ entries: CmsEntry[];
2037
+ ids: string[];
2038
+ }
2039
+ export interface OnEntryDeleteMultipleErrorTopicParams {
2040
+ model: CmsModel;
2041
+ entries: CmsEntry[];
2042
+ ids: string[];
2043
+ error: Error;
1827
2044
  }
1828
2045
  export interface OnEntryBeforeGetTopicParams {
1829
- model: StorageOperationsCmsModel;
2046
+ model: CmsModel;
1830
2047
  where: CmsEntryListWhere;
1831
2048
  }
1832
2049
  export interface EntryBeforeListTopicParams {
1833
2050
  where: CmsEntryListWhere;
1834
- model: StorageOperationsCmsModel;
2051
+ model: CmsModel;
1835
2052
  }
1836
2053
  /**
1837
2054
  * @category Context
1838
2055
  * @category CmsEntry
1839
2056
  */
1840
2057
  export interface CreateCmsEntryInput {
2058
+ id?: string;
2059
+ wbyAco_location?: {
2060
+ folderId?: string | null;
2061
+ };
1841
2062
  [key: string]: any;
1842
2063
  }
1843
2064
  /**
@@ -1852,8 +2073,39 @@ export interface CreateFromCmsEntryInput {
1852
2073
  * @category CmsEntry
1853
2074
  */
1854
2075
  export interface UpdateCmsEntryInput {
2076
+ wbyAco_location?: {
2077
+ folderId?: string | null;
2078
+ };
1855
2079
  [key: string]: any;
1856
2080
  }
2081
+ /**
2082
+ * @category Context
2083
+ * @category CmsEntry
2084
+ */
2085
+ export interface GetUniqueFieldValuesParams {
2086
+ where: CmsEntryListWhere;
2087
+ fieldId: string;
2088
+ }
2089
+ /**
2090
+ * @category CmsEntry
2091
+ */
2092
+ export interface CmsDeleteEntryOptions {
2093
+ /**
2094
+ * Runs the delete commands even if the entry is not found in the DynamoDB.
2095
+ * This is to force clean the entry records that might have been left behind a failed delete.
2096
+ */
2097
+ force?: boolean;
2098
+ }
2099
+ /**
2100
+ * @category Context
2101
+ * @category CmsEntry
2102
+ */
2103
+ export interface DeleteMultipleEntriesParams {
2104
+ entries: string[];
2105
+ }
2106
+ export declare type DeleteMultipleEntriesResponse = {
2107
+ id: string;
2108
+ }[];
1857
2109
  /**
1858
2110
  * Cms Entry CRUD methods in the context.
1859
2111
  *
@@ -1864,7 +2116,7 @@ export interface CmsEntryContext {
1864
2116
  /**
1865
2117
  * Get a single content entry for a model.
1866
2118
  */
1867
- getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry | null>;
2119
+ getEntry: (model: CmsModel, params: CmsEntryGetParams) => Promise<CmsEntry>;
1868
2120
  /**
1869
2121
  * Get a list of entries for a model by a given ID (revision).
1870
2122
  */
@@ -1876,15 +2128,15 @@ export interface CmsEntryContext {
1876
2128
  /**
1877
2129
  * List entries for a model. Internal method used by get, listLatest and listPublished.
1878
2130
  */
1879
- listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2131
+ listEntries: <T = CmsEntryValues>(model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1880
2132
  /**
1881
2133
  * Lists the latest entries. Used for manage API.
1882
2134
  */
1883
- listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2135
+ listLatestEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1884
2136
  /**
1885
2137
  * List published entries. Used for read API.
1886
2138
  */
1887
- listPublishedEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
2139
+ listPublishedEntries: <T = CmsEntryValues>(model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;
1888
2140
  /**
1889
2141
  * List published entries by IDs.
1890
2142
  */
@@ -1917,7 +2169,11 @@ export interface CmsEntryContext {
1917
2169
  /**
1918
2170
  * Delete entry with all its revisions.
1919
2171
  */
1920
- deleteEntry: (model: CmsModel, id: string) => Promise<void>;
2172
+ deleteEntry: (model: CmsModel, id: string, options?: CmsDeleteEntryOptions) => Promise<void>;
2173
+ /**
2174
+ * Delete multiple entries
2175
+ */
2176
+ deleteMultipleEntries: (model: CmsModel, params: DeleteMultipleEntriesParams) => Promise<DeleteMultipleEntriesResponse>;
1921
2177
  /**
1922
2178
  * Publish entry.
1923
2179
  */
@@ -1931,7 +2187,13 @@ export interface CmsEntryContext {
1931
2187
  */
1932
2188
  getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
1933
2189
  /**
1934
- * Lifecyle events - deprecated.
2190
+ * List all unique values for a given field.
2191
+ *
2192
+ * @internal
2193
+ */
2194
+ getUniqueFieldValues: (model: CmsModel, params: GetUniqueFieldValuesParams) => Promise<CmsEntryUniqueValue[]>;
2195
+ /**
2196
+ * Lifecycle events - deprecated.
1935
2197
  */
1936
2198
  /**
1937
2199
  * @deprecated
@@ -2018,6 +2280,9 @@ export interface CmsEntryContext {
2018
2280
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
2019
2281
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
2020
2282
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2283
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2284
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2285
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
2021
2286
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2022
2287
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2023
2288
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2222,7 +2487,7 @@ export interface CmsEntryStorageOperationsListParams {
2222
2487
  sort?: CmsEntryListSort;
2223
2488
  search?: string;
2224
2489
  fields?: string[];
2225
- limit?: number;
2490
+ limit: number;
2226
2491
  after?: string | null;
2227
2492
  }
2228
2493
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {
@@ -2274,11 +2539,11 @@ export interface CmsEntryStorageOperationsDeleteRevisionParams<T extends CmsStor
2274
2539
  latestStorageEntry: T | null;
2275
2540
  }
2276
2541
  export interface CmsEntryStorageOperationsDeleteParams {
2277
- /**
2278
- * Entry that is going to be deleted.
2279
- */
2280
2542
  entry: CmsEntry;
2281
2543
  }
2544
+ export interface CmsEntryStorageOperationsDeleteEntriesParams {
2545
+ entries: string[];
2546
+ }
2282
2547
  export interface CmsEntryStorageOperationsPublishParams<T extends CmsStorageEntry = CmsStorageEntry> {
2283
2548
  /**
2284
2549
  * The modified entry that is going to be saved as published.
@@ -2300,6 +2565,10 @@ export interface CmsEntryStorageOperationsUnpublishParams<T extends CmsStorageEn
2300
2565
  */
2301
2566
  storageEntry: T;
2302
2567
  }
2568
+ export interface CmsEntryStorageOperationsGetUniqueFieldValuesParams {
2569
+ where: CmsEntryListWhere;
2570
+ fieldId: string;
2571
+ }
2303
2572
  export interface CmsEntryStorageOperationsGetByIdsParams {
2304
2573
  ids: readonly string[];
2305
2574
  }
@@ -2356,71 +2625,81 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2356
2625
  /**
2357
2626
  * Get all the entries of the ids.
2358
2627
  */
2359
- getByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2628
+ getByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2360
2629
  /**
2361
2630
  * Get all the published entries of the ids.
2362
2631
  */
2363
- getPublishedByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2632
+ getPublishedByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2364
2633
  /**
2365
2634
  * Get all the latest entries of the ids.
2366
2635
  */
2367
- getLatestByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2636
+ getLatestByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2368
2637
  /**
2369
2638
  * Get all revisions of the given entry id.
2370
2639
  */
2371
- getRevisions: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2640
+ getRevisions: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2372
2641
  /**
2373
2642
  * Get the entry by the given revision id.
2374
2643
  */
2375
- getRevisionById: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2644
+ getRevisionById: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2376
2645
  /**
2377
2646
  * Get the published entry by given entryId.
2378
2647
  */
2379
- getPublishedRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2648
+ getPublishedRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2380
2649
  /**
2381
2650
  * Get the latest entry by given entryId.
2382
2651
  */
2383
- getLatestRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2652
+ getLatestRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2384
2653
  /**
2385
2654
  * Get the revision of the entry before given one.
2386
2655
  */
2387
- getPreviousRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2656
+ getPreviousRevision: (model: CmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2388
2657
  /**
2389
2658
  * Gets entry by given params.
2390
2659
  */
2391
- get: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2660
+ get: (model: CmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2392
2661
  /**
2393
2662
  * List all entries. Filterable via params.
2394
2663
  */
2395
- list: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2664
+ list: (model: CmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2396
2665
  /**
2397
2666
  * Create a new entry.
2398
2667
  */
2399
- create: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2668
+ create: (model: CmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2400
2669
  /**
2401
2670
  * Create a new entry from existing one.
2402
2671
  */
2403
- createRevisionFrom: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2672
+ createRevisionFrom: (model: CmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2404
2673
  /**
2405
2674
  * Update existing entry.
2406
2675
  */
2407
- update: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2676
+ update: (model: CmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2408
2677
  /**
2409
2678
  * Delete the entry revision.
2410
2679
  */
2411
- deleteRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2680
+ deleteRevision: (model: CmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2412
2681
  /**
2413
2682
  * Delete the entry.
2414
2683
  */
2415
- delete: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2684
+ delete: (model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2685
+ /**
2686
+ * Delete multiple entries, with a limit on how much can be deleted in one call.
2687
+ */
2688
+ deleteMultipleEntries: (model: CmsModel, params: CmsEntryStorageOperationsDeleteEntriesParams) => Promise<void>;
2416
2689
  /**
2417
2690
  * Publish the entry.
2418
2691
  */
2419
- publish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2692
+ publish: (model: CmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2420
2693
  /**
2421
2694
  * Unpublish the entry.
2422
2695
  */
2423
- unpublish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2696
+ unpublish: (model: CmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2697
+ /**
2698
+ * Method to list all the unique values for the given field id.
2699
+ * Simplest use case would be to aggregate tags for some content.
2700
+ * @internal
2701
+ */
2702
+ getUniqueFieldValues: (model: CmsModel, params: CmsEntryStorageOperationsGetUniqueFieldValuesParams) => Promise<CmsEntryUniqueValue[]>;
2424
2703
  }
2425
2704
  export declare enum CONTENT_ENTRY_STATUS {
2426
2705
  DRAFT = "draft",
@@ -2492,11 +2771,7 @@ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2492
2771
  /**
2493
2772
  * Either attach something from the storage operations or run something in it.
2494
2773
  */
2495
- beforeInit?: (context: C) => Promise<void>;
2774
+ beforeInit: (context: C) => Promise<void>;
2496
2775
  init?: (context: C) => Promise<void>;
2497
- /**
2498
- * An upgrade to run if necessary.
2499
- */
2500
- upgrade?: UpgradePlugin | null;
2501
2776
  }
2502
2777
  export {};