@strapi/content-manager 0.0.0-next.840550dc97a3782302ddf918d3a0d07e59dd11eb → 0.0.0-next.8f63e1055db761e0213cb6610f80c55658196ae1

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 (122) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-gsCd80MU.js → ComponentConfigurationPage-Cmm0LJof.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-gsCd80MU.js.map → ComponentConfigurationPage-Cmm0LJof.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-CIjXcRAB.mjs → ComponentConfigurationPage-FQd019My.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-CIjXcRAB.mjs.map → ComponentConfigurationPage-FQd019My.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-BglmD_BF.mjs → EditConfigurationPage-BUJqRuRq.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-BglmD_BF.mjs.map → EditConfigurationPage-BUJqRuRq.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-DHDQKBzw.js → EditConfigurationPage-CseHna9y.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-DHDQKBzw.js.map → EditConfigurationPage-CseHna9y.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-CiwVPMaK.mjs → EditViewPage-BB9VeS-u.mjs} +30 -8
  10. package/dist/_chunks/EditViewPage-BB9VeS-u.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-C4iTxUPU.js → EditViewPage-BhjvFXZr.js} +29 -7
  12. package/dist/_chunks/EditViewPage-BhjvFXZr.js.map +1 -0
  13. package/dist/_chunks/{Field-DhXEK8y1.js → Field-B03STsf9.js} +27 -7
  14. package/dist/_chunks/Field-B03STsf9.js.map +1 -0
  15. package/dist/_chunks/{Field-DIjL1b5d.mjs → Field-CWi7XMCa.mjs} +27 -7
  16. package/dist/_chunks/Field-CWi7XMCa.mjs.map +1 -0
  17. package/dist/_chunks/{Form-CmNesrvR.mjs → Form-B5b7zgoL.mjs} +2 -2
  18. package/dist/_chunks/{Form-CmNesrvR.mjs.map → Form-B5b7zgoL.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-CwmJ4sWe.js → Form-DH5m7r5s.js} +2 -2
  20. package/dist/_chunks/{Form-CwmJ4sWe.js.map → Form-DH5m7r5s.js.map} +1 -1
  21. package/dist/_chunks/{History-BLCCNgCt.js → History-CNO4Db6U.js} +17 -40
  22. package/dist/_chunks/History-CNO4Db6U.js.map +1 -0
  23. package/dist/_chunks/{History-D-99Wh30.mjs → History-Dhy0xF0L.mjs} +17 -40
  24. package/dist/_chunks/History-Dhy0xF0L.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-JPWZz7Kg.mjs → ListConfigurationPage-C_FCilGf.mjs} +2 -2
  26. package/dist/_chunks/{ListConfigurationPage-JPWZz7Kg.mjs.map → ListConfigurationPage-C_FCilGf.mjs.map} +1 -1
  27. package/dist/_chunks/{ListConfigurationPage-DxWpeZrO.js → ListConfigurationPage-DE7NESsr.js} +2 -2
  28. package/dist/_chunks/{ListConfigurationPage-DxWpeZrO.js.map → ListConfigurationPage-DE7NESsr.js.map} +1 -1
  29. package/dist/_chunks/{ListViewPage-DSK3f0ST.mjs → ListViewPage-B6Ut2BH0.mjs} +16 -5
  30. package/dist/_chunks/{ListViewPage-DSK3f0ST.mjs.map → ListViewPage-B6Ut2BH0.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-CIQekSFz.js → ListViewPage-C7p0PteR.js} +16 -5
  32. package/dist/_chunks/{ListViewPage-CIQekSFz.js.map → ListViewPage-C7p0PteR.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-C5cxKvC2.js → NoContentTypePage-BN-8niig.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-C5cxKvC2.js.map → NoContentTypePage-BN-8niig.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-D99LU1YP.mjs → NoContentTypePage-rR7QwWP5.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-D99LU1YP.mjs.map → NoContentTypePage-rR7QwWP5.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-Oy4tmUrW.js → NoPermissionsPage-Bw3b0OQm.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-Oy4tmUrW.js.map → NoPermissionsPage-Bw3b0OQm.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-DBrBw-0y.mjs → NoPermissionsPage-CGUgxmce.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-DBrBw-0y.mjs.map → NoPermissionsPage-CGUgxmce.mjs.map} +1 -1
  41. package/dist/_chunks/Preview-CICG4cRf.js +307 -0
  42. package/dist/_chunks/Preview-CICG4cRf.js.map +1 -0
  43. package/dist/_chunks/Preview-_gomrUna.mjs +288 -0
  44. package/dist/_chunks/Preview-_gomrUna.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-BBmhcWFV.mjs → Relations-BEvinUkU.mjs} +6 -3
  46. package/dist/_chunks/Relations-BEvinUkU.mjs.map +1 -0
  47. package/dist/_chunks/{Relations-eG-9p_qS.js → Relations-uyLoal2t.js} +6 -3
  48. package/dist/_chunks/Relations-uyLoal2t.js.map +1 -0
  49. package/dist/_chunks/{en-Bm0D0IWz.js → en-CHOp_xJv.js} +11 -2
  50. package/dist/_chunks/{en-Bm0D0IWz.js.map → en-CHOp_xJv.js.map} +1 -1
  51. package/dist/_chunks/{en-DKV44jRb.mjs → en-D_BMf0hT.mjs} +11 -2
  52. package/dist/_chunks/{en-DKV44jRb.mjs.map → en-D_BMf0hT.mjs.map} +1 -1
  53. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  54. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  55. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  56. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  57. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  58. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  59. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  60. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  61. package/dist/_chunks/{index-BrUzbQ30.mjs → index-BagcPV6I.mjs} +94 -20
  62. package/dist/_chunks/index-BagcPV6I.mjs.map +1 -0
  63. package/dist/_chunks/{index-BIWDoFLK.js → index-D_AvCmmG.js} +91 -17
  64. package/dist/_chunks/index-D_AvCmmG.js.map +1 -0
  65. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  66. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  67. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  68. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  69. package/dist/_chunks/{layout-_5-cXs34.mjs → layout-DKEX3X49.mjs} +3 -3
  70. package/dist/_chunks/{layout-_5-cXs34.mjs.map → layout-DKEX3X49.mjs.map} +1 -1
  71. package/dist/_chunks/{layout-lMc9i1-Z.js → layout-Dk0odfYR.js} +3 -3
  72. package/dist/_chunks/{layout-lMc9i1-Z.js.map → layout-Dk0odfYR.js.map} +1 -1
  73. package/dist/_chunks/{relations-BRHithi8.js → relations-C312DwGU.js} +6 -3
  74. package/dist/_chunks/relations-C312DwGU.js.map +1 -0
  75. package/dist/_chunks/{relations-B_VLk-DD.mjs → relations-DDoMdwk6.mjs} +6 -3
  76. package/dist/_chunks/relations-DDoMdwk6.mjs.map +1 -0
  77. package/dist/admin/index.js +1 -1
  78. package/dist/admin/index.mjs +4 -4
  79. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  80. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  81. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  82. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  83. package/dist/admin/src/preview/index.d.ts +1 -1
  84. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  85. package/dist/admin/src/preview/routes.d.ts +3 -0
  86. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  87. package/dist/server/index.js +64 -10
  88. package/dist/server/index.js.map +1 -1
  89. package/dist/server/index.mjs +64 -10
  90. package/dist/server/index.mjs.map +1 -1
  91. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  92. package/dist/server/src/preview/controllers/preview.d.ts +6 -2
  93. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -1
  94. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  95. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  96. package/dist/server/src/preview/services/index.d.ts +5 -1
  97. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  98. package/dist/server/src/preview/services/preview.d.ts +7 -1
  99. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  100. package/dist/server/src/preview/utils.d.ts +5 -1
  101. package/dist/server/src/preview/utils.d.ts.map +1 -1
  102. package/dist/shared/contracts/index.d.ts +1 -0
  103. package/dist/shared/contracts/index.d.ts.map +1 -1
  104. package/dist/shared/contracts/preview.d.ts +27 -0
  105. package/dist/shared/contracts/preview.d.ts.map +1 -0
  106. package/dist/shared/index.js +4 -0
  107. package/dist/shared/index.js.map +1 -1
  108. package/dist/shared/index.mjs +4 -0
  109. package/dist/shared/index.mjs.map +1 -1
  110. package/package.json +7 -7
  111. package/dist/_chunks/EditViewPage-C4iTxUPU.js.map +0 -1
  112. package/dist/_chunks/EditViewPage-CiwVPMaK.mjs.map +0 -1
  113. package/dist/_chunks/Field-DIjL1b5d.mjs.map +0 -1
  114. package/dist/_chunks/Field-DhXEK8y1.js.map +0 -1
  115. package/dist/_chunks/History-BLCCNgCt.js.map +0 -1
  116. package/dist/_chunks/History-D-99Wh30.mjs.map +0 -1
  117. package/dist/_chunks/Relations-BBmhcWFV.mjs.map +0 -1
  118. package/dist/_chunks/Relations-eG-9p_qS.js.map +0 -1
  119. package/dist/_chunks/index-BIWDoFLK.js.map +0 -1
  120. package/dist/_chunks/index-BrUzbQ30.mjs.map +0 -1
  121. package/dist/_chunks/relations-BRHithi8.js.map +0 -1
  122. package/dist/_chunks/relations-B_VLk-DD.mjs.map +0 -1
@@ -591,15 +591,19 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
591
591
  });
592
592
  return result;
593
593
  });
594
- state.deleteExpiredJob = scheduleJob("0 0 * * *", () => {
594
+ state.deleteExpiredJob = scheduleJob("historyDaily", "0 0 * * *", () => {
595
595
  const retentionDaysInMilliseconds = serviceUtils.getRetentionDays() * 24 * 60 * 60 * 1e3;
596
596
  const expirationDate = new Date(Date.now() - retentionDaysInMilliseconds);
597
597
  strapi2.db.query(HISTORY_VERSION_UID).deleteMany({
598
598
  where: {
599
599
  created_at: {
600
- $lt: expirationDate.toISOString()
600
+ $lt: expirationDate
601
601
  }
602
602
  }
603
+ }).catch((error) => {
604
+ if (error instanceof Error) {
605
+ strapi2.log.error("Error deleting expired history versions", error.message);
606
+ }
603
607
  });
604
608
  });
605
609
  state.isInitialized = true;
@@ -726,7 +730,7 @@ const previewRouter = {
726
730
  method: "GET",
727
731
  info,
728
732
  path: "/preview/url/:contentType",
729
- handler: "preview.getPreviewURL",
733
+ handler: "preview.getPreviewUrl",
730
734
  config: {
731
735
  policies: ["admin::isAuthenticatedAdmin"]
732
736
  }
@@ -736,12 +740,52 @@ const previewRouter = {
736
740
  const routes$1 = {
737
741
  preview: previewRouter
738
742
  };
743
+ function getService(strapi2, name) {
744
+ return strapi2.service(`plugin::content-manager.${name}`);
745
+ }
746
+ const getPreviewUrlSchema = yup.object().shape({
747
+ // Will be undefined for single types
748
+ documentId: yup.string(),
749
+ locale: yup.string().nullable(),
750
+ status: yup.string()
751
+ }).required();
752
+ const validatePreviewUrl = async (strapi2, uid2, params) => {
753
+ await validateYupSchema(getPreviewUrlSchema)(params);
754
+ const newParams = pick(["documentId", "locale", "status"], params);
755
+ const model = strapi2.getModel(uid2);
756
+ if (!model || model.modelType !== "contentType") {
757
+ throw new errors.ValidationError("Invalid content type");
758
+ }
759
+ const isSingleType = model?.kind === "singleType";
760
+ if (!isSingleType && !params.documentId) {
761
+ throw new errors.ValidationError("documentId is required for Collection Types");
762
+ }
763
+ if (isSingleType) {
764
+ const doc = await strapi2.documents(uid2).findFirst();
765
+ if (!doc) {
766
+ throw new errors.NotFoundError("Document not found");
767
+ }
768
+ newParams.documentId = doc?.documentId;
769
+ }
770
+ return newParams;
771
+ };
739
772
  const createPreviewController = () => {
740
773
  return {
741
- async getPreviewURL(ctx) {
742
- ctx.request;
774
+ /**
775
+ * Transforms an entry into a preview URL, so that it can be previewed
776
+ * in the Content Manager.
777
+ */
778
+ async getPreviewUrl(ctx) {
779
+ const uid2 = ctx.params.contentType;
780
+ const query = ctx.request.query;
781
+ const params = await validatePreviewUrl(strapi, uid2, query);
782
+ const previewService = getService(strapi, "preview");
783
+ const url = await previewService.getPreviewUrl(uid2, params);
784
+ if (!url) {
785
+ ctx.status = 204;
786
+ }
743
787
  return {
744
- data: { url: "" }
788
+ data: { url }
745
789
  };
746
790
  }
747
791
  };
@@ -753,7 +797,20 @@ const controllers$1 = {
753
797
  * passing a controller factory as the value, instead of a controller object directly
754
798
  */
755
799
  };
756
- const createPreviewService = () => {
800
+ const createPreviewService = ({ strapi: strapi2 }) => {
801
+ const config = getService(strapi2, "preview-config");
802
+ return {
803
+ async getPreviewUrl(uid2, params) {
804
+ const handler = config.getPreviewHandler();
805
+ try {
806
+ return handler(uid2, params);
807
+ } catch (error) {
808
+ strapi2.log.error(`Failed to get preview URL: ${error}`);
809
+ throw new errors.ApplicationError("Failed to get preview URL");
810
+ }
811
+ return;
812
+ }
813
+ };
757
814
  };
758
815
  const createPreviewConfigService = ({ strapi: strapi2 }) => {
759
816
  return {
@@ -797,9 +854,6 @@ const services$1 = {
797
854
  preview: createPreviewService,
798
855
  "preview-config": createPreviewConfigService
799
856
  };
800
- function getService(strapi2, name) {
801
- return strapi2.service(`plugin::content-manager.${name}`);
802
- }
803
857
  const getFeature = () => {
804
858
  if (!strapi.features.future.isEnabled(FEATURE_ID)) {
805
859
  return {};