@strapi/content-releases 5.0.0-beta.1 → 5.0.0-beta.3

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 (52) hide show
  1. package/dist/_chunks/{App-1LckaIGY.js → App-7E8zfxM4.js} +17 -13
  2. package/dist/_chunks/App-7E8zfxM4.js.map +1 -0
  3. package/dist/_chunks/{App-X01LBg5V.mjs → App-Vd892Zuj.mjs} +17 -13
  4. package/dist/_chunks/App-Vd892Zuj.mjs.map +1 -0
  5. package/dist/_chunks/{PurchaseContentReleases-Clm0iACO.mjs → PurchaseContentReleases-3tRbmbY3.mjs} +2 -2
  6. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
  7. package/dist/_chunks/{PurchaseContentReleases-YhAPgpG9.js → PurchaseContentReleases-bpIYXOfu.js} +2 -2
  8. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
  9. package/dist/_chunks/{en-faJDuv3q.js → en-3SGjiVyR.js} +10 -2
  10. package/dist/_chunks/en-3SGjiVyR.js.map +1 -0
  11. package/dist/_chunks/{en-RdapH-9X.mjs → en-bpHsnU0n.mjs} +10 -2
  12. package/dist/_chunks/en-bpHsnU0n.mjs.map +1 -0
  13. package/dist/_chunks/{index-OD9AlD-6.mjs → index-NBWsQac-.mjs} +205 -12
  14. package/dist/_chunks/index-NBWsQac-.mjs.map +1 -0
  15. package/dist/_chunks/{index-cYWov2wa.js → index-OCYXm4ZK.js} +204 -11
  16. package/dist/_chunks/index-OCYXm4ZK.js.map +1 -0
  17. package/dist/admin/index.js +1 -1
  18. package/dist/admin/index.mjs +1 -1
  19. package/dist/admin/src/components/CMReleasesContainer.d.ts +21 -0
  20. package/dist/admin/src/components/ReleaseAction.d.ts +3 -0
  21. package/dist/admin/src/components/ReleaseModal.d.ts +1 -1
  22. package/dist/admin/src/services/release.d.ts +28 -3
  23. package/dist/server/index.js +16 -19
  24. package/dist/server/index.js.map +1 -1
  25. package/dist/server/index.mjs +16 -19
  26. package/dist/server/index.mjs.map +1 -1
  27. package/dist/server/src/bootstrap.d.ts +1 -1
  28. package/dist/server/src/bootstrap.d.ts.map +1 -1
  29. package/dist/server/src/controllers/release-action.d.ts.map +1 -1
  30. package/dist/server/src/destroy.d.ts +1 -1
  31. package/dist/server/src/destroy.d.ts.map +1 -1
  32. package/dist/server/src/index.d.ts +7 -7
  33. package/dist/server/src/register.d.ts +1 -1
  34. package/dist/server/src/register.d.ts.map +1 -1
  35. package/dist/server/src/services/index.d.ts +3 -3
  36. package/dist/server/src/services/release.d.ts +1 -1
  37. package/dist/server/src/services/release.d.ts.map +1 -1
  38. package/dist/server/src/services/scheduling.d.ts +1 -1
  39. package/dist/server/src/services/scheduling.d.ts.map +1 -1
  40. package/dist/server/src/services/validation.d.ts +1 -1
  41. package/dist/server/src/services/validation.d.ts.map +1 -1
  42. package/dist/server/src/utils/index.d.ts +8 -8
  43. package/dist/server/src/utils/index.d.ts.map +1 -1
  44. package/package.json +11 -9
  45. package/dist/_chunks/App-1LckaIGY.js.map +0 -1
  46. package/dist/_chunks/App-X01LBg5V.mjs.map +0 -1
  47. package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs.map +0 -1
  48. package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js.map +0 -1
  49. package/dist/_chunks/en-RdapH-9X.mjs.map +0 -1
  50. package/dist/_chunks/en-faJDuv3q.js.map +0 -1
  51. package/dist/_chunks/index-OD9AlD-6.mjs.map +0 -1
  52. package/dist/_chunks/index-cYWov2wa.js.map +0 -1
@@ -53,10 +53,10 @@ const ACTIONS = [
53
53
  const ALLOWED_WEBHOOK_EVENTS = {
54
54
  RELEASES_PUBLISH: "releases.publish"
55
55
  };
56
- const getService = (name, { strapi: strapi2 } = { strapi: global.strapi }) => {
56
+ const getService = (name, { strapi: strapi2 }) => {
57
57
  return strapi2.plugin("content-releases").service(name);
58
58
  };
59
- const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 } = { strapi: global.strapi }) => {
59
+ const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 }) => {
60
60
  const populateBuilderService = strapi2.plugin("content-manager").service("populate-builder");
61
61
  const populate = await populateBuilderService(contentTypeUid).populateDeep(Infinity).build();
62
62
  const entry = await strapi2.db.query(contentTypeUid).findOne({
@@ -65,7 +65,7 @@ const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 } =
65
65
  });
66
66
  return entry;
67
67
  };
68
- const getEntryValidStatus = async (contentTypeUid, entry, { strapi: strapi2 } = { strapi: global.strapi }) => {
68
+ const getEntryValidStatus = async (contentTypeUid, entry, { strapi: strapi2 }) => {
69
69
  try {
70
70
  await strapi2.entityValidator.validateEntityCreation(
71
71
  strapi2.getModel(contentTypeUid),
@@ -251,7 +251,7 @@ async function enableContentTypeLocalized({ oldContentTypes, contentTypes: conte
251
251
  }
252
252
  const register = async ({ strapi: strapi2 }) => {
253
253
  if (strapi2.ee.features.isEnabled("cms-content-releases")) {
254
- await strapi2.admin.services.permission.actionProvider.registerMany(ACTIONS);
254
+ await strapi2.service("admin::permission").actionProvider.registerMany(ACTIONS);
255
255
  strapi2.hook("strapi::content-types.beforeSync").register(disableContentTypeLocalized).register(deleteActionsOnDisableDraftAndPublish);
256
256
  strapi2.hook("strapi::content-types.afterSync").register(deleteActionsOnDeleteContentType).register(enableContentTypeLocalized).register(revalidateChangedContentTypes).register(migrateIsValidAndStatusReleases);
257
257
  }
@@ -384,7 +384,7 @@ const bootstrap = async ({ strapi: strapi2 }) => {
384
384
  throw err;
385
385
  });
386
386
  Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
387
- strapi2.webhookStore.addAllowedEvent(key, value);
387
+ strapi2.get("webhookStore").addAllowedEvent(key, value);
388
388
  });
389
389
  }
390
390
  };
@@ -826,9 +826,7 @@ const createReleaseService = ({ strapi: strapi2 }) => {
826
826
  }
827
827
  return acc;
828
828
  }, []);
829
- const allReleaseContentTypesDictionary = await this.getContentTypesDataForActions(
830
- contentTypeUids
831
- );
829
+ const allReleaseContentTypesDictionary = await this.getContentTypesDataForActions(contentTypeUids);
832
830
  const allLocalesDictionary = await this.getLocalesDataForActions();
833
831
  const formattedData = actions.map((action) => {
834
832
  const { mainField, displayName } = allReleaseContentTypesDictionary[action.contentType];
@@ -950,9 +948,7 @@ const createReleaseService = ({ strapi: strapi2 }) => {
950
948
  }
951
949
  try {
952
950
  strapi2.log.info(`[Content Releases] Starting to publish release ${lockedRelease.name}`);
953
- const { collectionTypeActions, singleTypeActions } = await getFormattedActions(
954
- releaseId
955
- );
951
+ const { collectionTypeActions, singleTypeActions } = await getFormattedActions(releaseId);
956
952
  await strapi2.db.transaction(async () => {
957
953
  for (const { uid, action, id } of singleTypeActions) {
958
954
  await publishSingleTypeAction(uid, action, id);
@@ -1123,7 +1119,8 @@ const createReleaseValidationService = ({ strapi: strapi2 }) => ({
1123
1119
  }
1124
1120
  },
1125
1121
  async validatePendingReleasesLimit() {
1126
- const maximumPendingReleases = strapi2.ee.features.get("cms-content-releases")?.options?.maximumReleases || 3;
1122
+ const featureCfg = strapi2.ee.features.get("cms-content-releases");
1123
+ const maximumPendingReleases = typeof featureCfg === "object" && featureCfg?.options?.maximumReleases || 3;
1127
1124
  const [, pendingReleasesCount] = await strapi2.db.query(RELEASE_MODEL_UID).findWithCount({
1128
1125
  filters: {
1129
1126
  releasedAt: {
@@ -1166,7 +1163,7 @@ const createSchedulingService = ({ strapi: strapi2 }) => {
1166
1163
  }
1167
1164
  const job = scheduleJob(scheduleDate, async () => {
1168
1165
  try {
1169
- await getService("release").publish(releaseId);
1166
+ await getService("release", { strapi: strapi2 }).publish(releaseId);
1170
1167
  } catch (error) {
1171
1168
  }
1172
1169
  this.cancel(releaseId);
@@ -1236,7 +1233,7 @@ const RELEASE_SCHEMA = yup.object().shape({
1236
1233
  const validateRelease = validateYupSchema(RELEASE_SCHEMA);
1237
1234
  const releaseController = {
1238
1235
  async findMany(ctx) {
1239
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1236
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1240
1237
  ability: ctx.state.userAbility,
1241
1238
  model: RELEASE_MODEL_UID
1242
1239
  });
@@ -1286,7 +1283,7 @@ const releaseController = {
1286
1283
  });
1287
1284
  const sanitizedRelease = {
1288
1285
  ...release2,
1289
- createdBy: release2.createdBy ? strapi.admin.services.user.sanitizeUser(release2.createdBy) : null
1286
+ createdBy: release2.createdBy ? strapi.service("admin::user").sanitizeUser(release2.createdBy) : null
1290
1287
  };
1291
1288
  const data = {
1292
1289
  ...sanitizedRelease,
@@ -1304,7 +1301,7 @@ const releaseController = {
1304
1301
  await validateRelease(releaseArgs);
1305
1302
  const releaseService = getService("release", { strapi });
1306
1303
  const release2 = await releaseService.create(releaseArgs, { user });
1307
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1304
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1308
1305
  ability: ctx.state.userAbility,
1309
1306
  model: RELEASE_MODEL_UID
1310
1307
  });
@@ -1319,7 +1316,7 @@ const releaseController = {
1319
1316
  await validateRelease(releaseArgs);
1320
1317
  const releaseService = getService("release", { strapi });
1321
1318
  const release2 = await releaseService.update(id, releaseArgs, { user });
1322
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1319
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1323
1320
  ability: ctx.state.userAbility,
1324
1321
  model: RELEASE_MODEL_UID
1325
1322
  });
@@ -1421,7 +1418,7 @@ const releaseActionController = {
1421
1418
  },
1422
1419
  async findMany(ctx) {
1423
1420
  const releaseId = ctx.params.releaseId;
1424
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1421
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1425
1422
  ability: ctx.state.userAbility,
1426
1423
  model: RELEASE_ACTION_MODEL_UID
1427
1424
  });
@@ -1435,7 +1432,7 @@ const releaseActionController = {
1435
1432
  if (acc[action.contentType]) {
1436
1433
  return acc;
1437
1434
  }
1438
- const contentTypePermissionsManager = strapi.admin.services.permission.createPermissionsManager({
1435
+ const contentTypePermissionsManager = strapi.service("admin::permission").createPermissionsManager({
1439
1436
  ability: ctx.state.userAbility,
1440
1437
  model: action.contentType
1441
1438
  });