@strapi/content-manager 0.0.0-next.4052765aa209dd4f3d92b81baee295fc0213c04c → 0.0.0-next.5007ea441db2bdbc04f35e1169b3798c068f5d46

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.
Files changed (84) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DUXYqQwA.mjs → ComponentConfigurationPage-CIjXcRAB.mjs} +4 -4
  2. package/dist/_chunks/{ComponentConfigurationPage-DUXYqQwA.mjs.map → ComponentConfigurationPage-CIjXcRAB.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-BEGp0IOV.js → ComponentConfigurationPage-gsCd80MU.js} +4 -4
  4. package/dist/_chunks/{ComponentConfigurationPage-BEGp0IOV.js.map → ComponentConfigurationPage-gsCd80MU.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-D7PzCWYW.mjs → EditConfigurationPage-BglmD_BF.mjs} +4 -4
  6. package/dist/_chunks/{EditConfigurationPage-D7PzCWYW.mjs.map → EditConfigurationPage-BglmD_BF.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-BFAn2GH9.js → EditConfigurationPage-DHDQKBzw.js} +4 -4
  8. package/dist/_chunks/{EditConfigurationPage-BFAn2GH9.js.map → EditConfigurationPage-DHDQKBzw.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-CB017yCP.js → EditViewPage-C4iTxUPU.js} +3 -3
  10. package/dist/_chunks/EditViewPage-C4iTxUPU.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-DmKviP3U.mjs → EditViewPage-CiwVPMaK.mjs} +3 -3
  12. package/dist/_chunks/EditViewPage-CiwVPMaK.mjs.map +1 -0
  13. package/dist/_chunks/{Field-DztIyw14.mjs → Field-DIjL1b5d.mjs} +4 -4
  14. package/dist/_chunks/{Field-DztIyw14.mjs.map → Field-DIjL1b5d.mjs.map} +1 -1
  15. package/dist/_chunks/{Field-ByXbOZL6.js → Field-DhXEK8y1.js} +4 -4
  16. package/dist/_chunks/{Field-ByXbOZL6.js.map → Field-DhXEK8y1.js.map} +1 -1
  17. package/dist/_chunks/{Form-D993gfLL.mjs → Form-CmNesrvR.mjs} +2 -2
  18. package/dist/_chunks/{Form-D993gfLL.mjs.map → Form-CmNesrvR.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-WgML3Oqo.js → Form-CwmJ4sWe.js} +2 -2
  20. package/dist/_chunks/{Form-WgML3Oqo.js.map → Form-CwmJ4sWe.js.map} +1 -1
  21. package/dist/_chunks/{History-BmxGh1cB.js → History-BLCCNgCt.js} +4 -4
  22. package/dist/_chunks/{History-BmxGh1cB.js.map → History-BLCCNgCt.js.map} +1 -1
  23. package/dist/_chunks/{History-GcW_hfMD.mjs → History-D-99Wh30.mjs} +4 -4
  24. package/dist/_chunks/{History-GcW_hfMD.mjs.map → History-D-99Wh30.mjs.map} +1 -1
  25. package/dist/_chunks/{ListConfigurationPage-16rxMcAO.js → ListConfigurationPage-DxWpeZrO.js} +3 -3
  26. package/dist/_chunks/{ListConfigurationPage-16rxMcAO.js.map → ListConfigurationPage-DxWpeZrO.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-kBho1y__.mjs → ListConfigurationPage-JPWZz7Kg.mjs} +3 -3
  28. package/dist/_chunks/{ListConfigurationPage-kBho1y__.mjs.map → ListConfigurationPage-JPWZz7Kg.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-BXqw44Ja.js → ListViewPage-CIQekSFz.js} +3 -3
  30. package/dist/_chunks/{ListViewPage-BXqw44Ja.js.map → ListViewPage-CIQekSFz.js.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-6rg02vWk.mjs → ListViewPage-DSK3f0ST.mjs} +3 -3
  32. package/dist/_chunks/{ListViewPage-6rg02vWk.mjs.map → ListViewPage-DSK3f0ST.mjs.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-DYfH0OD-.js → NoContentTypePage-C5cxKvC2.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-DYfH0OD-.js.map → NoContentTypePage-C5cxKvC2.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-BVtZUY-U.mjs → NoContentTypePage-D99LU1YP.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-BVtZUY-U.mjs.map → NoContentTypePage-D99LU1YP.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-D9R6cWCY.mjs → NoPermissionsPage-DBrBw-0y.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-D9R6cWCY.mjs.map → NoPermissionsPage-DBrBw-0y.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-ClDJKdA9.js → NoPermissionsPage-Oy4tmUrW.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-ClDJKdA9.js.map → NoPermissionsPage-Oy4tmUrW.js.map} +1 -1
  41. package/dist/_chunks/{Relations-uEN7K10I.mjs → Relations-BBmhcWFV.mjs} +41 -17
  42. package/dist/_chunks/Relations-BBmhcWFV.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CvsqEtYj.js → Relations-eG-9p_qS.js} +40 -16
  44. package/dist/_chunks/Relations-eG-9p_qS.js.map +1 -0
  45. package/dist/_chunks/{index-BrzMjag-.js → index-BIWDoFLK.js} +31 -19
  46. package/dist/_chunks/{index-BrzMjag-.js.map → index-BIWDoFLK.js.map} +1 -1
  47. package/dist/_chunks/{index-BHBrXMdZ.mjs → index-BrUzbQ30.mjs} +30 -19
  48. package/dist/_chunks/{index-BHBrXMdZ.mjs.map → index-BrUzbQ30.mjs.map} +1 -1
  49. package/dist/_chunks/{layout-TDRwTVM6.mjs → layout-_5-cXs34.mjs} +3 -3
  50. package/dist/_chunks/{layout-TDRwTVM6.mjs.map → layout-_5-cXs34.mjs.map} +1 -1
  51. package/dist/_chunks/{layout-Dwmw0D0e.js → layout-lMc9i1-Z.js} +3 -3
  52. package/dist/_chunks/{layout-Dwmw0D0e.js.map → layout-lMc9i1-Z.js.map} +1 -1
  53. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  54. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  55. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  56. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  57. package/dist/_chunks/{relations-CIcMvUXZ.js → relations-BRHithi8.js} +3 -7
  58. package/dist/_chunks/relations-BRHithi8.js.map +1 -0
  59. package/dist/_chunks/{relations-41Z1upHL.mjs → relations-B_VLk-DD.mjs} +3 -7
  60. package/dist/_chunks/relations-B_VLk-DD.mjs.map +1 -0
  61. package/dist/admin/index.js +1 -1
  62. package/dist/admin/index.mjs +1 -1
  63. package/dist/server/index.js +40 -14
  64. package/dist/server/index.js.map +1 -1
  65. package/dist/server/index.mjs +40 -14
  66. package/dist/server/index.mjs.map +1 -1
  67. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  68. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  69. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  70. package/dist/server/src/index.d.ts +4 -4
  71. package/dist/server/src/services/document-metadata.d.ts +8 -8
  72. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  73. package/dist/server/src/services/index.d.ts +4 -4
  74. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  75. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  76. package/dist/server/src/utils/index.d.ts +2 -0
  77. package/dist/server/src/utils/index.d.ts.map +1 -1
  78. package/package.json +6 -6
  79. package/dist/_chunks/EditViewPage-CB017yCP.js.map +0 -1
  80. package/dist/_chunks/EditViewPage-DmKviP3U.mjs.map +0 -1
  81. package/dist/_chunks/Relations-CvsqEtYj.js.map +0 -1
  82. package/dist/_chunks/Relations-uEN7K10I.mjs.map +0 -1
  83. package/dist/_chunks/relations-41Z1upHL.mjs.map +0 -1
  84. package/dist/_chunks/relations-CIcMvUXZ.js.map +0 -1
@@ -2377,15 +2377,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2377
2377
  }
2378
2378
  return mainField;
2379
2379
  };
2380
- const addStatusToRelations = async (uid2, relations2) => {
2381
- if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2380
+ const addStatusToRelations = async (targetUid, relations2) => {
2381
+ if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
2382
2382
  return relations2;
2383
2383
  }
2384
2384
  const documentMetadata2 = getService$1("document-metadata");
2385
- const documentsAvailableStatus = await documentMetadata2.getManyAvailableStatus(uid2, relations2);
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
+ });
2386
2398
  return relations2.map((relation) => {
2387
- const availableStatuses = documentsAvailableStatus.filter(
2388
- (availableDocument) => availableDocument.documentId === relation.documentId
2399
+ const availableStatuses = availableStatus.filter(
2400
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2389
2401
  );
2390
2402
  return {
2391
2403
  ...relation,
@@ -2614,21 +2626,33 @@ const relations = {
2614
2626
  attribute,
2615
2627
  targetField,
2616
2628
  fieldsToSelect,
2617
- source: {
2618
- schema: { uid: sourceUid }
2619
- },
2620
- target: {
2621
- schema: { uid: targetUid }
2622
- }
2629
+ status,
2630
+ source: { schema: sourceSchema },
2631
+ target: { schema: targetSchema }
2623
2632
  } = await this.extractAndValidateRequestInfo(ctx, id);
2633
+ const { uid: sourceUid } = sourceSchema;
2634
+ const { uid: targetUid } = targetSchema;
2624
2635
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2625
2636
  const dbQuery = strapi.db.query(sourceUid);
2626
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
+ }
2627
2650
  const res = await loadRelations({ id: entryId }, targetField, {
2628
- select: ["id", "documentId", "locale", "publishedAt"],
2651
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2629
2652
  ordering: "desc",
2630
2653
  page: ctx.request.query.page,
2631
- pageSize: ctx.request.query.pageSize
2654
+ pageSize: ctx.request.query.pageSize,
2655
+ filters
2632
2656
  });
2633
2657
  const loadedIds = res.results.map((item) => item.id);
2634
2658
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4092,7 +4116,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4092
4116
  */
4093
4117
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4094
4118
  const versionsByLocale = fp.groupBy("locale", allVersions);
4095
- delete versionsByLocale[version.locale];
4119
+ if (version.locale) {
4120
+ delete versionsByLocale[version.locale];
4121
+ }
4096
4122
  const model = strapi2.getModel(uid2);
4097
4123
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4098
4124
  const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(