@webiny/api-headless-cms 0.0.0-unstable.d4f203fa97 → 0.0.0-unstable.d7f521b032

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 (343) 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.js +16 -29
  13. package/crud/contentEntry/markLockedFields.js.map +1 -1
  14. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  15. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  16. package/crud/contentEntry/searchableFields.d.ts +9 -0
  17. package/crud/contentEntry/searchableFields.js +72 -0
  18. package/crud/contentEntry/searchableFields.js.map +1 -0
  19. package/crud/contentEntry.crud.js +120 -181
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/afterCreate.js +0 -2
  22. package/crud/contentModel/afterCreate.js.map +1 -1
  23. package/crud/contentModel/afterCreateFrom.js +0 -2
  24. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  25. package/crud/contentModel/afterDelete.js +0 -2
  26. package/crud/contentModel/afterDelete.js.map +1 -1
  27. package/crud/contentModel/afterUpdate.js +0 -2
  28. package/crud/contentModel/afterUpdate.js.map +1 -1
  29. package/crud/contentModel/beforeCreate.d.ts +2 -3
  30. package/crud/contentModel/beforeCreate.js +7 -36
  31. package/crud/contentModel/beforeCreate.js.map +1 -1
  32. package/crud/contentModel/beforeDelete.js +0 -10
  33. package/crud/contentModel/beforeDelete.js.map +1 -1
  34. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  35. package/crud/contentModel/beforeUpdate.js +2 -7
  36. package/crud/contentModel/beforeUpdate.js.map +1 -1
  37. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  38. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  39. package/crud/contentModel/createFieldStorageId.js +4 -3
  40. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  41. package/crud/contentModel/models.js +12 -0
  42. package/crud/contentModel/models.js.map +1 -1
  43. package/crud/contentModel/systemFields.js.map +1 -1
  44. package/crud/contentModel/validateLayout.js +0 -8
  45. package/crud/contentModel/validateLayout.js.map +1 -1
  46. package/crud/contentModel/validateModel.d.ts +3 -4
  47. package/crud/contentModel/validateModel.js +6 -11
  48. package/crud/contentModel/validateModel.js.map +1 -1
  49. package/crud/contentModel/validateModelFields.d.ts +3 -4
  50. package/crud/contentModel/validateModelFields.js +118 -97
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel/validation.d.ts +477 -0
  53. package/crud/contentModel/validation.js +97 -0
  54. package/crud/contentModel/validation.js.map +1 -0
  55. package/crud/contentModel.crud.js +219 -269
  56. package/crud/contentModel.crud.js.map +1 -1
  57. package/crud/contentModelGroup/beforeCreate.js +0 -12
  58. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  59. package/crud/contentModelGroup/beforeDelete.js +0 -8
  60. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  61. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  62. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  63. package/crud/contentModelGroup/validation.d.ts +30 -0
  64. package/crud/contentModelGroup/validation.js +34 -0
  65. package/crud/contentModelGroup/validation.js.map +1 -0
  66. package/crud/contentModelGroup.crud.js +53 -95
  67. package/crud/contentModelGroup.crud.js.map +1 -1
  68. package/crud/settings.crud.js +0 -12
  69. package/crud/settings.crud.js.map +1 -1
  70. package/crud/system.crud.js +2 -37
  71. package/crud/system.crud.js.map +1 -1
  72. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  73. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  74. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  75. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  76. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  77. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  78. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  79. package/fieldConverters/index.d.ts +2 -1
  80. package/fieldConverters/index.js +2 -5
  81. package/fieldConverters/index.js.map +1 -1
  82. package/graphql/buildSchemaPlugins.d.ts +8 -3
  83. package/graphql/buildSchemaPlugins.js +6 -14
  84. package/graphql/buildSchemaPlugins.js.map +1 -1
  85. package/graphql/createExecutableSchema.d.ts +7 -0
  86. package/graphql/createExecutableSchema.js +29 -0
  87. package/graphql/createExecutableSchema.js.map +1 -0
  88. package/graphql/generateSchema.d.ts +8 -0
  89. package/graphql/generateSchema.js +31 -0
  90. package/graphql/generateSchema.js.map +1 -0
  91. package/graphql/graphQLHandlerFactory.js +90 -74
  92. package/graphql/graphQLHandlerFactory.js.map +1 -1
  93. package/graphql/index.d.ts +1 -3
  94. package/graphql/index.js +2 -46
  95. package/graphql/index.js.map +1 -1
  96. package/graphql/schema/baseContentSchema.d.ts +6 -2
  97. package/graphql/schema/baseContentSchema.js +9 -13
  98. package/graphql/schema/baseContentSchema.js.map +1 -1
  99. package/graphql/schema/baseSchema.d.ts +3 -0
  100. package/graphql/schema/baseSchema.js +53 -0
  101. package/graphql/schema/baseSchema.js.map +1 -0
  102. package/graphql/schema/contentEntries.d.ts +6 -2
  103. package/graphql/schema/contentEntries.js +39 -65
  104. package/graphql/schema/contentEntries.js.map +1 -1
  105. package/graphql/schema/contentModelGroups.d.ts +6 -2
  106. package/graphql/schema/contentModelGroups.js +9 -22
  107. package/graphql/schema/contentModelGroups.js.map +1 -1
  108. package/graphql/schema/contentModels.d.ts +6 -2
  109. package/graphql/schema/contentModels.js +42 -25
  110. package/graphql/schema/contentModels.js.map +1 -1
  111. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  112. package/graphql/schema/createFieldResolvers.js +20 -27
  113. package/graphql/schema/createFieldResolvers.js.map +1 -1
  114. package/graphql/schema/createManageResolvers.js +0 -26
  115. package/graphql/schema/createManageResolvers.js.map +1 -1
  116. package/graphql/schema/createManageSDL.d.ts +2 -0
  117. package/graphql/schema/createManageSDL.js +8 -19
  118. package/graphql/schema/createManageSDL.js.map +1 -1
  119. package/graphql/schema/createPreviewResolvers.js +0 -10
  120. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  121. package/graphql/schema/createReadResolvers.js +5 -10
  122. package/graphql/schema/createReadResolvers.js.map +1 -1
  123. package/graphql/schema/createReadSDL.d.ts +2 -0
  124. package/graphql/schema/createReadSDL.js +11 -15
  125. package/graphql/schema/createReadSDL.js.map +1 -1
  126. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -2
  127. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  128. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  129. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  130. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  131. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  132. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  133. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  134. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  135. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  136. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  137. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  138. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  139. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  140. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  141. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  142. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  143. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  144. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  145. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  146. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  147. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  148. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  149. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  150. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  151. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  152. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  153. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  154. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  155. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  156. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  157. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  158. package/graphql/schema/schemaPlugins.d.ts +8 -3
  159. package/graphql/schema/schemaPlugins.js +63 -65
  160. package/graphql/schema/schemaPlugins.js.map +1 -1
  161. package/graphql/system.js +69 -85
  162. package/graphql/system.js.map +1 -1
  163. package/graphqlFields/boolean.js +0 -12
  164. package/graphqlFields/boolean.js.map +1 -1
  165. package/graphqlFields/datetime.js +0 -17
  166. package/graphqlFields/datetime.js.map +1 -1
  167. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  168. package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
  169. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  170. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  171. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  172. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  173. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  174. package/graphqlFields/dynamicZone/index.js +19 -0
  175. package/graphqlFields/dynamicZone/index.js.map +1 -0
  176. package/graphqlFields/file.js +0 -8
  177. package/graphqlFields/file.js.map +1 -1
  178. package/graphqlFields/helpers.js +0 -10
  179. package/graphqlFields/helpers.js.map +1 -1
  180. package/graphqlFields/index.d.ts +1 -1
  181. package/graphqlFields/index.js +2 -12
  182. package/graphqlFields/index.js.map +1 -1
  183. package/graphqlFields/longText.js +0 -10
  184. package/graphqlFields/longText.js.map +1 -1
  185. package/graphqlFields/number.js +0 -12
  186. package/graphqlFields/number.js.map +1 -1
  187. package/graphqlFields/object.js +112 -98
  188. package/graphqlFields/object.js.map +1 -1
  189. package/graphqlFields/ref.js +48 -96
  190. package/graphqlFields/ref.js.map +1 -1
  191. package/graphqlFields/richText.js +0 -9
  192. package/graphqlFields/richText.js.map +1 -1
  193. package/graphqlFields/text.js +0 -11
  194. package/graphqlFields/text.js.map +1 -1
  195. package/index.d.ts +3 -3
  196. package/index.js +3 -26
  197. package/index.js.map +1 -1
  198. package/modelManager/DefaultCmsModelManager.js +0 -16
  199. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  200. package/modelManager/index.js +0 -4
  201. package/modelManager/index.js.map +1 -1
  202. package/package.json +28 -28
  203. package/parameters/context.js +0 -4
  204. package/parameters/context.js.map +1 -1
  205. package/parameters/header.js +0 -11
  206. package/parameters/header.js.map +1 -1
  207. package/parameters/index.js +0 -8
  208. package/parameters/index.js.map +1 -1
  209. package/parameters/manual.js +1 -8
  210. package/parameters/manual.js.map +1 -1
  211. package/parameters/path.js +0 -11
  212. package/parameters/path.js.map +1 -1
  213. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  214. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  215. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  216. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  217. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  218. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  219. package/plugins/CmsGroupPlugin.js +0 -8
  220. package/plugins/CmsGroupPlugin.js.map +1 -1
  221. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  222. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  223. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  224. package/plugins/CmsModelPlugin.js +2 -38
  225. package/plugins/CmsModelPlugin.js.map +1 -1
  226. package/plugins/CmsParametersPlugin.js +0 -7
  227. package/plugins/CmsParametersPlugin.js.map +1 -1
  228. package/plugins/StorageTransformPlugin.d.ts +11 -11
  229. package/plugins/StorageTransformPlugin.js +0 -9
  230. package/plugins/StorageTransformPlugin.js.map +1 -1
  231. package/plugins/index.d.ts +2 -0
  232. package/plugins/index.js +22 -10
  233. package/plugins/index.js.map +1 -1
  234. package/storage/default.js +0 -3
  235. package/storage/default.js.map +1 -1
  236. package/storage/object.js +4 -20
  237. package/storage/object.js.map +1 -1
  238. package/types.d.ts +235 -57
  239. package/types.js +62 -69
  240. package/types.js.map +1 -1
  241. package/upgrades/5.33.0/index.js +3 -26
  242. package/upgrades/5.33.0/index.js.map +1 -1
  243. package/upgrades/index.js +0 -3
  244. package/upgrades/index.js.map +1 -1
  245. package/utils/access.js +11 -25
  246. package/utils/access.js.map +1 -1
  247. package/utils/converters/Converter.js +0 -13
  248. package/utils/converters/Converter.js.map +1 -1
  249. package/utils/converters/ConverterCollection.js +14 -34
  250. package/utils/converters/ConverterCollection.js.map +1 -1
  251. package/utils/converters/valueKeyStorageConverter.js +0 -26
  252. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  253. package/utils/createTypeFromFields.d.ts +15 -0
  254. package/utils/createTypeFromFields.js +64 -0
  255. package/utils/createTypeFromFields.js.map +1 -0
  256. package/utils/createTypeName.js +2 -9
  257. package/utils/createTypeName.js.map +1 -1
  258. package/utils/entryStorage.js +22 -35
  259. package/utils/entryStorage.js.map +1 -1
  260. package/utils/filterAsync.js +0 -5
  261. package/utils/filterAsync.js.map +1 -1
  262. package/utils/getBaseFieldType.d.ts +4 -0
  263. package/utils/getBaseFieldType.js +10 -0
  264. package/utils/getBaseFieldType.js.map +1 -0
  265. package/utils/getEntryTitle.js +0 -9
  266. package/utils/getEntryTitle.js.map +1 -1
  267. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  268. package/utils/getSchemaFromFieldPlugins.js +23 -19
  269. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  270. package/utils/ownership.js +0 -8
  271. package/utils/ownership.js.map +1 -1
  272. package/utils/permissions.js +8 -23
  273. package/utils/permissions.js.map +1 -1
  274. package/utils/pluralizedTypeName.js +0 -6
  275. package/utils/pluralizedTypeName.js.map +1 -1
  276. package/utils/renderFields.js +2 -9
  277. package/utils/renderFields.js.map +1 -1
  278. package/utils/renderGetFilterFields.js +6 -14
  279. package/utils/renderGetFilterFields.js.map +1 -1
  280. package/utils/renderInputFields.js +2 -9
  281. package/utils/renderInputFields.js.map +1 -1
  282. package/utils/renderListFilterFields.js +4 -10
  283. package/utils/renderListFilterFields.js.map +1 -1
  284. package/utils/renderSortEnum.d.ts +7 -4
  285. package/utils/renderSortEnum.js +21 -11
  286. package/utils/renderSortEnum.js.map +1 -1
  287. package/utils/toSlug.js +0 -4
  288. package/utils/toSlug.js.map +1 -1
  289. package/validators/dateGte.js +0 -7
  290. package/validators/dateGte.js.map +1 -1
  291. package/validators/dateLte.js +0 -7
  292. package/validators/dateLte.js.map +1 -1
  293. package/validators/dynamicZone.d.ts +2 -0
  294. package/validators/dynamicZone.js +20 -0
  295. package/validators/dynamicZone.js.map +1 -0
  296. package/validators/gte.js +0 -8
  297. package/validators/gte.js.map +1 -1
  298. package/validators/in.js +0 -8
  299. package/validators/in.js.map +1 -1
  300. package/validators/index.js +2 -16
  301. package/validators/index.js.map +1 -1
  302. package/validators/lte.js +0 -8
  303. package/validators/lte.js.map +1 -1
  304. package/validators/maxLength.js +0 -8
  305. package/validators/maxLength.js.map +1 -1
  306. package/validators/minLength.js +0 -8
  307. package/validators/minLength.js.map +1 -1
  308. package/validators/pattern.js +0 -9
  309. package/validators/pattern.js.map +1 -1
  310. package/validators/patternPlugins/email.js +0 -2
  311. package/validators/patternPlugins/email.js.map +1 -1
  312. package/validators/patternPlugins/index.js +0 -8
  313. package/validators/patternPlugins/index.js.map +1 -1
  314. package/validators/patternPlugins/lowerCase.js +0 -2
  315. package/validators/patternPlugins/lowerCase.js.map +1 -1
  316. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  317. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  318. package/validators/patternPlugins/upperCase.js +0 -2
  319. package/validators/patternPlugins/upperCase.js.map +1 -1
  320. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  321. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  322. package/validators/patternPlugins/url.js +0 -2
  323. package/validators/patternPlugins/url.js.map +1 -1
  324. package/validators/required.js +0 -5
  325. package/validators/required.js.map +1 -1
  326. package/validators/timeGte.js +0 -8
  327. package/validators/timeGte.js.map +1 -1
  328. package/validators/timeLte.js +0 -8
  329. package/validators/timeLte.js.map +1 -1
  330. package/validators/unique.js +0 -7
  331. package/validators/unique.js.map +1 -1
  332. package/crud/index.d.ts +0 -6
  333. package/crud/index.js +0 -85
  334. package/crud/index.js.map +0 -1
  335. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  336. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  337. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  338. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  339. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  340. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  341. package/utils/filterModelFields.d.ts +0 -16
  342. package/utils/filterModelFields.js +0 -77
  343. package/utils/filterModelFields.js.map +0 -1
package/types.d.ts CHANGED
@@ -135,7 +135,7 @@ export interface CmsModelField {
135
135
  * A type of the field.
136
136
  * We are defining our built-in fields, so people know which are available by the default.
137
137
  */
138
- type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | string;
138
+ type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | "dynamicZone" | string;
139
139
  /**
140
140
  * A unique storage ID for storing actual values.
141
141
  * Must in form of a-zA-Z0-9@a-zA-Z0-9@a-zA-Z0-9.
@@ -195,6 +195,10 @@ export interface CmsModelField {
195
195
  *
196
196
  */
197
197
  multipleValues?: boolean;
198
+ /**
199
+ * Fields can be tagged to give them contextual meaning.
200
+ */
201
+ tags?: string[];
198
202
  /**
199
203
  * Any user defined settings.
200
204
  *
@@ -202,18 +206,42 @@ export interface CmsModelField {
202
206
  */
203
207
  settings?: CmsModelFieldSettings;
204
208
  }
209
+ export interface CmsDynamicZoneTemplate {
210
+ id: string;
211
+ name: string;
212
+ gqlTypeName: string;
213
+ description: string;
214
+ icon: string;
215
+ fields: CmsModelField[];
216
+ layout: string[][];
217
+ validation: CmsModelFieldValidation[];
218
+ }
219
+ /**
220
+ * A definition for dynamic-zone field to show possible type of the field in settings.
221
+ */
222
+ export interface CmsModelDynamicZoneField extends CmsModelField {
223
+ /**
224
+ * Settings object for the field. Contains `templates` property.
225
+ */
226
+ settings: {
227
+ templates: CmsDynamicZoneTemplate[];
228
+ };
229
+ }
205
230
  /**
206
231
  * Used for our internal functionality.
207
232
  */
208
233
  export interface CmsModelFieldWithParent extends CmsModelField {
209
234
  parent?: CmsModelFieldWithParent | null;
210
235
  }
236
+ export interface CmsModelDynamicZoneFieldWithParent extends CmsModelDynamicZoneField {
237
+ parent?: CmsModelDynamicZoneFieldWithParent | null;
238
+ }
211
239
  /**
212
240
  * A definition for dateTime field to show possible type of the field in settings.
213
241
  */
214
242
  export interface CmsModelDateTimeField extends CmsModelField {
215
243
  /**
216
- * Settings object for the field. Contains type property.
244
+ * Settings object for the field. Contains `type` property.
217
245
  */
218
246
  settings: {
219
247
  type: "time" | "date" | "dateTimeWithoutTimezone" | "dateTimeWithTimezone";
@@ -334,6 +362,20 @@ export interface LockedField {
334
362
  type: string;
335
363
  [key: string]: any;
336
364
  }
365
+ /**
366
+ * @category Database model
367
+ * @category CmsModel
368
+ */
369
+ export interface CmsModelGroup {
370
+ /**
371
+ * Generated ID of the group
372
+ */
373
+ id: string;
374
+ /**
375
+ * Name of the group
376
+ */
377
+ name: string;
378
+ }
337
379
  /**
338
380
  * Cms Model defining an entry.
339
381
  *
@@ -360,16 +402,7 @@ export interface CmsModel {
360
402
  /**
361
403
  * Cms Group reference object.
362
404
  */
363
- group: {
364
- /**
365
- * Generated ID of the group
366
- */
367
- id: string;
368
- /**
369
- * Name of the group
370
- */
371
- name: string;
372
- };
405
+ group: CmsModelGroup;
373
406
  /**
374
407
  * Description for the content model.
375
408
  */
@@ -401,6 +434,10 @@ export interface CmsModel {
401
434
  * ```
402
435
  */
403
436
  layout: string[][];
437
+ /**
438
+ * Models can be tagged to give them contextual meaning.
439
+ */
440
+ tags?: string[];
404
441
  /**
405
442
  * List of locked fields. Updated when entry is saved and a field has been used.
406
443
  */
@@ -437,25 +474,40 @@ export interface CmsModelFieldDefinition {
437
474
  fields: string;
438
475
  typeDefs?: string;
439
476
  }
440
- interface CmsModelFieldToGraphQLCreateResolverParams {
477
+ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
441
478
  models: CmsModel[];
442
479
  model: CmsModel;
443
480
  graphQLType: string;
444
- field: CmsModelField;
481
+ field: TField;
445
482
  createFieldResolvers: any;
446
483
  }
447
- export interface CmsModelFieldToGraphQLCreateResolver {
448
- (params: CmsModelFieldToGraphQLCreateResolverParams): GraphQLFieldResolver | {
484
+ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
485
+ (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
449
486
  resolver: GraphQLFieldResolver | null;
450
487
  typeResolvers: Resolvers<CmsContext>;
451
488
  } | false;
452
489
  }
490
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
491
+ fields: TField[];
492
+ originalFields: TField[];
493
+ }
494
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidate {
495
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams): void;
496
+ }
497
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
498
+ field: TField;
499
+ originalField?: TField;
500
+ validate: CmsModelFieldToGraphQLPluginValidateChildFieldsValidate;
501
+ }
502
+ export interface CmsModelFieldToGraphQLPluginValidateChildFields<TField extends CmsModelField = CmsModelField> {
503
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField>): void;
504
+ }
453
505
  /**
454
506
  * @category Plugin
455
507
  * @category ModelField
456
508
  * @category GraphQL
457
509
  */
458
- export interface CmsModelFieldToGraphQLPlugin extends Plugin {
510
+ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField> extends Plugin {
459
511
  /**
460
512
  * A plugin type
461
513
  */
@@ -509,7 +561,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
509
561
  */
510
562
  createStorageId?: (params: {
511
563
  model: CmsModel;
512
- field: CmsModelField;
564
+ field: TField;
513
565
  }) => string | null | undefined;
514
566
  /**
515
567
  * Read API methods.
@@ -528,7 +580,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
528
580
  */
529
581
  createGetFilters?(params: {
530
582
  model: CmsModel;
531
- field: CmsModelField;
583
+ field: TField;
532
584
  }): string;
533
585
  /**
534
586
  * Definition for list filtering for GraphQL.
@@ -548,7 +600,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
548
600
  */
549
601
  createListFilters?(params: {
550
602
  model: CmsModel;
551
- field: CmsModelField;
603
+ field: TField;
604
+ plugins: CmsFieldTypePlugins;
552
605
  }): string;
553
606
  /**
554
607
  * Definition of the field type for GraphQL - be aware if multiple values is selected.
@@ -567,12 +620,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
567
620
  */
568
621
  createTypeField(params: {
569
622
  model: CmsModel;
570
- field: CmsModelField;
623
+ field: TField;
571
624
  fieldTypePlugins: CmsFieldTypePlugins;
572
625
  }): CmsModelFieldDefinition | string | null;
573
626
  /**
574
627
  * Definition for field resolver.
575
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
628
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
576
629
  *
577
630
  * ```ts
578
631
  * read: {
@@ -584,7 +637,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
584
637
  * }
585
638
  * ```
586
639
  */
587
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
640
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
588
641
  /**
589
642
  * Read API schema definitions for the field and resolvers for them.
590
643
  *
@@ -627,7 +680,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
627
680
  */
628
681
  createListFilters?: (params: {
629
682
  model: CmsModel;
630
- field: CmsModelField;
683
+ field: TField;
684
+ plugins: CmsFieldTypePlugins;
631
685
  }) => string;
632
686
  /**
633
687
  * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.
@@ -666,7 +720,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
666
720
  */
667
721
  createTypeField: (params: {
668
722
  model: CmsModel;
669
- field: CmsModelField;
723
+ field: TField;
670
724
  fieldTypePlugins: CmsFieldTypePlugins;
671
725
  }) => CmsModelFieldDefinition | string | null;
672
726
  /**
@@ -686,12 +740,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
686
740
  */
687
741
  createInputField: (params: {
688
742
  model: CmsModel;
689
- field: CmsModelField;
743
+ field: TField;
690
744
  fieldTypePlugins: CmsFieldTypePlugins;
691
745
  }) => CmsModelFieldDefinition | string | null;
692
746
  /**
693
747
  * Definition for field resolver.
694
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
748
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
695
749
  *
696
750
  * ```ts
697
751
  * manage: {
@@ -703,8 +757,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
703
757
  * }
704
758
  * ```
705
759
  */
706
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
760
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
707
761
  };
762
+ /**
763
+ *
764
+ * @param field
765
+ */
766
+ validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;
708
767
  }
709
768
  /**
710
769
  * Check for content model locked field.
@@ -743,7 +802,7 @@ export interface CmsFieldTypePlugins {
743
802
  [key: string]: CmsModelFieldToGraphQLPlugin;
744
803
  }
745
804
  /**
746
- * A interface describing the reference to a user that created some data in the database.
805
+ * An interface describing the reference to a user that created some data in the database.
747
806
  *
748
807
  * @category General
749
808
  */
@@ -837,7 +896,7 @@ export declare type CmsSystemContext = {
837
896
  onSystemInstallError: Topic<OnSystemInstallErrorTopicParams>;
838
897
  };
839
898
  /**
840
- * A GraphQL params.data parameter received when creating content model group.
899
+ * A GraphQL `params.data` parameter received when creating content model group.
841
900
  *
842
901
  * @category CmsGroup
843
902
  * @category GraphQL params
@@ -849,7 +908,7 @@ export interface CmsGroupCreateInput {
849
908
  icon: string;
850
909
  }
851
910
  /**
852
- * A GraphQL params.data parameter received when updating content model group.
911
+ * A GraphQL `params.data` parameter received when updating content model group.
853
912
  *
854
913
  * @category CmsGroup
855
914
  * @category GraphQL params
@@ -919,7 +978,7 @@ export interface CmsGroup {
919
978
  isPrivate?: boolean;
920
979
  }
921
980
  /**
922
- * A data.where parameter received when listing content model groups.
981
+ * A `data.where` parameter received when listing content model groups.
923
982
  *
924
983
  * @category CmsGroup
925
984
  * @category GraphQL params
@@ -945,6 +1004,15 @@ export interface OnGroupBeforeCreateTopicParams {
945
1004
  export interface OnGroupAfterCreateTopicParams {
946
1005
  group: CmsGroup;
947
1006
  }
1007
+ /**
1008
+ * @category CmsGroup
1009
+ * @category Topic
1010
+ */
1011
+ export interface OnGroupCreateErrorTopicParams {
1012
+ input: CmsGroupCreateInput;
1013
+ group: CmsGroup;
1014
+ error: Error;
1015
+ }
948
1016
  /**
949
1017
  * @category CmsGroup
950
1018
  * @category Topic
@@ -961,6 +1029,16 @@ export interface OnGroupAfterUpdateTopicParams {
961
1029
  original: CmsGroup;
962
1030
  group: CmsGroup;
963
1031
  }
1032
+ /**
1033
+ * @category CmsGroup
1034
+ * @category Topic
1035
+ */
1036
+ export interface OnGroupUpdateErrorTopicParams {
1037
+ input: CmsGroupUpdateInput;
1038
+ original: CmsGroup;
1039
+ group: CmsGroup;
1040
+ error: Error;
1041
+ }
964
1042
  /**
965
1043
  * @category CmsGroup
966
1044
  * @category Topic
@@ -975,6 +1053,14 @@ export interface OnGroupBeforeDeleteTopicParams {
975
1053
  export interface OnGroupAfterDeleteTopicParams {
976
1054
  group: CmsGroup;
977
1055
  }
1056
+ /**
1057
+ * @category CmsGroup
1058
+ * @category Topic
1059
+ */
1060
+ export interface OnGroupDeleteErrorTopicParams {
1061
+ group: CmsGroup;
1062
+ error: Error;
1063
+ }
978
1064
  /**
979
1065
  * Cms Group in context.
980
1066
  *
@@ -1038,10 +1124,13 @@ export interface CmsGroupContext {
1038
1124
  */
1039
1125
  onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1040
1126
  onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1127
+ onGroupCreateError: Topic<OnGroupCreateErrorTopicParams>;
1041
1128
  onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1042
1129
  onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1130
+ onGroupUpdateError: Topic<OnGroupUpdateErrorTopicParams>;
1043
1131
  onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1044
1132
  onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1133
+ onGroupDeleteError: Topic<OnGroupDeleteErrorTopicParams>;
1045
1134
  }
1046
1135
  /**
1047
1136
  * Definition for content model field validator.
@@ -1060,7 +1149,7 @@ export interface CmsModelFieldValidation {
1060
1149
  };
1061
1150
  }
1062
1151
  /**
1063
- * A GraphQL params.data parameter received when creating content model.
1152
+ * A GraphQL `params.data` parameter received when creating content model.
1064
1153
  *
1065
1154
  * @category GraphQL params
1066
1155
  * @category CmsModel
@@ -1077,7 +1166,7 @@ export interface CmsModelCreateInput {
1077
1166
  /**
1078
1167
  * Description of the content model.
1079
1168
  */
1080
- description?: string;
1169
+ description?: string | null;
1081
1170
  /**
1082
1171
  * Group where to put the content model in.
1083
1172
  */
@@ -1097,6 +1186,10 @@ export interface CmsModelCreateInput {
1097
1186
  * ```
1098
1187
  */
1099
1188
  layout?: string[][];
1189
+ /**
1190
+ * Models can be tagged to give them contextual meaning.
1191
+ */
1192
+ tags?: string[];
1100
1193
  /**
1101
1194
  * The field that is being displayed as entry title.
1102
1195
  * It is picked as first available text field. Or user can select own field.
@@ -1104,7 +1197,7 @@ export interface CmsModelCreateInput {
1104
1197
  titleFieldId?: string;
1105
1198
  }
1106
1199
  /**
1107
- * A GraphQL params.data parameter received when creating content model from existing model.
1200
+ * A GraphQL `params.data` parameter received when creating content model from existing model.
1108
1201
  *
1109
1202
  * @category GraphQL params
1110
1203
  * @category CmsModel
@@ -1145,11 +1238,15 @@ export interface CmsModelFieldInput {
1145
1238
  /**
1146
1239
  * Text to display below the field to help user what to write in the field.
1147
1240
  */
1148
- helpText?: string;
1241
+ helpText?: string | null;
1149
1242
  /**
1150
1243
  * Text to display in the field.
1151
1244
  */
1152
- placeholderText?: string;
1245
+ placeholderText?: string | null;
1246
+ /**
1247
+ * Fields can be tagged to give them contextual meaning.
1248
+ */
1249
+ tags?: string[];
1153
1250
  /**
1154
1251
  * Are multiple values allowed?
1155
1252
  */
@@ -1176,7 +1273,7 @@ export interface CmsModelFieldInput {
1176
1273
  settings?: Record<string, any>;
1177
1274
  }
1178
1275
  /**
1179
- * A GraphQL params.data parameter received when updating content model.
1276
+ * A GraphQL `params.data` parameter received when updating content model.
1180
1277
  *
1181
1278
  * @category GraphQL params
1182
1279
  * @category CmsModel
@@ -1193,7 +1290,7 @@ export interface CmsModelUpdateInput {
1193
1290
  /**
1194
1291
  * A new description of the content model.
1195
1292
  */
1196
- description?: string;
1293
+ description?: string | null;
1197
1294
  /**
1198
1295
  * A list of content model fields to define the entry values.
1199
1296
  */
@@ -1258,7 +1355,7 @@ export interface CmsEntryValues {
1258
1355
  export interface CmsEntry<T = CmsEntryValues> {
1259
1356
  /**
1260
1357
  * 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.
1358
+ * This can be used when upgrading the system, so we know which entries to update.
1262
1359
  */
1263
1360
  webinyVersion: string;
1264
1361
  /**
@@ -1328,10 +1425,10 @@ export interface CmsEntry<T = CmsEntryValues> {
1328
1425
  /**
1329
1426
  * Settings for the given entry.
1330
1427
  *
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.
1428
+ * Introduced with Advanced Publishing Workflow. Will always be inserted once this PR is merged.
1429
+ * Be aware that when accessing properties in it on old systems, it will break if not checked first.
1333
1430
  *
1334
- * Available only on the Manage API in entry GraphQL type meta.data property.
1431
+ * Available only on the Manage API in entry GraphQL type `meta.data` property.
1335
1432
  */
1336
1433
  meta?: {
1337
1434
  [key: string]: any;
@@ -1364,7 +1461,7 @@ export interface CmsModelManager {
1364
1461
  */
1365
1462
  getPublishedByIds: (ids: string[]) => Promise<CmsEntry[]>;
1366
1463
  /**
1367
- * Get a list of latest entries by the ID list.
1464
+ * Get a list of the latest entries by the ID list.
1368
1465
  */
1369
1466
  getLatestByIds: (ids: string[]) => Promise<CmsEntry[]>;
1370
1467
  /**
@@ -1372,18 +1469,21 @@ export interface CmsModelManager {
1372
1469
  */
1373
1470
  get: (id: string) => Promise<CmsEntry>;
1374
1471
  /**
1375
- * Create a entry.
1472
+ * Create an entry.
1376
1473
  */
1377
1474
  create: (data: CreateCmsEntryInput) => Promise<CmsEntry>;
1378
1475
  /**
1379
- * Update a entry.
1476
+ * Update an entry.
1380
1477
  */
1381
1478
  update: (id: string, data: UpdateCmsEntryInput) => Promise<CmsEntry>;
1382
1479
  /**
1383
- * Delete a entry.
1480
+ * Delete an entry.
1384
1481
  */
1385
1482
  delete: (id: string) => Promise<void>;
1386
1483
  }
1484
+ /**
1485
+ * Create
1486
+ */
1387
1487
  export interface OnModelBeforeCreateTopicParams {
1388
1488
  input: CmsModelCreateInput;
1389
1489
  model: CmsModel;
@@ -1392,6 +1492,14 @@ export interface OnModelAfterCreateTopicParams {
1392
1492
  input: CmsModelCreateInput;
1393
1493
  model: CmsModel;
1394
1494
  }
1495
+ export interface OnModelCreateErrorTopicParams {
1496
+ input: CmsModelCreateInput;
1497
+ model: CmsModel;
1498
+ error: Error;
1499
+ }
1500
+ /**
1501
+ * Create From / Clone
1502
+ */
1395
1503
  export interface OnModelBeforeCreateFromTopicParams {
1396
1504
  input: CmsModelCreateInput;
1397
1505
  original: CmsModel;
@@ -1402,6 +1510,15 @@ export interface OnModelAfterCreateFromTopicParams {
1402
1510
  original: CmsModel;
1403
1511
  model: CmsModel;
1404
1512
  }
1513
+ export interface OnModelCreateFromErrorParams {
1514
+ input: CmsModelCreateInput;
1515
+ original: CmsModel;
1516
+ model: CmsModel;
1517
+ error: Error;
1518
+ }
1519
+ /**
1520
+ * Update
1521
+ */
1405
1522
  export interface OnModelBeforeUpdateTopicParams {
1406
1523
  input: CmsModelUpdateInput;
1407
1524
  original: CmsModel;
@@ -1412,15 +1529,35 @@ export interface OnModelAfterUpdateTopicParams {
1412
1529
  original: CmsModel;
1413
1530
  model: CmsModel;
1414
1531
  }
1532
+ export interface OnModelUpdateErrorTopicParams {
1533
+ input: CmsModelUpdateInput;
1534
+ original: CmsModel;
1535
+ model: CmsModel;
1536
+ error: Error;
1537
+ }
1538
+ /**
1539
+ * Delete
1540
+ */
1415
1541
  export interface OnModelBeforeDeleteTopicParams {
1416
1542
  model: CmsModel;
1417
1543
  }
1418
1544
  export interface OnModelAfterDeleteTopicParams {
1419
1545
  model: CmsModel;
1420
1546
  }
1547
+ export interface OnModelDeleteErrorTopicParams {
1548
+ model: CmsModel;
1549
+ error: Error;
1550
+ }
1551
+ /**
1552
+ * Initialize
1553
+ */
1421
1554
  export interface OnModelInitializeParams {
1422
1555
  model: CmsModel;
1556
+ data: Record<string, any>;
1423
1557
  }
1558
+ /**
1559
+ *
1560
+ */
1424
1561
  export interface CmsModelUpdateDirectParams {
1425
1562
  model: CmsModel;
1426
1563
  original: CmsModel;
@@ -1467,9 +1604,9 @@ export interface CmsModelContext {
1467
1604
  *
1468
1605
  * Primary idea behind this is creating the index, for the code models, in the ES.
1469
1606
  */
1470
- initializeModel: (modelId: string) => Promise<boolean>;
1607
+ initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1471
1608
  /**
1472
- * Get a instance of CmsModelManager for given content modelId.
1609
+ * Get an instance of CmsModelManager for given content modelId.
1473
1610
  *
1474
1611
  * @see CmsModelManager
1475
1612
  *
@@ -1528,12 +1665,16 @@ export interface CmsModelContext {
1528
1665
  */
1529
1666
  onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1530
1667
  onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1668
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1531
1669
  onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1532
1670
  onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1671
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1533
1672
  onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1534
1673
  onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1674
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1535
1675
  onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1536
1676
  onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1677
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1537
1678
  onModelInitialize: Topic<OnModelInitializeParams>;
1538
1679
  }
1539
1680
  /**
@@ -1619,7 +1760,7 @@ export interface CmsEntryListWhere {
1619
1760
  /**
1620
1761
  * This is to allow querying by any content model field defined by the user.
1621
1762
  */
1622
- [key: string]: string | number | boolean | undefined | string[] | number[] | null | CmsEntryListWhere[] | CmsEntryListWhereRef;
1763
+ [key: string]: string | number | boolean | undefined | string[] | number[] | null | CmsEntryListWhere[] | CmsEntryListWhere | CmsEntryListWhereRef;
1623
1764
  /**
1624
1765
  * To allow querying via nested queries, we added the AND / OR properties.
1625
1766
  */
@@ -1677,6 +1818,9 @@ export interface CmsEntryMeta {
1677
1818
  */
1678
1819
  totalCount: number;
1679
1820
  }
1821
+ /**
1822
+ * Create
1823
+ */
1680
1824
  export interface OnEntryBeforeCreateTopicParams {
1681
1825
  input: CreateCmsEntryInput;
1682
1826
  entry: CmsEntry;
@@ -1694,6 +1838,9 @@ export interface OnEntryCreateErrorTopicParams {
1694
1838
  entry: CmsEntry;
1695
1839
  model: CmsModel;
1696
1840
  }
1841
+ /**
1842
+ * Revision Create
1843
+ */
1697
1844
  export interface OnEntryRevisionBeforeCreateTopicParams {
1698
1845
  input: CreateFromCmsEntryInput;
1699
1846
  entry: CmsEntry;
@@ -1710,9 +1857,13 @@ export interface OnEntryRevisionAfterCreateTopicParams {
1710
1857
  export interface OnEntryCreateRevisionErrorTopicParams {
1711
1858
  error: Error;
1712
1859
  input: CreateFromCmsEntryInput;
1860
+ original: CmsEntry;
1713
1861
  entry: CmsEntry;
1714
1862
  model: CmsModel;
1715
1863
  }
1864
+ /**
1865
+ * Update
1866
+ */
1716
1867
  export interface OnEntryBeforeUpdateTopicParams {
1717
1868
  input: UpdateCmsEntryInput;
1718
1869
  original: CmsEntry;
@@ -1732,6 +1883,9 @@ export interface OnEntryUpdateErrorTopicParams {
1732
1883
  entry: CmsEntry;
1733
1884
  model: CmsModel;
1734
1885
  }
1886
+ /**
1887
+ * Publish
1888
+ */
1735
1889
  export interface OnEntryBeforePublishTopicParams {
1736
1890
  entry: CmsEntry;
1737
1891
  model: StorageOperationsCmsModel;
@@ -1746,6 +1900,26 @@ export interface OnEntryPublishErrorTopicParams {
1746
1900
  entry: CmsEntry;
1747
1901
  model: StorageOperationsCmsModel;
1748
1902
  }
1903
+ /**
1904
+ * Republish
1905
+ */
1906
+ export interface OnEntryBeforeRepublishTopicParams {
1907
+ entry: CmsEntry;
1908
+ model: StorageOperationsCmsModel;
1909
+ }
1910
+ export interface OnEntryAfterRepublishTopicParams {
1911
+ entry: CmsEntry;
1912
+ model: StorageOperationsCmsModel;
1913
+ storageEntry: CmsEntry;
1914
+ }
1915
+ export interface OnEntryRepublishErrorTopicParams {
1916
+ error: Error;
1917
+ entry: CmsEntry;
1918
+ model: StorageOperationsCmsModel;
1919
+ }
1920
+ /**
1921
+ * Unpublish
1922
+ */
1749
1923
  export interface OnEntryBeforeUnpublishTopicParams {
1750
1924
  entry: CmsEntry;
1751
1925
  model: StorageOperationsCmsModel;
@@ -1799,6 +1973,7 @@ export interface EntryBeforeListTopicParams {
1799
1973
  * @category CmsEntry
1800
1974
  */
1801
1975
  export interface CreateCmsEntryInput {
1976
+ id?: string;
1802
1977
  [key: string]: any;
1803
1978
  }
1804
1979
  /**
@@ -1839,7 +2014,7 @@ export interface CmsEntryContext {
1839
2014
  */
1840
2015
  listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1841
2016
  /**
1842
- * Lists latest entries. Used for manage API.
2017
+ * Lists the latest entries. Used for manage API.
1843
2018
  */
1844
2019
  listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1845
2020
  /**
@@ -1979,6 +2154,9 @@ export interface CmsEntryContext {
1979
2154
  onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
1980
2155
  onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
1981
2156
  onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2157
+ onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;
2158
+ onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;
2159
+ onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;
1982
2160
  onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
1983
2161
  onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
1984
2162
  onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
@@ -2027,13 +2205,13 @@ export interface BaseCmsSecurityPermission extends SecurityPermission {
2027
2205
  */
2028
2206
  export interface CmsModelPermission extends BaseCmsSecurityPermission {
2029
2207
  /**
2030
- * A object representing `key: model.modelId` values where key is locale code.
2208
+ * An object representing `key: model.modelId` values where key is locale code.
2031
2209
  */
2032
2210
  models?: {
2033
2211
  [key: string]: string[];
2034
2212
  };
2035
2213
  /**
2036
- * A object representing `key: group.id` values where key is locale code.
2214
+ * {locale: groupId[]} map, where key is a locale code.
2037
2215
  */
2038
2216
  groups?: {
2039
2217
  [key: string]: string[];
@@ -2047,7 +2225,7 @@ export interface CmsModelPermission extends BaseCmsSecurityPermission {
2047
2225
  */
2048
2226
  export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2049
2227
  /**
2050
- * A object representing `key: group.id` values where key is locale code.
2228
+ * {locale: groupId[]} map, where key is a locale code.
2051
2229
  */
2052
2230
  groups?: {
2053
2231
  [key: string]: string[];
@@ -2062,13 +2240,13 @@ export interface CmsGroupPermission extends BaseCmsSecurityPermission {
2062
2240
  export interface CmsEntryPermission extends BaseCmsSecurityPermission {
2063
2241
  pw?: string;
2064
2242
  /**
2065
- * A object representing `key: model.modelId` values where key is locale code.
2243
+ * An object representing `key: model.modelId` values where key is locale code.
2066
2244
  */
2067
2245
  models?: {
2068
2246
  [key: string]: string[];
2069
2247
  };
2070
2248
  /**
2071
- * A object representing `key: group.id` values where key is locale code.
2249
+ * {locale: groupId[]} map, where key is a locale code.
2072
2250
  */
2073
2251
  groups?: {
2074
2252
  [key: string]: string[];
@@ -2183,7 +2361,7 @@ export interface CmsEntryStorageOperationsListParams {
2183
2361
  sort?: CmsEntryListSort;
2184
2362
  search?: string;
2185
2363
  fields?: string[];
2186
- limit?: number;
2364
+ limit: number;
2187
2365
  after?: string | null;
2188
2366
  }
2189
2367
  export interface CmsEntryStorageOperationsCreateParams<T extends CmsStorageEntry = CmsStorageEntry> {