@strapi/content-releases 5.0.0-beta.3 → 5.0.0-beta.5
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-Vd892Zuj.mjs → App-Cmn2Mkn7.mjs} +22 -12
- package/dist/_chunks/App-Cmn2Mkn7.mjs.map +1 -0
- package/dist/_chunks/{App-7E8zfxM4.js → App-FVorrIzF.js} +21 -11
- package/dist/_chunks/App-FVorrIzF.js.map +1 -0
- 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-bpHsnU0n.mjs → en-B9Ur3VsE.mjs} +2 -1
- package/dist/_chunks/en-B9Ur3VsE.mjs.map +1 -0
- package/dist/_chunks/{en-3SGjiVyR.js → en-DtFJ5ViE.js} +2 -1
- package/dist/_chunks/en-DtFJ5ViE.js.map +1 -0
- package/dist/_chunks/{index-OCYXm4ZK.js → index-BfJLth9Z.js} +33 -14
- package/dist/_chunks/index-BfJLth9Z.js.map +1 -0
- package/dist/_chunks/{index-NBWsQac-.mjs → index-DDohgTaQ.mjs} +33 -14
- package/dist/_chunks/index-DDohgTaQ.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 +0 -0
- package/dist/admin/src/services/release.d.ts +61 -26
- package/dist/server/index.js +77 -13
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +77 -13
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -0
- package/dist/server/src/controllers/index.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/destroy.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +2 -1
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/migrations/index.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/routes/release.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -1
- package/dist/server/src/services/release.d.ts +2 -2
- package/dist/server/src/services/release.d.ts.map +1 -1
- package/dist/server/src/services/scheduling.d.ts.map +1 -1
- package/dist/server/src/services/validation.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts +1 -1
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/shared/contracts/releases.d.ts +17 -1
- package/dist/shared/contracts/releases.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/_chunks/App-7E8zfxM4.js.map +0 -1
- package/dist/_chunks/App-Vd892Zuj.mjs.map +0 -1
- package/dist/_chunks/en-3SGjiVyR.js.map +0 -1
- package/dist/_chunks/en-bpHsnU0n.mjs.map +0 -1
- package/dist/_chunks/index-NBWsQac-.mjs.map +0 -1
- package/dist/_chunks/index-OCYXm4ZK.js.map +0 -1
package/dist/server/index.mjs
CHANGED
|
@@ -213,13 +213,16 @@ async function disableContentTypeLocalized({ oldContentTypes, contentTypes: cont
|
|
|
213
213
|
if (!oldContentTypes) {
|
|
214
214
|
return;
|
|
215
215
|
}
|
|
216
|
+
const i18nPlugin = strapi.plugin("i18n");
|
|
217
|
+
if (!i18nPlugin) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
216
220
|
for (const uid in contentTypes2) {
|
|
217
221
|
if (!oldContentTypes[uid]) {
|
|
218
222
|
continue;
|
|
219
223
|
}
|
|
220
224
|
const oldContentType = oldContentTypes[uid];
|
|
221
225
|
const contentType = contentTypes2[uid];
|
|
222
|
-
const i18nPlugin = strapi.plugin("i18n");
|
|
223
226
|
const { isLocalizedContentType } = i18nPlugin.service("content-types");
|
|
224
227
|
if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
|
|
225
228
|
await strapi.db.queryBuilder(RELEASE_ACTION_MODEL_UID).update({
|
|
@@ -232,13 +235,16 @@ async function enableContentTypeLocalized({ oldContentTypes, contentTypes: conte
|
|
|
232
235
|
if (!oldContentTypes) {
|
|
233
236
|
return;
|
|
234
237
|
}
|
|
238
|
+
const i18nPlugin = strapi.plugin("i18n");
|
|
239
|
+
if (!i18nPlugin) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
235
242
|
for (const uid in contentTypes2) {
|
|
236
243
|
if (!oldContentTypes[uid]) {
|
|
237
244
|
continue;
|
|
238
245
|
}
|
|
239
246
|
const oldContentType = oldContentTypes[uid];
|
|
240
247
|
const contentType = contentTypes2[uid];
|
|
241
|
-
const i18nPlugin = strapi.plugin("i18n");
|
|
242
248
|
const { isLocalizedContentType } = i18nPlugin.service("content-types");
|
|
243
249
|
const { getDefaultLocale } = i18nPlugin.service("locales");
|
|
244
250
|
if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
|
|
@@ -651,12 +657,18 @@ const createReleaseService = ({ strapi: strapi2 }) => {
|
|
|
651
657
|
}
|
|
652
658
|
});
|
|
653
659
|
},
|
|
654
|
-
async findManyWithContentTypeEntryAttached(contentTypeUid,
|
|
660
|
+
async findManyWithContentTypeEntryAttached(contentTypeUid, entriesIds) {
|
|
661
|
+
let entries = entriesIds;
|
|
662
|
+
if (!Array.isArray(entriesIds)) {
|
|
663
|
+
entries = [entriesIds];
|
|
664
|
+
}
|
|
655
665
|
const releases = await strapi2.db.query(RELEASE_MODEL_UID).findMany({
|
|
656
666
|
where: {
|
|
657
667
|
actions: {
|
|
658
668
|
target_type: contentTypeUid,
|
|
659
|
-
target_id:
|
|
669
|
+
target_id: {
|
|
670
|
+
$in: entries
|
|
671
|
+
}
|
|
660
672
|
},
|
|
661
673
|
releasedAt: {
|
|
662
674
|
$null: true
|
|
@@ -667,18 +679,25 @@ const createReleaseService = ({ strapi: strapi2 }) => {
|
|
|
667
679
|
actions: {
|
|
668
680
|
where: {
|
|
669
681
|
target_type: contentTypeUid,
|
|
670
|
-
target_id:
|
|
682
|
+
target_id: {
|
|
683
|
+
$in: entries
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
populate: {
|
|
687
|
+
entry: {
|
|
688
|
+
select: ["id"]
|
|
689
|
+
}
|
|
671
690
|
}
|
|
672
691
|
}
|
|
673
692
|
}
|
|
674
693
|
});
|
|
675
694
|
return releases.map((release2) => {
|
|
676
695
|
if (release2.actions?.length) {
|
|
677
|
-
const
|
|
696
|
+
const actionsForEntry = release2.actions;
|
|
678
697
|
delete release2.actions;
|
|
679
698
|
return {
|
|
680
699
|
...release2,
|
|
681
|
-
|
|
700
|
+
actions: actionsForEntry
|
|
682
701
|
};
|
|
683
702
|
}
|
|
684
703
|
return release2;
|
|
@@ -1295,6 +1314,35 @@ const releaseController = {
|
|
|
1295
1314
|
};
|
|
1296
1315
|
ctx.body = { data };
|
|
1297
1316
|
},
|
|
1317
|
+
async mapEntriesToReleases(ctx) {
|
|
1318
|
+
const { contentTypeUid, entriesIds } = ctx.query;
|
|
1319
|
+
if (!contentTypeUid || !entriesIds) {
|
|
1320
|
+
throw new errors.ValidationError("Missing required query parameters");
|
|
1321
|
+
}
|
|
1322
|
+
const releaseService = getService("release", { strapi });
|
|
1323
|
+
const releasesWithActions = await releaseService.findManyWithContentTypeEntryAttached(
|
|
1324
|
+
contentTypeUid,
|
|
1325
|
+
entriesIds
|
|
1326
|
+
);
|
|
1327
|
+
const mappedEntriesInReleases = releasesWithActions.reduce(
|
|
1328
|
+
// TODO: Fix for v5 removed mappedEntriedToRelease
|
|
1329
|
+
(acc, release2) => {
|
|
1330
|
+
release2.actions.forEach((action) => {
|
|
1331
|
+
if (!acc[action.entry.id]) {
|
|
1332
|
+
acc[action.entry.id] = [{ id: release2.id, name: release2.name }];
|
|
1333
|
+
} else {
|
|
1334
|
+
acc[action.entry.id].push({ id: release2.id, name: release2.name });
|
|
1335
|
+
}
|
|
1336
|
+
});
|
|
1337
|
+
return acc;
|
|
1338
|
+
},
|
|
1339
|
+
// TODO: Fix for v5 removed mappedEntriedToRelease
|
|
1340
|
+
{}
|
|
1341
|
+
);
|
|
1342
|
+
ctx.body = {
|
|
1343
|
+
data: mappedEntriesInReleases
|
|
1344
|
+
};
|
|
1345
|
+
},
|
|
1298
1346
|
async create(ctx) {
|
|
1299
1347
|
const user = ctx.state.user;
|
|
1300
1348
|
const releaseArgs = ctx.request.body;
|
|
@@ -1305,9 +1353,9 @@ const releaseController = {
|
|
|
1305
1353
|
ability: ctx.state.userAbility,
|
|
1306
1354
|
model: RELEASE_MODEL_UID
|
|
1307
1355
|
});
|
|
1308
|
-
ctx.
|
|
1356
|
+
ctx.created({
|
|
1309
1357
|
data: await permissionsManager.sanitizeOutput(release2)
|
|
1310
|
-
};
|
|
1358
|
+
});
|
|
1311
1359
|
},
|
|
1312
1360
|
async update(ctx) {
|
|
1313
1361
|
const user = ctx.state.user;
|
|
@@ -1380,9 +1428,9 @@ const releaseActionController = {
|
|
|
1380
1428
|
await validateReleaseAction(releaseActionArgs);
|
|
1381
1429
|
const releaseService = getService("release", { strapi });
|
|
1382
1430
|
const releaseAction2 = await releaseService.createAction(releaseId, releaseActionArgs);
|
|
1383
|
-
ctx.
|
|
1431
|
+
ctx.created({
|
|
1384
1432
|
data: releaseAction2
|
|
1385
|
-
};
|
|
1433
|
+
});
|
|
1386
1434
|
},
|
|
1387
1435
|
async createMany(ctx) {
|
|
1388
1436
|
const releaseId = ctx.params.releaseId;
|
|
@@ -1408,13 +1456,13 @@ const releaseActionController = {
|
|
|
1408
1456
|
return releaseActions2;
|
|
1409
1457
|
});
|
|
1410
1458
|
const newReleaseActions = releaseActions.filter((action) => action !== null);
|
|
1411
|
-
ctx.
|
|
1459
|
+
ctx.created({
|
|
1412
1460
|
data: newReleaseActions,
|
|
1413
1461
|
meta: {
|
|
1414
1462
|
entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
|
|
1415
1463
|
totalEntries: releaseActions.length
|
|
1416
1464
|
}
|
|
1417
|
-
};
|
|
1465
|
+
});
|
|
1418
1466
|
},
|
|
1419
1467
|
async findMany(ctx) {
|
|
1420
1468
|
const releaseId = ctx.params.releaseId;
|
|
@@ -1484,6 +1532,22 @@ const controllers = { release: releaseController, "release-action": releaseActio
|
|
|
1484
1532
|
const release = {
|
|
1485
1533
|
type: "admin",
|
|
1486
1534
|
routes: [
|
|
1535
|
+
{
|
|
1536
|
+
method: "GET",
|
|
1537
|
+
path: "/mapEntriesToReleases",
|
|
1538
|
+
handler: "release.mapEntriesToReleases",
|
|
1539
|
+
config: {
|
|
1540
|
+
policies: [
|
|
1541
|
+
"admin::isAuthenticatedAdmin",
|
|
1542
|
+
{
|
|
1543
|
+
name: "admin::hasPermissions",
|
|
1544
|
+
config: {
|
|
1545
|
+
actions: ["plugin::content-releases.read"]
|
|
1546
|
+
}
|
|
1547
|
+
}
|
|
1548
|
+
]
|
|
1549
|
+
}
|
|
1550
|
+
},
|
|
1487
1551
|
{
|
|
1488
1552
|
method: "POST",
|
|
1489
1553
|
path: "/",
|