@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
@@ -76,10 +76,10 @@ const ACTIONS = [
76
76
  const ALLOWED_WEBHOOK_EVENTS = {
77
77
  RELEASES_PUBLISH: "releases.publish"
78
78
  };
79
- const getService = (name, { strapi: strapi2 } = { strapi: global.strapi }) => {
79
+ const getService = (name, { strapi: strapi2 }) => {
80
80
  return strapi2.plugin("content-releases").service(name);
81
81
  };
82
- const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 } = { strapi: global.strapi }) => {
82
+ const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 }) => {
83
83
  const populateBuilderService = strapi2.plugin("content-manager").service("populate-builder");
84
84
  const populate = await populateBuilderService(contentTypeUid).populateDeep(Infinity).build();
85
85
  const entry = await strapi2.db.query(contentTypeUid).findOne({
@@ -88,7 +88,7 @@ const getPopulatedEntry = async (contentTypeUid, entryId, { strapi: strapi2 } =
88
88
  });
89
89
  return entry;
90
90
  };
91
- const getEntryValidStatus = async (contentTypeUid, entry, { strapi: strapi2 } = { strapi: global.strapi }) => {
91
+ const getEntryValidStatus = async (contentTypeUid, entry, { strapi: strapi2 }) => {
92
92
  try {
93
93
  await strapi2.entityValidator.validateEntityCreation(
94
94
  strapi2.getModel(contentTypeUid),
@@ -274,7 +274,7 @@ async function enableContentTypeLocalized({ oldContentTypes, contentTypes: conte
274
274
  }
275
275
  const register = async ({ strapi: strapi2 }) => {
276
276
  if (strapi2.ee.features.isEnabled("cms-content-releases")) {
277
- await strapi2.admin.services.permission.actionProvider.registerMany(ACTIONS);
277
+ await strapi2.service("admin::permission").actionProvider.registerMany(ACTIONS);
278
278
  strapi2.hook("strapi::content-types.beforeSync").register(disableContentTypeLocalized).register(deleteActionsOnDisableDraftAndPublish);
279
279
  strapi2.hook("strapi::content-types.afterSync").register(deleteActionsOnDeleteContentType).register(enableContentTypeLocalized).register(revalidateChangedContentTypes).register(migrateIsValidAndStatusReleases);
280
280
  }
@@ -407,7 +407,7 @@ const bootstrap = async ({ strapi: strapi2 }) => {
407
407
  throw err;
408
408
  });
409
409
  Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
410
- strapi2.webhookStore.addAllowedEvent(key, value);
410
+ strapi2.get("webhookStore").addAllowedEvent(key, value);
411
411
  });
412
412
  }
413
413
  };
@@ -849,9 +849,7 @@ const createReleaseService = ({ strapi: strapi2 }) => {
849
849
  }
850
850
  return acc;
851
851
  }, []);
852
- const allReleaseContentTypesDictionary = await this.getContentTypesDataForActions(
853
- contentTypeUids
854
- );
852
+ const allReleaseContentTypesDictionary = await this.getContentTypesDataForActions(contentTypeUids);
855
853
  const allLocalesDictionary = await this.getLocalesDataForActions();
856
854
  const formattedData = actions.map((action) => {
857
855
  const { mainField, displayName } = allReleaseContentTypesDictionary[action.contentType];
@@ -973,9 +971,7 @@ const createReleaseService = ({ strapi: strapi2 }) => {
973
971
  }
974
972
  try {
975
973
  strapi2.log.info(`[Content Releases] Starting to publish release ${lockedRelease.name}`);
976
- const { collectionTypeActions, singleTypeActions } = await getFormattedActions(
977
- releaseId
978
- );
974
+ const { collectionTypeActions, singleTypeActions } = await getFormattedActions(releaseId);
979
975
  await strapi2.db.transaction(async () => {
980
976
  for (const { uid, action, id } of singleTypeActions) {
981
977
  await publishSingleTypeAction(uid, action, id);
@@ -1146,7 +1142,8 @@ const createReleaseValidationService = ({ strapi: strapi2 }) => ({
1146
1142
  }
1147
1143
  },
1148
1144
  async validatePendingReleasesLimit() {
1149
- const maximumPendingReleases = strapi2.ee.features.get("cms-content-releases")?.options?.maximumReleases || 3;
1145
+ const featureCfg = strapi2.ee.features.get("cms-content-releases");
1146
+ const maximumPendingReleases = typeof featureCfg === "object" && featureCfg?.options?.maximumReleases || 3;
1150
1147
  const [, pendingReleasesCount] = await strapi2.db.query(RELEASE_MODEL_UID).findWithCount({
1151
1148
  filters: {
1152
1149
  releasedAt: {
@@ -1189,7 +1186,7 @@ const createSchedulingService = ({ strapi: strapi2 }) => {
1189
1186
  }
1190
1187
  const job = nodeSchedule.scheduleJob(scheduleDate, async () => {
1191
1188
  try {
1192
- await getService("release").publish(releaseId);
1189
+ await getService("release", { strapi: strapi2 }).publish(releaseId);
1193
1190
  } catch (error) {
1194
1191
  }
1195
1192
  this.cancel(releaseId);
@@ -1259,7 +1256,7 @@ const RELEASE_SCHEMA = yup__namespace.object().shape({
1259
1256
  const validateRelease = utils.validateYupSchema(RELEASE_SCHEMA);
1260
1257
  const releaseController = {
1261
1258
  async findMany(ctx) {
1262
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1259
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1263
1260
  ability: ctx.state.userAbility,
1264
1261
  model: RELEASE_MODEL_UID
1265
1262
  });
@@ -1309,7 +1306,7 @@ const releaseController = {
1309
1306
  });
1310
1307
  const sanitizedRelease = {
1311
1308
  ...release2,
1312
- createdBy: release2.createdBy ? strapi.admin.services.user.sanitizeUser(release2.createdBy) : null
1309
+ createdBy: release2.createdBy ? strapi.service("admin::user").sanitizeUser(release2.createdBy) : null
1313
1310
  };
1314
1311
  const data = {
1315
1312
  ...sanitizedRelease,
@@ -1327,7 +1324,7 @@ const releaseController = {
1327
1324
  await validateRelease(releaseArgs);
1328
1325
  const releaseService = getService("release", { strapi });
1329
1326
  const release2 = await releaseService.create(releaseArgs, { user });
1330
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1327
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1331
1328
  ability: ctx.state.userAbility,
1332
1329
  model: RELEASE_MODEL_UID
1333
1330
  });
@@ -1342,7 +1339,7 @@ const releaseController = {
1342
1339
  await validateRelease(releaseArgs);
1343
1340
  const releaseService = getService("release", { strapi });
1344
1341
  const release2 = await releaseService.update(id, releaseArgs, { user });
1345
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1342
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1346
1343
  ability: ctx.state.userAbility,
1347
1344
  model: RELEASE_MODEL_UID
1348
1345
  });
@@ -1444,7 +1441,7 @@ const releaseActionController = {
1444
1441
  },
1445
1442
  async findMany(ctx) {
1446
1443
  const releaseId = ctx.params.releaseId;
1447
- const permissionsManager = strapi.admin.services.permission.createPermissionsManager({
1444
+ const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
1448
1445
  ability: ctx.state.userAbility,
1449
1446
  model: RELEASE_ACTION_MODEL_UID
1450
1447
  });
@@ -1458,7 +1455,7 @@ const releaseActionController = {
1458
1455
  if (acc[action.contentType]) {
1459
1456
  return acc;
1460
1457
  }
1461
- const contentTypePermissionsManager = strapi.admin.services.permission.createPermissionsManager({
1458
+ const contentTypePermissionsManager = strapi.service("admin::permission").createPermissionsManager({
1462
1459
  ability: ctx.state.userAbility,
1463
1460
  model: action.contentType
1464
1461
  });