@strapi/content-manager 0.0.0-experimental.5788c38836be65c0321a2dcadbdf44f04b798e8a → 0.0.0-experimental.5a34dd1236f692f16e40784fcca5c11e0e55dc5a

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 (87) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-B42mQr1K.js → ComponentConfigurationPage-CQDCxI8x.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-B42mQr1K.js.map → ComponentConfigurationPage-CQDCxI8x.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-D1YuKq8j.mjs → ComponentConfigurationPage-jmWwucg_.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-D1YuKq8j.mjs.map → ComponentConfigurationPage-jmWwucg_.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-NC89F29V.js → EditConfigurationPage-Ce4bIm4n.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-NC89F29V.js.map → EditConfigurationPage-Ce4bIm4n.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-C9yiwgI_.mjs → EditConfigurationPage-W07CEdm2.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-C9yiwgI_.mjs.map → EditConfigurationPage-W07CEdm2.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DYDpe5Wi.js → EditViewPage-CqHMM0P0.js} +3 -3
  10. package/dist/_chunks/EditViewPage-CqHMM0P0.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-k8UcfVwt.mjs → EditViewPage-al5OO1NR.mjs} +3 -3
  12. package/dist/_chunks/EditViewPage-al5OO1NR.mjs.map +1 -0
  13. package/dist/_chunks/{Field-Crhugun2.js → Field-DSOUlTCm.js} +11 -7
  14. package/dist/_chunks/Field-DSOUlTCm.js.map +1 -0
  15. package/dist/_chunks/{Field-BLL5lknV.mjs → Field-EeG6NQ7x.mjs} +11 -7
  16. package/dist/_chunks/Field-EeG6NQ7x.mjs.map +1 -0
  17. package/dist/_chunks/{Form-UHu2eOuG.mjs → Form-BAo9ANb_.mjs} +3 -3
  18. package/dist/_chunks/Form-BAo9ANb_.mjs.map +1 -0
  19. package/dist/_chunks/{Form-DUU19g6M.js → Form-DAEfHKzm.js} +3 -3
  20. package/dist/_chunks/Form-DAEfHKzm.js.map +1 -0
  21. package/dist/_chunks/{History-CpxkZXS3.mjs → History-BpLIu67W.mjs} +24 -11
  22. package/dist/_chunks/History-BpLIu67W.mjs.map +1 -0
  23. package/dist/_chunks/{History-CyA8tvJZ.js → History-CTFvy6XH.js} +23 -10
  24. package/dist/_chunks/History-CTFvy6XH.js.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-pJV7aG2V.js → ListConfigurationPage-CDzlMBz_.js} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-pJV7aG2V.js.map → ListConfigurationPage-CDzlMBz_.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-OUwV8QF1.mjs → ListConfigurationPage-DOqj5f8Y.mjs} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-OUwV8QF1.mjs.map → ListConfigurationPage-DOqj5f8Y.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-BOnhCGkE.mjs → ListViewPage-BbXYNI0v.mjs} +3 -3
  30. package/dist/_chunks/{ListViewPage-BOnhCGkE.mjs.map → ListViewPage-BbXYNI0v.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-BIT0M8VG.js → ListViewPage-D0fpPYKp.js} +3 -3
  32. package/dist/_chunks/{ListViewPage-BIT0M8VG.js.map → ListViewPage-D0fpPYKp.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-uIBsBUmH.js → NoContentTypePage-DTzkSAV5.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-uIBsBUmH.js.map → NoContentTypePage-DTzkSAV5.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-CwjlHGTn.mjs → NoContentTypePage-w2Q0VVOT.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-CwjlHGTn.mjs.map → NoContentTypePage-w2Q0VVOT.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-C8wkEaOF.js → NoPermissionsPage-BoI2rU68.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-C8wkEaOF.js.map → NoPermissionsPage-BoI2rU68.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-CcWbyT_z.mjs → NoPermissionsPage-Km0Vk5Wp.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-CcWbyT_z.mjs.map → NoPermissionsPage-Km0Vk5Wp.mjs.map} +1 -1
  41. package/dist/_chunks/{Relations-wIdWJnA9.mjs → Relations-C_bpmSuQ.mjs} +22 -9
  42. package/dist/_chunks/Relations-C_bpmSuQ.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CwRu_eZv.js → Relations-D6Nz5ksc.js} +22 -9
  44. package/dist/_chunks/Relations-D6Nz5ksc.js.map +1 -0
  45. package/dist/_chunks/{index-BO-T2BdP.js → index-BsMu2oVP.js} +52 -25
  46. package/dist/_chunks/index-BsMu2oVP.js.map +1 -0
  47. package/dist/_chunks/{index-BQ8DxaCa.mjs → index-DcQ6xogO.mjs} +52 -26
  48. package/dist/_chunks/index-DcQ6xogO.mjs.map +1 -0
  49. package/dist/_chunks/{layout-BTB1_M8g.js → layout-B4aCAdTt.js} +3 -3
  50. package/dist/_chunks/{layout-BTB1_M8g.js.map → layout-B4aCAdTt.js.map} +1 -1
  51. package/dist/_chunks/{layout-N63eyE5E.mjs → layout-BavJ6v4B.mjs} +3 -3
  52. package/dist/_chunks/{layout-N63eyE5E.mjs.map → layout-BavJ6v4B.mjs.map} +1 -1
  53. package/dist/_chunks/{relations-Bh9r0CVE.mjs → relations-DMG453Od.mjs} +2 -2
  54. package/dist/_chunks/{relations-Bh9r0CVE.mjs.map → relations-DMG453Od.mjs.map} +1 -1
  55. package/dist/_chunks/{relations-C9AQuM2z.js → relations-Lrm9nz_m.js} +2 -2
  56. package/dist/_chunks/{relations-C9AQuM2z.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 +46 -15
  60. package/dist/server/index.js.map +1 -1
  61. package/dist/server/index.mjs +46 -15
  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/history/services/history.d.ts.map +1 -1
  67. package/dist/server/src/index.d.ts +4 -4
  68. package/dist/server/src/services/document-metadata.d.ts +8 -8
  69. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  70. package/dist/server/src/services/index.d.ts +4 -4
  71. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  72. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  73. package/dist/server/src/utils/index.d.ts +2 -0
  74. package/dist/server/src/utils/index.d.ts.map +1 -1
  75. package/package.json +7 -7
  76. package/dist/_chunks/EditViewPage-DYDpe5Wi.js.map +0 -1
  77. package/dist/_chunks/EditViewPage-k8UcfVwt.mjs.map +0 -1
  78. package/dist/_chunks/Field-BLL5lknV.mjs.map +0 -1
  79. package/dist/_chunks/Field-Crhugun2.js.map +0 -1
  80. package/dist/_chunks/Form-DUU19g6M.js.map +0 -1
  81. package/dist/_chunks/Form-UHu2eOuG.mjs.map +0 -1
  82. package/dist/_chunks/History-CpxkZXS3.mjs.map +0 -1
  83. package/dist/_chunks/History-CyA8tvJZ.js.map +0 -1
  84. package/dist/_chunks/Relations-CwRu_eZv.js.map +0 -1
  85. package/dist/_chunks/Relations-wIdWJnA9.mjs.map +0 -1
  86. package/dist/_chunks/index-BO-T2BdP.js.map +0 -1
  87. package/dist/_chunks/index-BQ8DxaCa.mjs.map +0 -1
@@ -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({ where: { id: userToPopulate.id } });
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 {
@@ -2359,15 +2364,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2359
2364
  }
2360
2365
  return mainField;
2361
2366
  };
2362
- const addStatusToRelations = async (uid2, relations2) => {
2363
- if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2367
+ const addStatusToRelations = async (targetUid, relations2) => {
2368
+ if (!strapiUtils.contentTypes.hasDraftAndPublish(strapi.getModel(targetUid))) {
2364
2369
  return relations2;
2365
2370
  }
2366
2371
  const documentMetadata2 = getService$1("document-metadata");
2367
- 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
+ });
2368
2385
  return relations2.map((relation) => {
2369
- const availableStatuses = documentsAvailableStatus.filter(
2370
- (availableDocument) => availableDocument.documentId === relation.documentId
2386
+ const availableStatuses = availableStatus.filter(
2387
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2371
2388
  );
2372
2389
  return {
2373
2390
  ...relation,
@@ -2596,21 +2613,33 @@ const relations = {
2596
2613
  attribute,
2597
2614
  targetField,
2598
2615
  fieldsToSelect,
2599
- source: {
2600
- schema: { uid: sourceUid }
2601
- },
2602
- target: {
2603
- schema: { uid: targetUid }
2604
- }
2616
+ status,
2617
+ source: { schema: sourceSchema },
2618
+ target: { schema: targetSchema }
2605
2619
  } = await this.extractAndValidateRequestInfo(ctx, id);
2620
+ const { uid: sourceUid } = sourceSchema;
2621
+ const { uid: targetUid } = targetSchema;
2606
2622
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2607
2623
  const dbQuery = strapi.db.query(sourceUid);
2608
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
+ }
2609
2637
  const res = await loadRelations({ id: entryId }, targetField, {
2610
- select: ["id", "documentId", "locale", "publishedAt"],
2638
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2611
2639
  ordering: "desc",
2612
2640
  page: ctx.request.query.page,
2613
- pageSize: ctx.request.query.pageSize
2641
+ pageSize: ctx.request.query.pageSize,
2642
+ filters
2614
2643
  });
2615
2644
  const loadedIds = res.results.map((item) => item.id);
2616
2645
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4074,7 +4103,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4074
4103
  */
4075
4104
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4076
4105
  const versionsByLocale = fp.groupBy("locale", allVersions);
4077
- delete versionsByLocale[version.locale];
4106
+ if (version.locale) {
4107
+ delete versionsByLocale[version.locale];
4108
+ }
4078
4109
  const model = strapi2.getModel(uid2);
4079
4110
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4080
4111
  const traversalFunction = async (localeVersion) => strapiUtils.traverseEntity(