@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
@@ -367,7 +367,12 @@ const createHistoryService = ({ strapi: strapi2 }) => {
367
367
  if (userToPopulate == null) {
368
368
  return null;
369
369
  }
370
- return strapi2.query("admin::user").findOne({ where: { id: userToPopulate.id } });
370
+ return strapi2.query("admin::user").findOne({
371
+ where: {
372
+ ...userToPopulate.id ? { id: userToPopulate.id } : {},
373
+ ...userToPopulate.documentId ? { documentId: userToPopulate.documentId } : {}
374
+ }
375
+ });
371
376
  })
372
377
  );
373
378
  return {
@@ -2333,15 +2338,27 @@ const sanitizeMainField = (model, mainField, userAbility) => {
2333
2338
  }
2334
2339
  return mainField;
2335
2340
  };
2336
- const addStatusToRelations = async (uid2, relations2) => {
2337
- if (!contentTypes$1.hasDraftAndPublish(strapi.contentTypes[uid2])) {
2341
+ const addStatusToRelations = async (targetUid, relations2) => {
2342
+ if (!contentTypes$1.hasDraftAndPublish(strapi.getModel(targetUid))) {
2338
2343
  return relations2;
2339
2344
  }
2340
2345
  const documentMetadata2 = getService$1("document-metadata");
2341
- 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
+ });
2342
2359
  return relations2.map((relation) => {
2343
- const availableStatuses = documentsAvailableStatus.filter(
2344
- (availableDocument) => availableDocument.documentId === relation.documentId
2360
+ const availableStatuses = availableStatus.filter(
2361
+ (availableDocument) => availableDocument.documentId === relation.documentId && (relation.locale ? availableDocument.locale === relation.locale : true)
2345
2362
  );
2346
2363
  return {
2347
2364
  ...relation,
@@ -2570,21 +2587,33 @@ const relations = {
2570
2587
  attribute,
2571
2588
  targetField,
2572
2589
  fieldsToSelect,
2573
- source: {
2574
- schema: { uid: sourceUid }
2575
- },
2576
- target: {
2577
- schema: { uid: targetUid }
2578
- }
2590
+ status,
2591
+ source: { schema: sourceSchema },
2592
+ target: { schema: targetSchema }
2579
2593
  } = await this.extractAndValidateRequestInfo(ctx, id);
2594
+ const { uid: sourceUid } = sourceSchema;
2595
+ const { uid: targetUid } = targetSchema;
2580
2596
  const permissionQuery = await getService$1("permission-checker").create({ userAbility, model: targetUid }).sanitizedQuery.read({ fields: fieldsToSelect });
2581
2597
  const dbQuery = strapi.db.query(sourceUid);
2582
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
+ }
2583
2611
  const res = await loadRelations({ id: entryId }, targetField, {
2584
- select: ["id", "documentId", "locale", "publishedAt"],
2612
+ select: ["id", "documentId", "locale", "publishedAt", "updatedAt"],
2585
2613
  ordering: "desc",
2586
2614
  page: ctx.request.query.page,
2587
- pageSize: ctx.request.query.pageSize
2615
+ pageSize: ctx.request.query.pageSize,
2616
+ filters
2588
2617
  });
2589
2618
  const loadedIds = res.results.map((item) => item.id);
2590
2619
  addFiltersClause(permissionQuery, { id: { $in: loadedIds } });
@@ -4048,7 +4077,9 @@ const documentMetadata = ({ strapi: strapi2 }) => ({
4048
4077
  */
4049
4078
  async getAvailableLocales(uid2, version, allVersions, validatableFields = []) {
4050
4079
  const versionsByLocale = groupBy("locale", allVersions);
4051
- delete versionsByLocale[version.locale];
4080
+ if (version.locale) {
4081
+ delete versionsByLocale[version.locale];
4082
+ }
4052
4083
  const model = strapi2.getModel(uid2);
4053
4084
  const keysToKeep = [...AVAILABLE_LOCALES_FIELDS, ...validatableFields];
4054
4085
  const traversalFunction = async (localeVersion) => traverseEntity(