@strapi/content-releases 5.0.0-rc.7 → 5.0.0-rc.9
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-Cf879yGs.mjs → App-DMILern_.mjs} +10 -5
- package/dist/_chunks/App-DMILern_.mjs.map +1 -0
- package/dist/_chunks/{App-BjBiAE8g.js → App-fAgiijnc.js} +9 -4
- package/dist/_chunks/App-fAgiijnc.js.map +1 -0
- package/dist/_chunks/{ReleasesSettingsPage-D7kMSSvV.js → ReleasesSettingsPage-YVZJH-oN.js} +3 -3
- package/dist/_chunks/ReleasesSettingsPage-YVZJH-oN.js.map +1 -0
- package/dist/_chunks/{ReleasesSettingsPage-BlUuvtd9.mjs → ReleasesSettingsPage-dwoRuXB-.mjs} +3 -3
- package/dist/_chunks/ReleasesSettingsPage-dwoRuXB-.mjs.map +1 -0
- package/dist/_chunks/{en-BCDLTJn3.js → en-CmYoEnA7.js} +2 -1
- package/dist/_chunks/en-CmYoEnA7.js.map +1 -0
- package/dist/_chunks/{en-CGXIF4vQ.mjs → en-D0yVZFqf.mjs} +2 -1
- package/dist/_chunks/en-D0yVZFqf.mjs.map +1 -0
- package/dist/_chunks/{index-1MxwkUQx.js → index--_NWfuDG.js} +248 -8
- package/dist/_chunks/index--_NWfuDG.js.map +1 -0
- package/dist/_chunks/{index-BG0Q8zkH.mjs → index-CYsQToWs.mjs} +251 -11
- package/dist/_chunks/index-CYsQToWs.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/ReleaseListCell.d.ts +28 -0
- package/dist/admin/src/services/release.d.ts +6 -4
- package/dist/server/index.js +73 -73
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +73 -73
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/index.d.ts +2 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/release-action.d.ts +1 -0
- package/dist/server/src/controllers/release-action.d.ts.map +1 -1
- package/dist/server/src/controllers/release.d.ts +1 -0
- package/dist/server/src/controllers/release.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +2 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/release-action.d.ts.map +1 -1
- package/dist/server/src/routes/release.d.ts.map +1 -1
- package/dist/shared/contracts/release-actions.d.ts +3 -5
- package/dist/shared/contracts/release-actions.d.ts.map +1 -1
- package/dist/shared/contracts/releases.d.ts +3 -2
- package/dist/shared/contracts/releases.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/_chunks/App-BjBiAE8g.js.map +0 -1
- package/dist/_chunks/App-Cf879yGs.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-BlUuvtd9.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-D7kMSSvV.js.map +0 -1
- package/dist/_chunks/en-BCDLTJn3.js.map +0 -1
- package/dist/_chunks/en-CGXIF4vQ.mjs.map +0 -1
- package/dist/_chunks/index-1MxwkUQx.js.map +0 -1
- package/dist/_chunks/index-BG0Q8zkH.mjs.map +0 -1
package/dist/server/index.mjs
CHANGED
|
@@ -1112,11 +1112,11 @@ const createReleaseValidationService = ({ strapi: strapi2 }) => ({
|
|
|
1112
1112
|
throw new errors.NotFoundError(`No release found for id ${releaseId}`);
|
|
1113
1113
|
}
|
|
1114
1114
|
const isEntryInRelease = release2.actions.some(
|
|
1115
|
-
(action) =>
|
|
1115
|
+
(action) => action.entryDocumentId === releaseActionArgs.entryDocumentId && action.contentType === releaseActionArgs.contentType && (releaseActionArgs.locale ? action.locale === releaseActionArgs.locale : true)
|
|
1116
1116
|
);
|
|
1117
1117
|
if (isEntryInRelease) {
|
|
1118
1118
|
throw new AlreadyOnReleaseError(
|
|
1119
|
-
`Entry with documentId ${releaseActionArgs.entryDocumentId}
|
|
1119
|
+
`Entry with documentId ${releaseActionArgs.entryDocumentId}${releaseActionArgs.locale ? `( ${releaseActionArgs.locale})` : ""} and contentType ${releaseActionArgs.contentType} already exists in release with id ${releaseId}`
|
|
1120
1120
|
);
|
|
1121
1121
|
}
|
|
1122
1122
|
},
|
|
@@ -1385,43 +1385,50 @@ const releaseController = {
|
|
|
1385
1385
|
};
|
|
1386
1386
|
ctx.body = { data };
|
|
1387
1387
|
},
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1388
|
+
async mapEntriesToReleases(ctx) {
|
|
1389
|
+
const { contentTypeUid, documentIds, locale } = ctx.query;
|
|
1390
|
+
if (!contentTypeUid || !documentIds) {
|
|
1391
|
+
throw new errors.ValidationError("Missing required query parameters");
|
|
1392
|
+
}
|
|
1393
|
+
const releaseService = getService("release", { strapi });
|
|
1394
|
+
const releasesWithActions = await releaseService.findMany({
|
|
1395
|
+
where: {
|
|
1396
|
+
releasedAt: null,
|
|
1397
|
+
actions: {
|
|
1398
|
+
contentType: contentTypeUid,
|
|
1399
|
+
entryDocumentId: {
|
|
1400
|
+
$in: documentIds
|
|
1401
|
+
},
|
|
1402
|
+
locale
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1405
|
+
populate: {
|
|
1406
|
+
actions: true
|
|
1394
1407
|
}
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
ctx.body = {
|
|
1421
|
-
data: mappedEntriesInReleases,
|
|
1422
|
-
};
|
|
1423
|
-
},
|
|
1424
|
-
*/
|
|
1408
|
+
});
|
|
1409
|
+
const mappedEntriesInReleases = releasesWithActions.reduce(
|
|
1410
|
+
(acc, release2) => {
|
|
1411
|
+
release2.actions.forEach((action) => {
|
|
1412
|
+
if (action.contentType !== contentTypeUid) {
|
|
1413
|
+
return;
|
|
1414
|
+
}
|
|
1415
|
+
if (locale && action.locale !== locale) {
|
|
1416
|
+
return;
|
|
1417
|
+
}
|
|
1418
|
+
if (!acc[action.entryDocumentId]) {
|
|
1419
|
+
acc[action.entryDocumentId] = [{ id: release2.id, name: release2.name }];
|
|
1420
|
+
} else {
|
|
1421
|
+
acc[action.entryDocumentId].push({ id: release2.id, name: release2.name });
|
|
1422
|
+
}
|
|
1423
|
+
});
|
|
1424
|
+
return acc;
|
|
1425
|
+
},
|
|
1426
|
+
{}
|
|
1427
|
+
);
|
|
1428
|
+
ctx.body = {
|
|
1429
|
+
data: mappedEntriesInReleases
|
|
1430
|
+
};
|
|
1431
|
+
},
|
|
1425
1432
|
async create(ctx) {
|
|
1426
1433
|
const user = ctx.state.user;
|
|
1427
1434
|
const releaseArgs = ctx.request.body;
|
|
@@ -1514,22 +1521,20 @@ const releaseActionController = {
|
|
|
1514
1521
|
data: releaseAction2
|
|
1515
1522
|
});
|
|
1516
1523
|
},
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
const
|
|
1520
|
-
const releaseActionsArgs = ctx.request.body as CreateManyReleaseActions.Request['body'];
|
|
1524
|
+
async createMany(ctx) {
|
|
1525
|
+
const releaseId = ctx.params.releaseId;
|
|
1526
|
+
const releaseActionsArgs = ctx.request.body;
|
|
1521
1527
|
await Promise.all(
|
|
1522
1528
|
releaseActionsArgs.map((releaseActionArgs) => validateReleaseAction(releaseActionArgs))
|
|
1523
1529
|
);
|
|
1524
|
-
const releaseActionService = getService(
|
|
1530
|
+
const releaseActionService = getService("release-action", { strapi });
|
|
1525
1531
|
const releaseActions = await strapi.db.transaction(async () => {
|
|
1526
|
-
const
|
|
1532
|
+
const releaseActions2 = await Promise.all(
|
|
1527
1533
|
releaseActionsArgs.map(async (releaseActionArgs) => {
|
|
1528
1534
|
try {
|
|
1529
1535
|
const action = await releaseActionService.create(releaseId, releaseActionArgs);
|
|
1530
1536
|
return action;
|
|
1531
1537
|
} catch (error) {
|
|
1532
|
-
// If the entry is already in the release, we don't want to throw an error, so we catch and ignore it
|
|
1533
1538
|
if (error instanceof AlreadyOnReleaseError) {
|
|
1534
1539
|
return null;
|
|
1535
1540
|
}
|
|
@@ -1537,18 +1542,17 @@ const releaseActionController = {
|
|
|
1537
1542
|
}
|
|
1538
1543
|
})
|
|
1539
1544
|
);
|
|
1540
|
-
return
|
|
1545
|
+
return releaseActions2;
|
|
1541
1546
|
});
|
|
1542
1547
|
const newReleaseActions = releaseActions.filter((action) => action !== null);
|
|
1543
1548
|
ctx.created({
|
|
1544
1549
|
data: newReleaseActions,
|
|
1545
1550
|
meta: {
|
|
1546
1551
|
entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
|
|
1547
|
-
totalEntries: releaseActions.length
|
|
1548
|
-
}
|
|
1552
|
+
totalEntries: releaseActions.length
|
|
1553
|
+
}
|
|
1549
1554
|
});
|
|
1550
1555
|
},
|
|
1551
|
-
*/
|
|
1552
1556
|
async findMany(ctx) {
|
|
1553
1557
|
const releaseId = ctx.params.releaseId;
|
|
1554
1558
|
const permissionsManager = strapi.service("admin::permission").createPermissionsManager({
|
|
@@ -1647,24 +1651,22 @@ const controllers = {
|
|
|
1647
1651
|
const release = {
|
|
1648
1652
|
type: "admin",
|
|
1649
1653
|
routes: [
|
|
1650
|
-
/*
|
|
1651
1654
|
{
|
|
1652
|
-
method:
|
|
1653
|
-
path:
|
|
1654
|
-
handler:
|
|
1655
|
+
method: "GET",
|
|
1656
|
+
path: "/mapEntriesToReleases",
|
|
1657
|
+
handler: "release.mapEntriesToReleases",
|
|
1655
1658
|
config: {
|
|
1656
1659
|
policies: [
|
|
1657
|
-
|
|
1660
|
+
"admin::isAuthenticatedAdmin",
|
|
1658
1661
|
{
|
|
1659
|
-
name:
|
|
1662
|
+
name: "admin::hasPermissions",
|
|
1660
1663
|
config: {
|
|
1661
|
-
actions: [
|
|
1662
|
-
}
|
|
1663
|
-
}
|
|
1664
|
-
]
|
|
1665
|
-
}
|
|
1664
|
+
actions: ["plugin::content-releases.read"]
|
|
1665
|
+
}
|
|
1666
|
+
}
|
|
1667
|
+
]
|
|
1668
|
+
}
|
|
1666
1669
|
},
|
|
1667
|
-
*/
|
|
1668
1670
|
{
|
|
1669
1671
|
method: "GET",
|
|
1670
1672
|
path: "/getByDocumentAttached",
|
|
@@ -1798,24 +1800,22 @@ const releaseAction = {
|
|
|
1798
1800
|
]
|
|
1799
1801
|
}
|
|
1800
1802
|
},
|
|
1801
|
-
/*
|
|
1802
1803
|
{
|
|
1803
|
-
method:
|
|
1804
|
-
path:
|
|
1805
|
-
handler:
|
|
1804
|
+
method: "POST",
|
|
1805
|
+
path: "/:releaseId/actions/bulk",
|
|
1806
|
+
handler: "release-action.createMany",
|
|
1806
1807
|
config: {
|
|
1807
1808
|
policies: [
|
|
1808
|
-
|
|
1809
|
+
"admin::isAuthenticatedAdmin",
|
|
1809
1810
|
{
|
|
1810
|
-
name:
|
|
1811
|
+
name: "admin::hasPermissions",
|
|
1811
1812
|
config: {
|
|
1812
|
-
actions: [
|
|
1813
|
-
}
|
|
1814
|
-
}
|
|
1815
|
-
]
|
|
1816
|
-
}
|
|
1813
|
+
actions: ["plugin::content-releases.create-action"]
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
]
|
|
1817
|
+
}
|
|
1817
1818
|
},
|
|
1818
|
-
*/
|
|
1819
1819
|
{
|
|
1820
1820
|
method: "GET",
|
|
1821
1821
|
path: "/:releaseId/actions",
|