@strapi/content-releases 5.0.0-beta.2 → 5.0.0-beta.4
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-egamppr5.js → App-BEGE2QNe.js} +2 -2
- package/dist/_chunks/{App-egamppr5.js.map → App-BEGE2QNe.js.map} +1 -1
- package/dist/_chunks/{App-WrCrq8qe.mjs → App-BIYLcg31.mjs} +2 -2
- package/dist/_chunks/{App-WrCrq8qe.mjs.map → App-BIYLcg31.mjs.map} +1 -1
- package/dist/_chunks/{PurchaseContentReleases-3tRbmbY3.mjs → PurchaseContentReleases-C8djn9fP.mjs} +1 -1
- package/dist/_chunks/{PurchaseContentReleases-3tRbmbY3.mjs.map → PurchaseContentReleases-C8djn9fP.mjs.map} +1 -1
- package/dist/_chunks/{PurchaseContentReleases-bpIYXOfu.js → PurchaseContentReleases-sD6ADHk2.js} +1 -1
- package/dist/_chunks/{PurchaseContentReleases-bpIYXOfu.js.map → PurchaseContentReleases-sD6ADHk2.js.map} +1 -1
- package/dist/_chunks/{en-3SGjiVyR.js → en-B07S6EN4.js} +1 -1
- package/dist/_chunks/en-B07S6EN4.js.map +1 -0
- package/dist/_chunks/{en-bpHsnU0n.mjs → en-C4IblV7-.mjs} +1 -1
- package/dist/_chunks/en-C4IblV7-.mjs.map +1 -0
- package/dist/_chunks/{index-AjuPz9xq.mjs → index-BoeHjl4L.mjs} +7 -8
- package/dist/_chunks/index-BoeHjl4L.mjs.map +1 -0
- package/dist/_chunks/{index-tSOxtfmU.js → index-CNPFfE_a.js} +7 -8
- package/dist/_chunks/index-CNPFfE_a.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +23 -20
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +23 -20
- 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/controllers/release.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 +9 -9
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/_chunks/en-3SGjiVyR.js.map +0 -1
- package/dist/_chunks/en-bpHsnU0n.mjs.map +0 -1
- package/dist/_chunks/index-AjuPz9xq.mjs.map +0 -1
- package/dist/_chunks/index-tSOxtfmU.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
|
};
|
|
@@ -1119,7 +1119,8 @@ const createReleaseValidationService = ({ strapi: strapi2 }) => ({
|
|
|
1119
1119
|
}
|
|
1120
1120
|
},
|
|
1121
1121
|
async validatePendingReleasesLimit() {
|
|
1122
|
-
const
|
|
1122
|
+
const featureCfg = strapi2.ee.features.get("cms-content-releases");
|
|
1123
|
+
const maximumPendingReleases = typeof featureCfg === "object" && featureCfg?.options?.maximumReleases || 3;
|
|
1123
1124
|
const [, pendingReleasesCount] = await strapi2.db.query(RELEASE_MODEL_UID).findWithCount({
|
|
1124
1125
|
filters: {
|
|
1125
1126
|
releasedAt: {
|
|
@@ -1162,7 +1163,7 @@ const createSchedulingService = ({ strapi: strapi2 }) => {
|
|
|
1162
1163
|
}
|
|
1163
1164
|
const job = scheduleJob(scheduleDate, async () => {
|
|
1164
1165
|
try {
|
|
1165
|
-
await getService("release").publish(releaseId);
|
|
1166
|
+
await getService("release", { strapi: strapi2 }).publish(releaseId);
|
|
1166
1167
|
} catch (error) {
|
|
1167
1168
|
}
|
|
1168
1169
|
this.cancel(releaseId);
|
|
@@ -1232,7 +1233,7 @@ const RELEASE_SCHEMA = yup.object().shape({
|
|
|
1232
1233
|
const validateRelease = validateYupSchema(RELEASE_SCHEMA);
|
|
1233
1234
|
const releaseController = {
|
|
1234
1235
|
async findMany(ctx) {
|
|
1235
|
-
const permissionsManager = strapi.admin
|
|
1236
|
+
const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1236
1237
|
ability: ctx.state.userAbility,
|
|
1237
1238
|
model: RELEASE_MODEL_UID
|
|
1238
1239
|
});
|
|
@@ -1282,7 +1283,7 @@ const releaseController = {
|
|
|
1282
1283
|
});
|
|
1283
1284
|
const sanitizedRelease = {
|
|
1284
1285
|
...release2,
|
|
1285
|
-
createdBy: release2.createdBy ? strapi.admin
|
|
1286
|
+
createdBy: release2.createdBy ? strapi.service("admin::user").sanitizeUser(release2.createdBy) : null
|
|
1286
1287
|
};
|
|
1287
1288
|
const data = {
|
|
1288
1289
|
...sanitizedRelease,
|
|
@@ -1300,13 +1301,15 @@ const releaseController = {
|
|
|
1300
1301
|
await validateRelease(releaseArgs);
|
|
1301
1302
|
const releaseService = getService("release", { strapi });
|
|
1302
1303
|
const release2 = await releaseService.create(releaseArgs, { user });
|
|
1303
|
-
const permissionsManager = strapi.admin
|
|
1304
|
+
const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1304
1305
|
ability: ctx.state.userAbility,
|
|
1305
1306
|
model: RELEASE_MODEL_UID
|
|
1306
1307
|
});
|
|
1307
|
-
ctx.
|
|
1308
|
-
|
|
1309
|
-
|
|
1308
|
+
ctx.created({
|
|
1309
|
+
body: {
|
|
1310
|
+
data: await permissionsManager.sanitizeOutput(release2)
|
|
1311
|
+
}
|
|
1312
|
+
});
|
|
1310
1313
|
},
|
|
1311
1314
|
async update(ctx) {
|
|
1312
1315
|
const user = ctx.state.user;
|
|
@@ -1315,7 +1318,7 @@ const releaseController = {
|
|
|
1315
1318
|
await validateRelease(releaseArgs);
|
|
1316
1319
|
const releaseService = getService("release", { strapi });
|
|
1317
1320
|
const release2 = await releaseService.update(id, releaseArgs, { user });
|
|
1318
|
-
const permissionsManager = strapi.admin
|
|
1321
|
+
const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1319
1322
|
ability: ctx.state.userAbility,
|
|
1320
1323
|
model: RELEASE_MODEL_UID
|
|
1321
1324
|
});
|
|
@@ -1379,9 +1382,9 @@ const releaseActionController = {
|
|
|
1379
1382
|
await validateReleaseAction(releaseActionArgs);
|
|
1380
1383
|
const releaseService = getService("release", { strapi });
|
|
1381
1384
|
const releaseAction2 = await releaseService.createAction(releaseId, releaseActionArgs);
|
|
1382
|
-
ctx.
|
|
1385
|
+
ctx.created({
|
|
1383
1386
|
data: releaseAction2
|
|
1384
|
-
};
|
|
1387
|
+
});
|
|
1385
1388
|
},
|
|
1386
1389
|
async createMany(ctx) {
|
|
1387
1390
|
const releaseId = ctx.params.releaseId;
|
|
@@ -1407,17 +1410,17 @@ const releaseActionController = {
|
|
|
1407
1410
|
return releaseActions2;
|
|
1408
1411
|
});
|
|
1409
1412
|
const newReleaseActions = releaseActions.filter((action) => action !== null);
|
|
1410
|
-
ctx.
|
|
1413
|
+
ctx.created({
|
|
1411
1414
|
data: newReleaseActions,
|
|
1412
1415
|
meta: {
|
|
1413
1416
|
entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
|
|
1414
1417
|
totalEntries: releaseActions.length
|
|
1415
1418
|
}
|
|
1416
|
-
};
|
|
1419
|
+
});
|
|
1417
1420
|
},
|
|
1418
1421
|
async findMany(ctx) {
|
|
1419
1422
|
const releaseId = ctx.params.releaseId;
|
|
1420
|
-
const permissionsManager = strapi.admin
|
|
1423
|
+
const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1421
1424
|
ability: ctx.state.userAbility,
|
|
1422
1425
|
model: RELEASE_ACTION_MODEL_UID
|
|
1423
1426
|
});
|
|
@@ -1431,7 +1434,7 @@ const releaseActionController = {
|
|
|
1431
1434
|
if (acc[action.contentType]) {
|
|
1432
1435
|
return acc;
|
|
1433
1436
|
}
|
|
1434
|
-
const contentTypePermissionsManager = strapi.admin
|
|
1437
|
+
const contentTypePermissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
1435
1438
|
ability: ctx.state.userAbility,
|
|
1436
1439
|
model: action.contentType
|
|
1437
1440
|
});
|