@webiny/api-headless-cms 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7f63ea0744
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.
- package/context.d.ts +5 -2
- package/context.js +53 -4
- package/context.js.map +1 -1
- package/crud/contentEntry/markLockedFields.js +4 -2
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +7 -5
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +9 -0
- package/crud/contentEntry/searchableFields.js +72 -0
- package/crud/contentEntry/searchableFields.js.map +1 -0
- package/crud/contentEntry.crud.js +99 -42
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +2 -3
- package/crud/contentModel/beforeCreate.js +4 -5
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +2 -4
- package/crud/contentModel/beforeUpdate.js +2 -2
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +4 -1
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/validateModel.d.ts +3 -4
- package/crud/contentModel/validateModel.js +6 -3
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +3 -4
- package/crud/contentModel/validateModelFields.js +100 -38
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +477 -0
- package/crud/contentModel/validation.js +97 -0
- package/crud/contentModel/validation.js.map +1 -0
- package/crud/contentModel.crud.js +212 -177
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/validation.d.ts +30 -0
- package/crud/contentModelGroup/validation.js +34 -0
- package/crud/contentModelGroup/validation.js.map +1 -0
- package/crud/contentModelGroup.crud.js +47 -52
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/index.d.ts +2 -1
- package/fieldConverters/index.js +2 -1
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.d.ts +8 -3
- package/graphql/buildSchemaPlugins.js +3 -7
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/createExecutableSchema.d.ts +7 -0
- package/graphql/createExecutableSchema.js +29 -0
- package/graphql/createExecutableSchema.js.map +1 -0
- package/graphql/generateSchema.d.ts +8 -0
- package/graphql/generateSchema.js +31 -0
- package/graphql/generateSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.js +91 -50
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/index.d.ts +1 -3
- package/graphql/index.js +2 -39
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.d.ts +6 -2
- package/graphql/schema/baseContentSchema.js +6 -4
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +3 -0
- package/graphql/schema/baseSchema.js +53 -0
- package/graphql/schema/baseSchema.js.map +1 -0
- package/graphql/schema/contentEntries.d.ts +6 -2
- package/graphql/schema/contentEntries.js +37 -23
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.d.ts +6 -2
- package/graphql/schema/contentModelGroups.js +7 -3
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.d.ts +6 -2
- package/graphql/schema/contentModels.js +40 -7
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js +17 -6
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +2 -0
- package/graphql/schema/createManageSDL.js +10 -6
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +5 -0
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +2 -0
- package/graphql/schema/createReadSDL.js +11 -5
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/schemaPlugins.d.ts +8 -3
- package/graphql/schema/schemaPlugins.js +58 -46
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.js +69 -72
- package/graphql/system.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
- package/graphqlFields/dynamicZone/index.d.ts +2 -0
- package/graphqlFields/dynamicZone/index.js +19 -0
- package/graphqlFields/dynamicZone/index.js.map +1 -0
- package/graphqlFields/index.d.ts +1 -1
- package/graphqlFields/index.js +2 -1
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/number.js +4 -0
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +112 -68
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +31 -45
- package/graphqlFields/ref.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +3 -7
- package/index.js.map +1 -1
- package/package.json +28 -28
- package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
- package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
- package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
- package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/StorageTransformPlugin.d.ts +11 -11
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +22 -0
- package/plugins/index.js.map +1 -1
- package/storage/object.js +4 -2
- package/storage/object.js.map +1 -1
- package/types.d.ts +241 -57
- package/types.js +62 -7
- package/types.js.map +1 -1
- package/utils/converters/ConverterCollection.js +5 -2
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +15 -0
- package/utils/createTypeFromFields.js +64 -0
- package/utils/createTypeFromFields.js.map +1 -0
- package/utils/createTypeName.js +2 -1
- package/utils/createTypeName.js.map +1 -1
- package/utils/entryStorage.js +14 -11
- package/utils/entryStorage.js.map +1 -1
- package/utils/getBaseFieldType.d.ts +4 -0
- package/utils/getBaseFieldType.js +10 -0
- package/utils/getBaseFieldType.js.map +1 -0
- package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
- package/utils/getSchemaFromFieldPlugins.js +22 -14
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/renderFields.js +2 -1
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +6 -3
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.js +2 -1
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +4 -2
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +7 -4
- package/utils/renderSortEnum.js +21 -4
- package/utils/renderSortEnum.js.map +1 -1
- package/validators/dynamicZone.d.ts +2 -0
- package/validators/dynamicZone.js +20 -0
- package/validators/dynamicZone.js.map +1 -0
- package/validators/index.js +2 -1
- package/validators/index.js.map +1 -1
- package/crud/contentModel/createFieldModels.d.ts +0 -2
- package/crud/contentModel/createFieldModels.js +0 -20
- package/crud/contentModel/createFieldModels.js.map +0 -1
- package/crud/contentModel/fieldIdValidation.d.ts +0 -1
- package/crud/contentModel/fieldIdValidation.js +0 -20
- package/crud/contentModel/fieldIdValidation.js.map +0 -1
- package/crud/contentModel/idValidation.d.ts +0 -1
- package/crud/contentModel/idValidation.js +0 -17
- package/crud/contentModel/idValidation.js.map +0 -1
- package/crud/contentModel/models.d.ts +0 -4
- package/crud/contentModel/models.js +0 -173
- package/crud/contentModel/models.js.map +0 -1
- package/crud/index.d.ts +0 -6
- package/crud/index.js +0 -69
- package/crud/index.js.map +0 -1
- package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
- package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
- package/utils/filterModelFields.d.ts +0 -16
- package/utils/filterModelFields.js +0 -71
- package/utils/filterModelFields.js.map +0 -1
|
@@ -22,6 +22,7 @@ var _access = require("../utils/access");
|
|
|
22
22
|
var _ownership = require("../utils/ownership");
|
|
23
23
|
var _entryStorage = require("../utils/entryStorage");
|
|
24
24
|
var _valueKeyStorageConverter = require("../utils/converters/valueKeyStorageConverter");
|
|
25
|
+
var _searchableFields = require("./contentEntry/searchableFields");
|
|
25
26
|
/**
|
|
26
27
|
* Package mdbid does not have types.
|
|
27
28
|
*/
|
|
@@ -138,10 +139,19 @@ const createEntryMeta = (input, original) => {
|
|
|
138
139
|
}
|
|
139
140
|
return meta;
|
|
140
141
|
};
|
|
141
|
-
const createEntryId =
|
|
142
|
-
|
|
142
|
+
const createEntryId = input => {
|
|
143
|
+
let entryId = (0, _mdbid.default)();
|
|
144
|
+
if (input.id) {
|
|
145
|
+
if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\-]+)([a-zA-Z0-9])$/) === null) {
|
|
146
|
+
throw new _error.default("The provided ID is not valid. It must be a string which can A-Z, a-z, 0-9, - and it cannot start or end with a -.", "INVALID_ID", {
|
|
147
|
+
id: input.id
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
entryId = input.id;
|
|
151
|
+
}
|
|
152
|
+
const version = 1;
|
|
143
153
|
return {
|
|
144
|
-
entryId,
|
|
154
|
+
entryId: entryId,
|
|
145
155
|
version,
|
|
146
156
|
id: (0, _utils.createIdentifier)({
|
|
147
157
|
id: entryId,
|
|
@@ -168,31 +178,6 @@ const increaseEntryIdVersion = id => {
|
|
|
168
178
|
})
|
|
169
179
|
};
|
|
170
180
|
};
|
|
171
|
-
const getSearchableFields = params => {
|
|
172
|
-
const {
|
|
173
|
-
plugins,
|
|
174
|
-
model,
|
|
175
|
-
fields
|
|
176
|
-
} = params;
|
|
177
|
-
const fieldPluginMap = plugins.byType("cms-model-field-to-graphql").reduce((collection, field) => {
|
|
178
|
-
collection[field.fieldType] = field;
|
|
179
|
-
return collection;
|
|
180
|
-
}, {});
|
|
181
|
-
return model.fields.filter(field => {
|
|
182
|
-
if (!field.fieldId) {
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
185
|
-
const plugin = fieldPluginMap[field.type];
|
|
186
|
-
if (!plugin) {
|
|
187
|
-
return false;
|
|
188
|
-
} else if (!plugin.fullTextSearch) {
|
|
189
|
-
return false;
|
|
190
|
-
} else if (!fields || fields.length === 0) {
|
|
191
|
-
return true;
|
|
192
|
-
}
|
|
193
|
-
return fields.includes(field.fieldId);
|
|
194
|
-
}).map(field => field.fieldId);
|
|
195
|
-
};
|
|
196
181
|
const allowedEntryStatus = ["draft", "published", "unpublished"];
|
|
197
182
|
const transformEntryStatus = status => {
|
|
198
183
|
return allowedEntryStatus.includes(status) ? status : "draft";
|
|
@@ -208,32 +193,51 @@ const createContentEntryCrud = params => {
|
|
|
208
193
|
plugins
|
|
209
194
|
} = context;
|
|
210
195
|
|
|
211
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Create
|
|
198
|
+
*/
|
|
212
199
|
const onEntryBeforeCreate = (0, _pubsub.createTopic)("cms.onEntryBeforeCreate");
|
|
213
200
|
const onEntryAfterCreate = (0, _pubsub.createTopic)("cms.onEntryAfterCreate");
|
|
214
201
|
const onEntryCreateError = (0, _pubsub.createTopic)("cms.onEntryCreateError");
|
|
215
202
|
|
|
216
|
-
|
|
203
|
+
/**
|
|
204
|
+
* Create new revision
|
|
205
|
+
*/
|
|
217
206
|
const onEntryBeforeCreateRevision = (0, _pubsub.createTopic)("cms.onEntryBeforeCreateRevision");
|
|
218
207
|
const onEntryRevisionAfterCreate = (0, _pubsub.createTopic)("cms.onEntryRevisionAfterCreate");
|
|
219
208
|
const onEntryCreateRevisionError = (0, _pubsub.createTopic)("cms.onEntryCreateRevisionError");
|
|
220
209
|
|
|
221
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Update
|
|
212
|
+
*/
|
|
222
213
|
const onEntryBeforeUpdate = (0, _pubsub.createTopic)("cms.onEntryBeforeUpdate");
|
|
223
214
|
const onEntryAfterUpdate = (0, _pubsub.createTopic)("cms.onEntryAfterUpdate");
|
|
224
215
|
const onEntryUpdateError = (0, _pubsub.createTopic)("cms.onEntryUpdateError");
|
|
225
216
|
|
|
226
|
-
|
|
217
|
+
/**
|
|
218
|
+
* Publish
|
|
219
|
+
*/
|
|
227
220
|
const onEntryBeforePublish = (0, _pubsub.createTopic)("cms.onEntryBeforePublish");
|
|
228
|
-
const onEntryAfterPublish = (0, _pubsub.createTopic)("cms.
|
|
221
|
+
const onEntryAfterPublish = (0, _pubsub.createTopic)("cms.onEntryAfterPublish");
|
|
229
222
|
const onEntryPublishError = (0, _pubsub.createTopic)("cms.onEntryPublishError");
|
|
230
223
|
|
|
231
|
-
|
|
224
|
+
/**
|
|
225
|
+
* Republish
|
|
226
|
+
*/
|
|
227
|
+
const onEntryBeforeRepublish = (0, _pubsub.createTopic)("cms.onEntryBeforeRepublish");
|
|
228
|
+
const onEntryAfterRepublish = (0, _pubsub.createTopic)("cms.onEntryAfterRepublish");
|
|
229
|
+
const onEntryRepublishError = (0, _pubsub.createTopic)("cms.onEntryRepublishError");
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Unpublish
|
|
233
|
+
*/
|
|
232
234
|
const onEntryBeforeUnpublish = (0, _pubsub.createTopic)("cms.onEntryBeforeUnpublish");
|
|
233
235
|
const onEntryAfterUnpublish = (0, _pubsub.createTopic)("cms.onEntryAfterUnpublish");
|
|
234
236
|
const onEntryUnpublishError = (0, _pubsub.createTopic)("cms.onEntryUnpublishError");
|
|
235
237
|
|
|
236
|
-
|
|
238
|
+
/**
|
|
239
|
+
* Delete
|
|
240
|
+
*/
|
|
237
241
|
const onEntryBeforeDelete = (0, _pubsub.createTopic)("cms.onEntryBeforeDelete");
|
|
238
242
|
const onEntryAfterDelete = (0, _pubsub.createTopic)("cms.onEntryAfterDelete");
|
|
239
243
|
const onEntryDeleteError = (0, _pubsub.createTopic)("cms.onEntryDeleteError");
|
|
@@ -338,25 +342,51 @@ const createContentEntryCrud = params => {
|
|
|
338
342
|
onBeforeEntryList: onEntryBeforeList,
|
|
339
343
|
/**
|
|
340
344
|
* Released in 5.34.0
|
|
345
|
+
*
|
|
346
|
+
* Create
|
|
341
347
|
*/
|
|
342
348
|
onEntryBeforeCreate,
|
|
343
349
|
onEntryAfterCreate,
|
|
344
350
|
onEntryCreateError,
|
|
351
|
+
/**
|
|
352
|
+
* Create revision
|
|
353
|
+
*/
|
|
345
354
|
onEntryRevisionBeforeCreate: onEntryBeforeCreateRevision,
|
|
346
355
|
onEntryRevisionAfterCreate,
|
|
347
356
|
onEntryRevisionCreateError: onEntryCreateRevisionError,
|
|
357
|
+
/**
|
|
358
|
+
* Update
|
|
359
|
+
*/
|
|
348
360
|
onEntryBeforeUpdate,
|
|
349
361
|
onEntryAfterUpdate,
|
|
350
362
|
onEntryUpdateError,
|
|
363
|
+
/**
|
|
364
|
+
* Delete whole entry
|
|
365
|
+
*/
|
|
351
366
|
onEntryBeforeDelete,
|
|
352
367
|
onEntryAfterDelete,
|
|
353
368
|
onEntryDeleteError,
|
|
369
|
+
/**
|
|
370
|
+
* Delete entry revision
|
|
371
|
+
*/
|
|
354
372
|
onEntryRevisionBeforeDelete,
|
|
355
373
|
onEntryRevisionAfterDelete,
|
|
356
374
|
onEntryRevisionDeleteError,
|
|
375
|
+
/**
|
|
376
|
+
* Publish
|
|
377
|
+
*/
|
|
357
378
|
onEntryBeforePublish,
|
|
358
379
|
onEntryAfterPublish,
|
|
359
380
|
onEntryPublishError,
|
|
381
|
+
/**
|
|
382
|
+
* Republish
|
|
383
|
+
*/
|
|
384
|
+
onEntryBeforeRepublish,
|
|
385
|
+
onEntryAfterRepublish,
|
|
386
|
+
onEntryRepublishError,
|
|
387
|
+
/**
|
|
388
|
+
* Unpublish
|
|
389
|
+
*/
|
|
360
390
|
onEntryBeforeUnpublish,
|
|
361
391
|
onEntryAfterUnpublish,
|
|
362
392
|
onEntryUnpublishError,
|
|
@@ -405,7 +435,7 @@ const createContentEntryCrud = params => {
|
|
|
405
435
|
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
406
436
|
},
|
|
407
437
|
/**
|
|
408
|
-
* Get latest revisions by entry IDs.
|
|
438
|
+
* Get the latest revisions by entry IDs.
|
|
409
439
|
*/
|
|
410
440
|
async getLatestEntriesByIds(initialModel, ids) {
|
|
411
441
|
const permission = await checkEntryPermissions({
|
|
@@ -476,8 +506,10 @@ const createContentEntryCrud = params => {
|
|
|
476
506
|
plugins
|
|
477
507
|
});
|
|
478
508
|
const {
|
|
479
|
-
where: initialWhere
|
|
509
|
+
where: initialWhere,
|
|
510
|
+
limit: initialLimit
|
|
480
511
|
} = params;
|
|
512
|
+
const limit = initialLimit && initialLimit > 0 ? initialLimit : 50;
|
|
481
513
|
/**
|
|
482
514
|
* We always assign tenant and locale because we do not allow one model to have content through multiple tenants.
|
|
483
515
|
*/
|
|
@@ -503,10 +535,10 @@ const createContentEntryCrud = params => {
|
|
|
503
535
|
where
|
|
504
536
|
});
|
|
505
537
|
}
|
|
506
|
-
const fields = getSearchableFields({
|
|
507
|
-
model,
|
|
538
|
+
const fields = (0, _searchableFields.getSearchableFields)({
|
|
539
|
+
fields: model.fields,
|
|
508
540
|
plugins: context.plugins,
|
|
509
|
-
|
|
541
|
+
input: params.fields || []
|
|
510
542
|
});
|
|
511
543
|
try {
|
|
512
544
|
await onEntryBeforeList.publish({
|
|
@@ -519,6 +551,7 @@ const createContentEntryCrud = params => {
|
|
|
519
551
|
cursor,
|
|
520
552
|
items
|
|
521
553
|
} = await storageOperations.entries.list(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
554
|
+
limit,
|
|
522
555
|
where,
|
|
523
556
|
fields
|
|
524
557
|
}));
|
|
@@ -597,11 +630,15 @@ const createContentEntryCrud = params => {
|
|
|
597
630
|
displayName: identity.displayName,
|
|
598
631
|
type: identity.type
|
|
599
632
|
};
|
|
633
|
+
/**
|
|
634
|
+
* There is a possibility that user sends an ID in the input, so we will use that one.
|
|
635
|
+
* There is no check if the ID is unique or not, that is up to the user.
|
|
636
|
+
*/
|
|
600
637
|
const {
|
|
601
638
|
id,
|
|
602
639
|
entryId,
|
|
603
640
|
version
|
|
604
|
-
} = createEntryId(
|
|
641
|
+
} = createEntryId(inputData);
|
|
605
642
|
const entry = {
|
|
606
643
|
webinyVersion: context.WEBINY_VERSION,
|
|
607
644
|
tenant: getTenant().id,
|
|
@@ -746,6 +783,7 @@ const createContentEntryCrud = params => {
|
|
|
746
783
|
} catch (ex) {
|
|
747
784
|
await onEntryCreateRevisionError.publish({
|
|
748
785
|
entry,
|
|
786
|
+
original: originalEntry,
|
|
749
787
|
model,
|
|
750
788
|
input,
|
|
751
789
|
error: ex
|
|
@@ -851,6 +889,10 @@ const createContentEntryCrud = params => {
|
|
|
851
889
|
});
|
|
852
890
|
}
|
|
853
891
|
},
|
|
892
|
+
/**
|
|
893
|
+
* Method used internally. Not documented and should not be used in users systems.
|
|
894
|
+
* @internal
|
|
895
|
+
*/
|
|
854
896
|
async republishEntry(initialModel, id) {
|
|
855
897
|
await checkEntryPermissions({
|
|
856
898
|
rwd: "w"
|
|
@@ -908,11 +950,26 @@ const createContentEntryCrud = params => {
|
|
|
908
950
|
* Then we move onto publishing it again.
|
|
909
951
|
*/
|
|
910
952
|
try {
|
|
911
|
-
|
|
953
|
+
await onEntryBeforeRepublish.publish({
|
|
954
|
+
entry,
|
|
955
|
+
model
|
|
956
|
+
});
|
|
957
|
+
const result = await storageOperations.entries.publish(model, {
|
|
912
958
|
entry,
|
|
913
959
|
storageEntry
|
|
914
960
|
});
|
|
961
|
+
await onEntryAfterRepublish.publish({
|
|
962
|
+
entry,
|
|
963
|
+
model,
|
|
964
|
+
storageEntry
|
|
965
|
+
});
|
|
966
|
+
return result;
|
|
915
967
|
} catch (ex) {
|
|
968
|
+
await onEntryRepublishError.publish({
|
|
969
|
+
entry,
|
|
970
|
+
model,
|
|
971
|
+
error: ex
|
|
972
|
+
});
|
|
916
973
|
throw new _error.default("Could not publish existing entry while re-publishing.", "REPUBLISH_PUBLISH_ERROR", {
|
|
917
974
|
entry
|
|
918
975
|
});
|