@webiny/api-headless-cms 0.0.0-unstable.c2780f51fe → 0.0.0-unstable.c7dec08bb0

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 (147) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.js +37 -5
  5. package/context.js.map +1 -1
  6. package/crud/contentEntry/referenceFieldsMapping.js +34 -5
  7. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  8. package/crud/contentEntry.crud.d.ts +8 -4
  9. package/crud/contentEntry.crud.js +329 -64
  10. package/crud/contentEntry.crud.js.map +1 -1
  11. package/crud/contentModel/validateModelFields.js +1 -1
  12. package/crud/contentModel/validateModelFields.js.map +1 -1
  13. package/crud/contentModel/validation.d.ts +76 -76
  14. package/crud/contentModel.crud.d.ts +2 -0
  15. package/crud/contentModel.crud.js +22 -12
  16. package/crud/contentModel.crud.js.map +1 -1
  17. package/crud/contentModelGroup/validation.d.ts +4 -4
  18. package/crud/contentModelGroup.crud.d.ts +2 -0
  19. package/crud/contentModelGroup.crud.js +42 -27
  20. package/crud/contentModelGroup.crud.js.map +1 -1
  21. package/crud/settings.crud.d.ts +2 -0
  22. package/crud/settings.crud.js +2 -6
  23. package/crud/settings.crud.js.map +1 -1
  24. package/graphql/getSchema.js +1 -1
  25. package/graphql/getSchema.js.map +1 -1
  26. package/graphql/index.d.ts +1 -1
  27. package/graphql/schema/baseSchema.js +31 -0
  28. package/graphql/schema/baseSchema.js.map +1 -1
  29. package/graphql/schema/contentEntries.js +6 -1
  30. package/graphql/schema/contentEntries.js.map +1 -1
  31. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  32. package/graphql/schema/createFieldResolvers.js +6 -12
  33. package/graphql/schema/createFieldResolvers.js.map +1 -1
  34. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  35. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  36. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  37. package/graphql/schema/createManageResolvers.d.ts +1 -1
  38. package/graphql/schema/createManageResolvers.js +14 -0
  39. package/graphql/schema/createManageResolvers.js.map +1 -1
  40. package/graphql/schema/createManageSDL.js +51 -28
  41. package/graphql/schema/createManageSDL.js.map +1 -1
  42. package/graphql/schema/createReadSDL.js +23 -19
  43. package/graphql/schema/createReadSDL.js.map +1 -1
  44. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  45. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -3
  46. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  47. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  48. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  49. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  50. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  51. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  52. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  53. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  54. package/graphql/schema/resolvers/manage/resolveMove.js +30 -0
  55. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  56. package/graphql/schema/schemaPlugins.js +2 -11
  57. package/graphql/schema/schemaPlugins.js.map +1 -1
  58. package/graphql/system.d.ts +2 -5
  59. package/graphql/system.js +1 -11
  60. package/graphql/system.js.map +1 -1
  61. package/graphqlFields/dynamicZone/dynamicZoneField.js +43 -28
  62. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  63. package/graphqlFields/number.js +1 -0
  64. package/graphqlFields/number.js.map +1 -1
  65. package/graphqlFields/object.js +2 -2
  66. package/graphqlFields/object.js.map +1 -1
  67. package/graphqlFields/text.js +2 -0
  68. package/graphqlFields/text.js.map +1 -1
  69. package/index.d.ts +1 -1
  70. package/package.json +31 -35
  71. package/plugins/CmsModelPlugin.d.ts +3 -1
  72. package/plugins/CmsModelPlugin.js.map +1 -1
  73. package/types.d.ts +101 -17
  74. package/types.js +11 -0
  75. package/types.js.map +1 -1
  76. package/utils/converters/valueKeyStorageConverter.js +5 -2
  77. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  78. package/utils/createTypeFromFields.js +1 -1
  79. package/utils/createTypeFromFields.js.map +1 -1
  80. package/utils/getBaseFieldType.d.ts +1 -3
  81. package/utils/getBaseFieldType.js.map +1 -1
  82. package/utils/getEntryDescription.d.ts +1 -1
  83. package/utils/getEntryDescription.js.map +1 -1
  84. package/utils/getEntryImage.d.ts +1 -1
  85. package/utils/getEntryImage.js.map +1 -1
  86. package/utils/getEntryTitle.d.ts +1 -1
  87. package/utils/getEntryTitle.js.map +1 -1
  88. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  89. package/utils/permissions/EntriesPermissions.js +9 -0
  90. package/utils/permissions/EntriesPermissions.js.map +1 -0
  91. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  92. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  93. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  94. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  95. package/utils/permissions/ModelsPermissions.js +91 -0
  96. package/utils/permissions/ModelsPermissions.js.map +1 -0
  97. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  98. package/utils/permissions/SettingsPermissions.js +9 -0
  99. package/utils/permissions/SettingsPermissions.js.map +1 -0
  100. package/utils/renderFields.d.ts +2 -1
  101. package/utils/renderFields.js +2 -1
  102. package/utils/renderFields.js.map +1 -1
  103. package/utils/renderGetFilterFields.d.ts +2 -2
  104. package/utils/renderGetFilterFields.js +7 -20
  105. package/utils/renderGetFilterFields.js.map +1 -1
  106. package/utils/renderInputFields.d.ts +2 -1
  107. package/utils/renderInputFields.js +14 -6
  108. package/utils/renderInputFields.js.map +1 -1
  109. package/utils/renderListFilterFields.d.ts +3 -1
  110. package/utils/renderListFilterFields.js +16 -21
  111. package/utils/renderListFilterFields.js.map +1 -1
  112. package/utils/renderSortEnum.d.ts +3 -2
  113. package/utils/renderSortEnum.js +5 -1
  114. package/utils/renderSortEnum.js.map +1 -1
  115. package/crud/contentModel/createFieldModels.d.ts +0 -2
  116. package/crud/contentModel/createFieldModels.js +0 -26
  117. package/crud/contentModel/createFieldModels.js.map +0 -1
  118. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  119. package/crud/contentModel/fieldIdValidation.js +0 -25
  120. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  121. package/crud/contentModel/idValidation.d.ts +0 -1
  122. package/crud/contentModel/idValidation.js +0 -22
  123. package/crud/contentModel/idValidation.js.map +0 -1
  124. package/crud/contentModel/models.d.ts +0 -4
  125. package/crud/contentModel/models.js +0 -192
  126. package/crud/contentModel/models.js.map +0 -1
  127. package/crud/contentModel/systemFields.d.ts +0 -1
  128. package/crud/contentModel/systemFields.js +0 -8
  129. package/crud/contentModel/systemFields.js.map +0 -1
  130. package/upgrades/5.33.0/index.d.ts +0 -3
  131. package/upgrades/5.33.0/index.js +0 -182
  132. package/upgrades/5.33.0/index.js.map +0 -1
  133. package/upgrades/index.d.ts +0 -1
  134. package/upgrades/index.js +0 -12
  135. package/upgrades/index.js.map +0 -1
  136. package/utils/access.d.ts +0 -8
  137. package/utils/access.js +0 -76
  138. package/utils/access.js.map +0 -1
  139. package/utils/ownership.d.ts +0 -8
  140. package/utils/ownership.js +0 -33
  141. package/utils/ownership.js.map +0 -1
  142. package/utils/permissions.d.ts +0 -7
  143. package/utils/permissions.js +0 -91
  144. package/utils/permissions.js.map +0 -1
  145. package/utils/pluralizedTypeName.d.ts +0 -1
  146. package/utils/pluralizedTypeName.js +0 -26
  147. package/utils/pluralizedTypeName.js.map +0 -1
@@ -24,26 +24,26 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
24
24
  label: zod.ZodString;
25
25
  selected: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
26
26
  }, "strip", zod.ZodTypeAny, {
27
- label: string;
28
27
  value: string;
28
+ label: string;
29
29
  selected: boolean;
30
30
  }, {
31
31
  selected?: boolean | undefined;
32
- label: string;
33
32
  value: string;
33
+ label: string;
34
34
  }>, "many">>;
35
35
  }, "strip", zod.ZodTypeAny, {
36
36
  values: {
37
- label: string;
38
37
  value: string;
38
+ label: string;
39
39
  selected: boolean;
40
40
  }[];
41
41
  enabled: boolean;
42
42
  }, {
43
43
  values?: {
44
44
  selected?: boolean | undefined;
45
- label: string;
46
45
  value: string;
46
+ label: string;
47
47
  }[] | undefined;
48
48
  enabled: boolean;
49
49
  }>>>;
@@ -60,19 +60,19 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
60
60
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
61
61
  }, "strip", zod.ZodTypeAny, {
62
62
  name: string;
63
- settings: {};
64
63
  message: string;
64
+ settings: {};
65
65
  }, {
66
- settings?: {} | null | undefined;
67
66
  message?: string | undefined;
67
+ settings?: {} | null | undefined;
68
68
  name: string;
69
69
  }>, "many">>>>>, {
70
70
  name: string;
71
- settings: {};
72
71
  message: string;
72
+ settings: {};
73
73
  }[], {
74
- settings?: {} | null | undefined;
75
74
  message?: string | undefined;
75
+ settings?: {} | null | undefined;
76
76
  name: string;
77
77
  }[] | null | undefined>;
78
78
  listValidation: zod.ZodEffects<zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
@@ -81,27 +81,27 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
81
81
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
82
82
  }, "strip", zod.ZodTypeAny, {
83
83
  name: string;
84
- settings: {};
85
84
  message: string;
85
+ settings: {};
86
86
  }, {
87
- settings?: {} | null | undefined;
88
87
  message?: string | undefined;
88
+ settings?: {} | null | undefined;
89
89
  name: string;
90
90
  }>, "many">>>>>, {
91
91
  name: string;
92
- settings: {};
93
92
  message: string;
93
+ settings: {};
94
94
  }[], {
95
- settings?: {} | null | undefined;
96
95
  message?: string | undefined;
96
+ settings?: {} | null | undefined;
97
97
  name: string;
98
98
  }[] | null | undefined>;
99
99
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
100
100
  }, "strip", zod.ZodTypeAny, {
101
101
  predefinedValues?: {
102
102
  values: {
103
- label: string;
104
103
  value: string;
104
+ label: string;
105
105
  selected: boolean;
106
106
  }[];
107
107
  enabled: boolean;
@@ -109,8 +109,9 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
109
109
  renderer?: {
110
110
  name: string;
111
111
  } | undefined;
112
- id: string;
113
112
  type: string;
113
+ id: string;
114
+ settings: {};
114
115
  storageId: string;
115
116
  fieldId: string;
116
117
  label: string;
@@ -118,26 +119,26 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
118
119
  placeholderText: string | null;
119
120
  validation: {
120
121
  name: string;
121
- settings: {};
122
122
  message: string;
123
+ settings: {};
123
124
  }[];
124
125
  listValidation: {
125
126
  name: string;
126
- settings: {};
127
127
  message: string;
128
+ settings: {};
128
129
  }[];
129
130
  multipleValues: boolean;
130
131
  tags: string[];
131
- settings: {};
132
132
  }, {
133
+ settings?: {} | null | undefined;
133
134
  storageId?: string | undefined;
134
135
  helpText?: string | null | undefined;
135
136
  placeholderText?: string | null | undefined;
136
137
  predefinedValues?: {
137
138
  values?: {
138
139
  selected?: boolean | undefined;
139
- label: string;
140
140
  value: string;
141
+ label: string;
141
142
  }[] | undefined;
142
143
  enabled: boolean;
143
144
  } | undefined;
@@ -145,20 +146,19 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
145
146
  name: string;
146
147
  } | undefined;
147
148
  validation?: {
148
- settings?: {} | null | undefined;
149
149
  message?: string | undefined;
150
+ settings?: {} | null | undefined;
150
151
  name: string;
151
152
  }[] | null | undefined;
152
153
  listValidation?: {
153
- settings?: {} | null | undefined;
154
154
  message?: string | undefined;
155
+ settings?: {} | null | undefined;
155
156
  name: string;
156
157
  }[] | null | undefined;
157
158
  multipleValues?: boolean | null | undefined;
158
159
  tags?: string[] | undefined;
159
- settings?: {} | null | undefined;
160
- id: string;
161
160
  type: string;
161
+ id: string;
162
162
  fieldId: string;
163
163
  label: string;
164
164
  }>, "many">>;
@@ -177,12 +177,13 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
177
177
  descriptionFieldId?: string | null | undefined;
178
178
  imageFieldId?: string | null | undefined;
179
179
  defaultFields?: boolean | null | undefined;
180
+ group: string;
180
181
  name: string;
181
182
  fields: {
182
183
  predefinedValues?: {
183
184
  values: {
184
- label: string;
185
185
  value: string;
186
+ label: string;
186
187
  selected: boolean;
187
188
  }[];
188
189
  enabled: boolean;
@@ -190,8 +191,9 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
190
191
  renderer?: {
191
192
  name: string;
192
193
  } | undefined;
193
- id: string;
194
194
  type: string;
195
+ id: string;
196
+ settings: {};
195
197
  storageId: string;
196
198
  fieldId: string;
197
199
  label: string;
@@ -199,35 +201,32 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
199
201
  placeholderText: string | null;
200
202
  validation: {
201
203
  name: string;
202
- settings: {};
203
204
  message: string;
205
+ settings: {};
204
206
  }[];
205
207
  listValidation: {
206
208
  name: string;
207
- settings: {};
208
209
  message: string;
210
+ settings: {};
209
211
  }[];
210
212
  multipleValues: boolean;
211
213
  tags: string[];
212
- settings: {};
213
214
  }[];
214
215
  layout: string[][];
215
216
  singularApiName: string;
216
217
  pluralApiName: string;
217
- group: string;
218
218
  }, {
219
219
  description?: string | null | undefined;
220
- icon?: string | null | undefined;
221
- tags?: string[] | undefined;
222
220
  fields?: {
221
+ settings?: {} | null | undefined;
223
222
  storageId?: string | undefined;
224
223
  helpText?: string | null | undefined;
225
224
  placeholderText?: string | null | undefined;
226
225
  predefinedValues?: {
227
226
  values?: {
228
227
  selected?: boolean | undefined;
229
- label: string;
230
228
  value: string;
229
+ label: string;
231
230
  }[] | undefined;
232
231
  enabled: boolean;
233
232
  } | undefined;
@@ -235,33 +234,34 @@ export declare const createModelCreateValidation: () => zod.ZodObject<{
235
234
  name: string;
236
235
  } | undefined;
237
236
  validation?: {
238
- settings?: {} | null | undefined;
239
237
  message?: string | undefined;
238
+ settings?: {} | null | undefined;
240
239
  name: string;
241
240
  }[] | null | undefined;
242
241
  listValidation?: {
243
- settings?: {} | null | undefined;
244
242
  message?: string | undefined;
243
+ settings?: {} | null | undefined;
245
244
  name: string;
246
245
  }[] | null | undefined;
247
246
  multipleValues?: boolean | null | undefined;
248
247
  tags?: string[] | undefined;
249
- settings?: {} | null | undefined;
250
- id: string;
251
248
  type: string;
249
+ id: string;
252
250
  fieldId: string;
253
251
  label: string;
254
252
  }[] | undefined;
253
+ icon?: string | null | undefined;
254
+ tags?: string[] | undefined;
255
255
  layout?: string[][] | undefined;
256
256
  modelId?: string | undefined;
257
257
  titleFieldId?: string | null | undefined;
258
258
  descriptionFieldId?: string | null | undefined;
259
259
  imageFieldId?: string | null | undefined;
260
260
  defaultFields?: boolean | null | undefined;
261
+ group: string;
261
262
  name: string;
262
263
  singularApiName: string;
263
264
  pluralApiName: string;
264
- group: string;
265
265
  }>;
266
266
  export declare const createModelCreateFromValidation: () => zod.ZodObject<{
267
267
  name: zod.ZodString;
@@ -273,23 +273,23 @@ export declare const createModelCreateFromValidation: () => zod.ZodObject<{
273
273
  icon: zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodString>>>;
274
274
  locale: zod.ZodOptional<zod.ZodString>;
275
275
  }, "strip", zod.ZodTypeAny, {
276
- locale?: string | undefined;
277
276
  description?: string | null | undefined;
277
+ locale?: string | undefined;
278
278
  icon?: string | null | undefined;
279
279
  modelId?: string | undefined;
280
+ group: string;
280
281
  name: string;
281
282
  singularApiName: string;
282
283
  pluralApiName: string;
283
- group: string;
284
284
  }, {
285
- locale?: string | undefined;
286
285
  description?: string | null | undefined;
286
+ locale?: string | undefined;
287
287
  icon?: string | null | undefined;
288
288
  modelId?: string | undefined;
289
+ group: string;
289
290
  name: string;
290
291
  singularApiName: string;
291
292
  pluralApiName: string;
292
- group: string;
293
293
  }>;
294
294
  export declare const createModelUpdateValidation: () => zod.ZodObject<{
295
295
  name: zod.ZodOptional<zod.ZodString>;
@@ -315,26 +315,26 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
315
315
  label: zod.ZodString;
316
316
  selected: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
317
317
  }, "strip", zod.ZodTypeAny, {
318
- label: string;
319
318
  value: string;
319
+ label: string;
320
320
  selected: boolean;
321
321
  }, {
322
322
  selected?: boolean | undefined;
323
- label: string;
324
323
  value: string;
324
+ label: string;
325
325
  }>, "many">>;
326
326
  }, "strip", zod.ZodTypeAny, {
327
327
  values: {
328
- label: string;
329
328
  value: string;
329
+ label: string;
330
330
  selected: boolean;
331
331
  }[];
332
332
  enabled: boolean;
333
333
  }, {
334
334
  values?: {
335
335
  selected?: boolean | undefined;
336
- label: string;
337
336
  value: string;
337
+ label: string;
338
338
  }[] | undefined;
339
339
  enabled: boolean;
340
340
  }>>>;
@@ -351,19 +351,19 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
351
351
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
352
352
  }, "strip", zod.ZodTypeAny, {
353
353
  name: string;
354
- settings: {};
355
354
  message: string;
355
+ settings: {};
356
356
  }, {
357
- settings?: {} | null | undefined;
358
357
  message?: string | undefined;
358
+ settings?: {} | null | undefined;
359
359
  name: string;
360
360
  }>, "many">>>>>, {
361
361
  name: string;
362
- settings: {};
363
362
  message: string;
363
+ settings: {};
364
364
  }[], {
365
- settings?: {} | null | undefined;
366
365
  message?: string | undefined;
366
+ settings?: {} | null | undefined;
367
367
  name: string;
368
368
  }[] | null | undefined>;
369
369
  listValidation: zod.ZodEffects<zod.ZodDefault<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
@@ -372,27 +372,27 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
372
372
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
373
373
  }, "strip", zod.ZodTypeAny, {
374
374
  name: string;
375
- settings: {};
376
375
  message: string;
376
+ settings: {};
377
377
  }, {
378
- settings?: {} | null | undefined;
379
378
  message?: string | undefined;
379
+ settings?: {} | null | undefined;
380
380
  name: string;
381
381
  }>, "many">>>>>, {
382
382
  name: string;
383
- settings: {};
384
383
  message: string;
384
+ settings: {};
385
385
  }[], {
386
- settings?: {} | null | undefined;
387
386
  message?: string | undefined;
387
+ settings?: {} | null | undefined;
388
388
  name: string;
389
389
  }[] | null | undefined>;
390
390
  settings: zod.ZodDefault<zod.ZodEffects<zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, {}, {}>>>>, {}, {} | null | undefined>>;
391
391
  }, "strip", zod.ZodTypeAny, {
392
392
  predefinedValues?: {
393
393
  values: {
394
- label: string;
395
394
  value: string;
395
+ label: string;
396
396
  selected: boolean;
397
397
  }[];
398
398
  enabled: boolean;
@@ -400,8 +400,9 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
400
400
  renderer?: {
401
401
  name: string;
402
402
  } | undefined;
403
- id: string;
404
403
  type: string;
404
+ id: string;
405
+ settings: {};
405
406
  storageId: string;
406
407
  fieldId: string;
407
408
  label: string;
@@ -409,26 +410,26 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
409
410
  placeholderText: string | null;
410
411
  validation: {
411
412
  name: string;
412
- settings: {};
413
413
  message: string;
414
+ settings: {};
414
415
  }[];
415
416
  listValidation: {
416
417
  name: string;
417
- settings: {};
418
418
  message: string;
419
+ settings: {};
419
420
  }[];
420
421
  multipleValues: boolean;
421
422
  tags: string[];
422
- settings: {};
423
423
  }, {
424
+ settings?: {} | null | undefined;
424
425
  storageId?: string | undefined;
425
426
  helpText?: string | null | undefined;
426
427
  placeholderText?: string | null | undefined;
427
428
  predefinedValues?: {
428
429
  values?: {
429
430
  selected?: boolean | undefined;
430
- label: string;
431
431
  value: string;
432
+ label: string;
432
433
  }[] | undefined;
433
434
  enabled: boolean;
434
435
  } | undefined;
@@ -436,20 +437,19 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
436
437
  name: string;
437
438
  } | undefined;
438
439
  validation?: {
439
- settings?: {} | null | undefined;
440
440
  message?: string | undefined;
441
+ settings?: {} | null | undefined;
441
442
  name: string;
442
443
  }[] | null | undefined;
443
444
  listValidation?: {
444
- settings?: {} | null | undefined;
445
445
  message?: string | undefined;
446
+ settings?: {} | null | undefined;
446
447
  name: string;
447
448
  }[] | null | undefined;
448
449
  multipleValues?: boolean | null | undefined;
449
450
  tags?: string[] | undefined;
450
- settings?: {} | null | undefined;
451
- id: string;
452
451
  type: string;
452
+ id: string;
453
453
  fieldId: string;
454
454
  label: string;
455
455
  }>, "many">;
@@ -459,21 +459,21 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
459
459
  imageFieldId: zod.ZodNullable<zod.ZodOptional<zod.ZodOptional<zod.ZodString>>>;
460
460
  tags: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
461
461
  }, "strip", zod.ZodTypeAny, {
462
- name?: string | undefined;
463
462
  description?: string | null | undefined;
463
+ group?: string | undefined;
464
+ name?: string | undefined;
464
465
  icon?: string | null | undefined;
465
466
  tags?: string[] | undefined;
466
467
  singularApiName?: string | undefined;
467
468
  pluralApiName?: string | undefined;
468
- group?: string | undefined;
469
469
  titleFieldId?: string | null | undefined;
470
470
  descriptionFieldId?: string | null | undefined;
471
471
  imageFieldId?: string | null | undefined;
472
472
  fields: {
473
473
  predefinedValues?: {
474
474
  values: {
475
- label: string;
476
475
  value: string;
476
+ label: string;
477
477
  selected: boolean;
478
478
  }[];
479
479
  enabled: boolean;
@@ -481,8 +481,9 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
481
481
  renderer?: {
482
482
  name: string;
483
483
  } | undefined;
484
- id: string;
485
484
  type: string;
485
+ id: string;
486
+ settings: {};
486
487
  storageId: string;
487
488
  fieldId: string;
488
489
  label: string;
@@ -490,39 +491,39 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
490
491
  placeholderText: string | null;
491
492
  validation: {
492
493
  name: string;
493
- settings: {};
494
494
  message: string;
495
+ settings: {};
495
496
  }[];
496
497
  listValidation: {
497
498
  name: string;
498
- settings: {};
499
499
  message: string;
500
+ settings: {};
500
501
  }[];
501
502
  multipleValues: boolean;
502
503
  tags: string[];
503
- settings: {};
504
504
  }[];
505
505
  layout: string[][];
506
506
  }, {
507
- name?: string | undefined;
508
507
  description?: string | null | undefined;
508
+ group?: string | undefined;
509
+ name?: string | undefined;
509
510
  icon?: string | null | undefined;
510
511
  tags?: string[] | undefined;
511
512
  singularApiName?: string | undefined;
512
513
  pluralApiName?: string | undefined;
513
- group?: string | undefined;
514
514
  titleFieldId?: string | null | undefined;
515
515
  descriptionFieldId?: string | null | undefined;
516
516
  imageFieldId?: string | null | undefined;
517
517
  fields: {
518
+ settings?: {} | null | undefined;
518
519
  storageId?: string | undefined;
519
520
  helpText?: string | null | undefined;
520
521
  placeholderText?: string | null | undefined;
521
522
  predefinedValues?: {
522
523
  values?: {
523
524
  selected?: boolean | undefined;
524
- label: string;
525
525
  value: string;
526
+ label: string;
526
527
  }[] | undefined;
527
528
  enabled: boolean;
528
529
  } | undefined;
@@ -530,20 +531,19 @@ export declare const createModelUpdateValidation: () => zod.ZodObject<{
530
531
  name: string;
531
532
  } | undefined;
532
533
  validation?: {
533
- settings?: {} | null | undefined;
534
534
  message?: string | undefined;
535
+ settings?: {} | null | undefined;
535
536
  name: string;
536
537
  }[] | null | undefined;
537
538
  listValidation?: {
538
- settings?: {} | null | undefined;
539
539
  message?: string | undefined;
540
+ settings?: {} | null | undefined;
540
541
  name: string;
541
542
  }[] | null | undefined;
542
543
  multipleValues?: boolean | null | undefined;
543
544
  tags?: string[] | undefined;
544
- settings?: {} | null | undefined;
545
- id: string;
546
545
  type: string;
546
+ id: string;
547
547
  fieldId: string;
548
548
  label: string;
549
549
  }[];
@@ -2,10 +2,12 @@ import { CmsContext, CmsModelContext, HeadlessCmsStorageOperations } from "../ty
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { I18NLocale } from "@webiny/api-i18n/types";
4
4
  import { SecurityIdentity } from "@webiny/api-security/types";
5
+ import { ModelsPermissions } from "../utils/permissions/ModelsPermissions";
5
6
  export interface CreateModelsCrudParams {
6
7
  getTenant: () => Tenant;
7
8
  getLocale: () => I18NLocale;
8
9
  storageOperations: HeadlessCmsStorageOperations;
10
+ modelsPermissions: ModelsPermissions;
9
11
  context: CmsContext;
10
12
  getIdentity: () => SecurityIdentity;
11
13
  }
@@ -20,10 +20,7 @@ var _afterUpdate = require("./contentModel/afterUpdate");
20
20
  var _afterDelete = require("./contentModel/afterDelete");
21
21
  var _afterCreateFrom = require("./contentModel/afterCreateFrom");
22
22
  var _CmsModelPlugin = require("../plugins/CmsModelPlugin");
23
- var _permissions = require("../utils/permissions");
24
23
  var _filterAsync = require("../utils/filterAsync");
25
- var _ownership = require("../utils/ownership");
26
- var _access = require("../utils/access");
27
24
  var _validation = require("./contentModel/validation");
28
25
  var _utils = require("@webiny/utils");
29
26
  var _defaultFields = require("./contentModel/defaultFields");
@@ -47,6 +44,7 @@ const createModelsCrud = params => {
47
44
  getIdentity,
48
45
  getLocale,
49
46
  storageOperations,
47
+ modelsPermissions,
50
48
  context
51
49
  } = params;
52
50
  const loaders = {
@@ -83,9 +81,9 @@ const createModelsCrud = params => {
83
81
  managers.set(model.modelId, manager);
84
82
  return manager;
85
83
  };
86
- const checkModelPermissions = check => {
87
- return (0, _permissions.checkPermissions)(context, "cms.contentModel", {
88
- rwd: check
84
+ const checkModelPermissions = rwd => {
85
+ return modelsPermissions.ensure({
86
+ rwd
89
87
  });
90
88
  };
91
89
  const getModelsAsPlugins = () => {
@@ -141,22 +139,34 @@ const createModelsCrud = params => {
141
139
  };
142
140
  const listModels = async () => {
143
141
  return context.benchmark.measure("headlessCms.crud.models.listModels", async () => {
144
- const permission = await checkModelPermissions("r");
145
142
  const models = await modelsList();
146
143
  return (0, _filterAsync.filterAsync)(models, async model => {
147
- if (!(0, _ownership.validateOwnership)(context, permission, model)) {
144
+ const ownsModel = await modelsPermissions.ensure({
145
+ owns: model.createdBy
146
+ }, {
147
+ throw: false
148
+ });
149
+ if (!ownsModel) {
148
150
  return false;
149
151
  }
150
- return (0, _access.validateModelAccess)(context, model);
152
+ return modelsPermissions.canAccessModel({
153
+ model,
154
+ locale: getLocale().code
155
+ });
151
156
  });
152
157
  });
153
158
  };
154
159
  const getModel = async modelId => {
155
160
  return context.benchmark.measure("headlessCms.crud.models.getModel", async () => {
156
- const permission = await checkModelPermissions("r");
161
+ await checkModelPermissions("r");
157
162
  const model = await modelsGet(modelId);
158
- (0, _ownership.checkOwnership)(context, permission, model);
159
- await (0, _access.checkModelAccess)(context, model);
163
+ await modelsPermissions.ensure({
164
+ owns: model.createdBy
165
+ });
166
+ await modelsPermissions.ensureCanAccessModel({
167
+ model,
168
+ locale: getLocale().code
169
+ });
160
170
  return model;
161
171
  });
162
172
  };