@strapi/content-manager 5.0.1 → 5.0.2-beta.0
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/{ComponentConfigurationPage-DfFSZQxe.mjs → ComponentConfigurationPage-BTKl8MfN.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs.map → ComponentConfigurationPage-BTKl8MfN.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js → ComponentConfigurationPage-fkzXNK4D.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js.map → ComponentConfigurationPage-fkzXNK4D.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js → EditConfigurationPage-B0niBwBH.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js.map → EditConfigurationPage-B0niBwBH.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs → EditConfigurationPage-n9ZG6sNR.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs.map → EditConfigurationPage-n9ZG6sNR.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-DlxEHhUt.js → EditViewPage-C2CqLemB.js} +3 -3
- package/dist/_chunks/EditViewPage-C2CqLemB.js.map +1 -0
- package/dist/_chunks/{EditViewPage-B82x_x1b.mjs → EditViewPage-D7dC3a4m.mjs} +3 -3
- package/dist/_chunks/EditViewPage-D7dC3a4m.mjs.map +1 -0
- package/dist/_chunks/{Field-DufHXW17.mjs → Field-CkdBb2vz.mjs} +3 -3
- package/dist/_chunks/{Field-DufHXW17.mjs.map → Field-CkdBb2vz.mjs.map} +1 -1
- package/dist/_chunks/{Field-COL25JiC.js → Field-pyQYswH0.js} +3 -3
- package/dist/_chunks/{Field-COL25JiC.js.map → Field-pyQYswH0.js.map} +1 -1
- package/dist/_chunks/{Form-BssUwrTO.js → Form-EqGueEun.js} +2 -2
- package/dist/_chunks/{Form-BssUwrTO.js.map → Form-EqGueEun.js.map} +1 -1
- package/dist/_chunks/{Form-u_kAOhwB.mjs → Form-LjNm2Haf.mjs} +2 -2
- package/dist/_chunks/{Form-u_kAOhwB.mjs.map → Form-LjNm2Haf.mjs.map} +1 -1
- package/dist/_chunks/{History-C9t9UqpO.js → History-CDAPqxZq.js} +5 -5
- package/dist/_chunks/History-CDAPqxZq.js.map +1 -0
- package/dist/_chunks/{History-DRwA3oMM.mjs → History-CgQdxFAQ.mjs} +5 -5
- package/dist/_chunks/History-CgQdxFAQ.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs → ListConfigurationPage-BDTfzFqb.mjs} +2 -2
- package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs.map → ListConfigurationPage-BDTfzFqb.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js → ListConfigurationPage-DvXa6JgB.js} +2 -2
- package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js.map → ListConfigurationPage-DvXa6JgB.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-CELx2ysp.mjs → ListViewPage-7kfnXO7B.mjs} +15 -4
- package/dist/_chunks/{ListViewPage-CELx2ysp.mjs.map → ListViewPage-7kfnXO7B.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-D2VD8Szg.js → ListViewPage-BKKv5nqq.js} +15 -4
- package/dist/_chunks/ListViewPage-BKKv5nqq.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs → NoContentTypePage-Cr_T2WMx.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs.map → NoContentTypePage-Cr_T2WMx.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js → NoContentTypePage-DwqblrUj.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js.map → NoContentTypePage-DwqblrUj.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs → NoPermissionsPage-BG4mb2u5.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs.map → NoPermissionsPage-BG4mb2u5.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js → NoPermissionsPage-CPgv_JPA.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js.map → NoPermissionsPage-CPgv_JPA.js.map} +1 -1
- package/dist/_chunks/{Relations-DR7EUgyC.js → Relations-BAt1MkgZ.js} +40 -16
- package/dist/_chunks/Relations-BAt1MkgZ.js.map +1 -0
- package/dist/_chunks/{Relations-BTcf5xaw.mjs → Relations-DENILBUB.mjs} +41 -17
- package/dist/_chunks/Relations-DENILBUB.mjs.map +1 -0
- package/dist/_chunks/{index-BdMf2lfT.js → index-DQcL7aOp.js} +42 -16
- package/dist/_chunks/index-DQcL7aOp.js.map +1 -0
- package/dist/_chunks/{index-wnqzm4Q8.mjs → index-D_yVHHl5.mjs} +41 -16
- package/dist/_chunks/index-D_yVHHl5.mjs.map +1 -0
- package/dist/_chunks/{layout-2CfjL0T9.mjs → layout-DMyFsGdI.mjs} +3 -3
- package/dist/_chunks/{layout-2CfjL0T9.mjs.map → layout-DMyFsGdI.mjs.map} +1 -1
- package/dist/_chunks/{layout-B2MyZU-_.js → layout-DPnJ4Hsy.js} +3 -3
- package/dist/_chunks/{layout-B2MyZU-_.js.map → layout-DPnJ4Hsy.js.map} +1 -1
- package/dist/_chunks/{relations-C0w0GcXi.mjs → relations-B1kXf0He.mjs} +3 -7
- package/dist/_chunks/relations-B1kXf0He.mjs.map +1 -0
- package/dist/_chunks/{relations-BH7JJGGe.js → relations-zt3eHntv.js} +3 -7
- package/dist/_chunks/relations-zt3eHntv.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/preview/constants.d.ts +1 -0
- package/dist/admin/src/preview/index.d.ts +4 -0
- package/dist/server/index.js +55 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +55 -16
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/preview/constants.d.ts +2 -0
- package/dist/server/src/preview/constants.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/services/document-metadata.d.ts +8 -8
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -4
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +0 -1
- package/dist/_chunks/History-C9t9UqpO.js.map +0 -1
- package/dist/_chunks/History-DRwA3oMM.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-D2VD8Szg.js.map +0 -1
- package/dist/_chunks/Relations-BTcf5xaw.mjs.map +0 -1
- package/dist/_chunks/Relations-DR7EUgyC.js.map +0 -1
- package/dist/_chunks/index-BdMf2lfT.js.map +0 -1
- package/dist/_chunks/index-wnqzm4Q8.mjs.map +0 -1
- package/dist/_chunks/relations-BH7JJGGe.js.map +0 -1
- package/dist/_chunks/relations-C0w0GcXi.mjs.map +0 -1
package/dist/server/index.js
CHANGED
@@ -695,7 +695,7 @@ const historyVersion = {
|
|
695
695
|
}
|
696
696
|
}
|
697
697
|
};
|
698
|
-
const getFeature = () => {
|
698
|
+
const getFeature$1 = () => {
|
699
699
|
if (strapi.ee.features.isEnabled("cms-content-history")) {
|
700
700
|
return {
|
701
701
|
register({ strapi: strapi2 }) {
|
@@ -718,7 +718,7 @@ const getFeature = () => {
|
|
718
718
|
}
|
719
719
|
};
|
720
720
|
};
|
721
|
-
const history = getFeature();
|
721
|
+
const history = getFeature$1();
|
722
722
|
const register = async ({ strapi: strapi2 }) => {
|
723
723
|
await history.register?.({ strapi: strapi2 });
|
724
724
|
};
|
@@ -726,6 +726,18 @@ const ALLOWED_WEBHOOK_EVENTS = {
|
|
726
726
|
ENTRY_PUBLISH: "entry.publish",
|
727
727
|
ENTRY_UNPUBLISH: "entry.unpublish"
|
728
728
|
};
|
729
|
+
const FEATURE_ID = "preview";
|
730
|
+
const getFeature = () => {
|
731
|
+
if (!strapi.features.future.isEnabled(FEATURE_ID)) {
|
732
|
+
return {};
|
733
|
+
}
|
734
|
+
return {
|
735
|
+
bootstrap() {
|
736
|
+
console.log("Bootstrapping preview server");
|
737
|
+
}
|
738
|
+
};
|
739
|
+
};
|
740
|
+
const preview = getFeature();
|
729
741
|
const bootstrap = async () => {
|
730
742
|
Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
|
731
743
|
strapi.get("webhookStore").addAllowedEvent(key, value);
|
@@ -735,6 +747,7 @@ const bootstrap = async () => {
|
|
735
747
|
await getService$1("content-types").syncConfigurations();
|
736
748
|
await getService$1("permission").registerPermissions();
|
737
749
|
await history.bootstrap?.({ strapi });
|
750
|
+
await preview.bootstrap?.({ strapi });
|
738
751
|
};
|
739
752
|
const destroy = async ({ strapi: strapi2 }) => {
|
740
753
|
await history.destroy?.({ strapi: strapi2 });
|
@@ -2364,15 +2377,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
|
|
2364
2377
|
}
|
2365
2378
|
return mainField;
|
2366
2379
|
};
|
2367
|
-
const addStatusToRelations = async (
|
2368
|
-
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.
|
2380
|
+
const addStatusToRelations = async (targetUid, relations2) => {
|
2381
|
+
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
|
2369
2382
|
return relations2;
|
2370
2383
|
}
|
2371
2384
|
const documentMetadata2 = getService$1("document-metadata");
|
2372
|
-
|
2385
|
+
if (!relations2.length) {
|
2386
|
+
return relations2;
|
2387
|
+
}
|
2388
|
+
const firstRelation = relations2[0];
|
2389
|
+
const filters = {
|
2390
|
+
documentId: { $in: relations2.map((r) => r.documentId) },
|
2391
|
+
// NOTE: find the "opposite" status
|
2392
|
+
publishedAt: firstRelation.publishedAt !== null ? { $null: true } : { $notNull: true }
|
2393
|
+
};
|
2394
|
+
const availableStatus = await strapi.query(targetUid).findMany({
|
2395
|
+
select: ["id", "documentId", "locale", "updatedAt", "createdAt", "publishedAt"],
|
2396
|
+
filters
|
2397
|
+
});
|
2373
2398
|
return relations2.map((relation) => {
|
2374
|
-
const availableStatuses =
|
2375
|
-
(availableDocument) => availableDocument.documentId === relation.documentId
|
2399
|
+
const availableStatuses = availableStatus.filter(
|
2400
|
+
(availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
|
2376
2401
|
);
|
2377
2402
|
return {
|
2378
2403
|
...relation,
|
@@ -2601,21 +2626,33 @@ const relations = {
|
|
2601
2626
|
attribute,
|
2602
2627
|
targetField,
|
2603
2628
|
fieldsToSelect,
|
2604
|
-
|
2605
|
-
|
2606
|
-
}
|
2607
|
-
target: {
|
2608
|
-
schema: { uid: targetUid }
|
2609
|
-
}
|
2629
|
+
status,
|
2630
|
+
source: { schema: sourceSchema },
|
2631
|
+
target: { schema: targetSchema }
|
2610
2632
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2633
|
+
const { uid: sourceUid } = sourceSchema;
|
2634
|
+
const { uid: targetUid } = targetSchema;
|
2611
2635
|
const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
|
2612
2636
|
const dbQuery = strapi.db.query(sourceUid);
|
2613
2637
|
const loadRelations = strapiUtils.relations.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
|
2638
|
+
const filters = {};
|
2639
|
+
if (sourceSchema?.options?.draftAndPublish) {
|
2640
|
+
if (targetSchema?.options?.draftAndPublish) {
|
2641
|
+
if (status === "published") {
|
2642
|
+
filters.publishedAt = { $notNull: true };
|
2643
|
+
} else {
|
2644
|
+
filters.publishedAt = { $null: true };
|
2645
|
+
}
|
2646
|
+
}
|
2647
|
+
} else if (targetSchema?.options?.draftAndPublish) {
|
2648
|
+
filters.publishedAt = { $null: true };
|
2649
|
+
}
|
2614
2650
|
const res = await loadRelations({ id: entryId }, targetField, {
|
2615
|
-
select: ["id", "documentId", "locale", "publishedAt"],
|
2651
|
+
select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
|
2616
2652
|
ordering: "desc",
|
2617
2653
|
page: ctx.request.query.page,
|
2618
|
-
pageSize: ctx.request.query.pageSize
|
2654
|
+
pageSize: ctx.request.query.pageSize,
|
2655
|
+
filters
|
2619
2656
|
});
|
2620
2657
|
const loadedIds = res.results.map((item) => item.id);
|
2621
2658
|
addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
|
@@ -4079,7 +4116,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
|
|
4079
4116
|
*/
|
4080
4117
|
async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
|
4081
4118
|
const versionsByLocale = fp.groupBy("locale", allVersions);
|
4082
|
-
|
4119
|
+
if (version.locale) {
|
4120
|
+
delete versionsByLocale[version.locale];
|
4121
|
+
}
|
4083
4122
|
const model = strapi2.getModel(uid2);
|
4084
4123
|
const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
|
4085
4124
|
const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(
|