@strapi/content-manager 0.0.0-experimental.6d27139261823fc4b18da9f3c10b271d5010dbf0 → 0.0.0-experimental.71ed910bd859c7e558bd1c1042eaadb7d26fd22a

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 (96) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs → ComponentConfigurationPage-7-qB29e7.mjs} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-9lRmRdIr.mjs.map → ComponentConfigurationPage-7-qB29e7.mjs.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-DyDkPajU.js → ComponentConfigurationPage-DP7AC0UU.js} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-DyDkPajU.js.map → ComponentConfigurationPage-DP7AC0UU.js.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs → EditConfigurationPage-CI4XoymK.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-Bk893vVY.mjs.map → EditConfigurationPage-CI4XoymK.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-DValmA0m.js → EditConfigurationPage-DITVliEI.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-DValmA0m.js.map → EditConfigurationPage-DITVliEI.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-Dk7Eaft4.js → EditViewPage-CUS2EAhB.js} +8 -4
  10. package/dist/_chunks/EditViewPage-CUS2EAhB.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-DiNFdFqP.mjs → EditViewPage-Dzpno8xI.mjs} +8 -4
  12. package/dist/_chunks/EditViewPage-Dzpno8xI.mjs.map +1 -0
  13. package/dist/_chunks/{Field-Dv_HTFTa.mjs → Field-B_jG_EV9.mjs} +34 -32
  14. package/dist/_chunks/Field-B_jG_EV9.mjs.map +1 -0
  15. package/dist/_chunks/{Field-DH2OaqUP.js → Field-CtUU1Fg8.js} +38 -36
  16. package/dist/_chunks/Field-CtUU1Fg8.js.map +1 -0
  17. package/dist/_chunks/{Form-Dy6P4HgH.mjs → Form-BXHao2mZ.mjs} +15 -7
  18. package/dist/_chunks/Form-BXHao2mZ.mjs.map +1 -0
  19. package/dist/_chunks/{Form-B_dUDizM.js → Form-DTqO0ymI.js} +15 -7
  20. package/dist/_chunks/Form-DTqO0ymI.js.map +1 -0
  21. package/dist/_chunks/{History-DrwsD1Vc.mjs → History-2Ah2CQ4T.mjs} +4 -4
  22. package/dist/_chunks/{History-DrwsD1Vc.mjs.map → History-2Ah2CQ4T.mjs.map} +1 -1
  23. package/dist/_chunks/{History-BT4w83Oa.js → History-C_uSGzO5.js} +4 -4
  24. package/dist/_chunks/{History-BT4w83Oa.js.map → History-C_uSGzO5.js.map} +1 -1
  25. package/dist/_chunks/{ListConfigurationPage-BxIP0jRy.mjs → ListConfigurationPage-BjSJlaoC.mjs} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-BxIP0jRy.mjs.map → ListConfigurationPage-BjSJlaoC.mjs.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-CuYrMcW3.js → ListConfigurationPage-nyuP7OSy.js} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-CuYrMcW3.js.map → ListConfigurationPage-nyuP7OSy.js.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-5a1vw-OK.mjs → ListViewPage-B75x3nz2.mjs} +24 -12
  30. package/dist/_chunks/ListViewPage-B75x3nz2.mjs.map +1 -0
  31. package/dist/_chunks/{ListViewPage-BvpwNur7.js → ListViewPage-DHgHD8Xg.js} +28 -16
  32. package/dist/_chunks/ListViewPage-DHgHD8Xg.js.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js → NoContentTypePage-CDUKdZ7d.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-UqEiWKkM.js.map → NoContentTypePage-CDUKdZ7d.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs → NoContentTypePage-DUacQSyF.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-Bm6tRcd3.mjs.map → NoContentTypePage-DUacQSyF.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs → NoPermissionsPage-SFllMekk.mjs} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-BHPqn_tQ.mjs.map → NoPermissionsPage-SFllMekk.mjs.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js → NoPermissionsPage-zwIZydDI.js} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-C_vGRo8Q.js.map → NoPermissionsPage-zwIZydDI.js.map} +1 -1
  41. package/dist/_chunks/{Relations-C7fPyh5P.mjs → Relations-D2NRW8fC.mjs} +13 -9
  42. package/dist/_chunks/Relations-D2NRW8fC.mjs.map +1 -0
  43. package/dist/_chunks/{Relations-CznVF6LS.js → Relations-NFLaRNPr.js} +13 -9
  44. package/dist/_chunks/Relations-NFLaRNPr.js.map +1 -0
  45. package/dist/_chunks/{en-otD_UBJi.js → en-BlhnxQfj.js} +6 -5
  46. package/dist/_chunks/{en-otD_UBJi.js.map → en-BlhnxQfj.js.map} +1 -1
  47. package/dist/_chunks/{en-CbaIuYoB.mjs → en-C8YBvRrK.mjs} +6 -5
  48. package/dist/_chunks/{en-CbaIuYoB.mjs.map → en-C8YBvRrK.mjs.map} +1 -1
  49. package/dist/_chunks/{index-BJ6uTqLL.mjs → index-C9HxCo5R.mjs} +1586 -1483
  50. package/dist/_chunks/index-C9HxCo5R.mjs.map +1 -0
  51. package/dist/_chunks/{index-D9UmmBcM.js → index-ovJRE1FM.js} +1582 -1479
  52. package/dist/_chunks/index-ovJRE1FM.js.map +1 -0
  53. package/dist/_chunks/{layout-uomiIGbG.mjs → layout-DaUjDiWQ.mjs} +5 -4
  54. package/dist/_chunks/{layout-uomiIGbG.mjs.map → layout-DaUjDiWQ.mjs.map} +1 -1
  55. package/dist/_chunks/{layout-kfu5Wtix.js → layout-UNWstw_s.js} +5 -4
  56. package/dist/_chunks/{layout-kfu5Wtix.js.map → layout-UNWstw_s.js.map} +1 -1
  57. package/dist/_chunks/{relations-DiDufGSA.mjs → relations-D8iFAeRu.mjs} +2 -2
  58. package/dist/_chunks/{relations-DiDufGSA.mjs.map → relations-D8iFAeRu.mjs.map} +1 -1
  59. package/dist/_chunks/{relations-DKENrxko.js → relations-NN3coOG5.js} +2 -2
  60. package/dist/_chunks/{relations-DKENrxko.js.map → relations-NN3coOG5.js.map} +1 -1
  61. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  62. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  63. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  64. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  65. package/dist/admin/index.js +2 -1
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +3 -2
  68. package/dist/admin/src/exports.d.ts +1 -1
  69. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  70. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  71. package/dist/admin/src/services/documents.d.ts +3 -1
  72. package/dist/server/index.js +27 -16
  73. package/dist/server/index.js.map +1 -1
  74. package/dist/server/index.mjs +27 -16
  75. package/dist/server/index.mjs.map +1 -1
  76. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  77. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  78. package/dist/shared/contracts/collection-types.d.ts +3 -1
  79. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  80. package/package.json +11 -11
  81. package/dist/_chunks/EditViewPage-DiNFdFqP.mjs.map +0 -1
  82. package/dist/_chunks/EditViewPage-Dk7Eaft4.js.map +0 -1
  83. package/dist/_chunks/Field-DH2OaqUP.js.map +0 -1
  84. package/dist/_chunks/Field-Dv_HTFTa.mjs.map +0 -1
  85. package/dist/_chunks/Form-B_dUDizM.js.map +0 -1
  86. package/dist/_chunks/Form-Dy6P4HgH.mjs.map +0 -1
  87. package/dist/_chunks/ListViewPage-5a1vw-OK.mjs.map +0 -1
  88. package/dist/_chunks/ListViewPage-BvpwNur7.js.map +0 -1
  89. package/dist/_chunks/Relations-C7fPyh5P.mjs.map +0 -1
  90. package/dist/_chunks/Relations-CznVF6LS.js.map +0 -1
  91. package/dist/_chunks/index-BJ6uTqLL.mjs.map +0 -1
  92. package/dist/_chunks/index-D9UmmBcM.js.map +0 -1
  93. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  94. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  95. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  96. package/strapi-server.js +0 -3
@@ -1761,7 +1761,7 @@ const collectionTypes = {
1761
1761
  permissionChecker2,
1762
1762
  model,
1763
1763
  // @ts-expect-error TODO: fix
1764
- { id, locale, publishedAt: null },
1764
+ { documentId: id, locale, publishedAt: null },
1765
1765
  { availableLocales: true, availableStatus: false }
1766
1766
  );
1767
1767
  ctx.body = { data: {}, meta };
@@ -1898,11 +1898,17 @@ const collectionTypes = {
1898
1898
  }
1899
1899
  const isUpdate = !isCreate;
1900
1900
  if (isUpdate) {
1901
- document = await documentManager2.findOne(id, model, { populate, locale });
1902
- if (!document) {
1901
+ const documentExists = documentManager2.exists(model, id);
1902
+ if (!documentExists) {
1903
1903
  throw new errors.NotFoundError("Document not found");
1904
1904
  }
1905
- if (permissionChecker2.can.update(document)) {
1905
+ document = await documentManager2.findOne(id, model, { populate, locale });
1906
+ if (!document) {
1907
+ if (permissionChecker2.cannot.create({ locale }) || permissionChecker2.cannot.publish({ locale })) {
1908
+ throw new errors.ForbiddenError();
1909
+ }
1910
+ document = await updateDocument(ctx);
1911
+ } else if (permissionChecker2.can.update(document)) {
1906
1912
  await updateDocument(ctx);
1907
1913
  }
1908
1914
  }
@@ -1964,7 +1970,9 @@ const collectionTypes = {
1964
1970
  if (permissionChecker2.cannot.unpublish()) {
1965
1971
  return ctx.forbidden();
1966
1972
  }
1967
- const { locale } = await getDocumentLocaleAndStatus(body, model);
1973
+ const { locale } = await getDocumentLocaleAndStatus(body, model, {
1974
+ allowMultipleLocales: true
1975
+ });
1968
1976
  const entityPromises = documentIds.map(
1969
1977
  (documentId) => documentManager2.findLocales(documentId, model, { locale, isPublished: true })
1970
1978
  );
@@ -2354,11 +2362,8 @@ const validateLocale = (sourceUid, targetUid, locale) => {
2354
2362
  const isLocalized = strapi.plugin("i18n").service("content-types").isLocalizedContentType;
2355
2363
  const isSourceLocalized = isLocalized(sourceModel);
2356
2364
  const isTargetLocalized = isLocalized(targetModel);
2357
- let validatedLocale = locale;
2358
- if (!targetModel || !isTargetLocalized)
2359
- validatedLocale = void 0;
2360
2365
  return {
2361
- locale: validatedLocale,
2366
+ locale,
2362
2367
  isSourceLocalized,
2363
2368
  isTargetLocalized
2364
2369
  };
@@ -2461,7 +2466,7 @@ const relations = {
2461
2466
  attribute,
2462
2467
  fieldsToSelect,
2463
2468
  mainField,
2464
- source: { schema: sourceSchema },
2469
+ source: { schema: sourceSchema, isLocalized: isSourceLocalized },
2465
2470
  target: { schema: targetSchema, isLocalized: isTargetLocalized },
2466
2471
  sourceSchema,
2467
2472
  targetSchema,
@@ -2483,7 +2488,8 @@ const relations = {
2483
2488
  fieldsToSelect,
2484
2489
  mainField,
2485
2490
  source: {
2486
- schema: { uid: sourceUid, modelType: sourceModelType }
2491
+ schema: { uid: sourceUid, modelType: sourceModelType },
2492
+ isLocalized: isSourceLocalized
2487
2493
  },
2488
2494
  target: {
2489
2495
  schema: { uid: targetUid },
@@ -2521,12 +2527,16 @@ const relations = {
2521
2527
  } else {
2522
2528
  where.id = id;
2523
2529
  }
2524
- if (status) {
2525
- where[`${alias}.published_at`] = getPublishedAtClause(status, targetUid);
2530
+ const publishedAt = getPublishedAtClause(status, targetUid);
2531
+ if (!isEmpty(publishedAt)) {
2532
+ where[`${alias}.published_at`] = publishedAt;
2526
2533
  }
2527
- if (filterByLocale) {
2534
+ if (isTargetLocalized && locale) {
2528
2535
  where[`${alias}.locale`] = locale;
2529
2536
  }
2537
+ if (isSourceLocalized && locale) {
2538
+ where.locale = locale;
2539
+ }
2530
2540
  if ((idsToInclude?.length ?? 0) !== 0) {
2531
2541
  where[`${alias}.id`].$notIn = idsToInclude;
2532
2542
  }
@@ -2544,7 +2554,8 @@ const relations = {
2544
2554
  id: { $notIn: uniq(idsToOmit) }
2545
2555
  });
2546
2556
  }
2547
- const res = await strapi.db.query(targetUid).findPage(strapi.get("query-params").transform(targetUid, queryParams));
2557
+ const dbQuery = strapi.get("query-params").transform(targetUid, queryParams);
2558
+ const res = await strapi.db.query(targetUid).findPage(dbQuery);
2548
2559
  ctx.body = {
2549
2560
  ...res,
2550
2561
  results: await addStatusToRelations(targetUid, res.results)
@@ -2666,7 +2677,7 @@ const singleTypes = {
2666
2677
  permissionChecker2,
2667
2678
  model,
2668
2679
  // @ts-expect-error - fix types
2669
- { id: document.documentId, locale, publishedAt: null },
2680
+ { documentId: document.documentId, locale, publishedAt: null },
2670
2681
  { availableLocales: true, availableStatus: false }
2671
2682
  );
2672
2683
  ctx.body = { data: {}, meta };