@webiny/api-headless-cms 5.33.5 → 5.34.0-beta.1

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 (194) hide show
  1. package/context.js +3 -7
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/afterDelete.d.ts +2 -2
  4. package/crud/contentEntry/afterDelete.js +2 -2
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  7. package/crud/contentEntry/beforeCreate.js +2 -2
  8. package/crud/contentEntry/beforeCreate.js.map +1 -1
  9. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  10. package/crud/contentEntry/beforeUpdate.js +2 -2
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataValidation.js +3 -7
  13. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  14. package/crud/contentEntry/markLockedFields.js +10 -11
  15. package/crud/contentEntry/markLockedFields.js.map +1 -1
  16. package/crud/contentEntry/referenceFieldsMapping.js +11 -13
  17. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  18. package/crud/contentEntry/searchableFields.d.ts +9 -0
  19. package/crud/contentEntry/searchableFields.js +83 -0
  20. package/crud/contentEntry/searchableFields.js.map +1 -0
  21. package/crud/contentEntry.crud.d.ts +0 -2
  22. package/crud/contentEntry.crud.js +249 -269
  23. package/crud/contentEntry.crud.js.map +1 -1
  24. package/crud/contentModel/afterCreate.d.ts +3 -3
  25. package/crud/contentModel/afterCreate.js +5 -5
  26. package/crud/contentModel/afterCreate.js.map +1 -1
  27. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  28. package/crud/contentModel/afterCreateFrom.js +5 -5
  29. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  30. package/crud/contentModel/afterDelete.d.ts +3 -3
  31. package/crud/contentModel/afterDelete.js +5 -5
  32. package/crud/contentModel/afterDelete.js.map +1 -1
  33. package/crud/contentModel/afterUpdate.d.ts +3 -3
  34. package/crud/contentModel/afterUpdate.js +5 -5
  35. package/crud/contentModel/afterUpdate.js.map +1 -1
  36. package/crud/contentModel/beforeCreate.d.ts +4 -4
  37. package/crud/contentModel/beforeCreate.js +10 -10
  38. package/crud/contentModel/beforeCreate.js.map +1 -1
  39. package/crud/contentModel/beforeDelete.d.ts +3 -3
  40. package/crud/contentModel/beforeDelete.js +6 -6
  41. package/crud/contentModel/beforeDelete.js.map +1 -1
  42. package/crud/contentModel/beforeUpdate.d.ts +3 -3
  43. package/crud/contentModel/beforeUpdate.js +5 -5
  44. package/crud/contentModel/beforeUpdate.js.map +1 -1
  45. package/crud/contentModel/createFieldStorageId.js +5 -1
  46. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  47. package/crud/contentModel/models.js +12 -0
  48. package/crud/contentModel/models.js.map +1 -1
  49. package/crud/contentModel/validateModel.js +1 -1
  50. package/crud/contentModel/validateModelFields.js +42 -34
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel.crud.js +222 -169
  53. package/crud/contentModel.crud.js.map +1 -1
  54. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  55. package/crud/contentModelGroup/beforeCreate.js +3 -3
  56. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  57. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  58. package/crud/contentModelGroup/beforeDelete.js +3 -3
  59. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  60. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  61. package/crud/contentModelGroup/beforeUpdate.js +2 -2
  62. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  63. package/crud/contentModelGroup.crud.js +87 -37
  64. package/crud/contentModelGroup.crud.js.map +1 -1
  65. package/crud/index.js +3 -7
  66. package/crud/index.js.map +1 -1
  67. package/crud/settings.crud.js +3 -8
  68. package/crud/settings.crud.js.map +1 -1
  69. package/crud/system.crud.js +63 -51
  70. package/crud/system.crud.js.map +1 -1
  71. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -1
  72. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  73. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  74. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  75. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +17 -19
  76. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  77. package/fieldConverters/index.d.ts +2 -1
  78. package/fieldConverters/index.js +3 -1
  79. package/fieldConverters/index.js.map +1 -1
  80. package/graphql/graphQLHandlerFactory.js +27 -17
  81. package/graphql/graphQLHandlerFactory.js.map +1 -1
  82. package/graphql/schema/baseContentSchema.js +4 -8
  83. package/graphql/schema/baseContentSchema.js.map +1 -1
  84. package/graphql/schema/contentEntries.js +1 -1
  85. package/graphql/schema/contentModels.js +18 -1
  86. package/graphql/schema/contentModels.js.map +1 -1
  87. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  88. package/graphql/schema/createFieldResolvers.js +12 -14
  89. package/graphql/schema/createFieldResolvers.js.map +1 -1
  90. package/graphql/schema/createManageResolvers.js +4 -18
  91. package/graphql/schema/createManageResolvers.js.map +1 -1
  92. package/graphql/schema/createManageSDL.js +7 -10
  93. package/graphql/schema/createManageSDL.js.map +1 -1
  94. package/graphql/schema/createPreviewResolvers.js +3 -7
  95. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  96. package/graphql/schema/createReadResolvers.js +3 -7
  97. package/graphql/schema/createReadResolvers.js.map +1 -1
  98. package/graphql/schema/createReadSDL.js +5 -3
  99. package/graphql/schema/createReadSDL.js.map +1 -1
  100. package/graphql/schema/resolvers/manage/resolveGet.js +5 -9
  101. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  102. package/graphql/schema/resolvers/preview/resolveGet.js +3 -7
  103. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  104. package/graphql/schema/resolvers/read/resolveGet.js +3 -7
  105. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  106. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  107. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  108. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  109. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  110. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  111. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  112. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  113. package/graphqlFields/dynamicZone/index.js +21 -0
  114. package/graphqlFields/dynamicZone/index.js.map +1 -0
  115. package/graphqlFields/index.d.ts +1 -1
  116. package/graphqlFields/index.js +3 -1
  117. package/graphqlFields/index.js.map +1 -1
  118. package/graphqlFields/number.js +4 -0
  119. package/graphqlFields/number.js.map +1 -1
  120. package/graphqlFields/object.js +123 -73
  121. package/graphqlFields/object.js.map +1 -1
  122. package/graphqlFields/ref.js +23 -23
  123. package/graphqlFields/ref.js.map +1 -1
  124. package/index.d.ts +1 -1
  125. package/index.js +3 -1
  126. package/index.js.map +1 -1
  127. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  128. package/modelManager/DefaultCmsModelManager.js +1 -1
  129. package/package.json +27 -28
  130. package/parameters/header.js +1 -1
  131. package/parameters/manual.js +7 -8
  132. package/parameters/manual.js.map +1 -1
  133. package/parameters/path.js +1 -1
  134. package/plugins/CmsGroupPlugin.js +1 -1
  135. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  136. package/plugins/CmsModelFieldConverterPlugin.js +1 -1
  137. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  138. package/plugins/CmsModelPlugin.d.ts +6 -2
  139. package/plugins/CmsModelPlugin.js +18 -13
  140. package/plugins/CmsModelPlugin.js.map +1 -1
  141. package/plugins/CmsParametersPlugin.js +1 -1
  142. package/plugins/StorageTransformPlugin.d.ts +11 -11
  143. package/plugins/StorageTransformPlugin.js +1 -1
  144. package/plugins/StorageTransformPlugin.js.map +1 -1
  145. package/storage/object.js +7 -8
  146. package/storage/object.js.map +1 -1
  147. package/types.d.ts +436 -164
  148. package/types.js +50 -9
  149. package/types.js.map +1 -1
  150. package/upgrades/5.33.0/index.js +5 -9
  151. package/upgrades/5.33.0/index.js.map +1 -1
  152. package/utils/converters/Converter.js +1 -1
  153. package/utils/converters/ConverterCollection.js +10 -8
  154. package/utils/converters/ConverterCollection.js.map +1 -1
  155. package/utils/converters/valueKeyStorageConverter.js +3 -7
  156. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  157. package/utils/createTypeFromFields.d.ts +15 -0
  158. package/utils/createTypeFromFields.js +75 -0
  159. package/utils/createTypeFromFields.js.map +1 -0
  160. package/utils/createTypeName.js +4 -2
  161. package/utils/createTypeName.js.map +1 -1
  162. package/utils/entryStorage.js +17 -18
  163. package/utils/entryStorage.js.map +1 -1
  164. package/utils/filterModelFields.js +5 -9
  165. package/utils/filterModelFields.js.map +1 -1
  166. package/utils/getBaseFieldType.d.ts +4 -0
  167. package/utils/getBaseFieldType.js +12 -0
  168. package/utils/getBaseFieldType.js.map +1 -0
  169. package/utils/permissions.js +1 -5
  170. package/utils/permissions.js.map +1 -1
  171. package/utils/pluralizedTypeName.js +1 -1
  172. package/utils/renderFields.js +3 -1
  173. package/utils/renderFields.js.map +1 -1
  174. package/utils/renderGetFilterFields.js +8 -3
  175. package/utils/renderGetFilterFields.js.map +1 -1
  176. package/utils/renderInputFields.js +3 -1
  177. package/utils/renderInputFields.js.map +1 -1
  178. package/utils/renderListFilterFields.js +12 -2
  179. package/utils/renderListFilterFields.js.map +1 -1
  180. package/utils/renderSortEnum.js +3 -1
  181. package/utils/renderSortEnum.js.map +1 -1
  182. package/utils/toSlug.js +1 -1
  183. package/validators/dynamicZone.d.ts +2 -0
  184. package/validators/dynamicZone.js +24 -0
  185. package/validators/dynamicZone.js.map +1 -0
  186. package/validators/index.js +3 -1
  187. package/validators/index.js.map +1 -1
  188. package/validators/unique.js +1 -1
  189. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  190. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  191. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  192. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  193. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  194. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
package/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Plugin } from "@webiny/plugins/types";
2
2
  import { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
3
3
  import { Context } from "@webiny/api/types";
4
- import { TenancyContext } from "@webiny/api-tenancy/types";
5
4
  import { GraphQLFieldResolver, GraphQLSchemaDefinition, Resolvers } from "@webiny/handler-graphql/types";
6
5
  import { SecurityPermission } from "@webiny/api-security/types";
7
6
  import { DbContext } from "@webiny/handler-db/types";
@@ -45,7 +44,7 @@ export interface HeadlessCms extends CmsSettingsContext, CmsSystemContext, CmsGr
45
44
  *
46
45
  * @category Context
47
46
  */
48
- export interface CmsContext extends Context, DbContext, I18NContext, FileManagerContext, TenancyContext {
47
+ export interface CmsContext extends Context, DbContext, I18NContext, FileManagerContext {
49
48
  cms: HeadlessCms;
50
49
  }
51
50
  interface CmsModelFieldPredefinedValuesValue {
@@ -136,7 +135,7 @@ export interface CmsModelField {
136
135
  * A type of the field.
137
136
  * We are defining our built-in fields, so people know which are available by the default.
138
137
  */
139
- 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;
140
139
  /**
141
140
  * A unique storage ID for storing actual values.
142
141
  * Must in form of a-zA-Z0-9@a-zA-Z0-9@a-zA-Z0-9.
@@ -196,6 +195,10 @@ export interface CmsModelField {
196
195
  *
197
196
  */
198
197
  multipleValues?: boolean;
198
+ /**
199
+ * Fields can be tagged to give them contextual meaning.
200
+ */
201
+ tags?: string[];
199
202
  /**
200
203
  * Any user defined settings.
201
204
  *
@@ -203,18 +206,42 @@ export interface CmsModelField {
203
206
  */
204
207
  settings?: CmsModelFieldSettings;
205
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
+ }
206
230
  /**
207
231
  * Used for our internal functionality.
208
232
  */
209
233
  export interface CmsModelFieldWithParent extends CmsModelField {
210
234
  parent?: CmsModelFieldWithParent | null;
211
235
  }
236
+ export interface CmsModelDynamicZoneFieldWithParent extends CmsModelDynamicZoneField {
237
+ parent?: CmsModelDynamicZoneFieldWithParent | null;
238
+ }
212
239
  /**
213
240
  * A definition for dateTime field to show possible type of the field in settings.
214
241
  */
215
242
  export interface CmsModelDateTimeField extends CmsModelField {
216
243
  /**
217
- * Settings object for the field. Contains type property.
244
+ * Settings object for the field. Contains `type` property.
218
245
  */
219
246
  settings: {
220
247
  type: "time" | "date" | "dateTimeWithoutTimezone" | "dateTimeWithTimezone";
@@ -402,6 +429,10 @@ export interface CmsModel {
402
429
  * ```
403
430
  */
404
431
  layout: string[][];
432
+ /**
433
+ * Models can be tagged to give them contextual meaning.
434
+ */
435
+ tags?: string[];
405
436
  /**
406
437
  * List of locked fields. Updated when entry is saved and a field has been used.
407
438
  */
@@ -438,25 +469,40 @@ export interface CmsModelFieldDefinition {
438
469
  fields: string;
439
470
  typeDefs?: string;
440
471
  }
441
- interface CmsModelFieldToGraphQLCreateResolverParams {
472
+ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
442
473
  models: CmsModel[];
443
474
  model: CmsModel;
444
475
  graphQLType: string;
445
- field: CmsModelField;
476
+ field: TField;
446
477
  createFieldResolvers: any;
447
478
  }
448
- export interface CmsModelFieldToGraphQLCreateResolver {
449
- (params: CmsModelFieldToGraphQLCreateResolverParams): GraphQLFieldResolver | {
479
+ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
480
+ (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
450
481
  resolver: GraphQLFieldResolver | null;
451
482
  typeResolvers: Resolvers<CmsContext>;
452
483
  } | false;
453
484
  }
485
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams<TField extends CmsModelField = CmsModelField> {
486
+ fields: TField[];
487
+ originalFields: TField[];
488
+ }
489
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsValidate {
490
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsValidateParams): void;
491
+ }
492
+ export interface CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField extends CmsModelField = CmsModelField> {
493
+ field: TField;
494
+ originalField?: TField;
495
+ validate: CmsModelFieldToGraphQLPluginValidateChildFieldsValidate;
496
+ }
497
+ export interface CmsModelFieldToGraphQLPluginValidateChildFields<TField extends CmsModelField = CmsModelField> {
498
+ (params: CmsModelFieldToGraphQLPluginValidateChildFieldsParams<TField>): void;
499
+ }
454
500
  /**
455
501
  * @category Plugin
456
502
  * @category ModelField
457
503
  * @category GraphQL
458
504
  */
459
- export interface CmsModelFieldToGraphQLPlugin extends Plugin {
505
+ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField> extends Plugin {
460
506
  /**
461
507
  * A plugin type
462
508
  */
@@ -510,7 +556,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
510
556
  */
511
557
  createStorageId?: (params: {
512
558
  model: CmsModel;
513
- field: CmsModelField;
559
+ field: TField;
514
560
  }) => string | null | undefined;
515
561
  /**
516
562
  * Read API methods.
@@ -529,7 +575,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
529
575
  */
530
576
  createGetFilters?(params: {
531
577
  model: CmsModel;
532
- field: CmsModelField;
578
+ field: TField;
533
579
  }): string;
534
580
  /**
535
581
  * Definition for list filtering for GraphQL.
@@ -549,7 +595,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
549
595
  */
550
596
  createListFilters?(params: {
551
597
  model: CmsModel;
552
- field: CmsModelField;
598
+ field: TField;
599
+ plugins: CmsFieldTypePlugins;
553
600
  }): string;
554
601
  /**
555
602
  * Definition of the field type for GraphQL - be aware if multiple values is selected.
@@ -568,12 +615,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
568
615
  */
569
616
  createTypeField(params: {
570
617
  model: CmsModel;
571
- field: CmsModelField;
618
+ field: TField;
572
619
  fieldTypePlugins: CmsFieldTypePlugins;
573
620
  }): CmsModelFieldDefinition | string | null;
574
621
  /**
575
622
  * Definition for field resolver.
576
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
623
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
577
624
  *
578
625
  * ```ts
579
626
  * read: {
@@ -585,7 +632,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
585
632
  * }
586
633
  * ```
587
634
  */
588
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
635
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
589
636
  /**
590
637
  * Read API schema definitions for the field and resolvers for them.
591
638
  *
@@ -628,7 +675,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
628
675
  */
629
676
  createListFilters?: (params: {
630
677
  model: CmsModel;
631
- field: CmsModelField;
678
+ field: TField;
679
+ plugins: CmsFieldTypePlugins;
632
680
  }) => string;
633
681
  /**
634
682
  * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.
@@ -667,7 +715,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
667
715
  */
668
716
  createTypeField: (params: {
669
717
  model: CmsModel;
670
- field: CmsModelField;
718
+ field: TField;
671
719
  fieldTypePlugins: CmsFieldTypePlugins;
672
720
  }) => CmsModelFieldDefinition | string | null;
673
721
  /**
@@ -687,12 +735,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
687
735
  */
688
736
  createInputField: (params: {
689
737
  model: CmsModel;
690
- field: CmsModelField;
738
+ field: TField;
691
739
  fieldTypePlugins: CmsFieldTypePlugins;
692
740
  }) => CmsModelFieldDefinition | string | null;
693
741
  /**
694
742
  * Definition for field resolver.
695
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
743
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
696
744
  *
697
745
  * ```ts
698
746
  * manage: {
@@ -704,8 +752,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
704
752
  * }
705
753
  * ```
706
754
  */
707
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
755
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
708
756
  };
757
+ /**
758
+ *
759
+ * @param field
760
+ */
761
+ validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;
709
762
  }
710
763
  /**
711
764
  * Check for content model locked field.
@@ -744,7 +797,7 @@ export interface CmsFieldTypePlugins {
744
797
  [key: string]: CmsModelFieldToGraphQLPlugin;
745
798
  }
746
799
  /**
747
- * A interface describing the reference to a user that created some data in the database.
800
+ * An interface describing the reference to a user that created some data in the database.
748
801
  *
749
802
  * @category General
750
803
  */
@@ -800,11 +853,16 @@ export interface CmsSettingsContext {
800
853
  */
801
854
  getModelLastChange: () => Promise<Date>;
802
855
  }
803
- export interface BeforeInstallTopicParams {
856
+ export interface OnSystemBeforeInstallTopicParams {
857
+ tenant: string;
858
+ locale: string;
859
+ }
860
+ export interface OnSystemAfterInstallTopicParams {
804
861
  tenant: string;
805
862
  locale: string;
806
863
  }
807
- export interface AfterInstallTopicParams {
864
+ export interface OnSystemInstallErrorTopicParams {
865
+ error: Error;
808
866
  tenant: string;
809
867
  locale: string;
810
868
  }
@@ -815,13 +873,25 @@ export declare type CmsSystemContext = {
815
873
  installSystem: () => Promise<void>;
816
874
  upgradeSystem: (version: string) => Promise<boolean>;
817
875
  /**
818
- * Events
876
+ * Lifecycle events - deprecated
877
+ */
878
+ /**
879
+ * @deprecated
880
+ */
881
+ onBeforeSystemInstall: Topic<OnSystemBeforeInstallTopicParams>;
882
+ /**
883
+ * @deprecated
884
+ */
885
+ onAfterSystemInstall: Topic<OnSystemAfterInstallTopicParams>;
886
+ /**
887
+ * Released in 5.34.0
819
888
  */
820
- onBeforeSystemInstall: Topic<BeforeInstallTopicParams>;
821
- onAfterSystemInstall: Topic<AfterInstallTopicParams>;
889
+ onSystemBeforeInstall: Topic<OnSystemBeforeInstallTopicParams>;
890
+ onSystemAfterInstall: Topic<OnSystemAfterInstallTopicParams>;
891
+ onSystemInstallError: Topic<OnSystemInstallErrorTopicParams>;
822
892
  };
823
893
  /**
824
- * A GraphQL params.data parameter received when creating content model group.
894
+ * A GraphQL `params.data` parameter received when creating content model group.
825
895
  *
826
896
  * @category CmsGroup
827
897
  * @category GraphQL params
@@ -833,7 +903,7 @@ export interface CmsGroupCreateInput {
833
903
  icon: string;
834
904
  }
835
905
  /**
836
- * A GraphQL params.data parameter received when updating content model group.
906
+ * A GraphQL `params.data` parameter received when updating content model group.
837
907
  *
838
908
  * @category CmsGroup
839
909
  * @category GraphQL params
@@ -903,7 +973,7 @@ export interface CmsGroup {
903
973
  isPrivate?: boolean;
904
974
  }
905
975
  /**
906
- * A data.where parameter received when listing content model groups.
976
+ * A `data.where` parameter received when listing content model groups.
907
977
  *
908
978
  * @category CmsGroup
909
979
  * @category GraphQL params
@@ -919,21 +989,30 @@ export interface CmsGroupListParams {
919
989
  * @category CmsGroup
920
990
  * @category Topic
921
991
  */
922
- export interface BeforeGroupCreateTopicParams {
992
+ export interface OnGroupBeforeCreateTopicParams {
923
993
  group: CmsGroup;
924
994
  }
925
995
  /**
926
996
  * @category CmsGroup
927
997
  * @category Topic
928
998
  */
929
- export interface AfterGroupCreateTopicParams {
999
+ export interface OnGroupAfterCreateTopicParams {
930
1000
  group: CmsGroup;
931
1001
  }
932
1002
  /**
933
1003
  * @category CmsGroup
934
1004
  * @category Topic
935
1005
  */
936
- export interface BeforeGroupUpdateTopicParams {
1006
+ export interface OnGroupCreateErrorTopicParams {
1007
+ input: CmsGroupCreateInput;
1008
+ group: CmsGroup;
1009
+ error: Error;
1010
+ }
1011
+ /**
1012
+ * @category CmsGroup
1013
+ * @category Topic
1014
+ */
1015
+ export interface OnGroupBeforeUpdateTopicParams {
937
1016
  original: CmsGroup;
938
1017
  group: CmsGroup;
939
1018
  }
@@ -941,7 +1020,7 @@ export interface BeforeGroupUpdateTopicParams {
941
1020
  * @category CmsGroup
942
1021
  * @category Topic
943
1022
  */
944
- export interface AfterGroupUpdateTopicParams {
1023
+ export interface OnGroupAfterUpdateTopicParams {
945
1024
  original: CmsGroup;
946
1025
  group: CmsGroup;
947
1026
  }
@@ -949,16 +1028,34 @@ export interface AfterGroupUpdateTopicParams {
949
1028
  * @category CmsGroup
950
1029
  * @category Topic
951
1030
  */
952
- export interface BeforeGroupDeleteTopicParams {
1031
+ export interface OnGroupUpdateErrorTopicParams {
1032
+ input: CmsGroupUpdateInput;
1033
+ original: CmsGroup;
953
1034
  group: CmsGroup;
1035
+ error: Error;
954
1036
  }
955
1037
  /**
956
1038
  * @category CmsGroup
957
1039
  * @category Topic
958
1040
  */
959
- export interface AfterGroupDeleteTopicParams {
1041
+ export interface OnGroupBeforeDeleteTopicParams {
960
1042
  group: CmsGroup;
961
1043
  }
1044
+ /**
1045
+ * @category CmsGroup
1046
+ * @category Topic
1047
+ */
1048
+ export interface OnGroupAfterDeleteTopicParams {
1049
+ group: CmsGroup;
1050
+ }
1051
+ /**
1052
+ * @category CmsGroup
1053
+ * @category Topic
1054
+ */
1055
+ export interface OnGroupDeleteErrorTopicParams {
1056
+ group: CmsGroup;
1057
+ error: Error;
1058
+ }
962
1059
  /**
963
1060
  * Cms Group in context.
964
1061
  *
@@ -991,14 +1088,44 @@ export interface CmsGroupContext {
991
1088
  */
992
1089
  clearGroupsCache: () => void;
993
1090
  /**
994
- * Events.
1091
+ * Lifecycle events - deprecated
1092
+ */
1093
+ /**
1094
+ * @deprecated
1095
+ */
1096
+ onBeforeGroupCreate: Topic<OnGroupBeforeCreateTopicParams>;
1097
+ /**
1098
+ * @deprecated
1099
+ */
1100
+ onAfterGroupCreate: Topic<OnGroupAfterCreateTopicParams>;
1101
+ /**
1102
+ * @deprecated
1103
+ */
1104
+ onBeforeGroupUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1105
+ /**
1106
+ * @deprecated
1107
+ */
1108
+ onAfterGroupUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1109
+ /**
1110
+ * @deprecated
1111
+ */
1112
+ onBeforeGroupDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1113
+ /**
1114
+ * @deprecated
1115
+ */
1116
+ onAfterGroupDelete: Topic<OnGroupAfterDeleteTopicParams>;
1117
+ /**
1118
+ * Lifecycle events released in 5.33.0
995
1119
  */
996
- onBeforeGroupCreate: Topic<BeforeGroupCreateTopicParams>;
997
- onAfterGroupCreate: Topic<AfterGroupCreateTopicParams>;
998
- onBeforeGroupUpdate: Topic<BeforeGroupUpdateTopicParams>;
999
- onAfterGroupUpdate: Topic<AfterGroupUpdateTopicParams>;
1000
- onBeforeGroupDelete: Topic<BeforeGroupDeleteTopicParams>;
1001
- onAfterGroupDelete: Topic<AfterGroupDeleteTopicParams>;
1120
+ onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1121
+ onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1122
+ onGroupCreateError: Topic<OnGroupCreateErrorTopicParams>;
1123
+ onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1124
+ onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1125
+ onGroupUpdateError: Topic<OnGroupUpdateErrorTopicParams>;
1126
+ onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1127
+ onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1128
+ onGroupDeleteError: Topic<OnGroupDeleteErrorTopicParams>;
1002
1129
  }
1003
1130
  /**
1004
1131
  * Definition for content model field validator.
@@ -1017,7 +1144,7 @@ export interface CmsModelFieldValidation {
1017
1144
  };
1018
1145
  }
1019
1146
  /**
1020
- * A GraphQL params.data parameter received when creating content model.
1147
+ * A GraphQL `params.data` parameter received when creating content model.
1021
1148
  *
1022
1149
  * @category GraphQL params
1023
1150
  * @category CmsModel
@@ -1054,6 +1181,10 @@ export interface CmsModelCreateInput {
1054
1181
  * ```
1055
1182
  */
1056
1183
  layout?: string[][];
1184
+ /**
1185
+ * Models can be tagged to give them contextual meaning.
1186
+ */
1187
+ tags?: string[];
1057
1188
  /**
1058
1189
  * The field that is being displayed as entry title.
1059
1190
  * It is picked as first available text field. Or user can select own field.
@@ -1061,7 +1192,7 @@ export interface CmsModelCreateInput {
1061
1192
  titleFieldId?: string;
1062
1193
  }
1063
1194
  /**
1064
- * A GraphQL params.data parameter received when creating content model from existing model.
1195
+ * A GraphQL `params.data` parameter received when creating content model from existing model.
1065
1196
  *
1066
1197
  * @category GraphQL params
1067
1198
  * @category CmsModel
@@ -1107,6 +1238,10 @@ export interface CmsModelFieldInput {
1107
1238
  * Text to display in the field.
1108
1239
  */
1109
1240
  placeholderText?: string;
1241
+ /**
1242
+ * Fields can be tagged to give them contextual meaning.
1243
+ */
1244
+ tags?: string[];
1110
1245
  /**
1111
1246
  * Are multiple values allowed?
1112
1247
  */
@@ -1133,7 +1268,7 @@ export interface CmsModelFieldInput {
1133
1268
  settings?: Record<string, any>;
1134
1269
  }
1135
1270
  /**
1136
- * A GraphQL params.data parameter received when updating content model.
1271
+ * A GraphQL `params.data` parameter received when updating content model.
1137
1272
  *
1138
1273
  * @category GraphQL params
1139
1274
  * @category CmsModel
@@ -1212,10 +1347,10 @@ export interface CmsEntryValues {
1212
1347
  * @category Database model
1213
1348
  * @category CmsEntry
1214
1349
  */
1215
- export interface CmsEntry {
1350
+ export interface CmsEntry<T = CmsEntryValues> {
1216
1351
  /**
1217
1352
  * A version of the webiny this entry was created with.
1218
- * This can be used when upgrading the system so we know which entries to update.
1353
+ * This can be used when upgrading the system, so we know which entries to update.
1219
1354
  */
1220
1355
  webinyVersion: string;
1221
1356
  /**
@@ -1281,14 +1416,14 @@ export interface CmsEntry {
1281
1416
  *
1282
1417
  * @see CmsModelField
1283
1418
  */
1284
- values: CmsEntryValues;
1419
+ values: T;
1285
1420
  /**
1286
1421
  * Settings for the given entry.
1287
1422
  *
1288
- * Introduced with Advanced Publishing Workflow - will be always inserted after this PR is merged.
1289
- * Be aware that when accessing properties in it on old systems - it will break if not checked first.
1423
+ * Introduced with Advanced Publishing Workflow. Will always be inserted once this PR is merged.
1424
+ * Be aware that when accessing properties in it on old systems, it will break if not checked first.
1290
1425
  *
1291
- * Available only on the Manage API in entry GraphQL type meta.data property.
1426
+ * Available only on the Manage API in entry GraphQL type `meta.data` property.
1292
1427
  */
1293
1428
  meta?: {
1294
1429
  [key: string]: any;
@@ -1321,7 +1456,7 @@ export interface CmsModelManager {
1321
1456
  */
1322
1457
  getPublishedByIds: (ids: string[]) => Promise<CmsEntry[]>;
1323
1458
  /**
1324
- * Get a list of latest entries by the ID list.
1459
+ * Get a list of the latest entries by the ID list.
1325
1460
  */
1326
1461
  getLatestByIds: (ids: string[]) => Promise<CmsEntry[]>;
1327
1462
  /**
@@ -1329,56 +1464,95 @@ export interface CmsModelManager {
1329
1464
  */
1330
1465
  get: (id: string) => Promise<CmsEntry>;
1331
1466
  /**
1332
- * Create a entry.
1467
+ * Create an entry.
1333
1468
  */
1334
1469
  create: (data: CreateCmsEntryInput) => Promise<CmsEntry>;
1335
1470
  /**
1336
- * Update a entry.
1471
+ * Update an entry.
1337
1472
  */
1338
1473
  update: (id: string, data: UpdateCmsEntryInput) => Promise<CmsEntry>;
1339
1474
  /**
1340
- * Delete a entry.
1475
+ * Delete an entry.
1341
1476
  */
1342
1477
  delete: (id: string) => Promise<void>;
1343
1478
  }
1344
- export interface BeforeModelCreateTopicParams {
1479
+ /**
1480
+ * Create
1481
+ */
1482
+ export interface OnModelBeforeCreateTopicParams {
1483
+ input: CmsModelCreateInput;
1484
+ model: CmsModel;
1485
+ }
1486
+ export interface OnModelAfterCreateTopicParams {
1345
1487
  input: CmsModelCreateInput;
1346
1488
  model: CmsModel;
1347
1489
  }
1348
- export interface AfterModelCreateTopicParams {
1490
+ export interface OnModelCreateErrorTopicParams {
1349
1491
  input: CmsModelCreateInput;
1350
1492
  model: CmsModel;
1493
+ error: Error;
1494
+ }
1495
+ /**
1496
+ * Create From / Clone
1497
+ */
1498
+ export interface OnModelBeforeCreateFromTopicParams {
1499
+ input: CmsModelCreateInput;
1500
+ original: CmsModel;
1501
+ model: CmsModel;
1351
1502
  }
1352
- export interface BeforeModelCreateFromTopicParams {
1503
+ export interface OnModelAfterCreateFromTopicParams {
1353
1504
  input: CmsModelCreateInput;
1354
1505
  original: CmsModel;
1355
1506
  model: CmsModel;
1356
1507
  }
1357
- export interface AfterModelCreateFromTopicParams {
1508
+ export interface OnModelCreateFromErrorParams {
1358
1509
  input: CmsModelCreateInput;
1359
1510
  original: CmsModel;
1360
1511
  model: CmsModel;
1512
+ error: Error;
1361
1513
  }
1362
- export interface BeforeModelUpdateTopicParams {
1514
+ /**
1515
+ * Update
1516
+ */
1517
+ export interface OnModelBeforeUpdateTopicParams {
1518
+ input: CmsModelUpdateInput;
1519
+ original: CmsModel;
1520
+ model: CmsModel;
1521
+ }
1522
+ export interface OnModelAfterUpdateTopicParams {
1363
1523
  input: CmsModelUpdateInput;
1364
1524
  original: CmsModel;
1365
1525
  model: CmsModel;
1366
1526
  }
1367
- export interface AfterModelUpdateTopicParams {
1527
+ export interface OnModelUpdateErrorTopicParams {
1368
1528
  input: CmsModelUpdateInput;
1369
1529
  original: CmsModel;
1370
1530
  model: CmsModel;
1531
+ error: Error;
1371
1532
  }
1372
- export interface BeforeModelDeleteTopicParams {
1533
+ /**
1534
+ * Delete
1535
+ */
1536
+ export interface OnModelBeforeDeleteTopicParams {
1537
+ model: CmsModel;
1538
+ }
1539
+ export interface OnModelAfterDeleteTopicParams {
1373
1540
  model: CmsModel;
1374
1541
  }
1375
- export interface AfterModelDeleteTopicParams {
1542
+ export interface OnModelDeleteErrorTopicParams {
1376
1543
  model: CmsModel;
1544
+ error: Error;
1377
1545
  }
1546
+ /**
1547
+ * Initialize
1548
+ */
1378
1549
  export interface OnModelInitializeParams {
1379
1550
  model: CmsModel;
1380
1551
  data: Record<string, any>;
1381
1552
  }
1553
+ /**
1554
+ *
1555
+ */
1382
1556
  export interface CmsModelUpdateDirectParams {
1383
1557
  model: CmsModel;
1384
1558
  original: CmsModel;
@@ -1427,7 +1601,7 @@ export interface CmsModelContext {
1427
1601
  */
1428
1602
  initializeModel: (modelId: string, data: Record<string, any>) => Promise<boolean>;
1429
1603
  /**
1430
- * Get a instance of CmsModelManager for given content modelId.
1604
+ * Get an instance of CmsModelManager for given content modelId.
1431
1605
  *
1432
1606
  * @see CmsModelManager
1433
1607
  *
@@ -1447,16 +1621,55 @@ export interface CmsModelContext {
1447
1621
  */
1448
1622
  clearModelsCache: () => void;
1449
1623
  /**
1450
- * Events.
1624
+ * Lifecycle events - deprecated.
1625
+ */
1626
+ /**
1627
+ * @deprecated
1628
+ */
1629
+ onBeforeModelCreate: Topic<OnModelBeforeCreateTopicParams>;
1630
+ /**
1631
+ * @deprecated
1632
+ */
1633
+ onAfterModelCreate: Topic<OnModelAfterCreateTopicParams>;
1634
+ /**
1635
+ * @deprecated
1636
+ */
1637
+ onBeforeModelCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1638
+ /**
1639
+ * @deprecated
1640
+ */
1641
+ onAfterModelCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1642
+ /**
1643
+ * @deprecated
1644
+ */
1645
+ onBeforeModelUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1646
+ /**
1647
+ * @deprecated
1648
+ */
1649
+ onAfterModelUpdate: Topic<OnModelAfterUpdateTopicParams>;
1650
+ /**
1651
+ * @deprecated
1652
+ */
1653
+ onBeforeModelDelete: Topic<OnModelBeforeDeleteTopicParams>;
1654
+ /**
1655
+ * @deprecated
1656
+ */
1657
+ onAfterModelDelete: Topic<OnModelAfterDeleteTopicParams>;
1658
+ /**
1659
+ * Lifecycle events - released in 5.33.0
1451
1660
  */
1452
- onBeforeModelCreate: Topic<BeforeModelCreateTopicParams>;
1453
- onAfterModelCreate: Topic<AfterModelCreateTopicParams>;
1454
- onBeforeModelCreateFrom: Topic<BeforeModelCreateFromTopicParams>;
1455
- onAfterModelCreateFrom: Topic<AfterModelCreateFromTopicParams>;
1456
- onBeforeModelUpdate: Topic<BeforeModelUpdateTopicParams>;
1457
- onAfterModelUpdate: Topic<AfterModelUpdateTopicParams>;
1458
- onBeforeModelDelete: Topic<BeforeModelDeleteTopicParams>;
1459
- onAfterModelDelete: Topic<AfterModelDeleteTopicParams>;
1661
+ onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1662
+ onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1663
+ onModelCreateError: Topic<OnModelCreateErrorTopicParams>;
1664
+ onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1665
+ onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1666
+ onModelCreateFromError: Topic<OnModelCreateFromErrorParams>;
1667
+ onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1668
+ onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1669
+ onModelUpdateError: Topic<OnModelUpdateErrorTopicParams>;
1670
+ onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1671
+ onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1672
+ onModelDeleteError: Topic<OnModelDeleteErrorTopicParams>;
1460
1673
  onModelInitialize: Topic<OnModelInitializeParams>;
1461
1674
  }
1462
1675
  /**
@@ -1464,7 +1677,7 @@ export interface CmsModelContext {
1464
1677
  *
1465
1678
  * @category CmsEntry
1466
1679
  */
1467
- export declare type CmsEntryStatus = "published" | "unpublished" | "reviewRequested" | "changesRequested" | "draft";
1680
+ export declare type CmsEntryStatus = "published" | "unpublished" | "draft";
1468
1681
  export interface CmsEntryListWhereRef {
1469
1682
  id?: string;
1470
1683
  id_in?: string[];
@@ -1542,7 +1755,12 @@ export interface CmsEntryListWhere {
1542
1755
  /**
1543
1756
  * This is to allow querying by any content model field defined by the user.
1544
1757
  */
1545
- [key: string]: any | CmsEntryListWhereRef;
1758
+ [key: string]: string | number | boolean | undefined | string[] | number[] | null | CmsEntryListWhere[] | CmsEntryListWhere | CmsEntryListWhereRef;
1759
+ /**
1760
+ * To allow querying via nested queries, we added the AND / OR properties.
1761
+ */
1762
+ AND?: CmsEntryListWhere[];
1763
+ OR?: CmsEntryListWhere[];
1546
1764
  }
1547
1765
  /**
1548
1766
  * Entry listing sort.
@@ -1595,100 +1813,121 @@ export interface CmsEntryMeta {
1595
1813
  */
1596
1814
  totalCount: number;
1597
1815
  }
1598
- export interface BeforeEntryCreateTopicParams {
1816
+ export interface OnEntryBeforeCreateTopicParams {
1599
1817
  input: CreateCmsEntryInput;
1600
1818
  entry: CmsEntry;
1601
1819
  model: StorageOperationsCmsModel;
1602
1820
  }
1603
- export interface AfterEntryCreateTopicParams {
1821
+ export interface OnEntryAfterCreateTopicParams {
1604
1822
  input: CreateCmsEntryInput;
1605
1823
  entry: CmsEntry;
1606
1824
  model: StorageOperationsCmsModel;
1607
1825
  storageEntry: CmsEntry;
1608
1826
  }
1609
- export interface BeforeEntryCreateRevisionTopicParams {
1827
+ export interface OnEntryCreateErrorTopicParams {
1828
+ error: Error;
1829
+ input: CreateCmsEntryInput;
1830
+ entry: CmsEntry;
1831
+ model: CmsModel;
1832
+ }
1833
+ export interface OnEntryRevisionBeforeCreateTopicParams {
1610
1834
  input: CreateFromCmsEntryInput;
1611
1835
  entry: CmsEntry;
1612
1836
  original: CmsEntry;
1613
1837
  model: StorageOperationsCmsModel;
1614
1838
  }
1615
- export interface AfterEntryCreateRevisionTopicParams {
1839
+ export interface OnEntryRevisionAfterCreateTopicParams {
1616
1840
  input: CreateFromCmsEntryInput;
1617
1841
  entry: CmsEntry;
1618
1842
  original: CmsEntry;
1619
1843
  model: StorageOperationsCmsModel;
1620
1844
  storageEntry: CmsEntry;
1621
1845
  }
1622
- export interface BeforeEntryUpdateTopicParams {
1846
+ export interface OnEntryCreateRevisionErrorTopicParams {
1847
+ error: Error;
1848
+ input: CreateFromCmsEntryInput;
1849
+ original: CmsEntry;
1850
+ entry: CmsEntry;
1851
+ model: CmsModel;
1852
+ }
1853
+ export interface OnEntryBeforeUpdateTopicParams {
1623
1854
  input: UpdateCmsEntryInput;
1624
1855
  original: CmsEntry;
1625
1856
  entry: CmsEntry;
1626
1857
  model: StorageOperationsCmsModel;
1627
1858
  }
1628
- export interface AfterEntryUpdateTopicParams {
1859
+ export interface OnEntryAfterUpdateTopicParams {
1629
1860
  input: UpdateCmsEntryInput;
1630
1861
  original: CmsEntry;
1631
1862
  entry: CmsEntry;
1632
1863
  model: StorageOperationsCmsModel;
1633
1864
  storageEntry: CmsEntry;
1634
1865
  }
1635
- export interface BeforeEntryPublishTopicParams {
1866
+ export interface OnEntryUpdateErrorTopicParams {
1867
+ error: Error;
1868
+ input: CreateFromCmsEntryInput;
1636
1869
  entry: CmsEntry;
1637
- model: StorageOperationsCmsModel;
1870
+ model: CmsModel;
1638
1871
  }
1639
- export interface AfterEntryPublishTopicParams {
1872
+ export interface OnEntryBeforePublishTopicParams {
1640
1873
  entry: CmsEntry;
1641
1874
  model: StorageOperationsCmsModel;
1642
- storageEntry: CmsEntry;
1643
1875
  }
1644
- export interface BeforeEntryUnpublishTopicParams {
1876
+ export interface OnEntryAfterPublishTopicParams {
1645
1877
  entry: CmsEntry;
1646
1878
  model: StorageOperationsCmsModel;
1879
+ storageEntry: CmsEntry;
1647
1880
  }
1648
- export interface AfterEntryUnpublishTopicParams {
1881
+ export interface OnEntryPublishErrorTopicParams {
1882
+ error: Error;
1649
1883
  entry: CmsEntry;
1650
1884
  model: StorageOperationsCmsModel;
1651
- storageEntry: CmsEntry;
1652
1885
  }
1653
- export interface BeforeEntryRequestChangesTopicParams {
1886
+ export interface OnEntryBeforeUnpublishTopicParams {
1654
1887
  entry: CmsEntry;
1655
1888
  model: StorageOperationsCmsModel;
1656
1889
  }
1657
- export interface AfterEntryRequestChangesTopicParams {
1890
+ export interface OnEntryAfterUnpublishTopicParams {
1658
1891
  entry: CmsEntry;
1659
1892
  model: StorageOperationsCmsModel;
1660
1893
  storageEntry: CmsEntry;
1661
1894
  }
1662
- export interface BeforeEntryRequestReviewTopicParams {
1895
+ export interface OnEntryUnpublishErrorTopicParams {
1896
+ error: Error;
1897
+ entry: CmsEntry;
1898
+ model: CmsModel;
1899
+ }
1900
+ export interface OnEntryBeforeDeleteTopicParams {
1663
1901
  entry: CmsEntry;
1664
1902
  model: StorageOperationsCmsModel;
1665
1903
  }
1666
- export interface AfterEntryRequestReviewTopicParams {
1904
+ export interface OnEntryAfterDeleteTopicParams {
1667
1905
  entry: CmsEntry;
1668
1906
  model: StorageOperationsCmsModel;
1669
- storageEntry: CmsEntry;
1670
1907
  }
1671
- export interface BeforeEntryDeleteTopicParams {
1908
+ export interface OnEntryDeleteErrorTopicParams {
1909
+ error: Error;
1672
1910
  entry: CmsEntry;
1673
1911
  model: StorageOperationsCmsModel;
1674
1912
  }
1675
- export interface AfterEntryDeleteTopicParams {
1913
+ export interface OnEntryRevisionBeforeDeleteTopicParams {
1676
1914
  entry: CmsEntry;
1677
1915
  model: StorageOperationsCmsModel;
1678
1916
  }
1679
- export interface BeforeEntryDeleteRevisionTopicParams {
1917
+ export interface OnEntryRevisionAfterDeleteTopicParams {
1680
1918
  entry: CmsEntry;
1681
1919
  model: StorageOperationsCmsModel;
1682
1920
  }
1683
- export interface AfterEntryDeleteRevisionTopicParams {
1921
+ export interface OnEntryRevisionDeleteErrorTopicParams {
1922
+ error: Error;
1684
1923
  entry: CmsEntry;
1685
1924
  model: StorageOperationsCmsModel;
1686
1925
  }
1687
- export interface BeforeEntryGetTopicParams {
1926
+ export interface OnEntryBeforeGetTopicParams {
1688
1927
  model: StorageOperationsCmsModel;
1689
1928
  where: CmsEntryListWhere;
1690
1929
  }
1691
- export interface BeforeEntryListTopicParams {
1930
+ export interface EntryBeforeListTopicParams {
1692
1931
  where: CmsEntryListWhere;
1693
1932
  model: StorageOperationsCmsModel;
1694
1933
  }
@@ -1737,7 +1976,7 @@ export interface CmsEntryContext {
1737
1976
  */
1738
1977
  listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1739
1978
  /**
1740
- * Lists latest entries. Used for manage API.
1979
+ * Lists the latest entries. Used for manage API.
1741
1980
  */
1742
1981
  listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1743
1982
  /**
@@ -1786,40 +2025,102 @@ export interface CmsEntryContext {
1786
2025
  */
1787
2026
  unpublishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;
1788
2027
  /**
1789
- * Request a review for the entry.
2028
+ * Get all entry revisions.
1790
2029
  */
1791
- requestEntryReview: (model: CmsModel, id: string) => Promise<CmsEntry>;
2030
+ getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
1792
2031
  /**
1793
- * Request changes for the entry.
2032
+ * Lifecyle events - deprecated.
1794
2033
  */
1795
- requestEntryChanges: (model: CmsModel, id: string) => Promise<CmsEntry>;
1796
2034
  /**
1797
- * Get all entry revisions.
2035
+ * @deprecated
1798
2036
  */
1799
- getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
2037
+ onBeforeEntryCreate: Topic<OnEntryBeforeCreateTopicParams>;
2038
+ /**
2039
+ * @deprecated
2040
+ */
2041
+ onAfterEntryCreate: Topic<OnEntryAfterCreateTopicParams>;
1800
2042
  /**
1801
- * Events.
1802
- */
1803
- onBeforeEntryCreate: Topic<BeforeEntryCreateTopicParams>;
1804
- onAfterEntryCreate: Topic<AfterEntryCreateTopicParams>;
1805
- onBeforeEntryCreateRevision: Topic<BeforeEntryCreateRevisionTopicParams>;
1806
- onAfterEntryCreateRevision: Topic<AfterEntryCreateRevisionTopicParams>;
1807
- onBeforeEntryUpdate: Topic<BeforeEntryUpdateTopicParams>;
1808
- onAfterEntryUpdate: Topic<AfterEntryUpdateTopicParams>;
1809
- onBeforeEntryDelete: Topic<BeforeEntryDeleteTopicParams>;
1810
- onAfterEntryDelete: Topic<AfterEntryDeleteTopicParams>;
1811
- onBeforeEntryDeleteRevision: Topic<BeforeEntryDeleteRevisionTopicParams>;
1812
- onAfterEntryDeleteRevision: Topic<AfterEntryDeleteRevisionTopicParams>;
1813
- onBeforeEntryPublish: Topic<BeforeEntryPublishTopicParams>;
1814
- onAfterEntryPublish: Topic<AfterEntryPublishTopicParams>;
1815
- onBeforeEntryUnpublish: Topic<BeforeEntryUnpublishTopicParams>;
1816
- onAfterEntryUnpublish: Topic<AfterEntryUnpublishTopicParams>;
1817
- onBeforeEntryRequestChanges: Topic<BeforeEntryRequestChangesTopicParams>;
1818
- onAfterEntryRequestChanges: Topic<AfterEntryRequestChangesTopicParams>;
1819
- onBeforeEntryRequestReview: Topic<BeforeEntryRequestReviewTopicParams>;
1820
- onAfterEntryRequestReview: Topic<AfterEntryRequestReviewTopicParams>;
1821
- onBeforeEntryGet: Topic<BeforeEntryGetTopicParams>;
1822
- onBeforeEntryList: Topic<BeforeEntryListTopicParams>;
2043
+ * @deprecated
2044
+ */
2045
+ onBeforeEntryCreateRevision: Topic<OnEntryRevisionBeforeCreateTopicParams>;
2046
+ /**
2047
+ * @deprecated
2048
+ */
2049
+ onAfterEntryCreateRevision: Topic<OnEntryRevisionAfterCreateTopicParams>;
2050
+ /**
2051
+ * @deprecated
2052
+ */
2053
+ onBeforeEntryUpdate: Topic<OnEntryBeforeUpdateTopicParams>;
2054
+ /**
2055
+ * @deprecated
2056
+ */
2057
+ onAfterEntryUpdate: Topic<OnEntryAfterUpdateTopicParams>;
2058
+ /**
2059
+ * @deprecated
2060
+ */
2061
+ onBeforeEntryDelete: Topic<OnEntryBeforeDeleteTopicParams>;
2062
+ /**
2063
+ * @deprecated
2064
+ */
2065
+ onAfterEntryDelete: Topic<OnEntryAfterDeleteTopicParams>;
2066
+ /**
2067
+ * @deprecated
2068
+ */
2069
+ onBeforeEntryDeleteRevision: Topic<OnEntryRevisionBeforeDeleteTopicParams>;
2070
+ /**
2071
+ * @deprecated
2072
+ */
2073
+ onAfterEntryDeleteRevision: Topic<OnEntryRevisionAfterDeleteTopicParams>;
2074
+ /**
2075
+ * @deprecated
2076
+ */
2077
+ onBeforeEntryPublish: Topic<OnEntryBeforePublishTopicParams>;
2078
+ /**
2079
+ * @deprecated
2080
+ */
2081
+ onAfterEntryPublish: Topic<OnEntryAfterPublishTopicParams>;
2082
+ /**
2083
+ * @deprecated
2084
+ */
2085
+ onBeforeEntryUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2086
+ /**
2087
+ * @deprecated
2088
+ */
2089
+ onAfterEntryUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2090
+ /**
2091
+ * @deprecated
2092
+ */
2093
+ onBeforeEntryGet: Topic<OnEntryBeforeGetTopicParams>;
2094
+ /**
2095
+ * @deprecated
2096
+ */
2097
+ onBeforeEntryList: Topic<EntryBeforeListTopicParams>;
2098
+ /**
2099
+ * Lifecycle events released in 5.33.0
2100
+ */
2101
+ onEntryBeforeCreate: Topic<OnEntryBeforeCreateTopicParams>;
2102
+ onEntryAfterCreate: Topic<OnEntryAfterCreateTopicParams>;
2103
+ onEntryCreateError: Topic<OnEntryCreateErrorTopicParams>;
2104
+ onEntryRevisionBeforeCreate: Topic<OnEntryRevisionBeforeCreateTopicParams>;
2105
+ onEntryRevisionAfterCreate: Topic<OnEntryRevisionAfterCreateTopicParams>;
2106
+ onEntryRevisionCreateError: Topic<OnEntryCreateRevisionErrorTopicParams>;
2107
+ onEntryBeforeUpdate: Topic<OnEntryBeforeUpdateTopicParams>;
2108
+ onEntryAfterUpdate: Topic<OnEntryAfterUpdateTopicParams>;
2109
+ onEntryUpdateError: Topic<OnEntryUpdateErrorTopicParams>;
2110
+ onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;
2111
+ onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;
2112
+ onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;
2113
+ onEntryRevisionBeforeDelete: Topic<OnEntryRevisionBeforeDeleteTopicParams>;
2114
+ onEntryRevisionAfterDelete: Topic<OnEntryRevisionAfterDeleteTopicParams>;
2115
+ onEntryRevisionDeleteError: Topic<OnEntryRevisionDeleteErrorTopicParams>;
2116
+ onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
2117
+ onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
2118
+ onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2119
+ onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2120
+ onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2121
+ onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
2122
+ onEntryBeforeGet: Topic<OnEntryBeforeGetTopicParams>;
2123
+ onEntryBeforeList: Topic<EntryBeforeListTopicParams>;
1823
2124
  }
1824
2125
  /**
1825
2126
  * Parameters for CmsEntryResolverFactory.
@@ -1863,13 +2164,13 @@ export interface BaseCmsSecurityPermission extends SecurityPermission {
1863
2164
  */
1864
2165
  export interface CmsModelPermission extends BaseCmsSecurityPermission {
1865
2166
  /**
1866
- * A object representing `key: model.modelId` values where key is locale code.
2167
+ * An object representing `key: model.modelId` values where key is locale code.
1867
2168
  */
1868
2169
  models?: {
1869
2170
  [key: string]: string[];
1870
2171
  };
1871
2172
  /**
1872
- * A object representing `key: group.id` values where key is locale code.
2173
+ * {locale: groupId[]} map, where key is a locale code.
1873
2174
  */
1874
2175
  groups?: {
1875
2176
  [key: string]: string[];
@@ -1883,7 +2184,7 @@ export interface CmsModelPermission extends BaseCmsSecurityPermission {
1883
2184
  */
1884
2185
  export interface CmsGroupPermission extends BaseCmsSecurityPermission {
1885
2186
  /**
1886
- * A object representing `key: group.id` values where key is locale code.
2187
+ * {locale: groupId[]} map, where key is a locale code.
1887
2188
  */
1888
2189
  groups?: {
1889
2190
  [key: string]: string[];
@@ -1898,13 +2199,13 @@ export interface CmsGroupPermission extends BaseCmsSecurityPermission {
1898
2199
  export interface CmsEntryPermission extends BaseCmsSecurityPermission {
1899
2200
  pw?: string;
1900
2201
  /**
1901
- * A object representing `key: model.modelId` values where key is locale code.
2202
+ * An object representing `key: model.modelId` values where key is locale code.
1902
2203
  */
1903
2204
  models?: {
1904
2205
  [key: string]: string[];
1905
2206
  };
1906
2207
  /**
1907
- * A object representing `key: group.id` values where key is locale code.
2208
+ * {locale: groupId[]} map, where key is a locale code.
1908
2209
  */
1909
2210
  groups?: {
1910
2211
  [key: string]: string[];
@@ -2097,26 +2398,6 @@ export interface CmsEntryStorageOperationsUnpublishParams<T extends CmsStorageEn
2097
2398
  */
2098
2399
  storageEntry: T;
2099
2400
  }
2100
- export interface CmsEntryStorageOperationsRequestChangesParams<T extends CmsStorageEntry = CmsStorageEntry> {
2101
- /**
2102
- * Entry data updated with the required properties.
2103
- */
2104
- entry: CmsEntry;
2105
- /**
2106
- * Entry that is prepared for the storageOperations, with the transformations.
2107
- */
2108
- storageEntry: T;
2109
- }
2110
- export interface CmsEntryStorageOperationsRequestReviewParams<T extends CmsStorageEntry = CmsStorageEntry> {
2111
- /**
2112
- * Entry that is prepared for the storageOperations.
2113
- */
2114
- entry: CmsEntry;
2115
- /**
2116
- * Entry that is prepared for the storageOperations, with the transformations.
2117
- */
2118
- storageEntry: T;
2119
- }
2120
2401
  export interface CmsEntryStorageOperationsGetByIdsParams {
2121
2402
  ids: readonly string[];
2122
2403
  }
@@ -2238,21 +2519,11 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2238
2519
  * Unpublish the entry.
2239
2520
  */
2240
2521
  unpublish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2241
- /**
2242
- * Request changes the entry.
2243
- */
2244
- requestChanges: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestChangesParams<T>) => Promise<T>;
2245
- /**
2246
- * Request review the entry.
2247
- */
2248
- requestReview: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestReviewParams<T>) => Promise<CmsEntry>;
2249
2522
  }
2250
2523
  export declare enum CONTENT_ENTRY_STATUS {
2251
2524
  DRAFT = "draft",
2252
2525
  PUBLISHED = "published",
2253
- UNPUBLISHED = "unpublished",
2254
- CHANGES_REQUESTED = "changesRequested",
2255
- REVIEW_REQUESTED = "reviewRequested"
2526
+ UNPUBLISHED = "unpublished"
2256
2527
  }
2257
2528
  export interface CmsSettingsStorageOperationsGetParams {
2258
2529
  locale: string;
@@ -2310,6 +2581,7 @@ export interface CmsSystemStorageOperations {
2310
2581
  update: (params: CmsSystemStorageOperationsUpdateParams) => Promise<CmsSystem>;
2311
2582
  }
2312
2583
  export interface HeadlessCmsStorageOperations<C = CmsContext> {
2584
+ name: string;
2313
2585
  system: CmsSystemStorageOperations;
2314
2586
  settings: CmsSettingsStorageOperations;
2315
2587
  groups: CmsGroupStorageOperations;