@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.
- package/dist/_chunks/{App-1LckaIGY.js → App-7E8zfxM4.js} +17 -13
- package/dist/_chunks/App-7E8zfxM4.js.map +1 -0
- package/dist/_chunks/{App-X01LBg5V.mjs → App-Vd892Zuj.mjs} +17 -13
- package/dist/_chunks/App-Vd892Zuj.mjs.map +1 -0
- package/dist/_chunks/{PurchaseContentReleases-Clm0iACO.mjs → PurchaseContentReleases-3tRbmbY3.mjs} +2 -2
- package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
- package/dist/_chunks/{PurchaseContentReleases-YhAPgpG9.js → PurchaseContentReleases-bpIYXOfu.js} +2 -2
- package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
- package/dist/_chunks/{en-faJDuv3q.js → en-3SGjiVyR.js} +10 -2
- package/dist/_chunks/en-3SGjiVyR.js.map +1 -0
- package/dist/_chunks/{en-RdapH-9X.mjs → en-bpHsnU0n.mjs} +10 -2
- package/dist/_chunks/en-bpHsnU0n.mjs.map +1 -0
- package/dist/_chunks/{index-OD9AlD-6.mjs → index-NBWsQac-.mjs} +205 -12
- package/dist/_chunks/index-NBWsQac-.mjs.map +1 -0
- package/dist/_chunks/{index-cYWov2wa.js → index-OCYXm4ZK.js} +204 -11
- package/dist/_chunks/index-OCYXm4ZK.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/CMReleasesContainer.d.ts +21 -0
- package/dist/admin/src/components/ReleaseAction.d.ts +3 -0
- package/dist/admin/src/components/ReleaseModal.d.ts +1 -1
- package/dist/admin/src/services/release.d.ts +28 -3
- package/dist/server/index.js +16 -19
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +16 -19
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/release-action.d.ts.map +1 -1
- package/dist/server/src/destroy.d.ts +1 -1
- package/dist/server/src/destroy.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +7 -7
- package/dist/server/src/register.d.ts +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -3
- package/dist/server/src/services/release.d.ts +1 -1
- package/dist/server/src/services/release.d.ts.map +1 -1
- package/dist/server/src/services/scheduling.d.ts +1 -1
- package/dist/server/src/services/scheduling.d.ts.map +1 -1
- package/dist/server/src/services/validation.d.ts +1 -1
- package/dist/server/src/services/validation.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts +8 -8
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/package.json +11 -9
- package/dist/_chunks/App-1LckaIGY.js.map +0 -1
- package/dist/_chunks/App-X01LBg5V.mjs.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js.map +0 -1
- package/dist/_chunks/en-RdapH-9X.mjs.map +0 -1
- package/dist/_chunks/en-faJDuv3q.js.map +0 -1
- package/dist/_chunks/index-OD9AlD-6.mjs.map +0 -1
- package/dist/_chunks/index-cYWov2wa.js.map +0 -1
package/dist/server/index.mjs
CHANGED
|
@@ -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 }
|
|
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 }
|
|
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 }
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1435
|
+
const contentTypePermissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1439
1436
|
ability: ctx.state.userAbility,
|
|
1440
1437
|
model: action.contentType
|
|
1441
1438
|
});
|