@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.js
CHANGED
|
@@ -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 }
|
|
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 }
|
|
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 }
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1458
|
+
const contentTypePermissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1462
1459
|
ability: ctx.state.userAbility,
|
|
1463
1460
|
model: action.contentType
|
|
1464
1461
|
});
|