@webiny/api-headless-cms 5.37.0 → 5.37.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/context.js CHANGED
@@ -82,7 +82,13 @@ const createContextPlugin = ({
82
82
  READ: type === "read",
83
83
  PREVIEW: type === "preview",
84
84
  MANAGE: type === "manage",
85
- storageOperations
85
+ storageOperations,
86
+ permissions: {
87
+ groups: modelGroupsPermissions,
88
+ models: modelsPermissions,
89
+ entries: entriesPermissions,
90
+ settings: settingsPermissions
91
+ }
86
92
  }, (0, _system.createSystemCrud)({
87
93
  context,
88
94
  getTenant,
package/context.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_api","_CmsParametersPlugin","_system","_settings","_contentModelGroup","_contentModel","_contentEntry","_plugins","_valueKeyStorageConverter","_ModelsPermissions","_ModelGroupsPermissions","_EntriesPermissions","_SettingsPermissions","getParameters","context","plugins","byType","CmsParametersPlugin","type","plugin","result","WebinyError","createContextPlugin","storageOperations","ContextPlugin","locale","getLocale","systemLocale","i18n","getIdentity","security","getTenant","tenancy","getCurrentTenant","register","StorageOperationsCmsModelPlugin","createCmsModelFieldConvertersAttachFactory","benchmark","measure","beforeInit","modelGroupsPermissions","ModelGroupsPermissions","getPermissions","fullAccessPermissionName","modelsPermissions","ModelsPermissions","entriesPermissions","EntriesPermissions","settingsPermissions","SettingsPermissions","cms","_objectSpread2","default","READ","PREVIEW","MANAGE","createSystemCrud","createSettingsCrud","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","init","name","exports"],"sources":["context.ts"],"sourcesContent":["import { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { CmsParametersPlugin, CmsParametersPluginResponse } from \"~/plugins/CmsParametersPlugin\";\nimport { createSystemCrud } from \"~/crud/system.crud\";\nimport { createSettingsCrud } from \"~/crud/settings.crud\";\nimport { createModelGroupsCrud } from \"~/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/crud/contentEntry.crud\";\nimport { StorageOperationsCmsModelPlugin } from \"~/plugins\";\nimport { createCmsModelFieldConvertersAttachFactory } from \"~/utils/converters/valueKeyStorageConverter\";\nimport { ModelsPermissions } from \"~/utils/permissions/ModelsPermissions\";\nimport { ModelGroupsPermissions } from \"./utils/permissions/ModelGroupsPermissions\";\nimport { EntriesPermissions } from \"./utils/permissions/EntriesPermissions\";\nimport { SettingsPermissions } from \"./utils/permissions/SettingsPermissions\";\n\nconst getParameters = async (context: CmsContext): Promise<CmsParametersPluginResponse> => {\n const plugins = context.plugins.byType<CmsParametersPlugin>(CmsParametersPlugin.type);\n\n for (const plugin of plugins) {\n const result = await plugin.getParameters(context);\n if (result !== null) {\n return result;\n }\n }\n throw new WebinyError(\n \"Could not determine locale and/or type of the CMS.\",\n \"CMS_LOCALE_AND_TYPE_ERROR\"\n );\n};\n\nexport interface CrudParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createContextPlugin = ({ storageOperations }: CrudParams) => {\n const plugin = new ContextPlugin<CmsContext>(async context => {\n const { type, locale } = await getParameters(context);\n\n const getLocale = () => {\n const systemLocale = context.i18n.getLocale(locale);\n if (!systemLocale) {\n throw new WebinyError(`There is no locale \"${locale}\" in the system.`);\n }\n return systemLocale;\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n context.plugins.register(\n new StorageOperationsCmsModelPlugin(\n createCmsModelFieldConvertersAttachFactory(context.plugins)\n )\n );\n\n await context.benchmark.measure(\"headlessCms.createContext\", async () => {\n await storageOperations.beforeInit(context);\n\n const modelGroupsPermissions = new ModelGroupsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentModelGroup\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n const modelsPermissions = new ModelsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentModel\"),\n fullAccessPermissionName: \"cms.*\",\n modelGroupsPermissions\n });\n\n const entriesPermissions = new EntriesPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentEntry\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n const settingsPermissions = new SettingsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.settings\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n context.cms = {\n type,\n locale,\n getLocale,\n READ: type === \"read\",\n PREVIEW: type === \"preview\",\n MANAGE: type === \"manage\",\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations,\n settingsPermissions\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations,\n modelGroupsPermissions\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations,\n modelsPermissions\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n getLocale,\n storageOperations,\n entriesPermissions,\n modelsPermissions\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n });\n\n plugin.name = \"cms.createContext\";\n\n return plugin;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_api","_CmsParametersPlugin","_system","_settings","_contentModelGroup","_contentModel","_contentEntry","_plugins","_valueKeyStorageConverter","_ModelsPermissions","_ModelGroupsPermissions","_EntriesPermissions","_SettingsPermissions","getParameters","context","plugins","byType","CmsParametersPlugin","type","plugin","result","WebinyError","createContextPlugin","storageOperations","ContextPlugin","locale","getLocale","systemLocale","i18n","getIdentity","security","getTenant","tenancy","getCurrentTenant","register","StorageOperationsCmsModelPlugin","createCmsModelFieldConvertersAttachFactory","benchmark","measure","beforeInit","modelGroupsPermissions","ModelGroupsPermissions","getPermissions","fullAccessPermissionName","modelsPermissions","ModelsPermissions","entriesPermissions","EntriesPermissions","settingsPermissions","SettingsPermissions","cms","_objectSpread2","default","READ","PREVIEW","MANAGE","permissions","groups","models","entries","settings","createSystemCrud","createSettingsCrud","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","init","name","exports"],"sources":["context.ts"],"sourcesContent":["import { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { CmsParametersPlugin, CmsParametersPluginResponse } from \"~/plugins/CmsParametersPlugin\";\nimport { createSystemCrud } from \"~/crud/system.crud\";\nimport { createSettingsCrud } from \"~/crud/settings.crud\";\nimport { createModelGroupsCrud } from \"~/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/crud/contentEntry.crud\";\nimport { StorageOperationsCmsModelPlugin } from \"~/plugins\";\nimport { createCmsModelFieldConvertersAttachFactory } from \"~/utils/converters/valueKeyStorageConverter\";\nimport { ModelsPermissions } from \"~/utils/permissions/ModelsPermissions\";\nimport { ModelGroupsPermissions } from \"./utils/permissions/ModelGroupsPermissions\";\nimport { EntriesPermissions } from \"./utils/permissions/EntriesPermissions\";\nimport { SettingsPermissions } from \"./utils/permissions/SettingsPermissions\";\n\nconst getParameters = async (context: CmsContext): Promise<CmsParametersPluginResponse> => {\n const plugins = context.plugins.byType<CmsParametersPlugin>(CmsParametersPlugin.type);\n\n for (const plugin of plugins) {\n const result = await plugin.getParameters(context);\n if (result !== null) {\n return result;\n }\n }\n throw new WebinyError(\n \"Could not determine locale and/or type of the CMS.\",\n \"CMS_LOCALE_AND_TYPE_ERROR\"\n );\n};\n\nexport interface CrudParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createContextPlugin = ({ storageOperations }: CrudParams) => {\n const plugin = new ContextPlugin<CmsContext>(async context => {\n const { type, locale } = await getParameters(context);\n\n const getLocale = () => {\n const systemLocale = context.i18n.getLocale(locale);\n if (!systemLocale) {\n throw new WebinyError(`There is no locale \"${locale}\" in the system.`);\n }\n return systemLocale;\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n context.plugins.register(\n new StorageOperationsCmsModelPlugin(\n createCmsModelFieldConvertersAttachFactory(context.plugins)\n )\n );\n\n await context.benchmark.measure(\"headlessCms.createContext\", async () => {\n await storageOperations.beforeInit(context);\n\n const modelGroupsPermissions = new ModelGroupsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentModelGroup\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n const modelsPermissions = new ModelsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentModel\"),\n fullAccessPermissionName: \"cms.*\",\n modelGroupsPermissions\n });\n\n const entriesPermissions = new EntriesPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.contentEntry\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n const settingsPermissions = new SettingsPermissions({\n getIdentity: context.security.getIdentity,\n getPermissions: () => context.security.getPermissions(\"cms.settings\"),\n fullAccessPermissionName: \"cms.*\"\n });\n\n context.cms = {\n type,\n locale,\n getLocale,\n READ: type === \"read\",\n PREVIEW: type === \"preview\",\n MANAGE: type === \"manage\",\n storageOperations,\n permissions: {\n groups: modelGroupsPermissions,\n models: modelsPermissions,\n entries: entriesPermissions,\n settings: settingsPermissions\n },\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations,\n settingsPermissions\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations,\n modelGroupsPermissions\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations,\n modelsPermissions\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n getLocale,\n storageOperations,\n entriesPermissions,\n modelsPermissions\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n });\n\n plugin.name = \"cms.createContext\";\n\n return plugin;\n};\n"],"mappings":"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"}
@@ -296,34 +296,32 @@ const createContentEntryCrud = params => {
296
296
  * A helper to delete the entire entry.
297
297
  */
298
298
  const deleteEntryHelper = async params => {
299
- return context.benchmark.measure("headlessCms.crud.entries.deleteEntry", async () => {
300
- const {
299
+ const {
300
+ model,
301
+ entry
302
+ } = params;
303
+ try {
304
+ await onEntryBeforeDelete.publish({
305
+ entry,
306
+ model
307
+ });
308
+ await storageOperations.entries.delete(model, {
309
+ entry
310
+ });
311
+ await onEntryAfterDelete.publish({
312
+ entry,
313
+ model
314
+ });
315
+ } catch (ex) {
316
+ await onEntryDeleteError.publish({
317
+ entry,
301
318
  model,
319
+ error: ex
320
+ });
321
+ throw new _error.default(ex.message || "Could not delete entry.", ex.code || "DELETE_ERROR", {
302
322
  entry
303
- } = params;
304
- try {
305
- await onEntryBeforeDelete.publish({
306
- entry,
307
- model
308
- });
309
- await storageOperations.entries.delete(model, {
310
- entry
311
- });
312
- await onEntryAfterDelete.publish({
313
- entry,
314
- model
315
- });
316
- } catch (ex) {
317
- await onEntryDeleteError.publish({
318
- entry,
319
- model,
320
- error: ex
321
- });
322
- throw new _error.default(ex.message || "Could not delete entry.", ex.code || "DELETE_ERROR", {
323
- entry
324
- });
325
- }
326
- });
323
+ });
324
+ }
327
325
  };
328
326
  /**
329
327
  * A helper to get entries by revision IDs
@@ -334,8 +332,7 @@ const createContentEntryCrud = params => {
334
332
  rwd: "r"
335
333
  });
336
334
  await modelsPermissions.ensureCanAccessModel({
337
- model,
338
- locale: getLocale().code
335
+ model
339
336
  });
340
337
  const entries = await storageOperations.entries.getByIds(model, {
341
338
  ids
@@ -368,8 +365,7 @@ const createContentEntryCrud = params => {
368
365
  rwd: "r"
369
366
  });
370
367
  await modelsPermissions.ensureCanAccessModel({
371
- model,
372
- locale: getLocale().code
368
+ model
373
369
  });
374
370
  const entries = await storageOperations.entries.getPublishedByIds(model, {
375
371
  ids
@@ -387,8 +383,7 @@ const createContentEntryCrud = params => {
387
383
  rwd: "r"
388
384
  });
389
385
  await modelsPermissions.ensureCanAccessModel({
390
- model,
391
- locale: getLocale().code
386
+ model
392
387
  });
393
388
  const entries = await storageOperations.entries.getLatestByIds(model, {
394
389
  ids
@@ -442,8 +437,7 @@ const createContentEntryCrud = params => {
442
437
  });
443
438
  }
444
439
  await modelsPermissions.ensureCanAccessModel({
445
- model,
446
- locale: getLocale().code
440
+ model
447
441
  });
448
442
  const {
449
443
  where: initialWhere,
@@ -522,8 +516,7 @@ const createContentEntryCrud = params => {
522
516
  rwd: "w"
523
517
  });
524
518
  await modelsPermissions.ensureCanAccessModel({
525
- model,
526
- locale: getLocale().code
519
+ model
527
520
  });
528
521
 
529
522
  /**
@@ -590,7 +583,7 @@ const createContentEntryCrud = params => {
590
583
  model,
591
584
  input
592
585
  });
593
- return result;
586
+ return entry;
594
587
  } catch (ex) {
595
588
  await onEntryCreateError.publish({
596
589
  error: ex,
@@ -611,8 +604,7 @@ const createContentEntryCrud = params => {
611
604
  rwd: "w"
612
605
  });
613
606
  await modelsPermissions.ensureCanAccessModel({
614
- model,
615
- locale: getLocale().code
607
+ model
616
608
  });
617
609
 
618
610
  /**
@@ -698,7 +690,7 @@ const createContentEntryCrud = params => {
698
690
  original: originalEntry,
699
691
  storageEntry: result
700
692
  });
701
- return result;
693
+ return entry;
702
694
  } catch (ex) {
703
695
  await onEntryCreateRevisionError.publish({
704
696
  entry,
@@ -722,8 +714,7 @@ const createContentEntryCrud = params => {
722
714
  rwd: "w"
723
715
  });
724
716
  await modelsPermissions.ensureCanAccessModel({
725
- model,
726
- locale: getLocale().code
717
+ model
727
718
  });
728
719
 
729
720
  /**
@@ -800,7 +791,7 @@ const createContentEntryCrud = params => {
800
791
  input,
801
792
  original: originalEntry
802
793
  });
803
- return result;
794
+ return entry;
804
795
  } catch (ex) {
805
796
  await onEntryUpdateError.publish({
806
797
  entry,
@@ -822,8 +813,7 @@ const createContentEntryCrud = params => {
822
813
  rwd: "w"
823
814
  });
824
815
  await modelsPermissions.ensureCanAccessModel({
825
- model,
826
- locale: getLocale().code
816
+ model
827
817
  });
828
818
  /**
829
819
  * The entry we are going to move to another folder.
@@ -866,8 +856,7 @@ const createContentEntryCrud = params => {
866
856
  rwd: "w"
867
857
  });
868
858
  await modelsPermissions.ensureCanAccessModel({
869
- model,
870
- locale: getLocale().code
859
+ model
871
860
  });
872
861
 
873
862
  /**
@@ -880,15 +869,6 @@ const createContentEntryCrud = params => {
880
869
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" was not found!`);
881
870
  }
882
871
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
883
- /**
884
- * We can only process published entries.
885
- */
886
- if (originalEntry.status !== "published") {
887
- throw new _error.default("Entry with given ID is not published!", "NOT_PUBLISHED_ERROR", {
888
- id,
889
- original: originalEntry
890
- });
891
- }
892
872
  const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
893
873
  context,
894
874
  model,
@@ -896,6 +876,8 @@ const createContentEntryCrud = params => {
896
876
  validateEntries: false
897
877
  });
898
878
  const entry = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry), {}, {
879
+ status: STATUS_PUBLISHED,
880
+ publishedOn: originalEntry.publishedOn || new Date().toISOString(),
899
881
  savedOn: new Date().toISOString(),
900
882
  webinyVersion: context.WEBINY_VERSION,
901
883
  values
@@ -929,9 +911,9 @@ const createContentEntryCrud = params => {
929
911
  await onEntryAfterRepublish.publish({
930
912
  entry,
931
913
  model,
932
- storageEntry
914
+ storageEntry: result
933
915
  });
934
- return result;
916
+ return entry;
935
917
  } catch (ex) {
936
918
  await onEntryRepublishError.publish({
937
919
  entry,
@@ -948,8 +930,7 @@ const createContentEntryCrud = params => {
948
930
  rwd: "d"
949
931
  });
950
932
  await modelsPermissions.ensureCanAccessModel({
951
- model,
952
- locale: getLocale().code
933
+ model
953
934
  });
954
935
  const {
955
936
  id: entryId,
@@ -1044,8 +1025,7 @@ const createContentEntryCrud = params => {
1044
1025
  rwd: "d"
1045
1026
  });
1046
1027
  await modelsPermissions.ensureCanAccessModel({
1047
- model,
1048
- locale: getLocale().code
1028
+ model
1049
1029
  });
1050
1030
  const {
1051
1031
  items: entries
@@ -1103,8 +1083,7 @@ const createContentEntryCrud = params => {
1103
1083
  rwd: "d"
1104
1084
  });
1105
1085
  await modelsPermissions.ensureCanAccessModel({
1106
- model,
1107
- locale: getLocale().code
1086
+ model
1108
1087
  });
1109
1088
  const {
1110
1089
  force
@@ -1151,8 +1130,7 @@ const createContentEntryCrud = params => {
1151
1130
  pw: "p"
1152
1131
  });
1153
1132
  await modelsPermissions.ensureCanAccessModel({
1154
- model,
1155
- locale: getLocale().code
1133
+ model
1156
1134
  });
1157
1135
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
1158
1136
  id
@@ -1187,7 +1165,7 @@ const createContentEntryCrud = params => {
1187
1165
  storageEntry: result,
1188
1166
  model
1189
1167
  });
1190
- return result;
1168
+ return entry;
1191
1169
  } catch (ex) {
1192
1170
  await onEntryPublishError.publish({
1193
1171
  entry,
@@ -1244,7 +1222,7 @@ const createContentEntryCrud = params => {
1244
1222
  storageEntry: result,
1245
1223
  model
1246
1224
  });
1247
- return result;
1225
+ return entry;
1248
1226
  } catch (ex) {
1249
1227
  await onEntryUnpublishError.publish({
1250
1228
  entry,
@@ -1264,8 +1242,7 @@ const createContentEntryCrud = params => {
1264
1242
  rwd: "r"
1265
1243
  });
1266
1244
  await modelsPermissions.ensureCanAccessModel({
1267
- model,
1268
- locale: getLocale().code
1245
+ model
1269
1246
  });
1270
1247
  const {
1271
1248
  where: initialWhere,