@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
@@ -2351,15 +2351,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2351
2351
  }
2352
2352
  return mainField;
2353
2353
  };
2354
- const addStatusToRelations = async (uid2, relations2) => {
2355
- if (!contentTypes$1.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2354
+ const addStatusToRelations = async (targetUid, relations2) => {
2355
+ if (!contentTypes$1.hasDraftAndPublish(strapi.getModel(targetUid))) {
2356
2356
  return relations2;
2357
2357
  }
2358
2358
  const documentMetadata2 = getService$1("document-metadata");
2359
- const documentsAvailableStatus = await documentMetadata2.getManyAvailableStatus(uid2, relations2);
2359
+ if (!relations2.length) {
2360
+ return relations2;
2361
+ }
2362
+ const firstRelation = relations2[0];
2363
+ const filters = {
2364
+ documentId: { $in: relations2.map((r) => r.documentId) },
2365
+ // NOTE: find the "opposite" status
2366
+ publishedAt: firstRelation.publishedAt !== null ? { $null: true } : { $notNull: true }
2367
+ };
2368
+ const availableStatus = await strapi.query(targetUid).findMany({
2369
+ select: ["id", "documentId", "locale", "updatedAt", "createdAt", "publishedAt"],
2370
+ filters
2371
+ });
2360
2372
  return relations2.map((relation) => {
2361
- const availableStatuses = documentsAvailableStatus.filter(
2362
- (availableDocument) => availableDocument.documentId === relation.documentId
2373
+ const availableStatuses = availableStatus.filter(
2374
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2363
2375
  );
2364
2376
  return {
2365
2377
  ...relation,
@@ -2588,21 +2600,33 @@ const relations = {
2588
2600
  attribute,
2589
2601
  targetField,
2590
2602
  fieldsToSelect,
2591
- source: {
2592
- schema: { uid: sourceUid }
2593
- },
2594
- target: {
2595
- schema: { uid: targetUid }
2596
- }
2603
+ status,
2604
+ source: { schema: sourceSchema },
2605
+ target: { schema: targetSchema }
2597
2606
  } = await this.extractAndValidateRequestInfo(ctx, id);
2607
+ const { uid: sourceUid } = sourceSchema;
2608
+ const { uid: targetUid } = targetSchema;
2598
2609
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2599
2610
  const dbQuery = strapi.db.query(sourceUid);
2600
2611
  const loadRelations = relations$1.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
2612
+ const filters = {};
2613
+ if (sourceSchema?.options?.draftAndPublish) {
2614
+ if (targetSchema?.options?.draftAndPublish) {
2615
+ if (status === "published") {
2616
+ filters.publishedAt = { $notNull: true };
2617
+ } else {
2618
+ filters.publishedAt = { $null: true };
2619
+ }
2620
+ }
2621
+ } else if (targetSchema?.options?.draftAndPublish) {
2622
+ filters.publishedAt = { $null: true };
2623
+ }
2601
2624
  const res = await loadRelations({ id: entryId }, targetField, {
2602
- select: ["id", "documentId", "locale", "publishedAt"],
2625
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2603
2626
  ordering: "desc",
2604
2627
  page: ctx.request.query.page,
2605
- pageSize: ctx.request.query.pageSize
2628
+ pageSize: ctx.request.query.pageSize,
2629
+ filters
2606
2630
  });
2607
2631
  const loadedIds = res.results.map((item) => item.id);
2608
2632
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4066,7 +4090,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4066
4090
  */
4067
4091
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4068
4092
  const versionsByLocale = groupBy("locale", allVersions);
4069
- delete versionsByLocale[version.locale];
4093
+ if (version.locale) {
4094
+ delete versionsByLocale[version.locale];
4095
+ }
4070
4096
  const model = strapi2.getModel(uid2);
4071
4097
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4072
4098
  const traversalFunction = async (localeVersion) => traverseEntity(