@webiny/api-headless-cms 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.97a151f74d

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 (182) 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 +200 -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 +16 -12
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel.crud.js +106 -60
  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 +58 -38
  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/CmsModelObjectFieldConverterPlugin.js +17 -19
  73. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  74. package/graphql/graphQLHandlerFactory.js +53 -15
  75. package/graphql/graphQLHandlerFactory.js.map +1 -1
  76. package/graphql/index.d.ts +1 -1
  77. package/graphql/schema/baseContentSchema.js +5 -9
  78. package/graphql/schema/baseContentSchema.js.map +1 -1
  79. package/graphql/schema/contentEntries.js +1 -1
  80. package/graphql/schema/contentModels.js +37 -1
  81. package/graphql/schema/contentModels.js.map +1 -1
  82. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  83. package/graphql/schema/createFieldResolvers.js +12 -14
  84. package/graphql/schema/createFieldResolvers.js.map +1 -1
  85. package/graphql/schema/createManageResolvers.js +4 -18
  86. package/graphql/schema/createManageResolvers.js.map +1 -1
  87. package/graphql/schema/createManageSDL.js +7 -10
  88. package/graphql/schema/createManageSDL.js.map +1 -1
  89. package/graphql/schema/createPreviewResolvers.js +3 -7
  90. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  91. package/graphql/schema/createReadResolvers.js +3 -7
  92. package/graphql/schema/createReadResolvers.js.map +1 -1
  93. package/graphql/schema/createReadSDL.js +5 -3
  94. package/graphql/schema/createReadSDL.js.map +1 -1
  95. package/graphql/schema/resolvers/manage/resolveGet.js +5 -9
  96. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  97. package/graphql/schema/resolvers/preview/resolveGet.js +3 -7
  98. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  99. package/graphql/schema/resolvers/read/resolveGet.js +3 -7
  100. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  101. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  102. package/graphqlFields/dynamicZone/dynamicZoneField.js +209 -0
  103. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  104. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  105. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  106. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  107. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  108. package/graphqlFields/dynamicZone/index.js +21 -0
  109. package/graphqlFields/dynamicZone/index.js.map +1 -0
  110. package/graphqlFields/index.d.ts +1 -1
  111. package/graphqlFields/index.js +3 -1
  112. package/graphqlFields/index.js.map +1 -1
  113. package/graphqlFields/number.js +4 -0
  114. package/graphqlFields/number.js.map +1 -1
  115. package/graphqlFields/object.js +110 -73
  116. package/graphqlFields/object.js.map +1 -1
  117. package/graphqlFields/ref.js +33 -55
  118. package/graphqlFields/ref.js.map +1 -1
  119. package/index.d.ts +2 -2
  120. package/index.js +3 -1
  121. package/index.js.map +1 -1
  122. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  123. package/modelManager/DefaultCmsModelManager.js +1 -1
  124. package/package.json +28 -28
  125. package/parameters/header.js +1 -1
  126. package/parameters/manual.js +7 -8
  127. package/parameters/manual.js.map +1 -1
  128. package/parameters/path.js +1 -1
  129. package/plugins/CmsGroupPlugin.js +1 -1
  130. package/plugins/CmsModelFieldConverterPlugin.js +1 -1
  131. package/plugins/CmsModelPlugin.d.ts +6 -2
  132. package/plugins/CmsModelPlugin.js +18 -13
  133. package/plugins/CmsModelPlugin.js.map +1 -1
  134. package/plugins/CmsParametersPlugin.js +1 -1
  135. package/plugins/StorageTransformPlugin.d.ts +11 -11
  136. package/plugins/StorageTransformPlugin.js +1 -1
  137. package/plugins/StorageTransformPlugin.js.map +1 -1
  138. package/storage/object.js +7 -8
  139. package/storage/object.js.map +1 -1
  140. package/types.d.ts +352 -166
  141. package/types.js +11 -9
  142. package/types.js.map +1 -1
  143. package/upgrades/5.33.0/index.js +5 -9
  144. package/upgrades/5.33.0/index.js.map +1 -1
  145. package/utils/converters/Converter.js +1 -1
  146. package/utils/converters/ConverterCollection.d.ts +7 -0
  147. package/utils/converters/ConverterCollection.js +36 -8
  148. package/utils/converters/ConverterCollection.js.map +1 -1
  149. package/utils/converters/valueKeyStorageConverter.js +3 -7
  150. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  151. package/utils/createTypeFromFields.d.ts +15 -0
  152. package/utils/createTypeFromFields.js +75 -0
  153. package/utils/createTypeFromFields.js.map +1 -0
  154. package/utils/createTypeName.js +4 -2
  155. package/utils/createTypeName.js.map +1 -1
  156. package/utils/entryStorage.js +10 -10
  157. package/utils/entryStorage.js.map +1 -1
  158. package/utils/filterModelFields.js +5 -9
  159. package/utils/filterModelFields.js.map +1 -1
  160. package/utils/getBaseFieldType.d.ts +4 -0
  161. package/utils/getBaseFieldType.js +12 -0
  162. package/utils/getBaseFieldType.js.map +1 -0
  163. package/utils/permissions.js +1 -5
  164. package/utils/permissions.js.map +1 -1
  165. package/utils/pluralizedTypeName.js +1 -1
  166. package/utils/renderFields.js +3 -1
  167. package/utils/renderFields.js.map +1 -1
  168. package/utils/renderGetFilterFields.js +8 -3
  169. package/utils/renderGetFilterFields.js.map +1 -1
  170. package/utils/renderInputFields.js +3 -1
  171. package/utils/renderInputFields.js.map +1 -1
  172. package/utils/renderListFilterFields.js +12 -2
  173. package/utils/renderListFilterFields.js.map +1 -1
  174. package/utils/renderSortEnum.js +3 -1
  175. package/utils/renderSortEnum.js.map +1 -1
  176. package/utils/toSlug.js +1 -1
  177. package/validators/dynamicZone.d.ts +2 -0
  178. package/validators/dynamicZone.js +24 -0
  179. package/validators/dynamicZone.js.map +1 -0
  180. package/validators/index.js +3 -1
  181. package/validators/index.js.map +1 -1
  182. package/validators/unique.js +1 -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 {
@@ -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,6 +206,27 @@ 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
  */
@@ -214,7 +238,7 @@ export interface CmsModelFieldWithParent extends CmsModelField {
214
238
  */
215
239
  export interface CmsModelDateTimeField extends CmsModelField {
216
240
  /**
217
- * Settings object for the field. Contains type property.
241
+ * Settings object for the field. Contains `type` property.
218
242
  */
219
243
  settings: {
220
244
  type: "time" | "date" | "dateTimeWithoutTimezone" | "dateTimeWithTimezone";
@@ -402,6 +426,10 @@ export interface CmsModel {
402
426
  * ```
403
427
  */
404
428
  layout: string[][];
429
+ /**
430
+ * Models can be tagged to give them contextual meaning.
431
+ */
432
+ tags?: string[];
405
433
  /**
406
434
  * List of locked fields. Updated when entry is saved and a field has been used.
407
435
  */
@@ -438,15 +466,15 @@ export interface CmsModelFieldDefinition {
438
466
  fields: string;
439
467
  typeDefs?: string;
440
468
  }
441
- interface CmsModelFieldToGraphQLCreateResolverParams {
469
+ interface CmsModelFieldToGraphQLCreateResolverParams<TField> {
442
470
  models: CmsModel[];
443
471
  model: CmsModel;
444
472
  graphQLType: string;
445
- field: CmsModelField;
473
+ field: TField;
446
474
  createFieldResolvers: any;
447
475
  }
448
- export interface CmsModelFieldToGraphQLCreateResolver {
449
- (params: CmsModelFieldToGraphQLCreateResolverParams): GraphQLFieldResolver | {
476
+ export interface CmsModelFieldToGraphQLCreateResolver<TField = CmsModelField> {
477
+ (params: CmsModelFieldToGraphQLCreateResolverParams<TField>): GraphQLFieldResolver | {
450
478
  resolver: GraphQLFieldResolver | null;
451
479
  typeResolvers: Resolvers<CmsContext>;
452
480
  } | false;
@@ -456,7 +484,7 @@ export interface CmsModelFieldToGraphQLCreateResolver {
456
484
  * @category ModelField
457
485
  * @category GraphQL
458
486
  */
459
- export interface CmsModelFieldToGraphQLPlugin extends Plugin {
487
+ export interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField> extends Plugin {
460
488
  /**
461
489
  * A plugin type
462
490
  */
@@ -510,7 +538,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
510
538
  */
511
539
  createStorageId?: (params: {
512
540
  model: CmsModel;
513
- field: CmsModelField;
541
+ field: TField;
514
542
  }) => string | null | undefined;
515
543
  /**
516
544
  * Read API methods.
@@ -529,7 +557,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
529
557
  */
530
558
  createGetFilters?(params: {
531
559
  model: CmsModel;
532
- field: CmsModelField;
560
+ field: TField;
533
561
  }): string;
534
562
  /**
535
563
  * Definition for list filtering for GraphQL.
@@ -549,7 +577,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
549
577
  */
550
578
  createListFilters?(params: {
551
579
  model: CmsModel;
552
- field: CmsModelField;
580
+ field: TField;
581
+ plugins: CmsFieldTypePlugins;
553
582
  }): string;
554
583
  /**
555
584
  * Definition of the field type for GraphQL - be aware if multiple values is selected.
@@ -568,12 +597,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
568
597
  */
569
598
  createTypeField(params: {
570
599
  model: CmsModel;
571
- field: CmsModelField;
600
+ field: TField;
572
601
  fieldTypePlugins: CmsFieldTypePlugins;
573
602
  }): CmsModelFieldDefinition | string | null;
574
603
  /**
575
604
  * Definition for field resolver.
576
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
605
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
577
606
  *
578
607
  * ```ts
579
608
  * read: {
@@ -585,7 +614,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
585
614
  * }
586
615
  * ```
587
616
  */
588
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
617
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
589
618
  /**
590
619
  * Read API schema definitions for the field and resolvers for them.
591
620
  *
@@ -628,7 +657,8 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
628
657
  */
629
658
  createListFilters?: (params: {
630
659
  model: CmsModel;
631
- field: CmsModelField;
660
+ field: TField;
661
+ plugins: CmsFieldTypePlugins;
632
662
  }) => string;
633
663
  /**
634
664
  * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.
@@ -667,7 +697,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
667
697
  */
668
698
  createTypeField: (params: {
669
699
  model: CmsModel;
670
- field: CmsModelField;
700
+ field: TField;
671
701
  fieldTypePlugins: CmsFieldTypePlugins;
672
702
  }) => CmsModelFieldDefinition | string | null;
673
703
  /**
@@ -687,12 +717,12 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
687
717
  */
688
718
  createInputField: (params: {
689
719
  model: CmsModel;
690
- field: CmsModelField;
720
+ field: TField;
691
721
  fieldTypePlugins: CmsFieldTypePlugins;
692
722
  }) => CmsModelFieldDefinition | string | null;
693
723
  /**
694
724
  * Definition for field resolver.
695
- * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
725
+ * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.
696
726
  *
697
727
  * ```ts
698
728
  * manage: {
@@ -704,7 +734,7 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
704
734
  * }
705
735
  * ```
706
736
  */
707
- createResolver?: CmsModelFieldToGraphQLCreateResolver;
737
+ createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;
708
738
  };
709
739
  }
710
740
  /**
@@ -744,7 +774,7 @@ export interface CmsFieldTypePlugins {
744
774
  [key: string]: CmsModelFieldToGraphQLPlugin;
745
775
  }
746
776
  /**
747
- * A interface describing the reference to a user that created some data in the database.
777
+ * An interface describing the reference to a user that created some data in the database.
748
778
  *
749
779
  * @category General
750
780
  */
@@ -800,11 +830,16 @@ export interface CmsSettingsContext {
800
830
  */
801
831
  getModelLastChange: () => Promise<Date>;
802
832
  }
803
- export interface BeforeInstallTopicParams {
833
+ export interface OnSystemBeforeInstallTopicParams {
834
+ tenant: string;
835
+ locale: string;
836
+ }
837
+ export interface OnSystemAfterInstallTopicParams {
804
838
  tenant: string;
805
839
  locale: string;
806
840
  }
807
- export interface AfterInstallTopicParams {
841
+ export interface OnSystemInstallErrorTopicParams {
842
+ error: Error;
808
843
  tenant: string;
809
844
  locale: string;
810
845
  }
@@ -815,13 +850,25 @@ export declare type CmsSystemContext = {
815
850
  installSystem: () => Promise<void>;
816
851
  upgradeSystem: (version: string) => Promise<boolean>;
817
852
  /**
818
- * Events
853
+ * Lifecycle events - deprecated
854
+ */
855
+ /**
856
+ * @deprecated
857
+ */
858
+ onBeforeSystemInstall: Topic<OnSystemBeforeInstallTopicParams>;
859
+ /**
860
+ * @deprecated
819
861
  */
820
- onBeforeSystemInstall: Topic<BeforeInstallTopicParams>;
821
- onAfterSystemInstall: Topic<AfterInstallTopicParams>;
862
+ onAfterSystemInstall: Topic<OnSystemAfterInstallTopicParams>;
863
+ /**
864
+ * Released in 5.34.0
865
+ */
866
+ onSystemBeforeInstall: Topic<OnSystemBeforeInstallTopicParams>;
867
+ onSystemAfterInstall: Topic<OnSystemAfterInstallTopicParams>;
868
+ onSystemInstallError: Topic<OnSystemInstallErrorTopicParams>;
822
869
  };
823
870
  /**
824
- * A GraphQL params.data parameter received when creating content model group.
871
+ * A GraphQL `params.data` parameter received when creating content model group.
825
872
  *
826
873
  * @category CmsGroup
827
874
  * @category GraphQL params
@@ -833,7 +880,7 @@ export interface CmsGroupCreateInput {
833
880
  icon: string;
834
881
  }
835
882
  /**
836
- * A GraphQL params.data parameter received when updating content model group.
883
+ * A GraphQL `params.data` parameter received when updating content model group.
837
884
  *
838
885
  * @category CmsGroup
839
886
  * @category GraphQL params
@@ -903,7 +950,7 @@ export interface CmsGroup {
903
950
  isPrivate?: boolean;
904
951
  }
905
952
  /**
906
- * A data.where parameter received when listing content model groups.
953
+ * A `data.where` parameter received when listing content model groups.
907
954
  *
908
955
  * @category CmsGroup
909
956
  * @category GraphQL params
@@ -919,21 +966,21 @@ export interface CmsGroupListParams {
919
966
  * @category CmsGroup
920
967
  * @category Topic
921
968
  */
922
- export interface BeforeGroupCreateTopicParams {
969
+ export interface OnGroupBeforeCreateTopicParams {
923
970
  group: CmsGroup;
924
971
  }
925
972
  /**
926
973
  * @category CmsGroup
927
974
  * @category Topic
928
975
  */
929
- export interface AfterGroupCreateTopicParams {
976
+ export interface OnGroupAfterCreateTopicParams {
930
977
  group: CmsGroup;
931
978
  }
932
979
  /**
933
980
  * @category CmsGroup
934
981
  * @category Topic
935
982
  */
936
- export interface BeforeGroupUpdateTopicParams {
983
+ export interface OnGroupBeforeUpdateTopicParams {
937
984
  original: CmsGroup;
938
985
  group: CmsGroup;
939
986
  }
@@ -941,7 +988,7 @@ export interface BeforeGroupUpdateTopicParams {
941
988
  * @category CmsGroup
942
989
  * @category Topic
943
990
  */
944
- export interface AfterGroupUpdateTopicParams {
991
+ export interface OnGroupAfterUpdateTopicParams {
945
992
  original: CmsGroup;
946
993
  group: CmsGroup;
947
994
  }
@@ -949,14 +996,14 @@ export interface AfterGroupUpdateTopicParams {
949
996
  * @category CmsGroup
950
997
  * @category Topic
951
998
  */
952
- export interface BeforeGroupDeleteTopicParams {
999
+ export interface OnGroupBeforeDeleteTopicParams {
953
1000
  group: CmsGroup;
954
1001
  }
955
1002
  /**
956
1003
  * @category CmsGroup
957
1004
  * @category Topic
958
1005
  */
959
- export interface AfterGroupDeleteTopicParams {
1006
+ export interface OnGroupAfterDeleteTopicParams {
960
1007
  group: CmsGroup;
961
1008
  }
962
1009
  /**
@@ -991,14 +1038,41 @@ export interface CmsGroupContext {
991
1038
  */
992
1039
  clearGroupsCache: () => void;
993
1040
  /**
994
- * Events.
1041
+ * Lifecycle events - deprecated
1042
+ */
1043
+ /**
1044
+ * @deprecated
1045
+ */
1046
+ onBeforeGroupCreate: Topic<OnGroupBeforeCreateTopicParams>;
1047
+ /**
1048
+ * @deprecated
1049
+ */
1050
+ onAfterGroupCreate: Topic<OnGroupAfterCreateTopicParams>;
1051
+ /**
1052
+ * @deprecated
1053
+ */
1054
+ onBeforeGroupUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1055
+ /**
1056
+ * @deprecated
1057
+ */
1058
+ onAfterGroupUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1059
+ /**
1060
+ * @deprecated
1061
+ */
1062
+ onBeforeGroupDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1063
+ /**
1064
+ * @deprecated
995
1065
  */
996
- onBeforeGroupCreate: Topic<BeforeGroupCreateTopicParams>;
997
- onAfterGroupCreate: Topic<AfterGroupCreateTopicParams>;
998
- onBeforeGroupUpdate: Topic<BeforeGroupUpdateTopicParams>;
999
- onAfterGroupUpdate: Topic<AfterGroupUpdateTopicParams>;
1000
- onBeforeGroupDelete: Topic<BeforeGroupDeleteTopicParams>;
1001
- onAfterGroupDelete: Topic<AfterGroupDeleteTopicParams>;
1066
+ onAfterGroupDelete: Topic<OnGroupAfterDeleteTopicParams>;
1067
+ /**
1068
+ * Lifecycle events released in 5.33.0
1069
+ */
1070
+ onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;
1071
+ onGroupAfterCreate: Topic<OnGroupAfterCreateTopicParams>;
1072
+ onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
1073
+ onGroupAfterUpdate: Topic<OnGroupAfterUpdateTopicParams>;
1074
+ onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
1075
+ onGroupAfterDelete: Topic<OnGroupAfterDeleteTopicParams>;
1002
1076
  }
1003
1077
  /**
1004
1078
  * Definition for content model field validator.
@@ -1017,7 +1091,7 @@ export interface CmsModelFieldValidation {
1017
1091
  };
1018
1092
  }
1019
1093
  /**
1020
- * A GraphQL params.data parameter received when creating content model.
1094
+ * A GraphQL `params.data` parameter received when creating content model.
1021
1095
  *
1022
1096
  * @category GraphQL params
1023
1097
  * @category CmsModel
@@ -1054,6 +1128,10 @@ export interface CmsModelCreateInput {
1054
1128
  * ```
1055
1129
  */
1056
1130
  layout?: string[][];
1131
+ /**
1132
+ * Models can be tagged to give them contextual meaning.
1133
+ */
1134
+ tags?: string[];
1057
1135
  /**
1058
1136
  * The field that is being displayed as entry title.
1059
1137
  * It is picked as first available text field. Or user can select own field.
@@ -1061,7 +1139,7 @@ export interface CmsModelCreateInput {
1061
1139
  titleFieldId?: string;
1062
1140
  }
1063
1141
  /**
1064
- * A GraphQL params.data parameter received when creating content model from existing model.
1142
+ * A GraphQL `params.data` parameter received when creating content model from existing model.
1065
1143
  *
1066
1144
  * @category GraphQL params
1067
1145
  * @category CmsModel
@@ -1107,6 +1185,10 @@ export interface CmsModelFieldInput {
1107
1185
  * Text to display in the field.
1108
1186
  */
1109
1187
  placeholderText?: string;
1188
+ /**
1189
+ * Fields can be tagged to give them contextual meaning.
1190
+ */
1191
+ tags?: string[];
1110
1192
  /**
1111
1193
  * Are multiple values allowed?
1112
1194
  */
@@ -1133,7 +1215,7 @@ export interface CmsModelFieldInput {
1133
1215
  settings?: Record<string, any>;
1134
1216
  }
1135
1217
  /**
1136
- * A GraphQL params.data parameter received when updating content model.
1218
+ * A GraphQL `params.data` parameter received when updating content model.
1137
1219
  *
1138
1220
  * @category GraphQL params
1139
1221
  * @category CmsModel
@@ -1212,10 +1294,10 @@ export interface CmsEntryValues {
1212
1294
  * @category Database model
1213
1295
  * @category CmsEntry
1214
1296
  */
1215
- export interface CmsEntry {
1297
+ export interface CmsEntry<T = CmsEntryValues> {
1216
1298
  /**
1217
1299
  * 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.
1300
+ * This can be used when upgrading the system, so we know which entries to update.
1219
1301
  */
1220
1302
  webinyVersion: string;
1221
1303
  /**
@@ -1281,14 +1363,14 @@ export interface CmsEntry {
1281
1363
  *
1282
1364
  * @see CmsModelField
1283
1365
  */
1284
- values: CmsEntryValues;
1366
+ values: T;
1285
1367
  /**
1286
1368
  * Settings for the given entry.
1287
1369
  *
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.
1370
+ * Introduced with Advanced Publishing Workflow. Will always be inserted once this PR is merged.
1371
+ * Be aware that when accessing properties in it on old systems, it will break if not checked first.
1290
1372
  *
1291
- * Available only on the Manage API in entry GraphQL type meta.data property.
1373
+ * Available only on the Manage API in entry GraphQL type `meta.data` property.
1292
1374
  */
1293
1375
  meta?: {
1294
1376
  [key: string]: any;
@@ -1321,7 +1403,7 @@ export interface CmsModelManager {
1321
1403
  */
1322
1404
  getPublishedByIds: (ids: string[]) => Promise<CmsEntry[]>;
1323
1405
  /**
1324
- * Get a list of latest entries by the ID list.
1406
+ * Get a list of the latest entries by the ID list.
1325
1407
  */
1326
1408
  getLatestByIds: (ids: string[]) => Promise<CmsEntry[]>;
1327
1409
  /**
@@ -1329,50 +1411,53 @@ export interface CmsModelManager {
1329
1411
  */
1330
1412
  get: (id: string) => Promise<CmsEntry>;
1331
1413
  /**
1332
- * Create a entry.
1414
+ * Create an entry.
1333
1415
  */
1334
1416
  create: (data: CreateCmsEntryInput) => Promise<CmsEntry>;
1335
1417
  /**
1336
- * Update a entry.
1418
+ * Update an entry.
1337
1419
  */
1338
1420
  update: (id: string, data: UpdateCmsEntryInput) => Promise<CmsEntry>;
1339
1421
  /**
1340
- * Delete a entry.
1422
+ * Delete an entry.
1341
1423
  */
1342
1424
  delete: (id: string) => Promise<void>;
1343
1425
  }
1344
- export interface BeforeModelCreateTopicParams {
1426
+ export interface OnModelBeforeCreateTopicParams {
1345
1427
  input: CmsModelCreateInput;
1346
1428
  model: CmsModel;
1347
1429
  }
1348
- export interface AfterModelCreateTopicParams {
1430
+ export interface OnModelAfterCreateTopicParams {
1349
1431
  input: CmsModelCreateInput;
1350
1432
  model: CmsModel;
1351
1433
  }
1352
- export interface BeforeModelCreateFromTopicParams {
1434
+ export interface OnModelBeforeCreateFromTopicParams {
1353
1435
  input: CmsModelCreateInput;
1354
1436
  original: CmsModel;
1355
1437
  model: CmsModel;
1356
1438
  }
1357
- export interface AfterModelCreateFromTopicParams {
1439
+ export interface OnModelAfterCreateFromTopicParams {
1358
1440
  input: CmsModelCreateInput;
1359
1441
  original: CmsModel;
1360
1442
  model: CmsModel;
1361
1443
  }
1362
- export interface BeforeModelUpdateTopicParams {
1444
+ export interface OnModelBeforeUpdateTopicParams {
1363
1445
  input: CmsModelUpdateInput;
1364
1446
  original: CmsModel;
1365
1447
  model: CmsModel;
1366
1448
  }
1367
- export interface AfterModelUpdateTopicParams {
1449
+ export interface OnModelAfterUpdateTopicParams {
1368
1450
  input: CmsModelUpdateInput;
1369
1451
  original: CmsModel;
1370
1452
  model: CmsModel;
1371
1453
  }
1372
- export interface BeforeModelDeleteTopicParams {
1454
+ export interface OnModelBeforeDeleteTopicParams {
1373
1455
  model: CmsModel;
1374
1456
  }
1375
- export interface AfterModelDeleteTopicParams {
1457
+ export interface OnModelAfterDeleteTopicParams {
1458
+ model: CmsModel;
1459
+ }
1460
+ export interface OnModelInitializeParams {
1376
1461
  model: CmsModel;
1377
1462
  }
1378
1463
  export interface CmsModelUpdateDirectParams {
@@ -1416,7 +1501,14 @@ export interface CmsModelContext {
1416
1501
  */
1417
1502
  deleteModel: (modelId: string) => Promise<void>;
1418
1503
  /**
1419
- * Get a instance of CmsModelManager for given content modelId.
1504
+ * Possibility for users to trigger the model initialization.
1505
+ * They can hook into it and do what ever they want to.
1506
+ *
1507
+ * Primary idea behind this is creating the index, for the code models, in the ES.
1508
+ */
1509
+ initializeModel: (modelId: string) => Promise<boolean>;
1510
+ /**
1511
+ * Get an instance of CmsModelManager for given content modelId.
1420
1512
  *
1421
1513
  * @see CmsModelManager
1422
1514
  *
@@ -1436,23 +1528,59 @@ export interface CmsModelContext {
1436
1528
  */
1437
1529
  clearModelsCache: () => void;
1438
1530
  /**
1439
- * Events.
1531
+ * Lifecycle events - deprecated.
1532
+ */
1533
+ /**
1534
+ * @deprecated
1440
1535
  */
1441
- onBeforeModelCreate: Topic<BeforeModelCreateTopicParams>;
1442
- onAfterModelCreate: Topic<AfterModelCreateTopicParams>;
1443
- onBeforeModelCreateFrom: Topic<BeforeModelCreateFromTopicParams>;
1444
- onAfterModelCreateFrom: Topic<AfterModelCreateFromTopicParams>;
1445
- onBeforeModelUpdate: Topic<BeforeModelUpdateTopicParams>;
1446
- onAfterModelUpdate: Topic<AfterModelUpdateTopicParams>;
1447
- onBeforeModelDelete: Topic<BeforeModelDeleteTopicParams>;
1448
- onAfterModelDelete: Topic<AfterModelDeleteTopicParams>;
1536
+ onBeforeModelCreate: Topic<OnModelBeforeCreateTopicParams>;
1537
+ /**
1538
+ * @deprecated
1539
+ */
1540
+ onAfterModelCreate: Topic<OnModelAfterCreateTopicParams>;
1541
+ /**
1542
+ * @deprecated
1543
+ */
1544
+ onBeforeModelCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1545
+ /**
1546
+ * @deprecated
1547
+ */
1548
+ onAfterModelCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1549
+ /**
1550
+ * @deprecated
1551
+ */
1552
+ onBeforeModelUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1553
+ /**
1554
+ * @deprecated
1555
+ */
1556
+ onAfterModelUpdate: Topic<OnModelAfterUpdateTopicParams>;
1557
+ /**
1558
+ * @deprecated
1559
+ */
1560
+ onBeforeModelDelete: Topic<OnModelBeforeDeleteTopicParams>;
1561
+ /**
1562
+ * @deprecated
1563
+ */
1564
+ onAfterModelDelete: Topic<OnModelAfterDeleteTopicParams>;
1565
+ /**
1566
+ * Lifecycle events - released in 5.33.0
1567
+ */
1568
+ onModelBeforeCreate: Topic<OnModelBeforeCreateTopicParams>;
1569
+ onModelAfterCreate: Topic<OnModelAfterCreateTopicParams>;
1570
+ onModelBeforeCreateFrom: Topic<OnModelBeforeCreateFromTopicParams>;
1571
+ onModelAfterCreateFrom: Topic<OnModelAfterCreateFromTopicParams>;
1572
+ onModelBeforeUpdate: Topic<OnModelBeforeUpdateTopicParams>;
1573
+ onModelAfterUpdate: Topic<OnModelAfterUpdateTopicParams>;
1574
+ onModelBeforeDelete: Topic<OnModelBeforeDeleteTopicParams>;
1575
+ onModelAfterDelete: Topic<OnModelAfterDeleteTopicParams>;
1576
+ onModelInitialize: Topic<OnModelInitializeParams>;
1449
1577
  }
1450
1578
  /**
1451
1579
  * Available statuses for content entry.
1452
1580
  *
1453
1581
  * @category CmsEntry
1454
1582
  */
1455
- export declare type CmsEntryStatus = "published" | "unpublished" | "reviewRequested" | "changesRequested" | "draft";
1583
+ export declare type CmsEntryStatus = "published" | "unpublished" | "draft";
1456
1584
  export interface CmsEntryListWhereRef {
1457
1585
  id?: string;
1458
1586
  id_in?: string[];
@@ -1530,7 +1658,12 @@ export interface CmsEntryListWhere {
1530
1658
  /**
1531
1659
  * This is to allow querying by any content model field defined by the user.
1532
1660
  */
1533
- [key: string]: any | CmsEntryListWhereRef;
1661
+ [key: string]: string | number | boolean | undefined | string[] | number[] | null | CmsEntryListWhere[] | CmsEntryListWhere | CmsEntryListWhereRef;
1662
+ /**
1663
+ * To allow querying via nested queries, we added the AND / OR properties.
1664
+ */
1665
+ AND?: CmsEntryListWhere[];
1666
+ OR?: CmsEntryListWhere[];
1534
1667
  }
1535
1668
  /**
1536
1669
  * Entry listing sort.
@@ -1583,100 +1716,120 @@ export interface CmsEntryMeta {
1583
1716
  */
1584
1717
  totalCount: number;
1585
1718
  }
1586
- export interface BeforeEntryCreateTopicParams {
1719
+ export interface OnEntryBeforeCreateTopicParams {
1587
1720
  input: CreateCmsEntryInput;
1588
1721
  entry: CmsEntry;
1589
1722
  model: StorageOperationsCmsModel;
1590
1723
  }
1591
- export interface AfterEntryCreateTopicParams {
1724
+ export interface OnEntryAfterCreateTopicParams {
1592
1725
  input: CreateCmsEntryInput;
1593
1726
  entry: CmsEntry;
1594
1727
  model: StorageOperationsCmsModel;
1595
1728
  storageEntry: CmsEntry;
1596
1729
  }
1597
- export interface BeforeEntryCreateRevisionTopicParams {
1730
+ export interface OnEntryCreateErrorTopicParams {
1731
+ error: Error;
1732
+ input: CreateCmsEntryInput;
1733
+ entry: CmsEntry;
1734
+ model: CmsModel;
1735
+ }
1736
+ export interface OnEntryRevisionBeforeCreateTopicParams {
1598
1737
  input: CreateFromCmsEntryInput;
1599
1738
  entry: CmsEntry;
1600
1739
  original: CmsEntry;
1601
1740
  model: StorageOperationsCmsModel;
1602
1741
  }
1603
- export interface AfterEntryCreateRevisionTopicParams {
1742
+ export interface OnEntryRevisionAfterCreateTopicParams {
1604
1743
  input: CreateFromCmsEntryInput;
1605
1744
  entry: CmsEntry;
1606
1745
  original: CmsEntry;
1607
1746
  model: StorageOperationsCmsModel;
1608
1747
  storageEntry: CmsEntry;
1609
1748
  }
1610
- export interface BeforeEntryUpdateTopicParams {
1749
+ export interface OnEntryCreateRevisionErrorTopicParams {
1750
+ error: Error;
1751
+ input: CreateFromCmsEntryInput;
1752
+ entry: CmsEntry;
1753
+ model: CmsModel;
1754
+ }
1755
+ export interface OnEntryBeforeUpdateTopicParams {
1611
1756
  input: UpdateCmsEntryInput;
1612
1757
  original: CmsEntry;
1613
1758
  entry: CmsEntry;
1614
1759
  model: StorageOperationsCmsModel;
1615
1760
  }
1616
- export interface AfterEntryUpdateTopicParams {
1761
+ export interface OnEntryAfterUpdateTopicParams {
1617
1762
  input: UpdateCmsEntryInput;
1618
1763
  original: CmsEntry;
1619
1764
  entry: CmsEntry;
1620
1765
  model: StorageOperationsCmsModel;
1621
1766
  storageEntry: CmsEntry;
1622
1767
  }
1623
- export interface BeforeEntryPublishTopicParams {
1768
+ export interface OnEntryUpdateErrorTopicParams {
1769
+ error: Error;
1770
+ input: CreateFromCmsEntryInput;
1771
+ entry: CmsEntry;
1772
+ model: CmsModel;
1773
+ }
1774
+ export interface OnEntryBeforePublishTopicParams {
1624
1775
  entry: CmsEntry;
1625
1776
  model: StorageOperationsCmsModel;
1626
1777
  }
1627
- export interface AfterEntryPublishTopicParams {
1778
+ export interface OnEntryAfterPublishTopicParams {
1628
1779
  entry: CmsEntry;
1629
1780
  model: StorageOperationsCmsModel;
1630
1781
  storageEntry: CmsEntry;
1631
1782
  }
1632
- export interface BeforeEntryUnpublishTopicParams {
1783
+ export interface OnEntryPublishErrorTopicParams {
1784
+ error: Error;
1633
1785
  entry: CmsEntry;
1634
1786
  model: StorageOperationsCmsModel;
1635
1787
  }
1636
- export interface AfterEntryUnpublishTopicParams {
1788
+ export interface OnEntryBeforeUnpublishTopicParams {
1637
1789
  entry: CmsEntry;
1638
1790
  model: StorageOperationsCmsModel;
1639
- storageEntry: CmsEntry;
1640
1791
  }
1641
- export interface BeforeEntryRequestChangesTopicParams {
1792
+ export interface OnEntryAfterUnpublishTopicParams {
1642
1793
  entry: CmsEntry;
1643
1794
  model: StorageOperationsCmsModel;
1795
+ storageEntry: CmsEntry;
1644
1796
  }
1645
- export interface AfterEntryRequestChangesTopicParams {
1797
+ export interface OnEntryUnpublishErrorTopicParams {
1798
+ error: Error;
1646
1799
  entry: CmsEntry;
1647
- model: StorageOperationsCmsModel;
1648
- storageEntry: CmsEntry;
1800
+ model: CmsModel;
1649
1801
  }
1650
- export interface BeforeEntryRequestReviewTopicParams {
1802
+ export interface OnEntryBeforeDeleteTopicParams {
1651
1803
  entry: CmsEntry;
1652
1804
  model: StorageOperationsCmsModel;
1653
1805
  }
1654
- export interface AfterEntryRequestReviewTopicParams {
1806
+ export interface OnEntryAfterDeleteTopicParams {
1655
1807
  entry: CmsEntry;
1656
1808
  model: StorageOperationsCmsModel;
1657
- storageEntry: CmsEntry;
1658
1809
  }
1659
- export interface BeforeEntryDeleteTopicParams {
1810
+ export interface OnEntryDeleteErrorTopicParams {
1811
+ error: Error;
1660
1812
  entry: CmsEntry;
1661
1813
  model: StorageOperationsCmsModel;
1662
1814
  }
1663
- export interface AfterEntryDeleteTopicParams {
1815
+ export interface OnEntryRevisionBeforeDeleteTopicParams {
1664
1816
  entry: CmsEntry;
1665
1817
  model: StorageOperationsCmsModel;
1666
1818
  }
1667
- export interface BeforeEntryDeleteRevisionTopicParams {
1819
+ export interface OnEntryRevisionAfterDeleteTopicParams {
1668
1820
  entry: CmsEntry;
1669
1821
  model: StorageOperationsCmsModel;
1670
1822
  }
1671
- export interface AfterEntryDeleteRevisionTopicParams {
1823
+ export interface OnEntryRevisionDeleteErrorTopicParams {
1824
+ error: Error;
1672
1825
  entry: CmsEntry;
1673
1826
  model: StorageOperationsCmsModel;
1674
1827
  }
1675
- export interface BeforeEntryGetTopicParams {
1828
+ export interface OnEntryBeforeGetTopicParams {
1676
1829
  model: StorageOperationsCmsModel;
1677
1830
  where: CmsEntryListWhere;
1678
1831
  }
1679
- export interface BeforeEntryListTopicParams {
1832
+ export interface EntryBeforeListTopicParams {
1680
1833
  where: CmsEntryListWhere;
1681
1834
  model: StorageOperationsCmsModel;
1682
1835
  }
@@ -1725,7 +1878,7 @@ export interface CmsEntryContext {
1725
1878
  */
1726
1879
  listEntries: (model: CmsModel, params: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1727
1880
  /**
1728
- * Lists latest entries. Used for manage API.
1881
+ * Lists the latest entries. Used for manage API.
1729
1882
  */
1730
1883
  listLatestEntries: (model: CmsModel, params?: CmsEntryListParams) => Promise<[CmsEntry[], CmsEntryMeta]>;
1731
1884
  /**
@@ -1774,40 +1927,102 @@ export interface CmsEntryContext {
1774
1927
  */
1775
1928
  unpublishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;
1776
1929
  /**
1777
- * Request a review for the entry.
1930
+ * Get all entry revisions.
1778
1931
  */
1779
- requestEntryReview: (model: CmsModel, id: string) => Promise<CmsEntry>;
1932
+ getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
1780
1933
  /**
1781
- * Request changes for the entry.
1934
+ * Lifecyle events - deprecated.
1782
1935
  */
1783
- requestEntryChanges: (model: CmsModel, id: string) => Promise<CmsEntry>;
1784
1936
  /**
1785
- * Get all entry revisions.
1937
+ * @deprecated
1786
1938
  */
1787
- getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;
1939
+ onBeforeEntryCreate: Topic<OnEntryBeforeCreateTopicParams>;
1940
+ /**
1941
+ * @deprecated
1942
+ */
1943
+ onAfterEntryCreate: Topic<OnEntryAfterCreateTopicParams>;
1944
+ /**
1945
+ * @deprecated
1946
+ */
1947
+ onBeforeEntryCreateRevision: Topic<OnEntryRevisionBeforeCreateTopicParams>;
1948
+ /**
1949
+ * @deprecated
1950
+ */
1951
+ onAfterEntryCreateRevision: Topic<OnEntryRevisionAfterCreateTopicParams>;
1952
+ /**
1953
+ * @deprecated
1954
+ */
1955
+ onBeforeEntryUpdate: Topic<OnEntryBeforeUpdateTopicParams>;
1956
+ /**
1957
+ * @deprecated
1958
+ */
1959
+ onAfterEntryUpdate: Topic<OnEntryAfterUpdateTopicParams>;
1960
+ /**
1961
+ * @deprecated
1962
+ */
1963
+ onBeforeEntryDelete: Topic<OnEntryBeforeDeleteTopicParams>;
1964
+ /**
1965
+ * @deprecated
1966
+ */
1967
+ onAfterEntryDelete: Topic<OnEntryAfterDeleteTopicParams>;
1788
1968
  /**
1789
- * Events.
1790
- */
1791
- onBeforeEntryCreate: Topic<BeforeEntryCreateTopicParams>;
1792
- onAfterEntryCreate: Topic<AfterEntryCreateTopicParams>;
1793
- onBeforeEntryCreateRevision: Topic<BeforeEntryCreateRevisionTopicParams>;
1794
- onAfterEntryCreateRevision: Topic<AfterEntryCreateRevisionTopicParams>;
1795
- onBeforeEntryUpdate: Topic<BeforeEntryUpdateTopicParams>;
1796
- onAfterEntryUpdate: Topic<AfterEntryUpdateTopicParams>;
1797
- onBeforeEntryDelete: Topic<BeforeEntryDeleteTopicParams>;
1798
- onAfterEntryDelete: Topic<AfterEntryDeleteTopicParams>;
1799
- onBeforeEntryDeleteRevision: Topic<BeforeEntryDeleteRevisionTopicParams>;
1800
- onAfterEntryDeleteRevision: Topic<AfterEntryDeleteRevisionTopicParams>;
1801
- onBeforeEntryPublish: Topic<BeforeEntryPublishTopicParams>;
1802
- onAfterEntryPublish: Topic<AfterEntryPublishTopicParams>;
1803
- onBeforeEntryUnpublish: Topic<BeforeEntryUnpublishTopicParams>;
1804
- onAfterEntryUnpublish: Topic<AfterEntryUnpublishTopicParams>;
1805
- onBeforeEntryRequestChanges: Topic<BeforeEntryRequestChangesTopicParams>;
1806
- onAfterEntryRequestChanges: Topic<AfterEntryRequestChangesTopicParams>;
1807
- onBeforeEntryRequestReview: Topic<BeforeEntryRequestReviewTopicParams>;
1808
- onAfterEntryRequestReview: Topic<AfterEntryRequestReviewTopicParams>;
1809
- onBeforeEntryGet: Topic<BeforeEntryGetTopicParams>;
1810
- onBeforeEntryList: Topic<BeforeEntryListTopicParams>;
1969
+ * @deprecated
1970
+ */
1971
+ onBeforeEntryDeleteRevision: Topic<OnEntryRevisionBeforeDeleteTopicParams>;
1972
+ /**
1973
+ * @deprecated
1974
+ */
1975
+ onAfterEntryDeleteRevision: Topic<OnEntryRevisionAfterDeleteTopicParams>;
1976
+ /**
1977
+ * @deprecated
1978
+ */
1979
+ onBeforeEntryPublish: Topic<OnEntryBeforePublishTopicParams>;
1980
+ /**
1981
+ * @deprecated
1982
+ */
1983
+ onAfterEntryPublish: Topic<OnEntryAfterPublishTopicParams>;
1984
+ /**
1985
+ * @deprecated
1986
+ */
1987
+ onBeforeEntryUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
1988
+ /**
1989
+ * @deprecated
1990
+ */
1991
+ onAfterEntryUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
1992
+ /**
1993
+ * @deprecated
1994
+ */
1995
+ onBeforeEntryGet: Topic<OnEntryBeforeGetTopicParams>;
1996
+ /**
1997
+ * @deprecated
1998
+ */
1999
+ onBeforeEntryList: Topic<EntryBeforeListTopicParams>;
2000
+ /**
2001
+ * Lifecycle events released in 5.33.0
2002
+ */
2003
+ onEntryBeforeCreate: Topic<OnEntryBeforeCreateTopicParams>;
2004
+ onEntryAfterCreate: Topic<OnEntryAfterCreateTopicParams>;
2005
+ onEntryCreateError: Topic<OnEntryCreateErrorTopicParams>;
2006
+ onEntryRevisionBeforeCreate: Topic<OnEntryRevisionBeforeCreateTopicParams>;
2007
+ onEntryRevisionAfterCreate: Topic<OnEntryRevisionAfterCreateTopicParams>;
2008
+ onEntryRevisionCreateError: Topic<OnEntryCreateRevisionErrorTopicParams>;
2009
+ onEntryBeforeUpdate: Topic<OnEntryBeforeUpdateTopicParams>;
2010
+ onEntryAfterUpdate: Topic<OnEntryAfterUpdateTopicParams>;
2011
+ onEntryUpdateError: Topic<OnEntryUpdateErrorTopicParams>;
2012
+ onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;
2013
+ onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;
2014
+ onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;
2015
+ onEntryRevisionBeforeDelete: Topic<OnEntryRevisionBeforeDeleteTopicParams>;
2016
+ onEntryRevisionAfterDelete: Topic<OnEntryRevisionAfterDeleteTopicParams>;
2017
+ onEntryRevisionDeleteError: Topic<OnEntryRevisionDeleteErrorTopicParams>;
2018
+ onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;
2019
+ onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;
2020
+ onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;
2021
+ onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;
2022
+ onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;
2023
+ onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;
2024
+ onEntryBeforeGet: Topic<OnEntryBeforeGetTopicParams>;
2025
+ onEntryBeforeList: Topic<EntryBeforeListTopicParams>;
1811
2026
  }
1812
2027
  /**
1813
2028
  * Parameters for CmsEntryResolverFactory.
@@ -1851,13 +2066,13 @@ export interface BaseCmsSecurityPermission extends SecurityPermission {
1851
2066
  */
1852
2067
  export interface CmsModelPermission extends BaseCmsSecurityPermission {
1853
2068
  /**
1854
- * A object representing `key: model.modelId` values where key is locale code.
2069
+ * An object representing `key: model.modelId` values where key is locale code.
1855
2070
  */
1856
2071
  models?: {
1857
2072
  [key: string]: string[];
1858
2073
  };
1859
2074
  /**
1860
- * A object representing `key: group.id` values where key is locale code.
2075
+ * {locale: groupId[]} map, where key is a locale code.
1861
2076
  */
1862
2077
  groups?: {
1863
2078
  [key: string]: string[];
@@ -1871,7 +2086,7 @@ export interface CmsModelPermission extends BaseCmsSecurityPermission {
1871
2086
  */
1872
2087
  export interface CmsGroupPermission extends BaseCmsSecurityPermission {
1873
2088
  /**
1874
- * A object representing `key: group.id` values where key is locale code.
2089
+ * {locale: groupId[]} map, where key is a locale code.
1875
2090
  */
1876
2091
  groups?: {
1877
2092
  [key: string]: string[];
@@ -1886,13 +2101,13 @@ export interface CmsGroupPermission extends BaseCmsSecurityPermission {
1886
2101
  export interface CmsEntryPermission extends BaseCmsSecurityPermission {
1887
2102
  pw?: string;
1888
2103
  /**
1889
- * A object representing `key: model.modelId` values where key is locale code.
2104
+ * An object representing `key: model.modelId` values where key is locale code.
1890
2105
  */
1891
2106
  models?: {
1892
2107
  [key: string]: string[];
1893
2108
  };
1894
2109
  /**
1895
- * A object representing `key: group.id` values where key is locale code.
2110
+ * {locale: groupId[]} map, where key is a locale code.
1896
2111
  */
1897
2112
  groups?: {
1898
2113
  [key: string]: string[];
@@ -2085,26 +2300,6 @@ export interface CmsEntryStorageOperationsUnpublishParams<T extends CmsStorageEn
2085
2300
  */
2086
2301
  storageEntry: T;
2087
2302
  }
2088
- export interface CmsEntryStorageOperationsRequestChangesParams<T extends CmsStorageEntry = CmsStorageEntry> {
2089
- /**
2090
- * Entry data updated with the required properties.
2091
- */
2092
- entry: CmsEntry;
2093
- /**
2094
- * Entry that is prepared for the storageOperations, with the transformations.
2095
- */
2096
- storageEntry: T;
2097
- }
2098
- export interface CmsEntryStorageOperationsRequestReviewParams<T extends CmsStorageEntry = CmsStorageEntry> {
2099
- /**
2100
- * Entry that is prepared for the storageOperations.
2101
- */
2102
- entry: CmsEntry;
2103
- /**
2104
- * Entry that is prepared for the storageOperations, with the transformations.
2105
- */
2106
- storageEntry: T;
2107
- }
2108
2303
  export interface CmsEntryStorageOperationsGetByIdsParams {
2109
2304
  ids: readonly string[];
2110
2305
  }
@@ -2226,21 +2421,11 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2226
2421
  * Unpublish the entry.
2227
2422
  */
2228
2423
  unpublish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2229
- /**
2230
- * Request changes the entry.
2231
- */
2232
- requestChanges: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestChangesParams<T>) => Promise<T>;
2233
- /**
2234
- * Request review the entry.
2235
- */
2236
- requestReview: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestReviewParams<T>) => Promise<CmsEntry>;
2237
2424
  }
2238
2425
  export declare enum CONTENT_ENTRY_STATUS {
2239
2426
  DRAFT = "draft",
2240
2427
  PUBLISHED = "published",
2241
- UNPUBLISHED = "unpublished",
2242
- CHANGES_REQUESTED = "changesRequested",
2243
- REVIEW_REQUESTED = "reviewRequested"
2428
+ UNPUBLISHED = "unpublished"
2244
2429
  }
2245
2430
  export interface CmsSettingsStorageOperationsGetParams {
2246
2431
  locale: string;
@@ -2297,7 +2482,8 @@ export interface CmsSystemStorageOperations {
2297
2482
  */
2298
2483
  update: (params: CmsSystemStorageOperationsUpdateParams) => Promise<CmsSystem>;
2299
2484
  }
2300
- export interface HeadlessCmsStorageOperations {
2485
+ export interface HeadlessCmsStorageOperations<C = CmsContext> {
2486
+ name: string;
2301
2487
  system: CmsSystemStorageOperations;
2302
2488
  settings: CmsSettingsStorageOperations;
2303
2489
  groups: CmsGroupStorageOperations;
@@ -2306,8 +2492,8 @@ export interface HeadlessCmsStorageOperations {
2306
2492
  /**
2307
2493
  * Either attach something from the storage operations or run something in it.
2308
2494
  */
2309
- beforeInit?: (context: CmsContext) => Promise<void>;
2310
- init?: (context: CmsContext) => Promise<void>;
2495
+ beforeInit?: (context: C) => Promise<void>;
2496
+ init?: (context: C) => Promise<void>;
2311
2497
  /**
2312
2498
  * An upgrade to run if necessary.
2313
2499
  */