@strapi/content-manager 0.0.0-experimental.55dabf6295dfb7987fcab8a6b40212555f0e684c → 0.0.0-experimental.56109c4ad2fb374b04c392a229599354fa6586e1

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 (80) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js → ComponentConfigurationPage-CQDCxI8x.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-FqfsxQ1j.js.map → ComponentConfigurationPage-CQDCxI8x.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs → ComponentConfigurationPage-jmWwucg_.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-DfFSZQxe.mjs.map → ComponentConfigurationPage-jmWwucg_.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js → EditConfigurationPage-Ce4bIm4n.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-Cn0e8t3I.js.map → EditConfigurationPage-Ce4bIm4n.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs → EditConfigurationPage-W07CEdm2.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-DdPNAbl3.mjs.map → EditConfigurationPage-W07CEdm2.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DlxEHhUt.js → EditViewPage-CqHMM0P0.js} +3 -3
  10. package/dist/_chunks/EditViewPage-CqHMM0P0.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-B82x_x1b.mjs → EditViewPage-al5OO1NR.mjs} +3 -3
  12. package/dist/_chunks/EditViewPage-al5OO1NR.mjs.map +1 -0
  13. package/dist/_chunks/{Field-COL25JiC.js → Field-DSOUlTCm.js} +3 -3
  14. package/dist/_chunks/{Field-COL25JiC.js.map → Field-DSOUlTCm.js.map} +1 -1
  15. package/dist/_chunks/{Field-DufHXW17.mjs → Field-EeG6NQ7x.mjs} +3 -3
  16. package/dist/_chunks/{Field-DufHXW17.mjs.map → Field-EeG6NQ7x.mjs.map} +1 -1
  17. package/dist/_chunks/{Form-u_kAOhwB.mjs → Form-BAo9ANb_.mjs} +2 -2
  18. package/dist/_chunks/{Form-u_kAOhwB.mjs.map → Form-BAo9ANb_.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-BssUwrTO.js → Form-DAEfHKzm.js} +2 -2
  20. package/dist/_chunks/{Form-BssUwrTO.js.map → Form-DAEfHKzm.js.map} +1 -1
  21. package/dist/_chunks/{History-DRwA3oMM.mjs → History-BpLIu67W.mjs} +4 -4
  22. package/dist/_chunks/{History-DRwA3oMM.mjs.map → History-BpLIu67W.mjs.map} +1 -1
  23. package/dist/_chunks/{History-C9t9UqpO.js → History-CTFvy6XH.js} +4 -4
  24. package/dist/_chunks/{History-C9t9UqpO.js.map → History-CTFvy6XH.js.map} +1 -1
  25. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js → ListConfigurationPage-CDzlMBz_.js} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-BXYPohh-.js.map → ListConfigurationPage-CDzlMBz_.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs → ListConfigurationPage-DOqj5f8Y.mjs} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-BxfQJzPk.mjs.map → ListConfigurationPage-DOqj5f8Y.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs → ListViewPage-BbXYNI0v.mjs} +3 -3
  30. package/dist/_chunks/{ListViewPage-CELx2ysp.mjs.map → ListViewPage-BbXYNI0v.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-D2VD8Szg.js → ListViewPage-D0fpPYKp.js} +3 -3
  32. package/dist/_chunks/{ListViewPage-D2VD8Szg.js.map → ListViewPage-D0fpPYKp.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js → NoContentTypePage-DTzkSAV5.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BV9IjJSM.js.map → NoContentTypePage-DTzkSAV5.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs → NoContentTypePage-w2Q0VVOT.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DtJ9jcfk.mjs.map → NoContentTypePage-w2Q0VVOT.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js → NoPermissionsPage-BoI2rU68.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-Dp8NpF9I.js.map → NoPermissionsPage-BoI2rU68.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs → NoPermissionsPage-Km0Vk5Wp.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-DWleVYK7.mjs.map → NoPermissionsPage-Km0Vk5Wp.mjs.map} +1 -1
  41. package/dist/_chunks/{Relations-BTcf5xaw.mjs → Relations-C_bpmSuQ.mjs} +22 -9
  42. package/dist/_chunks/Relations-C_bpmSuQ.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-DR7EUgyC.js → Relations-D6Nz5ksc.js} +22 -9
  44. package/dist/_chunks/Relations-D6Nz5ksc.js.map +1 -0
  45. package/dist/_chunks/{index-BdMf2lfT.js → index-BsMu2oVP.js} +28 -14
  46. package/dist/_chunks/index-BsMu2oVP.js.map +1 -0
  47. package/dist/_chunks/{index-wnqzm4Q8.mjs → index-DcQ6xogO.mjs} +27 -14
  48. package/dist/_chunks/index-DcQ6xogO.mjs.map +1 -0
  49. package/dist/_chunks/{layout-B2MyZU-_.js → layout-B4aCAdTt.js} +3 -3
  50. package/dist/_chunks/{layout-B2MyZU-_.js.map → layout-B4aCAdTt.js.map} +1 -1
  51. package/dist/_chunks/{layout-2CfjL0T9.mjs → layout-BavJ6v4B.mjs} +3 -3
  52. package/dist/_chunks/{layout-2CfjL0T9.mjs.map → layout-BavJ6v4B.mjs.map} +1 -1
  53. package/dist/_chunks/{relations-C0w0GcXi.mjs → relations-DMG453Od.mjs} +2 -2
  54. package/dist/_chunks/{relations-C0w0GcXi.mjs.map → relations-DMG453Od.mjs.map} +1 -1
  55. package/dist/_chunks/{relations-BH7JJGGe.js → relations-Lrm9nz_m.js} +2 -2
  56. package/dist/_chunks/{relations-BH7JJGGe.js.map → relations-Lrm9nz_m.js.map} +1 -1
  57. package/dist/admin/index.js +1 -1
  58. package/dist/admin/index.mjs +1 -1
  59. package/dist/server/index.js +40 -14
  60. package/dist/server/index.js.map +1 -1
  61. package/dist/server/index.mjs +40 -14
  62. package/dist/server/index.mjs.map +1 -1
  63. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  64. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  65. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  66. package/dist/server/src/index.d.ts +4 -4
  67. package/dist/server/src/services/document-metadata.d.ts +8 -8
  68. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  69. package/dist/server/src/services/index.d.ts +4 -4
  70. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  71. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  72. package/dist/server/src/utils/index.d.ts +2 -0
  73. package/dist/server/src/utils/index.d.ts.map +1 -1
  74. package/package.json +6 -6
  75. package/dist/_chunks/EditViewPage-B82x_x1b.mjs.map +0 -1
  76. package/dist/_chunks/EditViewPage-DlxEHhUt.js.map +0 -1
  77. package/dist/_chunks/Relations-BTcf5xaw.mjs.map +0 -1
  78. package/dist/_chunks/Relations-DR7EUgyC.js.map +0 -1
  79. package/dist/_chunks/index-BdMf2lfT.js.map +0 -1
  80. package/dist/_chunks/index-wnqzm4Q8.mjs.map +0 -1
@@ -2364,15 +2364,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2364
2364
  }
2365
2365
  return mainField;
2366
2366
  };
2367
- const addStatusToRelations = async (uid2, relations2) => {
2368
- if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2367
+ const addStatusToRelations = async (targetUid, relations2) => {
2368
+ if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
2369
2369
  return relations2;
2370
2370
  }
2371
2371
  const documentMetadata2 = getService$1("document-metadata");
2372
- const documentsAvailableStatus = await documentMetadata2.getManyAvailableStatus(uid2, relations2);
2372
+ if (!relations2.length) {
2373
+ return relations2;
2374
+ }
2375
+ const firstRelation = relations2[0];
2376
+ const filters = {
2377
+ documentId: { $in: relations2.map((r) => r.documentId) },
2378
+ // NOTE: find the "opposite" status
2379
+ publishedAt: firstRelation.publishedAt !== null ? { $null: true } : { $notNull: true }
2380
+ };
2381
+ const availableStatus = await strapi.query(targetUid).findMany({
2382
+ select: ["id", "documentId", "locale", "updatedAt", "createdAt", "publishedAt"],
2383
+ filters
2384
+ });
2373
2385
  return relations2.map((relation) => {
2374
- const availableStatuses = documentsAvailableStatus.filter(
2375
- (availableDocument) => availableDocument.documentId === relation.documentId
2386
+ const availableStatuses = availableStatus.filter(
2387
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2376
2388
  );
2377
2389
  return {
2378
2390
  ...relation,
@@ -2601,21 +2613,33 @@ const relations = {
2601
2613
  attribute,
2602
2614
  targetField,
2603
2615
  fieldsToSelect,
2604
- source: {
2605
- schema: { uid: sourceUid }
2606
- },
2607
- target: {
2608
- schema: { uid: targetUid }
2609
- }
2616
+ status,
2617
+ source: { schema: sourceSchema },
2618
+ target: { schema: targetSchema }
2610
2619
  } = await this.extractAndValidateRequestInfo(ctx, id);
2620
+ const { uid: sourceUid } = sourceSchema;
2621
+ const { uid: targetUid } = targetSchema;
2611
2622
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2612
2623
  const dbQuery = strapi.db.query(sourceUid);
2613
2624
  const loadRelations = strapiUtils.relations.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
2625
+ const filters = {};
2626
+ if (sourceSchema?.options?.draftAndPublish) {
2627
+ if (targetSchema?.options?.draftAndPublish) {
2628
+ if (status === "published") {
2629
+ filters.publishedAt = { $notNull: true };
2630
+ } else {
2631
+ filters.publishedAt = { $null: true };
2632
+ }
2633
+ }
2634
+ } else if (targetSchema?.options?.draftAndPublish) {
2635
+ filters.publishedAt = { $null: true };
2636
+ }
2614
2637
  const res = await loadRelations({ id: entryId }, targetField, {
2615
- select: ["id", "documentId", "locale", "publishedAt"],
2638
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2616
2639
  ordering: "desc",
2617
2640
  page: ctx.request.query.page,
2618
- pageSize: ctx.request.query.pageSize
2641
+ pageSize: ctx.request.query.pageSize,
2642
+ filters
2619
2643
  });
2620
2644
  const loadedIds = res.results.map((item) => item.id);
2621
2645
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4079,7 +4103,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4079
4103
  */
4080
4104
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4081
4105
  const versionsByLocale = fp.groupBy("locale", allVersions);
4082
- delete versionsByLocale[version.locale];
4106
+ if (version.locale) {
4107
+ delete versionsByLocale[version.locale];
4108
+ }
4083
4109
  const model = strapi2.getModel(uid2);
4084
4110
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4085
4111
  const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(