@strapi/content-manager 0.0.0-experimental.afa3b513b8f95459043f33fb94f4bac03af1474f → 0.0.0-experimental.bb39175992a5cd205a7e3f2e13a96aa31eba2cff

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 (86) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js → ComponentConfigurationPage-CQDCxI8x.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-G4EIirP8.js.map → ComponentConfigurationPage-CQDCxI8x.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs → ComponentConfigurationPage-jmWwucg_.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-CnL10QYC.mjs.map → ComponentConfigurationPage-jmWwucg_.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js → EditConfigurationPage-Ce4bIm4n.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-B2AA1kVF.js.map → EditConfigurationPage-Ce4bIm4n.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs → EditConfigurationPage-W07CEdm2.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-I2kKh9dx.mjs.map → EditConfigurationPage-W07CEdm2.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-CHgoNwlc.js → EditViewPage-CqHMM0P0.js} +15 -5
  10. package/dist/_chunks/EditViewPage-CqHMM0P0.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-zFjJK0s8.mjs → EditViewPage-al5OO1NR.mjs} +15 -5
  12. package/dist/_chunks/EditViewPage-al5OO1NR.mjs.map +1 -0
  13. package/dist/_chunks/{Field-9DePZh-0.js → Field-DSOUlTCm.js} +69 -25
  14. package/dist/_chunks/Field-DSOUlTCm.js.map +1 -0
  15. package/dist/_chunks/{Field-DPAzUS1M.mjs → Field-EeG6NQ7x.mjs} +69 -25
  16. package/dist/_chunks/Field-EeG6NQ7x.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CEkENbkF.mjs → Form-BAo9ANb_.mjs} +3 -3
  18. package/dist/_chunks/Form-BAo9ANb_.mjs.map +1 -0
  19. package/dist/_chunks/{Form-DPm-KZ1A.js → Form-DAEfHKzm.js} +3 -3
  20. package/dist/_chunks/Form-DAEfHKzm.js.map +1 -0
  21. package/dist/_chunks/{History-utls71em.mjs → History-BpLIu67W.mjs} +24 -11
  22. package/dist/_chunks/History-BpLIu67W.mjs.map +1 -0
  23. package/dist/_chunks/{History-DXSbTWez.js → History-CTFvy6XH.js} +23 -10
  24. package/dist/_chunks/History-CTFvy6XH.js.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js → ListConfigurationPage-CDzlMBz_.js} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-D5C7ACZ_.js.map → ListConfigurationPage-CDzlMBz_.js.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs → ListConfigurationPage-DOqj5f8Y.mjs} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-CuMXWWqb.mjs.map → ListConfigurationPage-DOqj5f8Y.mjs.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs → ListViewPage-BbXYNI0v.mjs} +4 -4
  30. package/dist/_chunks/{ListViewPage-CdKd-PS_.mjs.map → ListViewPage-BbXYNI0v.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-DfuwH1tt.js → ListViewPage-D0fpPYKp.js} +4 -4
  32. package/dist/_chunks/{ListViewPage-DfuwH1tt.js.map → ListViewPage-D0fpPYKp.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js → NoContentTypePage-DTzkSAV5.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BIxlkWWi.js.map → NoContentTypePage-DTzkSAV5.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs → NoContentTypePage-w2Q0VVOT.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DkToTT7u.mjs.map → NoContentTypePage-w2Q0VVOT.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js → NoPermissionsPage-BoI2rU68.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-Bu4GWYb-.js.map → NoPermissionsPage-BoI2rU68.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs → NoPermissionsPage-Km0Vk5Wp.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-DlWi4BAH.mjs.map → NoPermissionsPage-Km0Vk5Wp.mjs.map} +1 -1
  41. package/dist/_chunks/{Relations-QP5yn9_z.mjs → Relations-C_bpmSuQ.mjs} +50 -28
  42. package/dist/_chunks/Relations-C_bpmSuQ.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CFjTESWQ.js → Relations-D6Nz5ksc.js} +50 -28
  44. package/dist/_chunks/Relations-D6Nz5ksc.js.map +1 -0
  45. package/dist/_chunks/{en-BVzUkPxZ.js → en-Bm0D0IWz.js} +8 -8
  46. package/dist/_chunks/{en-BVzUkPxZ.js.map → en-Bm0D0IWz.js.map} +1 -1
  47. package/dist/_chunks/{en-CPTj6CjC.mjs → en-DKV44jRb.mjs} +8 -8
  48. package/dist/_chunks/{en-CPTj6CjC.mjs.map → en-DKV44jRb.mjs.map} +1 -1
  49. package/dist/_chunks/{index-DXiHxy70.js → index-BsMu2oVP.js} +947 -868
  50. package/dist/_chunks/index-BsMu2oVP.js.map +1 -0
  51. package/dist/_chunks/{index-BHfS6_D5.mjs → index-DcQ6xogO.mjs} +948 -870
  52. package/dist/_chunks/index-DcQ6xogO.mjs.map +1 -0
  53. package/dist/_chunks/{layout-bE-WUnQ0.js → layout-B4aCAdTt.js} +3 -3
  54. package/dist/_chunks/{layout-bE-WUnQ0.js.map → layout-B4aCAdTt.js.map} +1 -1
  55. package/dist/_chunks/{layout-DX_52HSH.mjs → layout-BavJ6v4B.mjs} +3 -3
  56. package/dist/_chunks/{layout-DX_52HSH.mjs.map → layout-BavJ6v4B.mjs.map} +1 -1
  57. package/dist/_chunks/{relations-SCVAL_aJ.mjs → relations-DMG453Od.mjs} +2 -2
  58. package/dist/_chunks/{relations-SCVAL_aJ.mjs.map → relations-DMG453Od.mjs.map} +1 -1
  59. package/dist/_chunks/{relations-D706vblp.js → relations-Lrm9nz_m.js} +2 -2
  60. package/dist/_chunks/{relations-D706vblp.js.map → relations-Lrm9nz_m.js.map} +1 -1
  61. package/dist/admin/index.js +2 -1
  62. package/dist/admin/index.js.map +1 -1
  63. package/dist/admin/index.mjs +3 -2
  64. package/dist/admin/src/exports.d.ts +1 -1
  65. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  66. package/dist/admin/src/pages/EditView/components/Header.d.ts +1 -0
  67. package/dist/server/index.js +33 -15
  68. package/dist/server/index.js.map +1 -1
  69. package/dist/server/index.mjs +33 -15
  70. package/dist/server/index.mjs.map +1 -1
  71. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  72. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  73. package/dist/server/src/history/services/history.d.ts.map +1 -1
  74. package/package.json +9 -9
  75. package/dist/_chunks/EditViewPage-CHgoNwlc.js.map +0 -1
  76. package/dist/_chunks/EditViewPage-zFjJK0s8.mjs.map +0 -1
  77. package/dist/_chunks/Field-9DePZh-0.js.map +0 -1
  78. package/dist/_chunks/Field-DPAzUS1M.mjs.map +0 -1
  79. package/dist/_chunks/Form-CEkENbkF.mjs.map +0 -1
  80. package/dist/_chunks/Form-DPm-KZ1A.js.map +0 -1
  81. package/dist/_chunks/History-DXSbTWez.js.map +0 -1
  82. package/dist/_chunks/History-utls71em.mjs.map +0 -1
  83. package/dist/_chunks/Relations-CFjTESWQ.js.map +0 -1
  84. package/dist/_chunks/Relations-QP5yn9_z.mjs.map +0 -1
  85. package/dist/_chunks/index-BHfS6_D5.mjs.map +0 -1
  86. package/dist/_chunks/index-DXiHxy70.js.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 {
@@ -1689,7 +1694,7 @@ const updateDocument = async (ctx, opts) => {
1689
1694
  throw new errors.ForbiddenError();
1690
1695
  }
1691
1696
  const pickPermittedFields = documentVersion ? permissionChecker2.sanitizeUpdateInput(documentVersion) : permissionChecker2.sanitizeCreateInput;
1692
- const setCreator = setCreatorFields({ user, isEdition: true });
1697
+ const setCreator = documentVersion ? setCreatorFields({ user, isEdition: true }) : setCreatorFields({ user });
1693
1698
  const sanitizeFn = async.pipe(pickPermittedFields, setCreator);
1694
1699
  const sanitizedBody = await sanitizeFn(body);
1695
1700
  return documentManager2.update(documentVersion?.documentId || id, model, {
@@ -1898,11 +1903,17 @@ const collectionTypes = {
1898
1903
  }
1899
1904
  const isUpdate = !isCreate;
1900
1905
  if (isUpdate) {
1901
- document = await documentManager2.findOne(id, model, { populate, locale });
1902
- if (!document) {
1906
+ const documentExists = documentManager2.exists(model, id);
1907
+ if (!documentExists) {
1903
1908
  throw new errors.NotFoundError("Document not found");
1904
1909
  }
1905
- if (permissionChecker2.can.update(document)) {
1910
+ document = await documentManager2.findOne(id, model, { populate, locale });
1911
+ if (!document) {
1912
+ if (permissionChecker2.cannot.create({ locale }) || permissionChecker2.cannot.publish({ locale })) {
1913
+ throw new errors.ForbiddenError();
1914
+ }
1915
+ document = await updateDocument(ctx);
1916
+ } else if (permissionChecker2.can.update(document)) {
1906
1917
  await updateDocument(ctx);
1907
1918
  }
1908
1919
  }
@@ -2356,11 +2367,8 @@ const validateLocale = (sourceUid, targetUid, locale) => {
2356
2367
  const isLocalized = strapi.plugin("i18n").service("content-types").isLocalizedContentType;
2357
2368
  const isSourceLocalized = isLocalized(sourceModel);
2358
2369
  const isTargetLocalized = isLocalized(targetModel);
2359
- let validatedLocale = locale;
2360
- if (!targetModel || !isTargetLocalized)
2361
- validatedLocale = void 0;
2362
2370
  return {
2363
- locale: validatedLocale,
2371
+ locale,
2364
2372
  isSourceLocalized,
2365
2373
  isTargetLocalized
2366
2374
  };
@@ -2463,7 +2471,7 @@ const relations = {
2463
2471
  attribute,
2464
2472
  fieldsToSelect,
2465
2473
  mainField,
2466
- source: { schema: sourceSchema },
2474
+ source: { schema: sourceSchema, isLocalized: isSourceLocalized },
2467
2475
  target: { schema: targetSchema, isLocalized: isTargetLocalized },
2468
2476
  sourceSchema,
2469
2477
  targetSchema,
@@ -2485,7 +2493,8 @@ const relations = {
2485
2493
  fieldsToSelect,
2486
2494
  mainField,
2487
2495
  source: {
2488
- schema: { uid: sourceUid, modelType: sourceModelType }
2496
+ schema: { uid: sourceUid, modelType: sourceModelType },
2497
+ isLocalized: isSourceLocalized
2489
2498
  },
2490
2499
  target: {
2491
2500
  schema: { uid: targetUid },
@@ -2527,9 +2536,12 @@ const relations = {
2527
2536
  if (!isEmpty(publishedAt)) {
2528
2537
  where[`${alias}.published_at`] = publishedAt;
2529
2538
  }
2530
- if (filterByLocale) {
2539
+ if (isTargetLocalized && locale) {
2531
2540
  where[`${alias}.locale`] = locale;
2532
2541
  }
2542
+ if (isSourceLocalized && locale) {
2543
+ where.locale = locale;
2544
+ }
2533
2545
  if ((idsToInclude?.length ?? 0) !== 0) {
2534
2546
  where[`${alias}.id`].$notIn = idsToInclude;
2535
2547
  }
@@ -2547,7 +2559,8 @@ const relations = {
2547
2559
  id: { $notIn: uniq(idsToOmit) }
2548
2560
  });
2549
2561
  }
2550
- const res = await strapi.db.query(targetUid).findPage(strapi.get("query-params").transform(targetUid, queryParams));
2562
+ const dbQuery = strapi.get("query-params").transform(targetUid, queryParams);
2563
+ const res = await strapi.db.query(targetUid).findPage(dbQuery);
2551
2564
  ctx.body = {
2552
2565
  ...res,
2553
2566
  results: await addStatusToRelations(targetUid, res.results)
@@ -2584,7 +2597,12 @@ const relations = {
2584
2597
  ...strapi.get("query-params").transform(targetUid, permissionQuery),
2585
2598
  ordering: "desc"
2586
2599
  });
2587
- const relationsUnion = uniqBy("id", concat(sanitizedRes.results, res.results));
2600
+ const relationsUnion = uniqBy(
2601
+ (res2) => {
2602
+ return res2.locale ? `${res2.documentId}-${res2.locale}` : `${res2.documentId}-`;
2603
+ },
2604
+ concat(sanitizedRes.results, res.results)
2605
+ );
2588
2606
  ctx.body = {
2589
2607
  pagination: res.pagination || {
2590
2608
  page: 1,
@@ -2669,7 +2687,7 @@ const singleTypes = {
2669
2687
  permissionChecker2,
2670
2688
  model,
2671
2689
  // @ts-expect-error - fix types
2672
- { id: document.documentId, locale, publishedAt: null },
2690
+ { documentId: document.documentId, locale, publishedAt: null },
2673
2691
  { availableLocales: true, availableStatus: false }
2674
2692
  );
2675
2693
  ctx.body = { data: {}, meta };