@webiny/api-headless-cms 0.0.0-unstable.40876133bb → 0.0.0-unstable.496cf268ac

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 (371) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +53 -19
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  13. package/crud/contentEntry/markLockedFields.js +19 -29
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  16. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  17. package/crud/contentEntry/searchableFields.d.ts +9 -0
  18. package/crud/contentEntry/searchableFields.js +72 -0
  19. package/crud/contentEntry/searchableFields.js.map +1 -0
  20. package/crud/contentEntry.crud.d.ts +2 -1
  21. package/crud/contentEntry.crud.js +140 -193
  22. package/crud/contentEntry.crud.js.map +1 -1
  23. package/crud/contentModel/afterCreate.js +0 -2
  24. package/crud/contentModel/afterCreate.js.map +1 -1
  25. package/crud/contentModel/afterCreateFrom.js +0 -2
  26. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  27. package/crud/contentModel/afterDelete.js +0 -2
  28. package/crud/contentModel/afterDelete.js.map +1 -1
  29. package/crud/contentModel/afterUpdate.js +0 -2
  30. package/crud/contentModel/afterUpdate.js.map +1 -1
  31. package/crud/contentModel/beforeCreate.d.ts +2 -3
  32. package/crud/contentModel/beforeCreate.js +11 -36
  33. package/crud/contentModel/beforeCreate.js.map +1 -1
  34. package/crud/contentModel/beforeDelete.js +0 -10
  35. package/crud/contentModel/beforeDelete.js.map +1 -1
  36. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  37. package/crud/contentModel/beforeUpdate.js +6 -7
  38. package/crud/contentModel/beforeUpdate.js.map +1 -1
  39. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  40. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  41. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  42. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  43. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  44. package/crud/contentModel/createFieldStorageId.js +4 -3
  45. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  46. package/crud/contentModel/defaultFields.d.ts +5 -0
  47. package/crud/contentModel/defaultFields.js +58 -0
  48. package/crud/contentModel/defaultFields.js.map +1 -0
  49. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  50. package/crud/contentModel/fields/descriptionField.js +42 -0
  51. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  52. package/crud/contentModel/fields/imageField.d.ts +2 -0
  53. package/crud/contentModel/fields/imageField.js +46 -0
  54. package/crud/contentModel/fields/imageField.js.map +1 -0
  55. package/crud/contentModel/fields/titleField.d.ts +2 -0
  56. package/crud/contentModel/fields/titleField.js +58 -0
  57. package/crud/contentModel/fields/titleField.js.map +1 -0
  58. package/crud/contentModel/models.js +12 -0
  59. package/crud/contentModel/models.js.map +1 -1
  60. package/crud/contentModel/validateLayout.js +0 -8
  61. package/crud/contentModel/validateLayout.js.map +1 -1
  62. package/crud/contentModel/validateModel.d.ts +4 -4
  63. package/crud/contentModel/validateModel.js +6 -11
  64. package/crud/contentModel/validateModel.js.map +1 -1
  65. package/crud/contentModel/validateModelFields.d.ts +4 -4
  66. package/crud/contentModel/validateModelFields.js +131 -147
  67. package/crud/contentModel/validateModelFields.js.map +1 -1
  68. package/crud/contentModel/validation.d.ts +519 -0
  69. package/crud/contentModel/validation.js +145 -0
  70. package/crud/contentModel/validation.js.map +1 -0
  71. package/crud/contentModel.crud.js +245 -272
  72. package/crud/contentModel.crud.js.map +1 -1
  73. package/crud/contentModelGroup/beforeCreate.js +0 -12
  74. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  75. package/crud/contentModelGroup/beforeDelete.js +0 -8
  76. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  77. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  78. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  79. package/crud/contentModelGroup/validation.d.ts +30 -0
  80. package/crud/contentModelGroup/validation.js +34 -0
  81. package/crud/contentModelGroup/validation.js.map +1 -0
  82. package/crud/contentModelGroup.crud.js +53 -95
  83. package/crud/contentModelGroup.crud.js.map +1 -1
  84. package/crud/settings.crud.js +0 -12
  85. package/crud/settings.crud.js.map +1 -1
  86. package/crud/system.crud.js +1 -96
  87. package/crud/system.crud.js.map +1 -1
  88. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  89. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  90. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  91. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  92. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  93. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  94. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  95. package/fieldConverters/index.d.ts +2 -1
  96. package/fieldConverters/index.js +2 -5
  97. package/fieldConverters/index.js.map +1 -1
  98. package/graphql/buildSchemaPlugins.d.ts +8 -3
  99. package/graphql/buildSchemaPlugins.js +6 -14
  100. package/graphql/buildSchemaPlugins.js.map +1 -1
  101. package/graphql/createExecutableSchema.d.ts +7 -0
  102. package/graphql/createExecutableSchema.js +29 -0
  103. package/graphql/createExecutableSchema.js.map +1 -0
  104. package/graphql/generateSchema.d.ts +8 -0
  105. package/graphql/generateSchema.js +31 -0
  106. package/graphql/generateSchema.js.map +1 -0
  107. package/graphql/graphQLHandlerFactory.js +95 -74
  108. package/graphql/graphQLHandlerFactory.js.map +1 -1
  109. package/graphql/index.d.ts +1 -3
  110. package/graphql/index.js +2 -46
  111. package/graphql/index.js.map +1 -1
  112. package/graphql/schema/baseContentSchema.d.ts +6 -2
  113. package/graphql/schema/baseContentSchema.js +10 -20
  114. package/graphql/schema/baseContentSchema.js.map +1 -1
  115. package/graphql/schema/baseSchema.d.ts +3 -0
  116. package/graphql/schema/baseSchema.js +53 -0
  117. package/graphql/schema/baseSchema.js.map +1 -0
  118. package/graphql/schema/contentEntries.d.ts +6 -2
  119. package/graphql/schema/contentEntries.js +118 -107
  120. package/graphql/schema/contentEntries.js.map +1 -1
  121. package/graphql/schema/contentModelGroups.d.ts +6 -2
  122. package/graphql/schema/contentModelGroups.js +10 -23
  123. package/graphql/schema/contentModelGroups.js.map +1 -1
  124. package/graphql/schema/contentModels.d.ts +6 -2
  125. package/graphql/schema/contentModels.js +62 -26
  126. package/graphql/schema/contentModels.js.map +1 -1
  127. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  128. package/graphql/schema/createFieldResolvers.js +20 -27
  129. package/graphql/schema/createFieldResolvers.js.map +1 -1
  130. package/graphql/schema/createManageResolvers.d.ts +1 -1
  131. package/graphql/schema/createManageResolvers.js +33 -43
  132. package/graphql/schema/createManageResolvers.js.map +1 -1
  133. package/graphql/schema/createManageSDL.d.ts +3 -0
  134. package/graphql/schema/createManageSDL.js +64 -67
  135. package/graphql/schema/createManageSDL.js.map +1 -1
  136. package/graphql/schema/createPreviewResolvers.js +3 -17
  137. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  138. package/graphql/schema/createReadResolvers.js +8 -17
  139. package/graphql/schema/createReadResolvers.js.map +1 -1
  140. package/graphql/schema/createReadSDL.d.ts +3 -0
  141. package/graphql/schema/createReadSDL.js +33 -35
  142. package/graphql/schema/createReadSDL.js.map +1 -1
  143. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  144. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  145. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  146. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  147. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  148. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  149. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  150. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  151. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  152. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  153. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  154. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  155. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  156. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  157. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  158. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  159. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  160. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  161. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  162. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  163. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  164. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  165. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  166. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  167. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  168. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  169. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  170. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  171. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  172. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  173. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  174. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  175. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  176. package/graphql/schema/schemaPlugins.d.ts +8 -3
  177. package/graphql/schema/schemaPlugins.js +64 -66
  178. package/graphql/schema/schemaPlugins.js.map +1 -1
  179. package/graphql/system.js +55 -87
  180. package/graphql/system.js.map +1 -1
  181. package/graphqlFields/boolean.js +0 -12
  182. package/graphqlFields/boolean.js.map +1 -1
  183. package/graphqlFields/datetime.js +0 -17
  184. package/graphqlFields/datetime.js.map +1 -1
  185. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  186. package/graphqlFields/dynamicZone/dynamicZoneField.js +216 -0
  187. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  188. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  189. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  190. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  191. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  192. package/graphqlFields/dynamicZone/index.js +19 -0
  193. package/graphqlFields/dynamicZone/index.js.map +1 -0
  194. package/graphqlFields/file.js +0 -8
  195. package/graphqlFields/file.js.map +1 -1
  196. package/graphqlFields/helpers.js +0 -10
  197. package/graphqlFields/helpers.js.map +1 -1
  198. package/graphqlFields/index.d.ts +1 -1
  199. package/graphqlFields/index.js +2 -12
  200. package/graphqlFields/index.js.map +1 -1
  201. package/graphqlFields/longText.js +0 -10
  202. package/graphqlFields/longText.js.map +1 -1
  203. package/graphqlFields/number.js +4 -12
  204. package/graphqlFields/number.js.map +1 -1
  205. package/graphqlFields/object.js +118 -98
  206. package/graphqlFields/object.js.map +1 -1
  207. package/graphqlFields/ref.js +86 -106
  208. package/graphqlFields/ref.js.map +1 -1
  209. package/graphqlFields/richText.js +0 -9
  210. package/graphqlFields/richText.js.map +1 -1
  211. package/graphqlFields/text.js +0 -11
  212. package/graphqlFields/text.js.map +1 -1
  213. package/index.d.ts +3 -3
  214. package/index.js +3 -27
  215. package/index.js.map +1 -1
  216. package/modelManager/DefaultCmsModelManager.js +0 -16
  217. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  218. package/modelManager/index.js +0 -4
  219. package/modelManager/index.js.map +1 -1
  220. package/package.json +27 -28
  221. package/parameters/context.js +0 -4
  222. package/parameters/context.js.map +1 -1
  223. package/parameters/header.js +0 -11
  224. package/parameters/header.js.map +1 -1
  225. package/parameters/index.js +0 -8
  226. package/parameters/index.js.map +1 -1
  227. package/parameters/manual.js +1 -8
  228. package/parameters/manual.js.map +1 -1
  229. package/parameters/path.js +0 -11
  230. package/parameters/path.js.map +1 -1
  231. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  232. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  233. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  234. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  235. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  236. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  237. package/plugins/CmsGroupPlugin.js +0 -8
  238. package/plugins/CmsGroupPlugin.js.map +1 -1
  239. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  240. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  241. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  242. package/plugins/CmsModelPlugin.d.ts +11 -1
  243. package/plugins/CmsModelPlugin.js +15 -40
  244. package/plugins/CmsModelPlugin.js.map +1 -1
  245. package/plugins/CmsParametersPlugin.js +0 -7
  246. package/plugins/CmsParametersPlugin.js.map +1 -1
  247. package/plugins/StorageTransformPlugin.d.ts +11 -11
  248. package/plugins/StorageTransformPlugin.js +0 -9
  249. package/plugins/StorageTransformPlugin.js.map +1 -1
  250. package/plugins/index.d.ts +2 -0
  251. package/plugins/index.js +22 -10
  252. package/plugins/index.js.map +1 -1
  253. package/storage/default.js +0 -3
  254. package/storage/default.js.map +1 -1
  255. package/storage/object.js +4 -20
  256. package/storage/object.js.map +1 -1
  257. package/types.d.ts +315 -77
  258. package/types.js +63 -70
  259. package/types.js.map +1 -1
  260. package/utils/access.js +11 -25
  261. package/utils/access.js.map +1 -1
  262. package/utils/converters/Converter.js +0 -13
  263. package/utils/converters/Converter.js.map +1 -1
  264. package/utils/converters/ConverterCollection.js +14 -34
  265. package/utils/converters/ConverterCollection.js.map +1 -1
  266. package/utils/converters/valueKeyStorageConverter.js +2 -27
  267. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  268. package/utils/createTypeFromFields.d.ts +16 -0
  269. package/utils/createTypeFromFields.js +67 -0
  270. package/utils/createTypeFromFields.js.map +1 -0
  271. package/utils/createTypeName.js +2 -9
  272. package/utils/createTypeName.js.map +1 -1
  273. package/utils/entryStorage.js +22 -35
  274. package/utils/entryStorage.js.map +1 -1
  275. package/utils/filterAsync.js +0 -5
  276. package/utils/filterAsync.js.map +1 -1
  277. package/utils/getBaseFieldType.d.ts +4 -0
  278. package/utils/getBaseFieldType.js +10 -0
  279. package/utils/getBaseFieldType.js.map +1 -0
  280. package/utils/getEntryDescription.d.ts +2 -0
  281. package/utils/getEntryDescription.js +17 -0
  282. package/utils/getEntryDescription.js.map +1 -0
  283. package/utils/getEntryImage.d.ts +2 -0
  284. package/utils/getEntryImage.js +17 -0
  285. package/utils/getEntryImage.js.map +1 -0
  286. package/utils/getEntryTitle.js +0 -9
  287. package/utils/getEntryTitle.js.map +1 -1
  288. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  289. package/utils/getSchemaFromFieldPlugins.js +23 -19
  290. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  291. package/utils/ownership.d.ts +3 -3
  292. package/utils/ownership.js +0 -8
  293. package/utils/ownership.js.map +1 -1
  294. package/utils/permissions.js +8 -23
  295. package/utils/permissions.js.map +1 -1
  296. package/utils/removeNullValues.d.ts +1 -0
  297. package/utils/removeNullValues.js +17 -0
  298. package/utils/removeNullValues.js.map +1 -0
  299. package/utils/removeUndefinedValues.d.ts +1 -0
  300. package/utils/removeUndefinedValues.js +17 -0
  301. package/utils/removeUndefinedValues.js.map +1 -0
  302. package/utils/renderFields.d.ts +2 -1
  303. package/utils/renderFields.js +10 -10
  304. package/utils/renderFields.js.map +1 -1
  305. package/utils/renderGetFilterFields.js +6 -14
  306. package/utils/renderGetFilterFields.js.map +1 -1
  307. package/utils/renderInputFields.d.ts +2 -1
  308. package/utils/renderInputFields.js +6 -9
  309. package/utils/renderInputFields.js.map +1 -1
  310. package/utils/renderListFilterFields.js +4 -10
  311. package/utils/renderListFilterFields.js.map +1 -1
  312. package/utils/renderSortEnum.d.ts +7 -4
  313. package/utils/renderSortEnum.js +21 -11
  314. package/utils/renderSortEnum.js.map +1 -1
  315. package/utils/toSlug.js +0 -4
  316. package/utils/toSlug.js.map +1 -1
  317. package/validators/dateGte.js +0 -7
  318. package/validators/dateGte.js.map +1 -1
  319. package/validators/dateLte.js +0 -7
  320. package/validators/dateLte.js.map +1 -1
  321. package/validators/dynamicZone.d.ts +2 -0
  322. package/validators/dynamicZone.js +20 -0
  323. package/validators/dynamicZone.js.map +1 -0
  324. package/validators/gte.js +0 -8
  325. package/validators/gte.js.map +1 -1
  326. package/validators/in.js +0 -8
  327. package/validators/in.js.map +1 -1
  328. package/validators/index.js +2 -16
  329. package/validators/index.js.map +1 -1
  330. package/validators/lte.js +0 -8
  331. package/validators/lte.js.map +1 -1
  332. package/validators/maxLength.js +0 -8
  333. package/validators/maxLength.js.map +1 -1
  334. package/validators/minLength.js +0 -8
  335. package/validators/minLength.js.map +1 -1
  336. package/validators/pattern.js +0 -9
  337. package/validators/pattern.js.map +1 -1
  338. package/validators/patternPlugins/email.js +0 -2
  339. package/validators/patternPlugins/email.js.map +1 -1
  340. package/validators/patternPlugins/index.js +0 -8
  341. package/validators/patternPlugins/index.js.map +1 -1
  342. package/validators/patternPlugins/lowerCase.js +0 -2
  343. package/validators/patternPlugins/lowerCase.js.map +1 -1
  344. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  345. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  346. package/validators/patternPlugins/upperCase.js +0 -2
  347. package/validators/patternPlugins/upperCase.js.map +1 -1
  348. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  349. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  350. package/validators/patternPlugins/url.js +0 -2
  351. package/validators/patternPlugins/url.js.map +1 -1
  352. package/validators/required.js +0 -5
  353. package/validators/required.js.map +1 -1
  354. package/validators/timeGte.js +0 -8
  355. package/validators/timeGte.js.map +1 -1
  356. package/validators/timeLte.js +0 -8
  357. package/validators/timeLte.js.map +1 -1
  358. package/validators/unique.js +0 -7
  359. package/validators/unique.js.map +1 -1
  360. package/crud/index.d.ts +0 -6
  361. package/crud/index.js +0 -85
  362. package/crud/index.js.map +0 -1
  363. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  364. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  365. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  366. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  367. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  368. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  369. package/utils/filterModelFields.d.ts +0 -16
  370. package/utils/filterModelFields.js +0 -77
  371. package/utils/filterModelFields.js.map +0 -1
package/types.d.ts CHANGED
@@ -5,7 +5,6 @@ import { GraphQLFieldResolver, GraphQLSchemaDefinition, Resolvers } from "@webin
5
5
  import { SecurityPermission } from "@webiny/api-security/types";
6
6
  import { DbContext } from "@webiny/handler-db/types";
7
7
  import { FileManagerContext } from "@webiny/api-file-manager/types";
8
- import { UpgradePlugin } from "@webiny/api-upgrade/types";
9
8
  import { Topic } from "@webiny/pubsub/types";
10
9
  import { CmsModelConverterCallable } from "./utils/converters/ConverterCollection";
11
10
  export declare type ApiEndpoint = "manage" | "preview" | "read";
@@ -98,6 +97,10 @@ export interface CmsModelFieldSettings {
98
97
  * Object field has child fields.
99
98
  */
100
99
  fields?: CmsModelField[];
100
+ /**
101
+ * Is the file field images only one?
102
+ */
103
+ imagesOnly?: boolean;
101
104
  /**
102
105
  * Object field has child fields - so it needs to have a layout.
103
106
  */
@@ -135,7 +138,7 @@ export interface CmsModelField {
135
138
  * A type of the field.
136
139
  * We are defining our built-in fields, so people know which are available by the default.
137
140
  */
138
- type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | string;
141
+ type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | "dynamicZone" | string;
139
142
  /**
140
143
  * A unique storage ID for storing actual values.
141
144
  * Must in form of a-zA-Z0-9@a-zA-Z0-9@a-zA-Z0-9.
@@ -195,6 +198,10 @@ export interface CmsModelField {
195
198
  *
196
199
  */
197
200
  multipleValues?: boolean;
201
+ /**
202
+ * Fields can be tagged to give them contextual meaning.
203
+ */
204
+ tags?: string[];
198
205
  /**
199
206
  * Any user defined settings.
200
207
  *
@@ -202,18 +209,42 @@ export interface CmsModelField {
202
209
  */
203
210
  settings?: CmsModelFieldSettings;
204
211
  }
212
+ export interface CmsDynamicZoneTemplate {
213
+ id: string;
214
+ name: string;
215
+ gqlTypeName: string;
216
+ description: string;
217
+ icon: string;
218
+ fields: CmsModelField[];
219
+ layout: string[][];
220
+ validation: CmsModelFieldValidation[];
221
+ }
222
+ /**
223
+ * A definition for dynamic-zone field to show possible type of the field in settings.
224
+ */
225
+ export interface CmsModelDynamicZoneField extends CmsModelField {
226
+ /**
227
+ * Settings object for the field. Contains `templates` property.
228
+ */
229
+ settings: {
230
+ templates: CmsDynamicZoneTemplate[];
231
+ };
232
+ }
205
233
  /**
206
234
  * Used for our internal functionality.
207
235
  */
208
236
  export interface CmsModelFieldWithParent extends CmsModelField {
209
237
  parent?: CmsModelFieldWithParent | null;
210
238
  }
239
+ export interface CmsModelDynamicZoneFieldWithParent extends CmsModelDynamicZoneField {
240
+ parent?: CmsModelDynamicZoneFieldWithParent | null;
241
+ }
211
242
  /**
212
243
  * A definition for dateTime field to show possible type of the field in settings.
213
244
  */
214
245
  export interface CmsModelDateTimeField extends CmsModelField {
215
246
  /**
216
- * Settings object for the field. Contains type property.
247
+ * Settings object for the field. Contains `type` property.
217
248
  */
218
249
  settings: {
219
250
  type: "time" | "date" | "dateTimeWithoutTimezone" | "dateTimeWithTimezone";
@@ -335,7 +366,21 @@ export interface LockedField {
335
366
  [key: string]: any;
336
367
  }
337
368
  /**
338
- * Cms Model defining an entry.
369
+ * @category Database model
370
+ * @category CmsModel
371
+ */
372
+ export interface CmsModelGroup {
373
+ /**
374
+ * Generated ID of the group
375
+ */
376
+ id: string;
377
+ /**
378
+ * Name of the group
379
+ */
380
+ name: string;
381
+ }
382
+ /**
383
+ * Base CMS Model. Should not be exported and used outside of this package.
339
384
  *
340
385
  * @category Database model
341
386
  * @category CmsModel
@@ -349,6 +394,24 @@ export interface CmsModel {
349
394
  * Unique ID for the content model. Created from name if not defined by user.
350
395
  */
351
396
  modelId: string;
397
+ /**
398
+ * Name of the content model in singular form to be used in the API.
399
+ * example:
400
+ * - Article
401
+ * - Fruit
402
+ * - Vegetable
403
+ * - Car
404
+ */
405
+ singularApiName: string;
406
+ /**
407
+ * Name of the content model in plural form to be used in the API.
408
+ * example:
409
+ * - Articles
410
+ * - Fruits
411
+ * - Vegetables
412
+ * - Cars
413
+ */
414
+ pluralApiName: string;
352
415
  /**
353
416
  * Model tenant.
354
417
  */
@@ -360,20 +423,15 @@ export interface CmsModel {
360
423
  /**
361
424
  * Cms Group reference object.
362
425
  */
363
- group: {
364
- /**
365
- * Generated ID of the group
366
- */
367
- id: string;
368
- /**
369
- * Name of the group
370
- */
371
- name: string;
372
- };
426
+ group: CmsModelGroup;
427
+ /**
428
+ * Icon for the content model.
429
+ */
430
+ icon?: string | null;
373
431
  /**
374
432
  * Description for the content model.
375
433
  */
376
- description: string;
434
+ description: string | null;
377
435
  /**
378
436
  * Date created
379
437
  */
@@ -385,7 +443,7 @@ export interface CmsModel {
385
443
  /**
386
444
  * CreatedBy object wrapper. Contains id, name and type of the user.
387
445
  */
388
- createdBy?: CreatedBy;
446
+ createdBy?: CmsIdentity;
389
447
  /**
390
448
  * List of fields defining entry values.
391
449
  */
@@ -401,6 +459,10 @@ export interface CmsModel {
401
459
  * ```
402
460
  */
403
461
  layout: string[][];
462
+ /**
463
+ * Models can be tagged to give them contextual meaning.
464
+ */
465
+ tags?: string[];
404
466
  /**
405
467
  * List of locked fields. Updated when entry is saved and a field has been used.
406
468
  */
@@ -410,6 +472,16 @@ export interface CmsModel {
410
472
  * It is picked as first available text field. Or user can select own field.
411
473
  */
412
474
  titleFieldId: string;
475
+ /**
476
+ * The field which is displayed as the description one.
477
+ * Only way this is null or undefined is that there are no long-text fields to be set as description.
478
+ */
479
+ descriptionFieldId?: string | null;
480
+ /**
481
+ * The field which is displayed as the image.
482
+ * Only way this is null or undefined is that there are no file fields, with images only set, to be set as image.
483
+ */
484
+ imageFieldId?: string | null;
413
485
  /**
414
486
  * The version of Webiny which this record was stored with.
415
487
  */
@@ -437,25 +509,40 @@ export interface CmsModelFieldDefinition {
437
509
  fields: string;
438
510
  typeDefs?: string;
439
511
  }
440
- interface CmsModelFieldToGraphQLCreateResolverParams {
512
+ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
441
513
  models: CmsModel[];
442
514
  model: CmsModel;
443
515
  graphQLType: string;
444
- field: CmsModelField;
516
+ field: TField;
445
517
  createFieldResolvers: any;
446
518
  }
447
- export interface CmsModelFieldToGraphQLCreateResolver {
448
- (params: CmsModelFieldToGraphQLCreateResolverParams): GraphQLFieldResolver | {
519
+ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
520
+ (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
449
521
  resolver: GraphQLFieldResolver | null;
450
522
  typeResolvers: Resolvers<CmsContext>;
451
523
  } | false;
452
524
  }
525
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
526
+ fields: TField[];
527
+ originalFields: TField[];
528
+ }
529
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidate {
530
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams): void;
531
+ }
532
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
533
+ field: TField;
534
+ originalField?: TField;
535
+ validate: CmsModelFieldToGraphQLPluginValidateChildFieldsValidate;
536
+ }
537
+ export interface CmsModelFieldToGraphQLPluginValidateChildFields<TField extends CmsModelField = CmsModelField> {
538
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField>): void;
539
+ }
453
540
  /**
454
541
  * @category Plugin
455
542
  * @category ModelField
456
543
  * @category GraphQL
457
544
  */
458
- export interface CmsModelFieldToGraphQLPlugin extends Plugin {
545
+ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField> extends Plugin {
459
546
  /**
460
547
  * A plugin type
461
548
  */
@@ -509,7 +596,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
509
596
  */
510
597
  createStorageId?: (params: {
511
598
  model: CmsModel;
512
- field: CmsModelField;
599
+ field: TField;
513
600
  }) => string | null | undefined;
514
601
  /**
515
602
  * Read API methods.
@@ -528,7 +615,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
528
615
  */
529
616
  createGetFilters?(params: {
530
617
  model: CmsModel;
531
- field: CmsModelField;
618
+ field: TField;
532
619
  }): string;
533
620
  /**
534
621
  * Definition for list filtering for GraphQL.
@@ -548,7 +635,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
548
635
  */
549
636
  createListFilters?(params: {
550
637
  model: CmsModel;
551
- field: CmsModelField;
638
+ field: TField;
639
+ plugins: CmsFieldTypePlugins;
552
640
  }): string;
553
641
  /**
554
642
  * Definition of the field type for GraphQL - be aware if multiple values is selected.
@@ -566,13 +654,14 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
566
654
  * ```
567
655
  */
568
656
  createTypeField(params: {
657
+ models: CmsModel[];
569
658
  model: CmsModel;
570
- field: CmsModelField;
659
+ field: TField;
571
660
  fieldTypePlugins: CmsFieldTypePlugins;
572
661
  }): CmsModelFieldDefinition | string | null;
573
662
  /**
574
663
  * Definition for field resolver.
575
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
664
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
576
665
  *
577
666
  * ```ts
578
667
  * read: {
@@ -584,7 +673,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
584
673
  * }
585
674
  * ```
586
675
  */
587
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
676
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
588
677
  /**
589
678
  * Read API schema definitions for the field and resolvers for them.
590
679
  *
@@ -627,7 +716,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
627
716
  */
628
717
  createListFilters?: (params: {
629
718
  model: CmsModel;
630
- field: CmsModelField;
719
+ field: TField;
720
+ plugins: CmsFieldTypePlugins;
631
721
  }) => string;
632
722
  /**
633
723
  * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.
@@ -665,8 +755,9 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
665
755
  * ```
666
756
  */
667
757
  createTypeField: (params: {
758
+ models: CmsModel[];
668
759
  model: CmsModel;
669
- field: CmsModelField;
760
+ field: TField;
670
761
  fieldTypePlugins: CmsFieldTypePlugins;
671
762
  }) => CmsModelFieldDefinition | string | null;
672
763
  /**
@@ -685,13 +776,14 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
685
776
  * ```
686
777
  */
687
778
  createInputField: (params: {
779
+ models: CmsModel[];
688
780
  model: CmsModel;
689
- field: CmsModelField;
781
+ field: TField;
690
782
  fieldTypePlugins: CmsFieldTypePlugins;
691
783
  }) => CmsModelFieldDefinition | string | null;
692
784
  /**
693
785
  * Definition for field resolver.
694
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
786
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
695
787
  *
696
788
  * ```ts
697
789
  * manage: {
@@ -703,8 +795,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
703
795
  * }
704
796
  * ```
705
797
  */
706
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
798
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
707
799
  };
800
+ /**
801
+ *
802
+ * @param field
803
+ */
804
+ validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;
708
805
  }
709
806
  /**
710
807
  * Check for content model locked field.
@@ -743,11 +840,11 @@ export interface CmsFieldTypePlugins {
743
840
  [key: string]: CmsModelFieldToGraphQLPlugin;
744
841
  }
745
842
  /**
746
- * A interface describing the reference to a user that created some data in the database.
843
+ * An interface describing the reference to a user that created some data in the database.
747
844
  *
748
845
  * @category General
749
846
  */
750
- export interface CreatedBy {
847
+ export interface CmsIdentity {
751
848
  /**
752
849
  * ID if the user.
753
850
  */
@@ -815,9 +912,7 @@ export interface OnSystemInstallErrorTopicParams {
815
912
  export declare type CmsSystemContext = {
816
913
  getSystemVersion: () => Promise<string | null>;
817
914
  setSystemVersion: (version: string) => Promise<void>;
818
- getReadAPIKey(): Promise<string | null>;
819
915
  installSystem: () => Promise<void>;
820
- upgradeSystem: (version: string) => Promise<boolean>;
821
916
  /**
822
917
  * Lifecycle events - deprecated
823
918
  */
@@ -837,7 +932,7 @@ export declare type CmsSystemContext = {
837
932
  onSystemInstallError: Topic<OnSystemInstallErrorTopicParams>;
838
933
  };
839
934
  /**
840
- * A GraphQL params.data parameter received when creating content model group.
935
+ * A GraphQL `params.data` parameter received when creating content model group.
841
936
  *
842
937
  * @category CmsGroup
843
938
  * @category GraphQL params
@@ -849,7 +944,7 @@ export interface CmsGroupCreateInput {
849
944
  icon: string;
850
945
  }
851
946
  /**
852
- * A GraphQL params.data parameter received when updating content model group.
947
+ * A GraphQL `params.data` parameter received when updating content model group.
853
948
  *
854
949
  * @category CmsGroup
855
950
  * @category GraphQL params
@@ -898,7 +993,7 @@ export interface CmsGroup {
898
993
  /**
899
994
  * CreatedBy reference object.
900
995
  */
901
- createdBy?: CreatedBy;
996
+ createdBy?: CmsIdentity;
902
997
  /**
903
998
  * Date group was created on.
904
999
  */
@@ -919,7 +1014,7 @@ export interface CmsGroup {
919
1014
  isPrivate?: boolean;
920
1015
  }
921
1016
  /**
922
- * A data.where parameter received when listing content model groups.
1017
+ * A `data.where` parameter received when listing content model groups.
923
1018
  *
924
1019
  * @category CmsGroup
925
1020
  * @category GraphQL params
@@ -945,6 +1040,15 @@ export interface OnGroupBeforeCreateTopicParams {
945
1040
  export interface OnGroupAfterCreateTopicParams {
946
1041
  group: CmsGroup;
947
1042
  }
1043
+ /**
1044
+ * @category CmsGroup
1045
+ * @category Topic
1046
+ */
1047
+ export interface OnGroupCreateErrorTopicParams {
1048
+ input: CmsGroupCreateInput;
1049
+ group: CmsGroup;
1050
+ error: Error;
1051
+ }
948
1052
  /**
949
1053
  * @category CmsGroup
950
1054
  * @category Topic
@@ -961,6 +1065,16 @@ export interface OnGroupAfterUpdateTopicParams {
961
1065
  original: CmsGroup;
962
1066
  group: CmsGroup;
963
1067
  }
1068
+ /**
1069
+ * @category CmsGroup
1070
+ * @category Topic
1071
+ */
1072
+ export interface OnGroupUpdateErrorTopicParams {
1073
+ input: CmsGroupUpdateInput;
1074
+ original: CmsGroup;
1075
+ group: CmsGroup;
1076
+ error: Error;
1077
+ }
964
1078
  /**
965
1079
  * @category CmsGroup
966
1080
  * @category Topic
@@ -975,6 +1089,14 @@ export interface OnGroupBeforeDeleteTopicParams {
975
1089
  export interface OnGroupAfterDeleteTopicParams {
976
1090
  group: CmsGroup;
977
1091
  }
1092
+ /**
1093
+ * @category CmsGroup
1094
+ * @category Topic
1095
+ */
1096
+ export interface OnGroupDeleteErrorTopicParams {
1097
+ group: CmsGroup;
1098
+ error: Error;
1099
+ }
978
1100
  /**
979
1101
  * Cms Group in context.
980
1102
  *
@@ -1038,10 +1160,13 @@ export interface CmsGroupContext {
1038
1160
  */
1039
1161
  onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1040
1162
  onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1163
+ onGroupCreateError: Topic<OnGroupCreateErrorTopicParams>;
1041
1164
  onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1042
1165
  onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1166
+ onGroupUpdateError: Topic<OnGroupUpdateErrorTopicParams>;
1043
1167
  onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1044
1168
  onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1169
+ onGroupDeleteError: Topic<OnGroupDeleteErrorTopicParams>;
1045
1170
  }
1046
1171
  /**
1047
1172
  * Definition for content model field validator.
@@ -1060,7 +1185,7 @@ export interface CmsModelFieldValidation {
1060
1185
  };
1061
1186
  }
1062
1187
  /**
1063
- * A GraphQL params.data parameter received when creating content model.
1188
+ * A GraphQL `params.data` parameter received when creating content model.
1064
1189
  *
1065
1190
  * @category GraphQL params
1066
1191
  * @category CmsModel
@@ -1070,6 +1195,14 @@ export interface CmsModelCreateInput {
1070
1195
  * Name of the content model.
1071
1196
  */
1072
1197
  name: string;
1198
+ /**
1199
+ * Singular name of the content model to be used in the API.
1200
+ */
1201
+ singularApiName: string;
1202
+ /**
1203
+ * Plural name of the content model to be used in the API.
1204
+ */
1205
+ pluralApiName: string;
1073
1206
  /**
1074
1207
  * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.
1075
1208
  */
@@ -1077,7 +1210,7 @@ export interface CmsModelCreateInput {
1077
1210
  /**
1078
1211
  * Description of the content model.
1079
1212
  */
1080
- description?: string;
1213
+ description?: string | null;
1081
1214
  /**
1082
1215
  * Group where to put the content model in.
1083
1216
  */
@@ -1098,13 +1231,18 @@ export interface CmsModelCreateInput {
1098
1231
  */
1099
1232
  layout?: string[][];
1100
1233
  /**
1101
- * The field that is being displayed as entry title.
1102
- * It is picked as first available text field. Or user can select own field.
1234
+ * Models can be tagged to give them contextual meaning.
1235
+ */
1236
+ tags?: string[];
1237
+ /**
1238
+ * Fields fieldId which are picked to represent the CMS entry.
1103
1239
  */
1104
- titleFieldId?: string;
1240
+ titleFieldId?: string | null;
1241
+ descriptionFieldId?: string | null;
1242
+ imageFieldId?: string | null;
1105
1243
  }
1106
1244
  /**
1107
- * A GraphQL params.data parameter received when creating content model from existing model.
1245
+ * A GraphQL `params.data` parameter received when creating content model from existing model.
1108
1246
  *
1109
1247
  * @category GraphQL params
1110
1248
  * @category CmsModel
@@ -1145,11 +1283,15 @@ export interface CmsModelFieldInput {
1145
1283
  /**
1146
1284
  * Text to display below the field to help user what to write in the field.
1147
1285
  */
1148
- helpText?: string;
1286
+ helpText?: string | null;
1149
1287
  /**
1150
1288
  * Text to display in the field.
1151
1289
  */
1152
- placeholderText?: string;
1290
+ placeholderText?: string | null;
1291
+ /**
1292
+ * Fields can be tagged to give them contextual meaning.
1293
+ */
1294
+ tags?: string[];
1153
1295
  /**
1154
1296
  * Are multiple values allowed?
1155
1297
  */
@@ -1176,7 +1318,7 @@ export interface CmsModelFieldInput {
1176
1318
  settings?: Record<string, any>;
1177
1319
  }
1178
1320
  /**
1179
- * A GraphQL params.data parameter received when updating content model.
1321
+ * A GraphQL `params.data` parameter received when updating content model.
1180
1322
  *
1181
1323
  * @category GraphQL params
1182
1324
  * @category CmsModel
@@ -1186,6 +1328,14 @@ export interface CmsModelUpdateInput {
1186
1328
  * A new content model name.
1187
1329
  */
1188
1330
  name?: string;
1331
+ /**
1332
+ * A new singular name of the content model to be used in the API.
1333
+ */
1334
+ singularApiName?: string;
1335
+ /**
1336
+ * A new plural name of the content model to be used in the API.
1337
+ */
1338
+ pluralApiName?: string;
1189
1339
  /**
1190
1340
  * A group we want to move the model to.
1191
1341
  */
@@ -1193,7 +1343,7 @@ export interface CmsModelUpdateInput {
1193
1343
  /**
1194
1344
  * A new description of the content model.
1195
1345
  */
1196
- description?: string;
1346
+ description?: string | null;
1197
1347
  /**
1198
1348
  * A list of content model fields to define the entry values.
1199
1349
  */
@@ -1210,10 +1360,11 @@ export interface CmsModelUpdateInput {
1210
1360
  */
1211
1361
  layout: string[][];
1212
1362
  /**
1213
- * The field that is being displayed as entry title.
1214
- * It is picked as first available text field. Or user can select own field.
1363
+ * Fields fieldId which are picked to represent the CMS entry.
1215
1364
  */
1216
- titleFieldId?: string;
1365
+ titleFieldId?: string | null;
1366
+ descriptionFieldId?: string | null;
1367
+ imageFieldId?: string | null;
1217
1368
  }
1218
1369
  /**
1219
1370
  * A plugin to load a CmsModelManager.
@@ -1258,7 +1409,7 @@ export interface CmsEntryValues {
1258
1409
  export interface CmsEntry<T = CmsEntryValues> {
1259
1410
  /**
1260
1411
  * A version of the webiny this entry was created with.
1261
- * This can be used when upgrading the system so we know which entries to update.
1412
+ * This can be used when upgrading the system, so we know which entries to update.
1262
1413
  */
1263
1414
  webinyVersion: string;
1264
1415
  /**
@@ -1277,11 +1428,15 @@ export interface CmsEntry<T = CmsEntryValues> {
1277
1428
  /**
1278
1429
  * CreatedBy object reference.
1279
1430
  */
1280
- createdBy: CreatedBy;
1431
+ createdBy: CmsIdentity;
1281
1432
  /**
1282
1433
  * OwnedBy object reference. Can be different from CreatedBy.
1283
1434
  */
1284
- ownedBy: CreatedBy;
1435
+ ownedBy: CmsIdentity;
1436
+ /**
1437
+ * ModifiedBy object reference. Last person who modified the entry.
1438
+ */
1439
+ modifiedBy?: CmsIdentity | null;
1285
1440
  /**
1286
1441
  * A string of Date.toISOString() type.
1287
1442
  * Populated on creation.
@@ -1328,10 +1483,10 @@ export interface CmsEntry<T = CmsEntryValues> {
1328
1483
  /**
1329
1484
  * Settings for the given entry.
1330
1485
  *
1331
- * Introduced with Advanced Publishing Workflow - will be always inserted after this PR is merged.
1332
- * Be aware that when accessing properties in it on old systems - it will break if not checked first.
1486
+ * Introduced with Advanced Publishing Workflow. Will always be inserted once this PR is merged.
1487
+ * Be aware that when accessing properties in it on old systems, it will break if not checked first.
1333
1488
  *
1334
- * Available only on the Manage API in entry GraphQL type meta.data property.
1489
+ * Available only on the Manage API in entry GraphQL type `meta.data` property.
1335
1490
  */
1336
1491
  meta?: {
1337
1492
  [key: string]: any;
@@ -1364,7 +1519,7 @@ export interface CmsModelManager {
1364
1519
  */
1365
1520
  getPublishedByIds: (ids: string[]) => Promise<CmsEntry[]>;
1366
1521
  /**
1367
- * Get a list of latest entries by the ID list.
1522
+ * Get a list of the latest entries by the ID list.
1368
1523
  */
1369
1524
  getLatestByIds: (ids: string[]) => Promise<CmsEntry[]>;
1370
1525
  /**
@@ -1372,18 +1527,21 @@ export interface CmsModelManager {
1372
1527
  */
1373
1528
  get: (id: string) => Promise<CmsEntry>;
1374
1529
  /**
1375
- * Create a entry.
1530
+ * Create an entry.
1376
1531
  */
1377
1532
  create: (data: CreateCmsEntryInput) => Promise<CmsEntry>;
1378
1533
  /**
1379
- * Update a entry.
1534
+ * Update an entry.
1380
1535
  */
1381
1536
  update: (id: string, data: UpdateCmsEntryInput) => Promise<CmsEntry>;
1382
1537
  /**
1383
- * Delete a entry.
1538
+ * Delete an entry.
1384
1539
  */
1385
1540
  delete: (id: string) => Promise<void>;
1386
1541
  }
1542
+ /**
1543
+ * Create
1544
+ */
1387
1545
  export interface OnModelBeforeCreateTopicParams {
1388
1546
  input: CmsModelCreateInput;
1389
1547
  model: CmsModel;
@@ -1392,6 +1550,14 @@ export interface OnModelAfterCreateTopicParams {
1392
1550
  input: CmsModelCreateInput;
1393
1551
  model: CmsModel;
1394
1552
  }
1553
+ export interface OnModelCreateErrorTopicParams {
1554
+ input: CmsModelCreateInput;
1555
+ model: CmsModel;
1556
+ error: Error;
1557
+ }
1558
+ /**
1559
+ * Create From / Clone
1560
+ */
1395
1561
  export interface OnModelBeforeCreateFromTopicParams {
1396
1562
  input: CmsModelCreateInput;
1397
1563
  original: CmsModel;
@@ -1402,6 +1568,15 @@ export interface OnModelAfterCreateFromTopicParams {
1402
1568
  original: CmsModel;
1403
1569
  model: CmsModel;
1404
1570
  }
1571
+ export interface OnModelCreateFromErrorParams {
1572
+ input: CmsModelCreateInput;
1573
+ original: CmsModel;
1574
+ model: CmsModel;
1575
+ error: Error;
1576
+ }
1577
+ /**
1578
+ * Update
1579
+ */
1405
1580
  export interface OnModelBeforeUpdateTopicParams {
1406
1581
  input: CmsModelUpdateInput;
1407
1582
  original: CmsModel;
@@ -1412,15 +1587,35 @@ export interface OnModelAfterUpdateTopicParams {
1412
1587
  original: CmsModel;
1413
1588
  model: CmsModel;
1414
1589
  }
1590
+ export interface OnModelUpdateErrorTopicParams {
1591
+ input: CmsModelUpdateInput;
1592
+ original: CmsModel;
1593
+ model: CmsModel;
1594
+ error: Error;
1595
+ }
1596
+ /**
1597
+ * Delete
1598
+ */
1415
1599
  export interface OnModelBeforeDeleteTopicParams {
1416
1600
  model: CmsModel;
1417
1601
  }
1418
1602
  export interface OnModelAfterDeleteTopicParams {
1419
1603
  model: CmsModel;
1420
1604
  }
1605
+ export interface OnModelDeleteErrorTopicParams {
1606
+ model: CmsModel;
1607
+ error: Error;
1608
+ }
1609
+ /**
1610
+ * Initialize
1611
+ */
1421
1612
  export interface OnModelInitializeParams {
1422
1613
  model: CmsModel;
1614
+ data: Record<string, any>;
1423
1615
  }
1616
+ /**
1617
+ *
1618
+ */
1424
1619
  export interface CmsModelUpdateDirectParams {
1425
1620
  model: CmsModel;
1426
1621
  original: CmsModel;
@@ -1467,9 +1662,9 @@ export interface CmsModelContext {
1467
1662
  *
1468
1663
  * Primary idea behind this is creating the index, for the code models, in the ES.
1469
1664
  */
1470
- initializeModel: (modelId: string) => Promise<boolean>;
1665
+ initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1471
1666
  /**
1472
- * Get a instance of CmsModelManager for given content modelId.
1667
+ * Get an instance of CmsModelManager for given content modelId.
1473
1668
  *
1474
1669
  * @see CmsModelManager
1475
1670
  *
@@ -1528,12 +1723,16 @@ export interface CmsModelContext {
1528
1723
  */
1529
1724
  onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1530
1725
  onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1726
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1531
1727
  onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1532
1728
  onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1729
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1533
1730
  onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1534
1731
  onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1732
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1535
1733
  onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1536
1734
  onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1735
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1537
1736
  onModelInitialize: Topic<OnModelInitializeParams>;
1538
1737
  }
1539
1738
  /**
@@ -1619,7 +1818,12 @@ export interface CmsEntryListWhere {
1619
1818
  /**
1620
1819
  * This is to allow querying by any content model field defined by the user.
1621
1820
  */
1622
- [key: string]: any | CmsEntryListWhereRef;
1821
+ [key: string]: string | number | boolean | undefined | string[] | number[] | null | CmsEntryListWhere[] | CmsEntryListWhere | CmsEntryListWhereRef;
1822
+ /**
1823
+ * To allow querying via nested queries, we added the AND / OR properties.
1824
+ */
1825
+ AND?: CmsEntryListWhere[];
1826
+ OR?: CmsEntryListWhere[];
1623
1827
  }
1624
1828
  /**
1625
1829
  * Entry listing sort.
@@ -1672,6 +1876,9 @@ export interface CmsEntryMeta {
1672
1876
  */
1673
1877
  totalCount: number;
1674
1878
  }
1879
+ /**
1880
+ * Create
1881
+ */
1675
1882
  export interface OnEntryBeforeCreateTopicParams {
1676
1883
  input: CreateCmsEntryInput;
1677
1884
  entry: CmsEntry;
@@ -1689,6 +1896,9 @@ export interface OnEntryCreateErrorTopicParams {
1689
1896
  entry: CmsEntry;
1690
1897
  model: CmsModel;
1691
1898
  }
1899
+ /**
1900
+ * Revision Create
1901
+ */
1692
1902
  export interface OnEntryRevisionBeforeCreateTopicParams {
1693
1903
  input: CreateFromCmsEntryInput;
1694
1904
  entry: CmsEntry;
@@ -1705,9 +1915,13 @@ export interface OnEntryRevisionAfterCreateTopicParams {
1705
1915
  export interface OnEntryCreateRevisionErrorTopicParams {
1706
1916
  error: Error;
1707
1917
  input: CreateFromCmsEntryInput;
1918
+ original: CmsEntry;
1708
1919
  entry: CmsEntry;
1709
1920
  model: CmsModel;
1710
1921
  }
1922
+ /**
1923
+ * Update
1924
+ */
1711
1925
  export interface OnEntryBeforeUpdateTopicParams {
1712
1926
  input: UpdateCmsEntryInput;
1713
1927
  original: CmsEntry;
@@ -1727,6 +1941,9 @@ export interface OnEntryUpdateErrorTopicParams {
1727
1941
  entry: CmsEntry;
1728
1942
  model: CmsModel;
1729
1943
  }
1944
+ /**
1945
+ * Publish
1946
+ */
1730
1947
  export interface OnEntryBeforePublishTopicParams {
1731
1948
  entry: CmsEntry;
1732
1949
  model: StorageOperationsCmsModel;
@@ -1741,6 +1958,26 @@ export interface OnEntryPublishErrorTopicParams {
1741
1958
  entry: CmsEntry;
1742
1959
  model: StorageOperationsCmsModel;
1743
1960
  }
1961
+ /**
1962
+ * Republish
1963
+ */
1964
+ export interface OnEntryBeforeRepublishTopicParams {
1965
+ entry: CmsEntry;
1966
+ model: StorageOperationsCmsModel;
1967
+ }
1968
+ export interface OnEntryAfterRepublishTopicParams {
1969
+ entry: CmsEntry;
1970
+ model: StorageOperationsCmsModel;
1971
+ storageEntry: CmsEntry;
1972
+ }
1973
+ export interface OnEntryRepublishErrorTopicParams {
1974
+ error: Error;
1975
+ entry: CmsEntry;
1976
+ model: StorageOperationsCmsModel;
1977
+ }
1978
+ /**
1979
+ * Unpublish
1980
+ */
1744
1981
  export interface OnEntryBeforeUnpublishTopicParams {
1745
1982
  entry: CmsEntry;
1746
1983
  model: StorageOperationsCmsModel;
@@ -1794,6 +2031,7 @@ export interface EntryBeforeListTopicParams {
1794
2031
  * @category CmsEntry
1795
2032
  */
1796
2033
  export interface CreateCmsEntryInput {
2034
+ id?: string;
1797
2035
  [key: string]: any;
1798
2036
  }
1799
2037
  /**
@@ -1834,7 +2072,7 @@ export interface CmsEntryContext {
1834
2072
  */
1835
2073
  listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1836
2074
  /**
1837
- * Lists latest entries. Used for manage API.
2075
+ * Lists the latest entries. Used for manage API.
1838
2076
  */
1839
2077
  listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1840
2078
  /**
@@ -1974,6 +2212,9 @@ export interface CmsEntryContext {
1974
2212
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
1975
2213
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
1976
2214
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2215
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2216
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2217
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
1977
2218
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
1978
2219
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
1979
2220
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2022,13 +2263,13 @@ export interface BaseCmsSecurityPermission extends SecurityPermission {
2022
2263
  */
2023
2264
  export interface CmsModelPermission extends BaseCmsSecurityPermission {
2024
2265
  /**
2025
- * A object representing `key: model.modelId` values where key is locale code.
2266
+ * An object representing `key: model.modelId` values where key is locale code.
2026
2267
  */
2027
2268
  models?: {
2028
2269
  [key: string]: string[];
2029
2270
  };
2030
2271
  /**
2031
- * A object representing `key: group.id` values where key is locale code.
2272
+ * {locale: groupId[]} map, where key is a locale code.
2032
2273
  */
2033
2274
  groups?: {
2034
2275
  [key: string]: string[];
@@ -2042,7 +2283,7 @@ export interface CmsModelPermission extends BaseCmsSecurityPermission {
2042
2283
  */
2043
2284
  export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2044
2285
  /**
2045
- * A object representing `key: group.id` values where key is locale code.
2286
+ * {locale: groupId[]} map, where key is a locale code.
2046
2287
  */
2047
2288
  groups?: {
2048
2289
  [key: string]: string[];
@@ -2057,13 +2298,13 @@ export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2057
2298
  export interface CmsEntryPermission extends BaseCmsSecurityPermission {
2058
2299
  pw?: string;
2059
2300
  /**
2060
- * A object representing `key: model.modelId` values where key is locale code.
2301
+ * An object representing `key: model.modelId` values where key is locale code.
2061
2302
  */
2062
2303
  models?: {
2063
2304
  [key: string]: string[];
2064
2305
  };
2065
2306
  /**
2066
- * A object representing `key: group.id` values where key is locale code.
2307
+ * {locale: groupId[]} map, where key is a locale code.
2067
2308
  */
2068
2309
  groups?: {
2069
2310
  [key: string]: string[];
@@ -2178,7 +2419,7 @@ export interface CmsEntryStorageOperationsListParams {
2178
2419
  sort?: CmsEntryListSort;
2179
2420
  search?: string;
2180
2421
  fields?: string[];
2181
- limit?: number;
2422
+ limit: number;
2182
2423
  after?: string | null;
2183
2424
  }
2184
2425
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {
@@ -2439,6 +2680,7 @@ export interface CmsSystemStorageOperations {
2439
2680
  update: (params: CmsSystemStorageOperationsUpdateParams) => Promise<CmsSystem>;
2440
2681
  }
2441
2682
  export interface HeadlessCmsStorageOperations<C = CmsContext> {
2683
+ name: string;
2442
2684
  system: CmsSystemStorageOperations;
2443
2685
  settings: CmsSettingsStorageOperations;
2444
2686
  groups: CmsGroupStorageOperations;
@@ -2449,9 +2691,5 @@ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2449
2691
  */
2450
2692
  beforeInit?: (context: C) => Promise<void>;
2451
2693
  init?: (context: C) => Promise<void>;
2452
- /**
2453
- * An upgrade to run if necessary.
2454
- */
2455
- upgrade?: UpgradePlugin | null;
2456
2694
  }
2457
2695
  export {};