@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
@@ -2338,15 +2338,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2338
2338
  }
2339
2339
  return mainField;
2340
2340
  };
2341
- const addStatusToRelations = async (uid2, relations2) => {
2342
- if (!contentTypes$1.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2341
+ const addStatusToRelations = async (targetUid, relations2) => {
2342
+ if (!contentTypes$1.hasDraftAndPublish(strapi.getModel(targetUid))) {
2343
2343
  return relations2;
2344
2344
  }
2345
2345
  const documentMetadata2 = getService$1("document-metadata");
2346
- const documentsAvailableStatus = await documentMetadata2.getManyAvailableStatus(uid2, relations2);
2346
+ if (!relations2.length) {
2347
+ return relations2;
2348
+ }
2349
+ const firstRelation = relations2[0];
2350
+ const filters = {
2351
+ documentId: { $in: relations2.map((r) => r.documentId) },
2352
+ // NOTE: find the "opposite" status
2353
+ publishedAt: firstRelation.publishedAt !== null ? { $null: true } : { $notNull: true }
2354
+ };
2355
+ const availableStatus = await strapi.query(targetUid).findMany({
2356
+ select: ["id", "documentId", "locale", "updatedAt", "createdAt", "publishedAt"],
2357
+ filters
2358
+ });
2347
2359
  return relations2.map((relation) => {
2348
- const availableStatuses = documentsAvailableStatus.filter(
2349
- (availableDocument) => availableDocument.documentId === relation.documentId
2360
+ const availableStatuses = availableStatus.filter(
2361
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2350
2362
  );
2351
2363
  return {
2352
2364
  ...relation,
@@ -2575,21 +2587,33 @@ const relations = {
2575
2587
  attribute,
2576
2588
  targetField,
2577
2589
  fieldsToSelect,
2578
- source: {
2579
- schema: { uid: sourceUid }
2580
- },
2581
- target: {
2582
- schema: { uid: targetUid }
2583
- }
2590
+ status,
2591
+ source: { schema: sourceSchema },
2592
+ target: { schema: targetSchema }
2584
2593
  } = await this.extractAndValidateRequestInfo(ctx, id);
2594
+ const { uid: sourceUid } = sourceSchema;
2595
+ const { uid: targetUid } = targetSchema;
2585
2596
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2586
2597
  const dbQuery = strapi.db.query(sourceUid);
2587
2598
  const loadRelations = relations$1.isAnyToMany(attribute) ? (...args) => dbQuery.loadPages(...args) : (...args) => dbQuery.load(...args).then((res2) => ({ results: res2 ? [res2] : [] }));
2599
+ const filters = {};
2600
+ if (sourceSchema?.options?.draftAndPublish) {
2601
+ if (targetSchema?.options?.draftAndPublish) {
2602
+ if (status === "published") {
2603
+ filters.publishedAt = { $notNull: true };
2604
+ } else {
2605
+ filters.publishedAt = { $null: true };
2606
+ }
2607
+ }
2608
+ } else if (targetSchema?.options?.draftAndPublish) {
2609
+ filters.publishedAt = { $null: true };
2610
+ }
2588
2611
  const res = await loadRelations({ id: entryId }, targetField, {
2589
- select: ["id", "documentId", "locale", "publishedAt"],
2612
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2590
2613
  ordering: "desc",
2591
2614
  page: ctx.request.query.page,
2592
- pageSize: ctx.request.query.pageSize
2615
+ pageSize: ctx.request.query.pageSize,
2616
+ filters
2593
2617
  });
2594
2618
  const loadedIds = res.results.map((item) => item.id);
2595
2619
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4053,7 +4077,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4053
4077
  */
4054
4078
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4055
4079
  const versionsByLocale = groupBy("locale", allVersions);
4056
- delete versionsByLocale[version.locale];
4080
+ if (version.locale) {
4081
+ delete versionsByLocale[version.locale];
4082
+ }
4057
4083
  const model = strapi2.getModel(uid2);
4058
4084
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4059
4085
  const traversalFunction = async (localeVersion) => traverseEntity(