@strapi/content-manager 0.0.0-experimental.2cfaca2410c03f1dee31ca18c06aedfb313e0fb4 → 0.0.0-experimental.2e2b694fbeb6a64dd7504ce6bccecf956e9eaf03
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-hLMNf7KI.mjs → ComponentConfigurationPage-CIjXcRAB.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-hLMNf7KI.mjs.map → ComponentConfigurationPage-CIjXcRAB.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-DnnZJc1F.js → ComponentConfigurationPage-gsCd80MU.js} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-DnnZJc1F.js.map → ComponentConfigurationPage-gsCd80MU.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-Dh6sq-G4.mjs → EditConfigurationPage-BglmD_BF.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-Dh6sq-G4.mjs.map → EditConfigurationPage-BglmD_BF.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CpLj5gYZ.js → EditConfigurationPage-DHDQKBzw.js} +4 -4
- package/dist/_chunks/{EditConfigurationPage-CpLj5gYZ.js.map → EditConfigurationPage-DHDQKBzw.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-D2QVRr_2.js → EditViewPage-C4iTxUPU.js} +15 -5
- package/dist/_chunks/EditViewPage-C4iTxUPU.js.map +1 -0
- package/dist/_chunks/{EditViewPage-BU1ugeVi.mjs → EditViewPage-CiwVPMaK.mjs} +15 -5
- package/dist/_chunks/EditViewPage-CiwVPMaK.mjs.map +1 -0
- package/dist/_chunks/{Field-VSPY6uzs.mjs → Field-DIjL1b5d.mjs} +70 -26
- package/dist/_chunks/Field-DIjL1b5d.mjs.map +1 -0
- package/dist/_chunks/{Field-BEDX9i_V.js → Field-DhXEK8y1.js} +70 -26
- package/dist/_chunks/Field-DhXEK8y1.js.map +1 -0
- package/dist/_chunks/{Form-05Oaes1N.mjs → Form-CmNesrvR.mjs} +3 -3
- package/dist/_chunks/Form-CmNesrvR.mjs.map +1 -0
- package/dist/_chunks/{Form-DCaY8xBX.js → Form-CwmJ4sWe.js} +3 -3
- package/dist/_chunks/Form-CwmJ4sWe.js.map +1 -0
- package/dist/_chunks/{History-BrJ1tUvt.js → History-BLCCNgCt.js} +24 -11
- package/dist/_chunks/History-BLCCNgCt.js.map +1 -0
- package/dist/_chunks/{History-BqO2G3MV.mjs → History-D-99Wh30.mjs} +25 -12
- package/dist/_chunks/History-D-99Wh30.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Eane5LKE.js → ListConfigurationPage-DxWpeZrO.js} +3 -3
- package/dist/_chunks/{ListConfigurationPage-Eane5LKE.js.map → ListConfigurationPage-DxWpeZrO.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-C6rsFlme.mjs → ListConfigurationPage-JPWZz7Kg.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-C6rsFlme.mjs.map → ListConfigurationPage-JPWZz7Kg.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-Coj-RPsx.js → ListViewPage-CIQekSFz.js} +15 -4
- package/dist/_chunks/ListViewPage-CIQekSFz.js.map +1 -0
- package/dist/_chunks/{ListViewPage-yE_zYhcI.mjs → ListViewPage-DSK3f0ST.mjs} +15 -4
- package/dist/_chunks/{ListViewPage-yE_zYhcI.mjs.map → ListViewPage-DSK3f0ST.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BDJ0dshy.js → NoContentTypePage-C5cxKvC2.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BDJ0dshy.js.map → NoContentTypePage-C5cxKvC2.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-NW_FSVdY.mjs → NoContentTypePage-D99LU1YP.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-NW_FSVdY.mjs.map → NoContentTypePage-D99LU1YP.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-h0I3ImsX.mjs → NoPermissionsPage-DBrBw-0y.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-h0I3ImsX.mjs.map → NoPermissionsPage-DBrBw-0y.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BOtb5FTM.js → NoPermissionsPage-Oy4tmUrW.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BOtb5FTM.js.map → NoPermissionsPage-Oy4tmUrW.js.map} +1 -1
- package/dist/_chunks/{Relations-FP0uWpBz.mjs → Relations-BBmhcWFV.mjs} +69 -36
- package/dist/_chunks/Relations-BBmhcWFV.mjs.map +1 -0
- package/dist/_chunks/{Relations-CVh0DOKv.js → Relations-eG-9p_qS.js} +68 -35
- package/dist/_chunks/Relations-eG-9p_qS.js.map +1 -0
- package/dist/_chunks/{en-BlhnxQfj.js → en-Bm0D0IWz.js} +7 -7
- package/dist/_chunks/{en-BlhnxQfj.js.map → en-Bm0D0IWz.js.map} +1 -1
- package/dist/_chunks/{en-C8YBvRrK.mjs → en-DKV44jRb.mjs} +7 -7
- package/dist/_chunks/{en-C8YBvRrK.mjs.map → en-DKV44jRb.mjs.map} +1 -1
- package/dist/_chunks/{index-DTKVhcla.js → index-BIWDoFLK.js} +124 -87
- package/dist/_chunks/index-BIWDoFLK.js.map +1 -0
- package/dist/_chunks/{index-CPCHQ3X_.mjs → index-BrUzbQ30.mjs} +124 -88
- package/dist/_chunks/index-BrUzbQ30.mjs.map +1 -0
- package/dist/_chunks/{layout-B4UhJ8MJ.mjs → layout-_5-cXs34.mjs} +3 -3
- package/dist/_chunks/{layout-B4UhJ8MJ.mjs.map → layout-_5-cXs34.mjs.map} +1 -1
- package/dist/_chunks/{layout-CWgZzMYf.js → layout-lMc9i1-Z.js} +3 -3
- package/dist/_chunks/{layout-CWgZzMYf.js.map → layout-lMc9i1-Z.js.map} +1 -1
- package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
- package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
- package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
- package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
- package/dist/_chunks/{relations-D81a_2zw.js → relations-BRHithi8.js} +3 -7
- package/dist/_chunks/relations-BRHithi8.js.map +1 -0
- package/dist/_chunks/{relations-B83Ge9a7.mjs → relations-B_VLk-DD.mjs} +3 -7
- package/dist/_chunks/relations-B_VLk-DD.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +2 -0
- package/dist/admin/src/pages/EditView/components/Header.d.ts +1 -0
- 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 +81 -29
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +81 -29
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/collection-types.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/history/services/history.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 +9 -9
- package/dist/_chunks/EditViewPage-BU1ugeVi.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-D2QVRr_2.js.map +0 -1
- package/dist/_chunks/Field-BEDX9i_V.js.map +0 -1
- package/dist/_chunks/Field-VSPY6uzs.mjs.map +0 -1
- package/dist/_chunks/Form-05Oaes1N.mjs.map +0 -1
- package/dist/_chunks/Form-DCaY8xBX.js.map +0 -1
- package/dist/_chunks/History-BqO2G3MV.mjs.map +0 -1
- package/dist/_chunks/History-BrJ1tUvt.js.map +0 -1
- package/dist/_chunks/ListViewPage-Coj-RPsx.js.map +0 -1
- package/dist/_chunks/Relations-CVh0DOKv.js.map +0 -1
- package/dist/_chunks/Relations-FP0uWpBz.mjs.map +0 -1
- package/dist/_chunks/index-CPCHQ3X_.mjs.map +0 -1
- package/dist/_chunks/index-DTKVhcla.js.map +0 -1
- package/dist/_chunks/relations-B83Ge9a7.mjs.map +0 -1
- package/dist/_chunks/relations-D81a_2zw.js.map +0 -1
@@ -33,6 +33,7 @@ type UseDocument = (args: UseDocumentArgs, opts?: UseDocumentOpts) => {
|
|
33
33
|
schema?: Schema;
|
34
34
|
schemas?: Schema[];
|
35
35
|
validate: (document: Document) => null | FormErrors;
|
36
|
+
hasError?: boolean;
|
36
37
|
};
|
37
38
|
/**
|
38
39
|
* @alpha
|
@@ -81,6 +82,7 @@ declare const useDoc: () => {
|
|
81
82
|
schema?: ContentType | undefined;
|
82
83
|
schemas?: ContentType[] | undefined;
|
83
84
|
validate: (document: Document) => null | FormErrors;
|
85
|
+
hasError?: boolean | undefined;
|
84
86
|
collectionType: string;
|
85
87
|
model: string;
|
86
88
|
id: string | undefined;
|
@@ -28,6 +28,7 @@ interface HeaderActionDescription {
|
|
28
28
|
}>;
|
29
29
|
onSelect?: (value: string) => void;
|
30
30
|
value?: string;
|
31
|
+
customizeContent?: (value: string) => React.ReactNode;
|
31
32
|
}
|
32
33
|
declare const DEFAULT_HEADER_ACTIONS: DocumentActionComponent[];
|
33
34
|
export { Header, DEFAULT_HEADER_ACTIONS };
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const FEATURE_ID = "preview";
|
package/dist/server/index.js
CHANGED
@@ -393,7 +393,12 @@ const createHistoryService = ({ strapi: strapi2 }) => {
|
|
393
393
|
if (userToPopulate == null) {
|
394
394
|
return null;
|
395
395
|
}
|
396
|
-
return strapi2.query("admin::user").findOne({
|
396
|
+
return strapi2.query("admin::user").findOne({
|
397
|
+
where: {
|
398
|
+
...userToPopulate.id ? { id: userToPopulate.id } : {},
|
399
|
+
...userToPopulate.documentId ? { documentId: userToPopulate.documentId } : {}
|
400
|
+
}
|
401
|
+
});
|
397
402
|
})
|
398
403
|
);
|
399
404
|
return {
|
@@ -690,7 +695,7 @@ const historyVersion = {
|
|
690
695
|
}
|
691
696
|
}
|
692
697
|
};
|
693
|
-
const getFeature = () => {
|
698
|
+
const getFeature$1 = () => {
|
694
699
|
if (strapi.ee.features.isEnabled("cms-content-history")) {
|
695
700
|
return {
|
696
701
|
register({ strapi: strapi2 }) {
|
@@ -713,7 +718,7 @@ const getFeature = () => {
|
|
713
718
|
}
|
714
719
|
};
|
715
720
|
};
|
716
|
-
const history = getFeature();
|
721
|
+
const history = getFeature$1();
|
717
722
|
const register = async ({ strapi: strapi2 }) => {
|
718
723
|
await history.register?.({ strapi: strapi2 });
|
719
724
|
};
|
@@ -721,6 +726,18 @@ const ALLOWED_WEBHOOK_EVENTS = {
|
|
721
726
|
ENTRY_PUBLISH: "entry.publish",
|
722
727
|
ENTRY_UNPUBLISH: "entry.unpublish"
|
723
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();
|
724
741
|
const bootstrap = async () => {
|
725
742
|
Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {
|
726
743
|
strapi.get("webhookStore").addAllowedEvent(key, value);
|
@@ -730,6 +747,7 @@ const bootstrap = async () => {
|
|
730
747
|
await getService$1("content-types").syncConfigurations();
|
731
748
|
await getService$1("permission").registerPermissions();
|
732
749
|
await history.bootstrap?.({ strapi });
|
750
|
+
await preview.bootstrap?.({ strapi });
|
733
751
|
};
|
734
752
|
const destroy = async ({ strapi: strapi2 }) => {
|
735
753
|
await history.destroy?.({ strapi: strapi2 });
|
@@ -1715,7 +1733,7 @@ const updateDocument = async (ctx, opts) => {
|
|
1715
1733
|
throw new strapiUtils.errors.ForbiddenError();
|
1716
1734
|
}
|
1717
1735
|
const pickPermittedFields = documentVersion ? permissionChecker2.sanitizeUpdateInput(documentVersion) : permissionChecker2.sanitizeCreateInput;
|
1718
|
-
const setCreator = strapiUtils.setCreatorFields({ user, isEdition: true });
|
1736
|
+
const setCreator = documentVersion ? strapiUtils.setCreatorFields({ user, isEdition: true }) : strapiUtils.setCreatorFields({ user });
|
1719
1737
|
const sanitizeFn = strapiUtils.async.pipe(pickPermittedFields, setCreator);
|
1720
1738
|
const sanitizedBody = await sanitizeFn(body);
|
1721
1739
|
return documentManager2.update(documentVersion?.documentId || id, model, {
|
@@ -1924,11 +1942,17 @@ const collectionTypes = {
|
|
1924
1942
|
}
|
1925
1943
|
const isUpdate = !isCreate;
|
1926
1944
|
if (isUpdate) {
|
1927
|
-
|
1928
|
-
if (!
|
1945
|
+
const documentExists = documentManager2.exists(model, id);
|
1946
|
+
if (!documentExists) {
|
1929
1947
|
throw new strapiUtils.errors.NotFoundError("Document not found");
|
1930
1948
|
}
|
1931
|
-
|
1949
|
+
document = await documentManager2.findOne(id, model, { populate, locale });
|
1950
|
+
if (!document) {
|
1951
|
+
if (permissionChecker2.cannot.create({ locale }) || permissionChecker2.cannot.publish({ locale })) {
|
1952
|
+
throw new strapiUtils.errors.ForbiddenError();
|
1953
|
+
}
|
1954
|
+
document = await updateDocument(ctx);
|
1955
|
+
} else if (permissionChecker2.can.update(document)) {
|
1932
1956
|
await updateDocument(ctx);
|
1933
1957
|
}
|
1934
1958
|
}
|
@@ -2353,15 +2377,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
|
|
2353
2377
|
}
|
2354
2378
|
return mainField;
|
2355
2379
|
};
|
2356
|
-
const addStatusToRelations = async (
|
2357
|
-
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.
|
2380
|
+
const addStatusToRelations = async (targetUid, relations2) => {
|
2381
|
+
if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
|
2358
2382
|
return relations2;
|
2359
2383
|
}
|
2360
2384
|
const documentMetadata2 = getService$1("document-metadata");
|
2361
|
-
|
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
|
+
});
|
2362
2398
|
return relations2.map((relation) => {
|
2363
|
-
const availableStatuses =
|
2364
|
-
(availableDocument) => availableDocument.documentId === relation.documentId
|
2399
|
+
const availableStatuses = availableStatus.filter(
|
2400
|
+
(availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
|
2365
2401
|
);
|
2366
2402
|
return {
|
2367
2403
|
...relation,
|
@@ -2382,11 +2418,8 @@ const validateLocale = (sourceUid, targetUid, locale) => {
|
|
2382
2418
|
const isLocalized = strapi.plugin("i18n").service("content-types").isLocalizedContentType;
|
2383
2419
|
const isSourceLocalized = isLocalized(sourceModel);
|
2384
2420
|
const isTargetLocalized = isLocalized(targetModel);
|
2385
|
-
let validatedLocale = locale;
|
2386
|
-
if (!targetModel || !isTargetLocalized)
|
2387
|
-
validatedLocale = void 0;
|
2388
2421
|
return {
|
2389
|
-
locale
|
2422
|
+
locale,
|
2390
2423
|
isSourceLocalized,
|
2391
2424
|
isTargetLocalized
|
2392
2425
|
};
|
@@ -2489,7 +2522,7 @@ const relations = {
|
|
2489
2522
|
attribute,
|
2490
2523
|
fieldsToSelect,
|
2491
2524
|
mainField,
|
2492
|
-
source: { schema: sourceSchema },
|
2525
|
+
source: { schema: sourceSchema, isLocalized: isSourceLocalized },
|
2493
2526
|
target: { schema: targetSchema, isLocalized: isTargetLocalized },
|
2494
2527
|
sourceSchema,
|
2495
2528
|
targetSchema,
|
@@ -2511,7 +2544,8 @@ const relations = {
|
|
2511
2544
|
fieldsToSelect,
|
2512
2545
|
mainField,
|
2513
2546
|
source: {
|
2514
|
-
schema: { uid: sourceUid, modelType: sourceModelType }
|
2547
|
+
schema: { uid: sourceUid, modelType: sourceModelType },
|
2548
|
+
isLocalized: isSourceLocalized
|
2515
2549
|
},
|
2516
2550
|
target: {
|
2517
2551
|
schema: { uid: targetUid },
|
@@ -2553,9 +2587,12 @@ const relations = {
|
|
2553
2587
|
if (!fp.isEmpty(publishedAt)) {
|
2554
2588
|
where[`${alias}.published_at`] = publishedAt;
|
2555
2589
|
}
|
2556
|
-
if (
|
2590
|
+
if (isTargetLocalized && locale) {
|
2557
2591
|
where[`${alias}.locale`] = locale;
|
2558
2592
|
}
|
2593
|
+
if (isSourceLocalized && locale) {
|
2594
|
+
where.locale = locale;
|
2595
|
+
}
|
2559
2596
|
if ((idsToInclude?.length ?? 0) !== 0) {
|
2560
2597
|
where[`${alias}.id`].$notIn = idsToInclude;
|
2561
2598
|
}
|
@@ -2573,7 +2610,8 @@ const relations = {
|
|
2573
2610
|
id: { $notIn: fp.uniq(idsToOmit) }
|
2574
2611
|
});
|
2575
2612
|
}
|
2576
|
-
const
|
2613
|
+
const dbQuery = strapi.get("query-params").transform(targetUid, queryParams);
|
2614
|
+
const res = await strapi.db.query(targetUid).findPage(dbQuery);
|
2577
2615
|
ctx.body = {
|
2578
2616
|
...res,
|
2579
2617
|
results: await addStatusToRelations(targetUid, res.results)
|
@@ -2588,21 +2626,33 @@ const relations = {
|
|
2588
2626
|
attribute,
|
2589
2627
|
targetField,
|
2590
2628
|
fieldsToSelect,
|
2591
|
-
|
2592
|
-
|
2593
|
-
}
|
2594
|
-
target: {
|
2595
|
-
schema: { uid: targetUid }
|
2596
|
-
}
|
2629
|
+
status,
|
2630
|
+
source: { schema: sourceSchema },
|
2631
|
+
target: { schema: targetSchema }
|
2597
2632
|
} = await this.extractAndValidateRequestInfo(ctx, id);
|
2633
|
+
const { uid: sourceUid } = sourceSchema;
|
2634
|
+
const { uid: targetUid } = targetSchema;
|
2598
2635
|
const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
|
2599
2636
|
const dbQuery = strapi.db.query(sourceUid);
|
2600
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
|
+
}
|
2601
2650
|
const res = await loadRelations({ id: entryId }, targetField, {
|
2602
|
-
select: ["id", "documentId", "locale", "publishedAt"],
|
2651
|
+
select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
|
2603
2652
|
ordering: "desc",
|
2604
2653
|
page: ctx.request.query.page,
|
2605
|
-
pageSize: ctx.request.query.pageSize
|
2654
|
+
pageSize: ctx.request.query.pageSize,
|
2655
|
+
filters
|
2606
2656
|
});
|
2607
2657
|
const loadedIds = res.results.map((item) => item.id);
|
2608
2658
|
addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
|
@@ -4066,7 +4116,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
|
|
4066
4116
|
*/
|
4067
4117
|
async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
|
4068
4118
|
const versionsByLocale = fp.groupBy("locale", allVersions);
|
4069
|
-
|
4119
|
+
if (version.locale) {
|
4120
|
+
delete versionsByLocale[version.locale];
|
4121
|
+
}
|
4070
4122
|
const model = strapi2.getModel(uid2);
|
4071
4123
|
const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
|
4072
4124
|
const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(
|