@webiny/api-headless-cms 5.32.0 → 5.33.0-beta.0

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 (108) hide show
  1. package/crud/contentEntry/entryDataValidation.js +1 -0
  2. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  3. package/crud/contentEntry/markLockedFields.js +2 -2
  4. package/crud/contentEntry/markLockedFields.js.map +1 -1
  5. package/crud/contentEntry.crud.js +170 -60
  6. package/crud/contentEntry.crud.js.map +1 -1
  7. package/crud/contentModel/beforeCreate.js +11 -4
  8. package/crud/contentModel/beforeCreate.js.map +1 -1
  9. package/crud/contentModel/beforeDelete.js +6 -1
  10. package/crud/contentModel/beforeDelete.js.map +1 -1
  11. package/crud/contentModel/beforeUpdate.js +18 -4
  12. package/crud/contentModel/beforeUpdate.js.map +1 -1
  13. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  14. package/crud/contentModel/createFieldStorageId.js +16 -0
  15. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  16. package/crud/contentModel/fieldIdValidation.d.ts +1 -0
  17. package/crud/contentModel/fieldIdValidation.js +25 -0
  18. package/crud/contentModel/fieldIdValidation.js.map +1 -0
  19. package/crud/contentModel/models.js +9 -8
  20. package/crud/contentModel/models.js.map +1 -1
  21. package/crud/contentModel/systemFields.d.ts +1 -0
  22. package/crud/contentModel/systemFields.js +8 -0
  23. package/crud/contentModel/systemFields.js.map +1 -0
  24. package/crud/contentModel/validateLayout.d.ts +1 -1
  25. package/crud/contentModel/validateLayout.js +1 -2
  26. package/crud/contentModel/validateLayout.js.map +1 -1
  27. package/crud/contentModel/validateModel.d.ts +9 -0
  28. package/crud/contentModel/validateModel.js +32 -0
  29. package/crud/contentModel/validateModel.js.map +1 -0
  30. package/crud/contentModel/validateModelFields.d.ts +3 -2
  31. package/crud/contentModel/validateModelFields.js +200 -38
  32. package/crud/contentModel/validateModelFields.js.map +1 -1
  33. package/crud/contentModel.crud.js +59 -5
  34. package/crud/contentModel.crud.js.map +1 -1
  35. package/crud/contentModelGroup/beforeCreate.js +3 -3
  36. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  37. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  38. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +66 -0
  39. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  40. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  41. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +306 -0
  42. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  43. package/fieldConverters/index.d.ts +3 -0
  44. package/fieldConverters/index.js +16 -0
  45. package/fieldConverters/index.js.map +1 -0
  46. package/graphql/index.d.ts +1 -1
  47. package/graphql/schema/contentModels.js +6 -0
  48. package/graphql/schema/contentModels.js.map +1 -1
  49. package/graphql/schema/createFieldResolvers.js +13 -1
  50. package/graphql/schema/createFieldResolvers.js.map +1 -1
  51. package/graphql/schema/createReadSDL.js +3 -2
  52. package/graphql/schema/createReadSDL.js.map +1 -1
  53. package/graphql/schema/schemaPlugins.js +7 -1
  54. package/graphql/schema/schemaPlugins.js.map +1 -1
  55. package/graphqlFields/datetime.js +6 -1
  56. package/graphqlFields/datetime.js.map +1 -1
  57. package/graphqlFields/helpers.js +1 -1
  58. package/graphqlFields/helpers.js.map +1 -1
  59. package/graphqlFields/object.js +1 -1
  60. package/graphqlFields/object.js.map +1 -1
  61. package/index.d.ts +2 -2
  62. package/index.js +3 -1
  63. package/index.js.map +1 -1
  64. package/package.json +24 -24
  65. package/plugins/CmsGroupPlugin.d.ts +1 -1
  66. package/plugins/CmsGroupPlugin.js.map +1 -1
  67. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  68. package/plugins/CmsModelFieldConverterPlugin.js +17 -0
  69. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  70. package/plugins/CmsModelPlugin.d.ts +32 -4
  71. package/plugins/CmsModelPlugin.js +160 -1
  72. package/plugins/CmsModelPlugin.js.map +1 -1
  73. package/plugins/index.d.ts +1 -0
  74. package/plugins/index.js +13 -0
  75. package/plugins/index.js.map +1 -1
  76. package/types.d.ts +143 -81
  77. package/types.js +24 -0
  78. package/types.js.map +1 -1
  79. package/upgrades/5.33.0/index.d.ts +3 -0
  80. package/upgrades/5.33.0/index.js +186 -0
  81. package/upgrades/5.33.0/index.js.map +1 -0
  82. package/upgrades/index.d.ts +1 -1
  83. package/upgrades/index.js +3 -1
  84. package/upgrades/index.js.map +1 -1
  85. package/utils/converters/Converter.d.ts +27 -0
  86. package/utils/converters/Converter.js +71 -0
  87. package/utils/converters/Converter.js.map +1 -0
  88. package/utils/converters/ConverterCollection.d.ts +24 -0
  89. package/utils/converters/ConverterCollection.js +115 -0
  90. package/utils/converters/ConverterCollection.js.map +1 -0
  91. package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
  92. package/utils/converters/valueKeyStorageConverter.js +152 -0
  93. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  94. package/utils/filterModelFields.d.ts +16 -0
  95. package/utils/filterModelFields.js +81 -0
  96. package/utils/filterModelFields.js.map +1 -0
  97. package/utils/getEntryTitle.js +6 -5
  98. package/utils/getEntryTitle.js.map +1 -1
  99. package/utils/ownership.js +4 -2
  100. package/utils/ownership.js.map +1 -1
  101. package/utils/renderGetFilterFields.js +3 -3
  102. package/utils/renderGetFilterFields.js.map +1 -1
  103. package/utils/renderListFilterFields.js +6 -5
  104. package/utils/renderListFilterFields.js.map +1 -1
  105. package/utils/renderSortEnum.js +4 -4
  106. package/utils/renderSortEnum.js.map +1 -1
  107. package/validators/unique.js +1 -0
  108. package/validators/unique.js.map +1 -1
package/types.d.ts CHANGED
@@ -8,6 +8,7 @@ import { DbContext } from "@webiny/handler-db/types";
8
8
  import { FileManagerContext } from "@webiny/api-file-manager/types";
9
9
  import { UpgradePlugin } from "@webiny/api-upgrade/types";
10
10
  import { Topic } from "@webiny/pubsub/types";
11
+ import { CmsModelConverterCallable } from "./utils/converters/ConverterCollection";
11
12
  export declare type ApiEndpoint = "manage" | "preview" | "read";
12
13
  export interface HeadlessCms extends CmsSettingsContext, CmsSystemContext, CmsGroupContext, CmsModelContext, CmsEntryContext {
13
14
  /**
@@ -82,6 +83,39 @@ interface CmsModelFieldRenderer {
82
83
  */
83
84
  name: string;
84
85
  }
86
+ /**
87
+ * A definition for content model field settings.
88
+ *
89
+ * @category ModelField
90
+ * @category Database model
91
+ */
92
+ export interface CmsModelFieldSettings {
93
+ /**
94
+ * Predefined values (text, number)
95
+ * The default value for the field in case it is not predefined values field.
96
+ */
97
+ defaultValue?: string | number | null | undefined;
98
+ /**
99
+ * Object field has child fields.
100
+ */
101
+ fields?: CmsModelField[];
102
+ /**
103
+ * Object field has child fields - so it needs to have a layout.
104
+ */
105
+ layout?: string[][];
106
+ /**
107
+ * Ref field.
108
+ */
109
+ models?: Pick<CmsModel, "modelId">[];
110
+ /**
111
+ * Date field.
112
+ */
113
+ type?: string;
114
+ /**
115
+ * There are a lot of other settings that are possible to add, so we keep the type opened.
116
+ */
117
+ [key: string]: any;
118
+ }
85
119
  /**
86
120
  * A definition for content model field. This type exists on the app side as well.
87
121
  *
@@ -99,15 +133,28 @@ export interface CmsModelField {
99
133
  */
100
134
  id: string;
101
135
  /**
102
- * A type of the field
136
+ * A type of the field.
137
+ * We are defining our built-in fields, so people know which are available by the default.
103
138
  */
104
- type: string;
139
+ type: "boolean" | "datetime" | "file" | "long-text" | "number" | "object" | "ref" | "rich-text" | "text" | string;
140
+ /**
141
+ * A unique storage ID for storing actual values.
142
+ * Must in form of a-zA-Z0-9@a-zA-Z0-9@a-zA-Z0-9.
143
+ *
144
+ * This is an auto-generated value: uses `id` and `type`
145
+ *
146
+ * This is used as path for the entry value.
147
+ *
148
+ * @internal
149
+ */
150
+ storageId: string;
105
151
  /**
106
- * A unique field ID for mapping values.
152
+ * Field identifier for the model field that will be available to the outside world.
153
+ * `storageId` is used as path (or column) to store the data.
154
+ *
107
155
  * Must in form of a-zA-Z0-9.
108
156
  *
109
- * We generate a unique fieldId value when you're building a model via UI,
110
- * but when user is creating a model via a plugin it is up to them to be careful about this.
157
+ * This value MUST be unique in the CmsModel.
111
158
  */
112
159
  fieldId: string;
113
160
  /**
@@ -154,29 +201,13 @@ export interface CmsModelField {
154
201
  *
155
202
  * @default {}
156
203
  */
157
- settings?: {
158
- /**
159
- * Predefined values (text, number)
160
- * The default value for the field in case it is not predefined values field.
161
- */
162
- defaultValue?: string | number | null | undefined;
163
- /**
164
- * Object field.
165
- */
166
- fields?: CmsModelField[];
167
- /**
168
- * Ref field.
169
- */
170
- models?: Pick<CmsModel, "modelId">[];
171
- /**
172
- * Date field.
173
- */
174
- type?: string;
175
- /**
176
- * There are a lot of other settings that are possible to add so we keep the type opened.
177
- */
178
- [key: string]: any;
179
- };
204
+ settings?: CmsModelFieldSettings;
205
+ }
206
+ /**
207
+ * Used for our internal functionality.
208
+ */
209
+ export interface CmsModelFieldWithParent extends CmsModelField {
210
+ parent?: CmsModelFieldWithParent | null;
180
211
  }
181
212
  /**
182
213
  * A definition for dateTime field to show possible type of the field in settings.
@@ -290,7 +321,8 @@ export interface CmsModelFieldPatternValidatorPlugin extends Plugin {
290
321
  */
291
322
  export interface LockedField {
292
323
  /**
293
- * Locked field ID - one used for mapping values.
324
+ * Locked field storage ID - one used to store values.
325
+ * We cannot change this due to old systems.
294
326
  */
295
327
  fieldId: string;
296
328
  /**
@@ -390,6 +422,15 @@ export interface CmsModel {
390
422
  */
391
423
  isPrivate?: boolean;
392
424
  }
425
+ /**
426
+ * When sending model to the storage operations, it must contain createValueKeyToStorageConverter and createValueKeyFromStorageConverter
427
+ *
428
+ * @category CmsModel
429
+ */
430
+ export interface StorageOperationsCmsModel extends CmsModel {
431
+ convertValueKeyToStorage: CmsModelConverterCallable;
432
+ convertValueKeyFromStorage: CmsModelConverterCallable;
433
+ }
393
434
  /**
394
435
  * @category ModelField
395
436
  */
@@ -453,6 +494,24 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
453
494
  * ```
454
495
  */
455
496
  isSortable: boolean;
497
+ /**
498
+ * Optional method which creates the storageId.
499
+ * Primary use is for the datetime field, but if users has some specific fields, they can customize the storageId to their needs.
500
+ *
501
+ * ```ts
502
+ * createStorageId: ({field}) => {
503
+ * if (field.settings.type === "time) {
504
+ * return `${field.type}_time@${field.id}`
505
+ * }
506
+ * // use default method
507
+ * return undefined;
508
+ * }
509
+ * ```
510
+ */
511
+ createStorageId?: (params: {
512
+ model: CmsModel;
513
+ field: CmsModelField;
514
+ }) => string | null | undefined;
456
515
  /**
457
516
  * Read API methods.
458
517
  */
@@ -514,13 +573,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
514
573
  }): CmsModelFieldDefinition | string | null;
515
574
  /**
516
575
  * Definition for field resolver.
517
- * By default it is simple return of the `instance.values[fieldId]` but if required, users can define their own.
576
+ * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
518
577
  *
519
578
  * ```ts
520
579
  * read: {
521
580
  * createResolver({ field }) {
522
581
  * return instance => {
523
- * return instance.values[field.fieldId];
582
+ * return instance.values[field.storageId];
524
583
  * };
525
584
  * }
526
585
  * }
@@ -633,13 +692,13 @@ export interface CmsModelFieldToGraphQLPlugin extends Plugin {
633
692
  }) => CmsModelFieldDefinition | string | null;
634
693
  /**
635
694
  * Definition for field resolver.
636
- * By default it is simple return of the `instance.values[fieldId]` but if required, users can define their own.
695
+ * By default it is simple return of the `instance.values[storageId]` but if required, users can define their own.
637
696
  *
638
697
  * ```ts
639
698
  * manage: {
640
699
  * createResolver({ field }) {
641
700
  * return instance => {
642
- * return instance.values[field.fieldId];
701
+ * return instance.values[field.storageId];
643
702
  * };
644
703
  * }
645
704
  * }
@@ -1033,8 +1092,7 @@ export interface CmsModelFieldInput {
1033
1092
  */
1034
1093
  type: string;
1035
1094
  /**
1036
- * A unique ID for the field. Values will be mapped via this value.
1037
- * This field MUST be in range of "a-zA-Z".
1095
+ * Field outside world identifier for the field. Must be unique in the model.
1038
1096
  */
1039
1097
  fieldId: string;
1040
1098
  /**
@@ -1139,6 +1197,15 @@ export interface ModelManagerPlugin extends Plugin {
1139
1197
  */
1140
1198
  create: (context: CmsContext, model: CmsModel) => Promise<CmsModelManager>;
1141
1199
  }
1200
+ /**
1201
+ * A content entry values definition for and from the database.
1202
+ *
1203
+ * @category Database model
1204
+ * @category CmsEntry
1205
+ */
1206
+ export interface CmsEntryValues {
1207
+ [key: string]: any;
1208
+ }
1142
1209
  /**
1143
1210
  * A content entry definition for and from the database.
1144
1211
  *
@@ -1210,13 +1277,11 @@ export interface CmsEntry {
1210
1277
  */
1211
1278
  status: CmsEntryStatus;
1212
1279
  /**
1213
- * A mapped fieldId -> value object.
1280
+ * A mapped storageId -> value object.
1214
1281
  *
1215
1282
  * @see CmsModelField
1216
1283
  */
1217
- values: {
1218
- [key: string]: any;
1219
- };
1284
+ values: CmsEntryValues;
1220
1285
  /**
1221
1286
  * Settings for the given entry.
1222
1287
  *
@@ -1521,99 +1586,99 @@ export interface CmsEntryMeta {
1521
1586
  export interface BeforeEntryCreateTopicParams {
1522
1587
  input: CreateCmsEntryInput;
1523
1588
  entry: CmsEntry;
1524
- model: CmsModel;
1589
+ model: StorageOperationsCmsModel;
1525
1590
  }
1526
1591
  export interface AfterEntryCreateTopicParams {
1527
1592
  input: CreateCmsEntryInput;
1528
1593
  entry: CmsEntry;
1529
- model: CmsModel;
1594
+ model: StorageOperationsCmsModel;
1530
1595
  storageEntry: CmsEntry;
1531
1596
  }
1532
1597
  export interface BeforeEntryCreateRevisionTopicParams {
1533
1598
  input: CreateFromCmsEntryInput;
1534
1599
  entry: CmsEntry;
1535
1600
  original: CmsEntry;
1536
- model: CmsModel;
1601
+ model: StorageOperationsCmsModel;
1537
1602
  }
1538
1603
  export interface AfterEntryCreateRevisionTopicParams {
1539
1604
  input: CreateFromCmsEntryInput;
1540
1605
  entry: CmsEntry;
1541
1606
  original: CmsEntry;
1542
- model: CmsModel;
1607
+ model: StorageOperationsCmsModel;
1543
1608
  storageEntry: CmsEntry;
1544
1609
  }
1545
1610
  export interface BeforeEntryUpdateTopicParams {
1546
1611
  input: UpdateCmsEntryInput;
1547
1612
  original: CmsEntry;
1548
1613
  entry: CmsEntry;
1549
- model: CmsModel;
1614
+ model: StorageOperationsCmsModel;
1550
1615
  }
1551
1616
  export interface AfterEntryUpdateTopicParams {
1552
1617
  input: UpdateCmsEntryInput;
1553
1618
  original: CmsEntry;
1554
1619
  entry: CmsEntry;
1555
- model: CmsModel;
1620
+ model: StorageOperationsCmsModel;
1556
1621
  storageEntry: CmsEntry;
1557
1622
  }
1558
1623
  export interface BeforeEntryPublishTopicParams {
1559
1624
  entry: CmsEntry;
1560
- model: CmsModel;
1625
+ model: StorageOperationsCmsModel;
1561
1626
  }
1562
1627
  export interface AfterEntryPublishTopicParams {
1563
1628
  entry: CmsEntry;
1564
- model: CmsModel;
1629
+ model: StorageOperationsCmsModel;
1565
1630
  storageEntry: CmsEntry;
1566
1631
  }
1567
1632
  export interface BeforeEntryUnpublishTopicParams {
1568
1633
  entry: CmsEntry;
1569
- model: CmsModel;
1634
+ model: StorageOperationsCmsModel;
1570
1635
  }
1571
1636
  export interface AfterEntryUnpublishTopicParams {
1572
1637
  entry: CmsEntry;
1573
- model: CmsModel;
1638
+ model: StorageOperationsCmsModel;
1574
1639
  storageEntry: CmsEntry;
1575
1640
  }
1576
1641
  export interface BeforeEntryRequestChangesTopicParams {
1577
1642
  entry: CmsEntry;
1578
- model: CmsModel;
1643
+ model: StorageOperationsCmsModel;
1579
1644
  }
1580
1645
  export interface AfterEntryRequestChangesTopicParams {
1581
1646
  entry: CmsEntry;
1582
- model: CmsModel;
1647
+ model: StorageOperationsCmsModel;
1583
1648
  storageEntry: CmsEntry;
1584
1649
  }
1585
1650
  export interface BeforeEntryRequestReviewTopicParams {
1586
1651
  entry: CmsEntry;
1587
- model: CmsModel;
1652
+ model: StorageOperationsCmsModel;
1588
1653
  }
1589
1654
  export interface AfterEntryRequestReviewTopicParams {
1590
1655
  entry: CmsEntry;
1591
- model: CmsModel;
1656
+ model: StorageOperationsCmsModel;
1592
1657
  storageEntry: CmsEntry;
1593
1658
  }
1594
1659
  export interface BeforeEntryDeleteTopicParams {
1595
1660
  entry: CmsEntry;
1596
- model: CmsModel;
1661
+ model: StorageOperationsCmsModel;
1597
1662
  }
1598
1663
  export interface AfterEntryDeleteTopicParams {
1599
1664
  entry: CmsEntry;
1600
- model: CmsModel;
1665
+ model: StorageOperationsCmsModel;
1601
1666
  }
1602
1667
  export interface BeforeEntryDeleteRevisionTopicParams {
1603
1668
  entry: CmsEntry;
1604
- model: CmsModel;
1669
+ model: StorageOperationsCmsModel;
1605
1670
  }
1606
1671
  export interface AfterEntryDeleteRevisionTopicParams {
1607
1672
  entry: CmsEntry;
1608
- model: CmsModel;
1673
+ model: StorageOperationsCmsModel;
1609
1674
  }
1610
1675
  export interface BeforeEntryGetTopicParams {
1611
- model: CmsModel;
1676
+ model: StorageOperationsCmsModel;
1612
1677
  where: CmsEntryListWhere;
1613
1678
  }
1614
1679
  export interface BeforeEntryListTopicParams {
1615
1680
  where: CmsEntryListWhere;
1616
- model: CmsModel;
1681
+ model: StorageOperationsCmsModel;
1617
1682
  }
1618
1683
  /**
1619
1684
  * @category Context
@@ -2096,82 +2161,79 @@ export interface CmsEntryStorageOperations<T extends CmsStorageEntry = CmsStorag
2096
2161
  /**
2097
2162
  * Get all the entries of the ids.
2098
2163
  */
2099
- getByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2164
+ getByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetByIdsParams) => Promise<T[]>;
2100
2165
  /**
2101
2166
  * Get all the published entries of the ids.
2102
2167
  */
2103
- getPublishedByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2168
+ getPublishedByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedByIdsParams) => Promise<T[]>;
2104
2169
  /**
2105
2170
  * Get all the latest entries of the ids.
2106
2171
  */
2107
- getLatestByIds: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2172
+ getLatestByIds: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestByIdsParams) => Promise<T[]>;
2108
2173
  /**
2109
2174
  * Get all revisions of the given entry id.
2110
2175
  */
2111
- getRevisions: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2112
- /**
2113
- * Get all revisions of all of the given IDs.
2114
- */
2176
+ getRevisions: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionsParams) => Promise<T[]>;
2115
2177
  /**
2116
2178
  * Get the entry by the given revision id.
2117
2179
  */
2118
- getRevisionById: (model: CmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2180
+ getRevisionById: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetRevisionParams) => Promise<T | null>;
2119
2181
  /**
2120
2182
  * Get the published entry by given entryId.
2121
2183
  */
2122
- getPublishedRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2184
+ getPublishedRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPublishedRevisionParams) => Promise<T | null>;
2123
2185
  /**
2124
2186
  * Get the latest entry by given entryId.
2125
2187
  */
2126
- getLatestRevisionByEntryId: (model: CmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2188
+ getLatestRevisionByEntryId: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetLatestRevisionParams) => Promise<T | null>;
2127
2189
  /**
2128
2190
  * Get the revision of the entry before given one.
2129
2191
  */
2130
- getPreviousRevision: (model: CmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2192
+ getPreviousRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetPreviousRevisionParams) => Promise<T | null>;
2131
2193
  /**
2132
2194
  * Gets entry by given params.
2133
2195
  */
2134
- get: (model: CmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2196
+ get: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsGetParams) => Promise<T | null>;
2135
2197
  /**
2136
2198
  * List all entries. Filterable via params.
2137
2199
  */
2138
- list: (model: CmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2200
+ list: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsListParams) => Promise<CmsEntryStorageOperationsListResponse<T>>;
2139
2201
  /**
2140
2202
  * Create a new entry.
2141
2203
  */
2142
- create: (model: CmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2204
+ create: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateParams<T>) => Promise<T>;
2143
2205
  /**
2144
2206
  * Create a new entry from existing one.
2145
2207
  */
2146
- createRevisionFrom: (model: CmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2208
+ createRevisionFrom: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsCreateRevisionFromParams<T>) => Promise<T>;
2147
2209
  /**
2148
2210
  * Update existing entry.
2149
2211
  */
2150
- update: (model: CmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2212
+ update: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUpdateParams<T>) => Promise<T>;
2151
2213
  /**
2152
2214
  * Delete the entry revision.
2153
2215
  */
2154
- deleteRevision: (model: CmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2216
+ deleteRevision: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteRevisionParams<T>) => Promise<void>;
2155
2217
  /**
2156
2218
  * Delete the entry.
2157
2219
  */
2158
- delete: (model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2220
+ delete: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsDeleteParams) => Promise<void>;
2159
2221
  /**
2160
2222
  * Publish the entry.
2161
2223
  */
2162
- publish: (model: CmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2224
+ publish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsPublishParams<T>) => Promise<T>;
2163
2225
  /**
2164
2226
  * Unpublish the entry.
2165
2227
  */
2166
- unpublish: (model: CmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2228
+ unpublish: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsUnpublishParams<T>) => Promise<T>;
2167
2229
  /**
2168
2230
  * Request changes the entry.
2169
2231
  */
2170
- requestChanges: (model: CmsModel, params: CmsEntryStorageOperationsRequestChangesParams<T>) => Promise<T>;
2232
+ requestChanges: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestChangesParams<T>) => Promise<T>;
2171
2233
  /**
2172
2234
  * Request review the entry.
2173
2235
  */
2174
- requestReview: (model: CmsModel, params: CmsEntryStorageOperationsRequestReviewParams<T>) => Promise<CmsEntry>;
2236
+ requestReview: (model: StorageOperationsCmsModel, params: CmsEntryStorageOperationsRequestReviewParams<T>) => Promise<CmsEntry>;
2175
2237
  }
2176
2238
  export declare enum CONTENT_ENTRY_STATUS {
2177
2239
  DRAFT = "draft",
package/types.js CHANGED
@@ -23,6 +23,13 @@ exports.CONTENT_ENTRY_STATUS = void 0;
23
23
  * @category CmsModelField
24
24
  */
25
25
 
26
+ /**
27
+ * A definition for content model field settings.
28
+ *
29
+ * @category ModelField
30
+ * @category Database model
31
+ */
32
+
26
33
  /**
27
34
  * A definition for content model field. This type exists on the app side as well.
28
35
  *
@@ -30,6 +37,10 @@ exports.CONTENT_ENTRY_STATUS = void 0;
30
37
  * @category Database model
31
38
  */
32
39
 
40
+ /**
41
+ * Used for our internal functionality.
42
+ */
43
+
33
44
  /**
34
45
  * A definition for dateTime field to show possible type of the field in settings.
35
46
  */
@@ -72,6 +83,12 @@ exports.CONTENT_ENTRY_STATUS = void 0;
72
83
  * @category CmsModel
73
84
  */
74
85
 
86
+ /**
87
+ * When sending model to the storage operations, it must contain createValueKeyToStorageConverter and createValueKeyFromStorageConverter
88
+ *
89
+ * @category CmsModel
90
+ */
91
+
75
92
  /**
76
93
  * @category ModelField
77
94
  */
@@ -225,6 +242,13 @@ exports.CONTENT_ENTRY_STATUS = void 0;
225
242
  * @category CmsEntry
226
243
  */
227
244
 
245
+ /**
246
+ * A content entry values definition for and from the database.
247
+ *
248
+ * @category Database model
249
+ * @category CmsEntry
250
+ */
251
+
228
252
  /**
229
253
  * A content entry definition for and from the database.
230
254
  *