@strapi/content-manager 5.37.1 → 5.38.1

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 (582) hide show
  1. package/dist/admin/components/ActionsDrawer.js.map +1 -1
  2. package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
  3. package/dist/admin/components/ComponentIcon.js.map +1 -1
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  8. package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
  9. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  10. package/dist/admin/components/ConfigurationForm/Form.js +62 -30
  11. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  12. package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
  13. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  14. package/dist/admin/components/DragLayer.js.map +1 -1
  15. package/dist/admin/components/DragLayer.mjs.map +1 -1
  16. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  17. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  18. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  20. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  21. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  22. package/dist/admin/components/FieldTypeIcon.js.map +1 -1
  23. package/dist/admin/components/FieldTypeIcon.mjs +1 -1
  24. package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
  25. package/dist/admin/components/InjectionZone.js.map +1 -1
  26. package/dist/admin/components/InjectionZone.mjs.map +1 -1
  27. package/dist/admin/components/LeftMenu.js.map +1 -1
  28. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  29. package/dist/admin/components/RelativeTime.js.map +1 -1
  30. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  31. package/dist/admin/components/Widgets.js.map +1 -1
  32. package/dist/admin/components/Widgets.mjs +1 -1
  33. package/dist/admin/components/Widgets.mjs.map +1 -1
  34. package/dist/admin/constants/attributes.js.map +1 -1
  35. package/dist/admin/constants/attributes.mjs.map +1 -1
  36. package/dist/admin/constants/collections.js.map +1 -1
  37. package/dist/admin/constants/collections.mjs.map +1 -1
  38. package/dist/admin/constants/dragAndDrop.js.map +1 -1
  39. package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
  40. package/dist/admin/constants/hooks.js.map +1 -1
  41. package/dist/admin/constants/hooks.mjs.map +1 -1
  42. package/dist/admin/constants/plugin.js.map +1 -1
  43. package/dist/admin/constants/plugin.mjs.map +1 -1
  44. package/dist/admin/content-manager.js.map +1 -1
  45. package/dist/admin/content-manager.mjs.map +1 -1
  46. package/dist/admin/features/DocumentRBAC.js.map +1 -1
  47. package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
  48. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  49. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  50. package/dist/admin/history/components/VersionContent.js +48 -16
  51. package/dist/admin/history/components/VersionContent.js.map +1 -1
  52. package/dist/admin/history/components/VersionContent.mjs +48 -16
  53. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  54. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  55. package/dist/admin/history/components/VersionHeader.mjs +1 -1
  56. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  57. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  58. package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
  59. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  60. package/dist/admin/history/components/VersionsList.js.map +1 -1
  61. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  62. package/dist/admin/history/index.js.map +1 -1
  63. package/dist/admin/history/index.mjs.map +1 -1
  64. package/dist/admin/history/pages/History.js.map +1 -1
  65. package/dist/admin/history/pages/History.mjs +1 -1
  66. package/dist/admin/history/pages/History.mjs.map +1 -1
  67. package/dist/admin/history/routes.js.map +1 -1
  68. package/dist/admin/history/routes.mjs.map +1 -1
  69. package/dist/admin/history/services/historyVersion.js.map +1 -1
  70. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  71. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  72. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  73. package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
  74. package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
  75. package/dist/admin/hooks/useDebounce.js.map +1 -1
  76. package/dist/admin/hooks/useDebounce.mjs.map +1 -1
  77. package/dist/admin/hooks/useDocument.js.map +1 -1
  78. package/dist/admin/hooks/useDocument.mjs +1 -1
  79. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  80. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  81. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  82. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  83. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  84. package/dist/admin/hooks/useDocumentLayout.js +2 -1
  85. package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
  86. package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
  87. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
  88. package/dist/admin/hooks/useDragAndDrop.js +1 -3
  89. package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
  90. package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
  91. package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
  92. package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
  93. package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
  94. package/dist/admin/hooks/useLazyComponents.js.map +1 -1
  95. package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
  96. package/dist/admin/hooks/useOnce.js.map +1 -1
  97. package/dist/admin/hooks/useOnce.mjs.map +1 -1
  98. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  99. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  100. package/dist/admin/hooks/usePrev.js.map +1 -1
  101. package/dist/admin/hooks/usePrev.mjs.map +1 -1
  102. package/dist/admin/index.js.map +1 -1
  103. package/dist/admin/index.mjs.map +1 -1
  104. package/dist/admin/layout.js.map +1 -1
  105. package/dist/admin/layout.mjs.map +1 -1
  106. package/dist/admin/modules/app.js.map +1 -1
  107. package/dist/admin/modules/app.mjs.map +1 -1
  108. package/dist/admin/modules/hooks.js.map +1 -1
  109. package/dist/admin/modules/hooks.mjs +1 -1
  110. package/dist/admin/modules/hooks.mjs.map +1 -1
  111. package/dist/admin/modules/reducers.js.map +1 -1
  112. package/dist/admin/modules/reducers.mjs.map +1 -1
  113. package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
  114. package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
  115. package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
  116. package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
  117. package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
  118. package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
  119. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  120. package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
  121. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  122. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
  123. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
  124. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  125. package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
  126. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  127. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  128. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
  130. package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  132. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  134. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
  136. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
  138. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
  140. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  142. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +51 -0
  143. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
  144. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +53 -2
  145. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
  146. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
  148. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  150. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +6 -2
  151. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  152. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +6 -2
  153. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  154. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  156. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
  158. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -1
  160. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  162. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
  163. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  164. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  165. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
  166. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  167. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
  168. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
  169. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
  170. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
  171. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
  172. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
  173. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
  174. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
  175. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
  176. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
  177. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  178. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  179. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  180. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  181. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  182. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  183. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  184. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  185. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
  186. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
  187. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
  188. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
  189. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  190. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  191. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  192. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  193. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +1 -1
  194. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  195. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +1 -1
  196. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  197. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
  198. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
  199. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  200. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  201. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
  202. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
  203. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
  204. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  205. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +45 -8
  206. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  207. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +148 -111
  208. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  209. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +152 -115
  210. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  211. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  212. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  213. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  214. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  215. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  216. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  217. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
  218. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
  219. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  220. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  221. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
  222. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
  223. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  224. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
  225. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  226. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  227. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  228. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
  229. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
  230. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
  231. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
  232. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
  233. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  234. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +8 -6
  235. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  236. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  237. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  238. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  239. package/dist/admin/pages/EditView/components/Header.mjs +2 -2
  240. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  241. package/dist/admin/pages/EditView/components/InputRenderer.js +15 -5
  242. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  243. package/dist/admin/pages/EditView/components/InputRenderer.mjs +15 -5
  244. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  245. package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
  246. package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
  247. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  248. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  249. package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
  250. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
  251. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  252. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
  253. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  254. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  255. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
  256. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  257. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  258. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
  259. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  260. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  261. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  262. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  263. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  264. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
  265. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
  266. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  267. package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
  268. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  269. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  270. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  271. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  272. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  273. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
  274. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  275. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
  276. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  277. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
  278. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  279. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
  280. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  281. package/dist/admin/pages/ListView/components/Filters.js +54 -1
  282. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  283. package/dist/admin/pages/ListView/components/Filters.mjs +54 -1
  284. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  285. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  286. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  287. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  288. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  289. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
  290. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
  291. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
  292. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
  293. package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
  294. package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
  295. package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
  296. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  297. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
  298. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  299. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  300. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  301. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  302. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  303. package/dist/admin/pages/NoContentTypePage.js.map +1 -1
  304. package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
  305. package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
  306. package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
  307. package/dist/admin/preview/components/InputPopover.js.map +1 -1
  308. package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
  309. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  310. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  311. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  312. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  313. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
  314. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
  315. package/dist/admin/preview/index.js.map +1 -1
  316. package/dist/admin/preview/index.mjs.map +1 -1
  317. package/dist/admin/preview/pages/Preview.js.map +1 -1
  318. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  319. package/dist/admin/preview/routes.js.map +1 -1
  320. package/dist/admin/preview/routes.mjs.map +1 -1
  321. package/dist/admin/preview/services/preview.js.map +1 -1
  322. package/dist/admin/preview/services/preview.mjs.map +1 -1
  323. package/dist/admin/preview/utils/constants.js +0 -1
  324. package/dist/admin/preview/utils/constants.js.map +1 -1
  325. package/dist/admin/preview/utils/constants.mjs +0 -1
  326. package/dist/admin/preview/utils/constants.mjs.map +1 -1
  327. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  328. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  329. package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
  330. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
  331. package/dist/admin/preview/utils/previewScript.js.map +1 -1
  332. package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
  333. package/dist/admin/router.js.map +1 -1
  334. package/dist/admin/router.mjs.map +1 -1
  335. package/dist/admin/services/api.js.map +1 -1
  336. package/dist/admin/services/api.mjs.map +1 -1
  337. package/dist/admin/services/components.js.map +1 -1
  338. package/dist/admin/services/components.mjs.map +1 -1
  339. package/dist/admin/services/contentTypes.js.map +1 -1
  340. package/dist/admin/services/contentTypes.mjs.map +1 -1
  341. package/dist/admin/services/documents.js.map +1 -1
  342. package/dist/admin/services/documents.mjs.map +1 -1
  343. package/dist/admin/services/homepage.js.map +1 -1
  344. package/dist/admin/services/homepage.mjs.map +1 -1
  345. package/dist/admin/services/init.js.map +1 -1
  346. package/dist/admin/services/init.mjs.map +1 -1
  347. package/dist/admin/services/relations.js.map +1 -1
  348. package/dist/admin/services/relations.mjs.map +1 -1
  349. package/dist/admin/services/uid.js.map +1 -1
  350. package/dist/admin/services/uid.mjs.map +1 -1
  351. package/dist/admin/src/exports.d.ts +1 -1
  352. package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
  353. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +1 -0
  354. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
  355. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
  356. package/dist/admin/src/utils/conditionalFields.d.ts +12 -0
  357. package/dist/admin/translations/en.json.js +10 -0
  358. package/dist/admin/translations/en.json.js.map +1 -1
  359. package/dist/admin/translations/en.json.mjs +10 -0
  360. package/dist/admin/translations/en.json.mjs.map +1 -1
  361. package/dist/admin/translations/es.json.js +136 -2
  362. package/dist/admin/translations/es.json.js.map +1 -1
  363. package/dist/admin/translations/es.json.mjs +136 -2
  364. package/dist/admin/translations/es.json.mjs.map +1 -1
  365. package/dist/admin/translations/fr.json.js +72 -1
  366. package/dist/admin/translations/fr.json.js.map +1 -1
  367. package/dist/admin/translations/fr.json.mjs +72 -1
  368. package/dist/admin/translations/fr.json.mjs.map +1 -1
  369. package/dist/admin/utils/api.js.map +1 -1
  370. package/dist/admin/utils/api.mjs.map +1 -1
  371. package/dist/admin/utils/attributes.js.map +1 -1
  372. package/dist/admin/utils/attributes.mjs.map +1 -1
  373. package/dist/admin/utils/conditionalFields.js +76 -0
  374. package/dist/admin/utils/conditionalFields.js.map +1 -0
  375. package/dist/admin/utils/conditionalFields.mjs +69 -0
  376. package/dist/admin/utils/conditionalFields.mjs.map +1 -0
  377. package/dist/admin/utils/objects.js.map +1 -1
  378. package/dist/admin/utils/objects.mjs.map +1 -1
  379. package/dist/admin/utils/relations.js.map +1 -1
  380. package/dist/admin/utils/relations.mjs.map +1 -1
  381. package/dist/admin/utils/strings.js.map +1 -1
  382. package/dist/admin/utils/strings.mjs.map +1 -1
  383. package/dist/admin/utils/translations.js.map +1 -1
  384. package/dist/admin/utils/translations.mjs.map +1 -1
  385. package/dist/admin/utils/urls.js.map +1 -1
  386. package/dist/admin/utils/urls.mjs.map +1 -1
  387. package/dist/admin/utils/users.js.map +1 -1
  388. package/dist/admin/utils/users.mjs.map +1 -1
  389. package/dist/admin/utils/validation.js.map +1 -1
  390. package/dist/admin/utils/validation.mjs.map +1 -1
  391. package/dist/server/bootstrap.js.map +1 -1
  392. package/dist/server/bootstrap.mjs.map +1 -1
  393. package/dist/server/constants/index.js.map +1 -1
  394. package/dist/server/constants/index.mjs.map +1 -1
  395. package/dist/server/controllers/collection-types.js +157 -4
  396. package/dist/server/controllers/collection-types.js.map +1 -1
  397. package/dist/server/controllers/collection-types.mjs +159 -6
  398. package/dist/server/controllers/collection-types.mjs.map +1 -1
  399. package/dist/server/controllers/components.js.map +1 -1
  400. package/dist/server/controllers/components.mjs.map +1 -1
  401. package/dist/server/controllers/content-types.js +10 -10
  402. package/dist/server/controllers/content-types.js.map +1 -1
  403. package/dist/server/controllers/content-types.mjs.map +1 -1
  404. package/dist/server/controllers/index.js +4 -4
  405. package/dist/server/controllers/index.js.map +1 -1
  406. package/dist/server/controllers/index.mjs.map +1 -1
  407. package/dist/server/controllers/init.js.map +1 -1
  408. package/dist/server/controllers/init.mjs.map +1 -1
  409. package/dist/server/controllers/relations.js.map +1 -1
  410. package/dist/server/controllers/relations.mjs +3 -3
  411. package/dist/server/controllers/relations.mjs.map +1 -1
  412. package/dist/server/controllers/single-types.js +19 -4
  413. package/dist/server/controllers/single-types.js.map +1 -1
  414. package/dist/server/controllers/single-types.mjs +20 -5
  415. package/dist/server/controllers/single-types.mjs.map +1 -1
  416. package/dist/server/controllers/uid.js.map +1 -1
  417. package/dist/server/controllers/uid.mjs +1 -1
  418. package/dist/server/controllers/uid.mjs.map +1 -1
  419. package/dist/server/controllers/utils/clone.js.map +1 -1
  420. package/dist/server/controllers/utils/clone.mjs.map +1 -1
  421. package/dist/server/controllers/utils/document-status.js.map +1 -1
  422. package/dist/server/controllers/utils/document-status.mjs.map +1 -1
  423. package/dist/server/controllers/utils/metadata.js.map +1 -1
  424. package/dist/server/controllers/utils/metadata.mjs.map +1 -1
  425. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  426. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  427. package/dist/server/controllers/validation/index.js.map +1 -1
  428. package/dist/server/controllers/validation/index.mjs +1 -1
  429. package/dist/server/controllers/validation/index.mjs.map +1 -1
  430. package/dist/server/controllers/validation/model-configuration.js +6 -1
  431. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  432. package/dist/server/controllers/validation/model-configuration.mjs +6 -1
  433. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  434. package/dist/server/controllers/validation/relations.js.map +1 -1
  435. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  436. package/dist/server/destroy.js.map +1 -1
  437. package/dist/server/destroy.mjs.map +1 -1
  438. package/dist/server/history/constants.js.map +1 -1
  439. package/dist/server/history/constants.mjs.map +1 -1
  440. package/dist/server/history/controllers/history-version.js.map +1 -1
  441. package/dist/server/history/controllers/history-version.mjs.map +1 -1
  442. package/dist/server/history/controllers/index.js.map +1 -1
  443. package/dist/server/history/controllers/index.mjs.map +1 -1
  444. package/dist/server/history/controllers/validation/history-version.js.map +1 -1
  445. package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
  446. package/dist/server/history/index.js +4 -4
  447. package/dist/server/history/index.js.map +1 -1
  448. package/dist/server/history/index.mjs.map +1 -1
  449. package/dist/server/history/models/history-version.js.map +1 -1
  450. package/dist/server/history/models/history-version.mjs.map +1 -1
  451. package/dist/server/history/routes/history-version.js.map +1 -1
  452. package/dist/server/history/routes/history-version.mjs.map +1 -1
  453. package/dist/server/history/routes/index.js.map +1 -1
  454. package/dist/server/history/routes/index.mjs.map +1 -1
  455. package/dist/server/history/services/history.js.map +1 -1
  456. package/dist/server/history/services/history.mjs.map +1 -1
  457. package/dist/server/history/services/index.js.map +1 -1
  458. package/dist/server/history/services/index.mjs.map +1 -1
  459. package/dist/server/history/services/lifecycles.js.map +1 -1
  460. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  461. package/dist/server/history/services/utils.js.map +1 -1
  462. package/dist/server/history/services/utils.mjs.map +1 -1
  463. package/dist/server/history/utils.js.map +1 -1
  464. package/dist/server/history/utils.mjs.map +1 -1
  465. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  466. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  467. package/dist/server/homepage/controllers/index.js.map +1 -1
  468. package/dist/server/homepage/controllers/index.mjs.map +1 -1
  469. package/dist/server/homepage/index.js +6 -6
  470. package/dist/server/homepage/index.js.map +1 -1
  471. package/dist/server/homepage/index.mjs.map +1 -1
  472. package/dist/server/homepage/routes/homepage.js.map +1 -1
  473. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  474. package/dist/server/homepage/routes/index.js.map +1 -1
  475. package/dist/server/homepage/routes/index.mjs.map +1 -1
  476. package/dist/server/homepage/services/homepage.js.map +1 -1
  477. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  478. package/dist/server/homepage/services/index.js.map +1 -1
  479. package/dist/server/homepage/services/index.mjs.map +1 -1
  480. package/dist/server/index.js +8 -8
  481. package/dist/server/middlewares/routing.js.map +1 -1
  482. package/dist/server/middlewares/routing.mjs.map +1 -1
  483. package/dist/server/policies/hasPermissions.js.map +1 -1
  484. package/dist/server/policies/hasPermissions.mjs.map +1 -1
  485. package/dist/server/policies/index.js.map +1 -1
  486. package/dist/server/policies/index.mjs.map +1 -1
  487. package/dist/server/preview/controllers/index.js.map +1 -1
  488. package/dist/server/preview/controllers/index.mjs.map +1 -1
  489. package/dist/server/preview/controllers/preview.js.map +1 -1
  490. package/dist/server/preview/controllers/preview.mjs.map +1 -1
  491. package/dist/server/preview/controllers/validation/preview.js.map +1 -1
  492. package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
  493. package/dist/server/preview/index.js +4 -4
  494. package/dist/server/preview/index.js.map +1 -1
  495. package/dist/server/preview/index.mjs.map +1 -1
  496. package/dist/server/preview/routes/index.js.map +1 -1
  497. package/dist/server/preview/routes/index.mjs.map +1 -1
  498. package/dist/server/preview/routes/preview.js.map +1 -1
  499. package/dist/server/preview/routes/preview.mjs.map +1 -1
  500. package/dist/server/preview/services/index.js.map +1 -1
  501. package/dist/server/preview/services/index.mjs.map +1 -1
  502. package/dist/server/preview/services/preview-config.js.map +1 -1
  503. package/dist/server/preview/services/preview-config.mjs +1 -1
  504. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  505. package/dist/server/preview/services/preview.js +2 -1
  506. package/dist/server/preview/services/preview.js.map +1 -1
  507. package/dist/server/preview/services/preview.mjs +2 -1
  508. package/dist/server/preview/services/preview.mjs.map +1 -1
  509. package/dist/server/preview/utils.js.map +1 -1
  510. package/dist/server/preview/utils.mjs.map +1 -1
  511. package/dist/server/register.js.map +1 -1
  512. package/dist/server/register.mjs.map +1 -1
  513. package/dist/server/routes/admin.js.map +1 -1
  514. package/dist/server/routes/admin.mjs.map +1 -1
  515. package/dist/server/routes/index.js +4 -4
  516. package/dist/server/routes/index.js.map +1 -1
  517. package/dist/server/routes/index.mjs.map +1 -1
  518. package/dist/server/services/components.js.map +1 -1
  519. package/dist/server/services/components.mjs.map +1 -1
  520. package/dist/server/services/configuration.js.map +1 -1
  521. package/dist/server/services/configuration.mjs.map +1 -1
  522. package/dist/server/services/content-types.js.map +1 -1
  523. package/dist/server/services/content-types.mjs.map +1 -1
  524. package/dist/server/services/data-mapper.js.map +1 -1
  525. package/dist/server/services/data-mapper.mjs.map +1 -1
  526. package/dist/server/services/document-manager.js.map +1 -1
  527. package/dist/server/services/document-manager.mjs +2 -2
  528. package/dist/server/services/document-manager.mjs.map +1 -1
  529. package/dist/server/services/document-metadata.js.map +1 -1
  530. package/dist/server/services/document-metadata.mjs +2 -2
  531. package/dist/server/services/document-metadata.mjs.map +1 -1
  532. package/dist/server/services/field-sizes.js.map +1 -1
  533. package/dist/server/services/field-sizes.mjs.map +1 -1
  534. package/dist/server/services/index.js +4 -4
  535. package/dist/server/services/index.js.map +1 -1
  536. package/dist/server/services/index.mjs.map +1 -1
  537. package/dist/server/services/metrics.js.map +1 -1
  538. package/dist/server/services/metrics.mjs.map +1 -1
  539. package/dist/server/services/permission-checker.js.map +1 -1
  540. package/dist/server/services/permission-checker.mjs.map +1 -1
  541. package/dist/server/services/permission.js.map +1 -1
  542. package/dist/server/services/permission.mjs.map +1 -1
  543. package/dist/server/services/populate-builder.js.map +1 -1
  544. package/dist/server/services/populate-builder.mjs +4 -4
  545. package/dist/server/services/populate-builder.mjs.map +1 -1
  546. package/dist/server/services/uid.js.map +1 -1
  547. package/dist/server/services/uid.mjs.map +1 -1
  548. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  549. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  550. package/dist/server/services/utils/configuration/index.js.map +1 -1
  551. package/dist/server/services/utils/configuration/index.mjs +3 -3
  552. package/dist/server/services/utils/configuration/index.mjs.map +1 -1
  553. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  554. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  555. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  556. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  557. package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
  558. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  559. package/dist/server/services/utils/configuration/settings.js +4 -2
  560. package/dist/server/services/utils/configuration/settings.js.map +1 -1
  561. package/dist/server/services/utils/configuration/settings.mjs +5 -3
  562. package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
  563. package/dist/server/services/utils/draft.js.map +1 -1
  564. package/dist/server/services/utils/draft.mjs.map +1 -1
  565. package/dist/server/services/utils/populate.js.map +1 -1
  566. package/dist/server/services/utils/populate.mjs +1 -1
  567. package/dist/server/services/utils/populate.mjs.map +1 -1
  568. package/dist/server/services/utils/store.js.map +1 -1
  569. package/dist/server/services/utils/store.mjs.map +1 -1
  570. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  571. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  572. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  573. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
  574. package/dist/server/utils/index.js.map +1 -1
  575. package/dist/server/utils/index.mjs.map +1 -1
  576. package/dist/server/validation/policies/hasPermissions.js.map +1 -1
  577. package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
  578. package/dist/shared/contracts/content-types.d.ts +2 -0
  579. package/dist/shared/contracts/content-types.d.ts.map +1 -1
  580. package/dist/shared/contracts/relations.d.ts +1 -1
  581. package/dist/shared/contracts/relations.d.ts.map +1 -1
  582. package/package.json +15 -10
@@ -1 +1 @@
1
- {"version":3,"file":"model-configuration.mjs","sources":["../../../../server/src/controllers/validation/model-configuration.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport { getService } from '../../utils';\nimport { isListable, hasEditableAttribute } from '../../services/utils/configuration/attributes';\nimport { isValidDefaultSort } from '../../services/utils/configuration/settings';\n\n/**\n * Creates the validation schema for content-type configurations\n */\nexport default (schema: any, opts = {}) =>\n yup\n .object()\n .shape({\n settings: createSettingsSchema(schema).default(null).nullable(),\n metadatas: createMetadasSchema(schema).default(null).nullable(),\n layouts: createLayoutsSchema(schema, opts).default(null).nullable(),\n options: yup.object().optional(),\n })\n .noUnknown();\n\nconst createSettingsSchema = (schema: any) => {\n const validAttributes = Object.keys(schema.attributes).filter((key) => isListable(schema, key));\n\n return yup\n .object()\n .shape({\n bulkable: yup.boolean().required(),\n filterable: yup.boolean().required(),\n pageSize: yup.number().integer().min(10).max(100).required(),\n searchable: yup.boolean().required(),\n // should be reset when the type changes\n mainField: yup.string().oneOf(validAttributes.concat('id')).default('id'),\n // should be reset when the type changes\n defaultSortBy: yup\n .string()\n .test('is-valid-sort-attribute', '${path} is not a valid sort attribute', async (value) =>\n isValidDefaultSort(schema, value)\n )\n .default('id'),\n defaultSortOrder: yup.string().oneOf(['ASC', 'DESC']).default('ASC'),\n })\n .noUnknown();\n};\n\nconst createMetadasSchema = (schema: any) => {\n return yup.object().shape(\n Object.keys(schema.attributes).reduce((acc: any, key) => {\n acc[key] = yup\n .object()\n .shape({\n edit: yup\n .object()\n .shape({\n label: yup.string(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n visible: yup.boolean(),\n mainField: yup.lazy((value) => {\n if (!value) {\n return yup.string();\n }\n\n const targetSchema = getService('content-types').findContentType(\n schema.attributes[key].targetModel\n );\n\n if (!targetSchema) {\n return yup.string();\n }\n\n const validAttributes = Object.keys(targetSchema.attributes).filter((key) =>\n isListable(targetSchema, key)\n );\n\n return yup.string().oneOf(validAttributes.concat('id')).default('id');\n }),\n })\n .noUnknown()\n .required(),\n list: yup\n .object()\n .shape({\n label: yup.string(),\n searchable: yup.boolean(),\n sortable: yup.boolean(),\n })\n .noUnknown()\n .required(),\n })\n .noUnknown();\n\n return acc;\n }, {})\n );\n};\n\nconst createArrayTest = ({ allowUndefined = false } = {}) => ({\n name: 'isArray',\n message: '${path} is required and must be an array',\n test: (val: any) => (allowUndefined === true && val === undefined ? true : Array.isArray(val)),\n});\n\nconst createLayoutsSchema = (schema: any, opts = {}) => {\n const validAttributes = Object.keys(schema.attributes).filter((key) => isListable(schema, key));\n\n const editAttributes = Object.keys(schema.attributes).filter((key) =>\n hasEditableAttribute(schema, key)\n );\n\n return yup.object().shape({\n edit: yup\n .array()\n .of(\n yup.array().of(\n yup\n .object()\n .shape({\n name: yup.string().oneOf(editAttributes).required(),\n size: yup.number().integer().positive().required(),\n })\n .noUnknown()\n )\n )\n .test(createArrayTest(opts)),\n list: yup.array().of(yup.string().oneOf(validAttributes)).test(createArrayTest(opts)),\n });\n};\n"],"names":["schema","opts","yup","object","shape","settings","createSettingsSchema","default","nullable","metadatas","createMetadasSchema","layouts","createLayoutsSchema","options","optional","noUnknown","validAttributes","Object","keys","attributes","filter","key","isListable","bulkable","boolean","required","filterable","pageSize","number","integer","min","max","searchable","mainField","string","oneOf","concat","defaultSortBy","test","value","isValidDefaultSort","defaultSortOrder","reduce","acc","edit","label","description","placeholder","editable","visible","lazy","targetSchema","getService","findContentType","targetModel","list","sortable","createArrayTest","allowUndefined","name","message","val","undefined","Array","isArray","editAttributes","hasEditableAttribute","array","of","size","positive"],"mappings":"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"}
1
+ {"version":3,"file":"model-configuration.mjs","sources":["../../../../server/src/controllers/validation/model-configuration.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport { getService } from '../../utils';\nimport { isListable, hasEditableAttribute } from '../../services/utils/configuration/attributes';\nimport { isValidDefaultSort } from '../../services/utils/configuration/settings';\n\n/**\n * Creates the validation schema for content-type configurations\n */\nexport default (schema: any, opts = {}) =>\n yup\n .object()\n .shape({\n settings: createSettingsSchema(schema).default(null).nullable(),\n metadatas: createMetadasSchema(schema).default(null).nullable(),\n layouts: createLayoutsSchema(schema, opts).default(null).nullable(),\n options: yup.object().optional(),\n })\n .noUnknown();\n\nconst createSettingsSchema = (schema: any) => {\n const validAttributes = Object.keys(schema.attributes).filter((key) => isListable(schema, key));\n\n return yup\n .object()\n .shape({\n bulkable: yup.boolean().required(),\n filterable: yup.boolean().required(),\n pageSize: yup.number().integer().min(10).max(100).required(),\n searchable: yup.boolean().required(),\n // should be reset when the type changes\n mainField: yup.string().oneOf(validAttributes.concat('id')).default('id'),\n // should be reset when the type changes\n defaultSortBy: yup\n .string()\n .test('is-valid-sort-attribute', '${path} is not a valid sort attribute', async (value) =>\n isValidDefaultSort(schema, value)\n )\n .default('id'),\n defaultSortOrder: yup.string().oneOf(['ASC', 'DESC']).default('ASC'),\n relationOpenMode: yup.string().oneOf(['modal', 'page', 'newTab']).default('modal'),\n })\n .noUnknown();\n};\n\nconst createMetadasSchema = (schema: any) => {\n return yup.object().shape(\n Object.keys(schema.attributes).reduce((acc: any, key) => {\n acc[key] = yup\n .object()\n .shape({\n edit: yup\n .object()\n .shape({\n label: yup.string(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n visible: yup.boolean(),\n mainField: yup.lazy((value) => {\n if (!value) {\n return yup.string();\n }\n\n const targetSchema = getService('content-types').findContentType(\n schema.attributes[key].targetModel\n );\n\n if (!targetSchema) {\n return yup.string();\n }\n\n const validAttributes = Object.keys(targetSchema.attributes).filter((key) =>\n isListable(targetSchema, key)\n );\n\n return yup.string().oneOf(validAttributes.concat('id')).default('id');\n }),\n })\n .noUnknown()\n .required(),\n list: yup\n .object()\n .shape({\n label: yup.string(),\n searchable: yup.boolean(),\n sortable: yup.boolean(),\n })\n .noUnknown()\n .required(),\n })\n .noUnknown();\n\n return acc;\n }, {})\n );\n};\n\nconst createArrayTest = ({ allowUndefined = false } = {}) => ({\n name: 'isArray',\n message: '${path} is required and must be an array',\n test: (val: any) => (allowUndefined === true && val === undefined ? true : Array.isArray(val)),\n});\n\nconst createLayoutsSchema = (schema: any, opts = {}) => {\n const validAttributes = Object.keys(schema.attributes).filter((key) => isListable(schema, key));\n\n const editAttributes = Object.keys(schema.attributes).filter((key) =>\n hasEditableAttribute(schema, key)\n );\n\n return yup.object().shape({\n edit: yup\n .array()\n .of(\n yup.array().of(\n yup\n .object()\n .shape({\n name: yup.string().oneOf(editAttributes).required(),\n size: yup.number().integer().positive().required(),\n })\n .noUnknown()\n )\n )\n .test(createArrayTest(opts)),\n list: yup.array().of(yup.string().oneOf(validAttributes)).test(createArrayTest(opts)),\n });\n};\n"],"names":["schema","opts","yup","object","shape","settings","createSettingsSchema","default","nullable","metadatas","createMetadasSchema","layouts","createLayoutsSchema","options","optional","noUnknown","validAttributes","Object","keys","attributes","filter","key","isListable","bulkable","boolean","required","filterable","pageSize","number","integer","min","max","searchable","mainField","string","oneOf","concat","defaultSortBy","test","value","isValidDefaultSort","defaultSortOrder","relationOpenMode","reduce","acc","edit","label","description","placeholder","editable","visible","lazy","targetSchema","getService","findContentType","targetModel","list","sortable","createArrayTest","allowUndefined","name","message","val","undefined","Array","isArray","editAttributes","hasEditableAttribute","array","of","size","positive"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sources":["../../../../server/src/controllers/validation/relations.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst validateFindAvailableSchema = yup\n .object()\n .shape({\n component: yup.string(),\n id: yup.strapiID(),\n _q: yup.string(),\n idsToOmit: yup.array().of(yup.strapiID()),\n idsToInclude: yup.array().of(yup.strapiID()),\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindExistingSchema = yup\n .object()\n .shape({\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindAvailable = validateYupSchema(validateFindAvailableSchema, { strict: false });\nconst validateFindExisting = validateYupSchema(validateFindExistingSchema, { strict: false });\n\nexport { validateFindAvailable, validateFindExisting };\n"],"names":["validateFindAvailableSchema","yup","object","shape","component","string","id","strapiID","_q","idsToOmit","array","of","idsToInclude","page","number","integer","min","pageSize","max","locale","nullable","status","oneOf","required","validateFindExistingSchema","validateFindAvailable","validateYupSchema","strict","validateFindExisting"],"mappings":";;;;AAEA,MAAMA,2BAA8BC,GAAAA,eAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,SAAAA,EAAWH,gBAAII,MAAM,EAAA;AACrBC,IAAAA,EAAAA,EAAIL,gBAAIM,QAAQ,EAAA;AAChBC,IAAAA,EAAAA,EAAIP,gBAAII,MAAM,EAAA;AACdI,IAAAA,SAAAA,EAAWR,gBAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,gBAAIM,QAAQ,EAAA,CAAA;AACtCK,IAAAA,YAAAA,EAAcX,gBAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,gBAAIM,QAAQ,EAAA,CAAA;AACzCM,IAAAA,IAAAA,EAAMZ,gBAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAUhB,EAAAA,eAAAA,CAAIa,MAAM,EAAGC,CAAAA,OAAO,GAAGC,GAAG,CAAC,CAAGE,CAAAA,CAAAA,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAQlB,EAAAA,eAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,eAAII,CAAAA,MAAM,EAAGiB,CAAAA,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAMC,0BAA6BvB,GAAAA,eAAAA,CAChCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLU,IAAAA,IAAAA,EAAMZ,gBAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAUhB,EAAAA,eAAAA,CAAIa,MAAM,EAAGC,CAAAA,OAAO,GAAGC,GAAG,CAAC,CAAGE,CAAAA,CAAAA,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAQlB,EAAAA,eAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,eAAII,CAAAA,MAAM,EAAGiB,CAAAA,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAELE,MAAAA,qBAAAA,GAAwBC,8BAAkB1B,2BAA6B,EAAA;IAAE2B,MAAQ,EAAA;AAAM,CAAA;AACvFC,MAAAA,oBAAAA,GAAuBF,8BAAkBF,0BAA4B,EAAA;IAAEG,MAAQ,EAAA;AAAM,CAAA;;;;;"}
1
+ {"version":3,"file":"relations.js","sources":["../../../../server/src/controllers/validation/relations.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst validateFindAvailableSchema = yup\n .object()\n .shape({\n component: yup.string(),\n id: yup.strapiID(),\n _q: yup.string(),\n idsToOmit: yup.array().of(yup.strapiID()),\n idsToInclude: yup.array().of(yup.strapiID()),\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindExistingSchema = yup\n .object()\n .shape({\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindAvailable = validateYupSchema(validateFindAvailableSchema, { strict: false });\nconst validateFindExisting = validateYupSchema(validateFindExistingSchema, { strict: false });\n\nexport { validateFindAvailable, validateFindExisting };\n"],"names":["validateFindAvailableSchema","yup","object","shape","component","string","id","strapiID","_q","idsToOmit","array","of","idsToInclude","page","number","integer","min","pageSize","max","locale","nullable","status","oneOf","required","validateFindExistingSchema","validateFindAvailable","validateYupSchema","strict","validateFindExisting"],"mappings":";;;;AAEA,MAAMA,2BAAAA,GAA8BC,eAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,SAAAA,EAAWH,gBAAII,MAAM,EAAA;AACrBC,IAAAA,EAAAA,EAAIL,gBAAIM,QAAQ,EAAA;AAChBC,IAAAA,EAAAA,EAAIP,gBAAII,MAAM,EAAA;AACdI,IAAAA,SAAAA,EAAWR,gBAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,gBAAIM,QAAQ,EAAA,CAAA;AACtCK,IAAAA,YAAAA,EAAcX,gBAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,gBAAIM,QAAQ,EAAA,CAAA;AACzCM,IAAAA,IAAAA,EAAMZ,gBAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAAA,EAAUhB,eAAAA,CAAIa,MAAM,EAAA,CAAGC,OAAO,GAAGC,GAAG,CAAC,CAAA,CAAA,CAAGE,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAAA,EAAQlB,eAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,eAAAA,CAAII,MAAM,EAAA,CAAGiB,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAMC,0BAAAA,GAA6BvB,eAAAA,CAChCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLU,IAAAA,IAAAA,EAAMZ,gBAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAAA,EAAUhB,eAAAA,CAAIa,MAAM,EAAA,CAAGC,OAAO,GAAGC,GAAG,CAAC,CAAA,CAAA,CAAGE,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAAA,EAAQlB,eAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,eAAAA,CAAII,MAAM,EAAA,CAAGiB,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAME,qBAAAA,GAAwBC,8BAAkB1B,2BAAAA,EAA6B;IAAE2B,MAAAA,EAAQ;AAAM,CAAA;AAC7F,MAAMC,oBAAAA,GAAuBF,8BAAkBF,0BAAAA,EAA4B;IAAEG,MAAAA,EAAQ;AAAM,CAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.mjs","sources":["../../../../server/src/controllers/validation/relations.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst validateFindAvailableSchema = yup\n .object()\n .shape({\n component: yup.string(),\n id: yup.strapiID(),\n _q: yup.string(),\n idsToOmit: yup.array().of(yup.strapiID()),\n idsToInclude: yup.array().of(yup.strapiID()),\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindExistingSchema = yup\n .object()\n .shape({\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindAvailable = validateYupSchema(validateFindAvailableSchema, { strict: false });\nconst validateFindExisting = validateYupSchema(validateFindExistingSchema, { strict: false });\n\nexport { validateFindAvailable, validateFindExisting };\n"],"names":["validateFindAvailableSchema","yup","object","shape","component","string","id","strapiID","_q","idsToOmit","array","of","idsToInclude","page","number","integer","min","pageSize","max","locale","nullable","status","oneOf","required","validateFindExistingSchema","validateFindAvailable","validateYupSchema","strict","validateFindExisting"],"mappings":";;AAEA,MAAMA,2BAA8BC,GAAAA,GAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,SAAAA,EAAWH,IAAII,MAAM,EAAA;AACrBC,IAAAA,EAAAA,EAAIL,IAAIM,QAAQ,EAAA;AAChBC,IAAAA,EAAAA,EAAIP,IAAII,MAAM,EAAA;AACdI,IAAAA,SAAAA,EAAWR,IAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,IAAIM,QAAQ,EAAA,CAAA;AACtCK,IAAAA,YAAAA,EAAcX,IAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,IAAIM,QAAQ,EAAA,CAAA;AACzCM,IAAAA,IAAAA,EAAMZ,IAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAUhB,EAAAA,GAAAA,CAAIa,MAAM,EAAGC,CAAAA,OAAO,GAAGC,GAAG,CAAC,CAAGE,CAAAA,CAAAA,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAQlB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,GAAII,CAAAA,MAAM,EAAGiB,CAAAA,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAMC,0BAA6BvB,GAAAA,GAAAA,CAChCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLU,IAAAA,IAAAA,EAAMZ,IAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAUhB,EAAAA,GAAAA,CAAIa,MAAM,EAAGC,CAAAA,OAAO,GAAGC,GAAG,CAAC,CAAGE,CAAAA,CAAAA,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAQlB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,GAAII,CAAAA,MAAM,EAAGiB,CAAAA,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAELE,MAAAA,qBAAAA,GAAwBC,kBAAkB1B,2BAA6B,EAAA;IAAE2B,MAAQ,EAAA;AAAM,CAAA;AACvFC,MAAAA,oBAAAA,GAAuBF,kBAAkBF,0BAA4B,EAAA;IAAEG,MAAQ,EAAA;AAAM,CAAA;;;;"}
1
+ {"version":3,"file":"relations.mjs","sources":["../../../../server/src/controllers/validation/relations.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst validateFindAvailableSchema = yup\n .object()\n .shape({\n component: yup.string(),\n id: yup.strapiID(),\n _q: yup.string(),\n idsToOmit: yup.array().of(yup.strapiID()),\n idsToInclude: yup.array().of(yup.strapiID()),\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindExistingSchema = yup\n .object()\n .shape({\n page: yup.number().integer().min(1),\n pageSize: yup.number().integer().min(1).max(100),\n locale: yup.string().nullable(),\n status: yup.string().oneOf(['published', 'draft']).nullable(),\n })\n .required();\n\nconst validateFindAvailable = validateYupSchema(validateFindAvailableSchema, { strict: false });\nconst validateFindExisting = validateYupSchema(validateFindExistingSchema, { strict: false });\n\nexport { validateFindAvailable, validateFindExisting };\n"],"names":["validateFindAvailableSchema","yup","object","shape","component","string","id","strapiID","_q","idsToOmit","array","of","idsToInclude","page","number","integer","min","pageSize","max","locale","nullable","status","oneOf","required","validateFindExistingSchema","validateFindAvailable","validateYupSchema","strict","validateFindExisting"],"mappings":";;AAEA,MAAMA,2BAAAA,GAA8BC,GAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,SAAAA,EAAWH,IAAII,MAAM,EAAA;AACrBC,IAAAA,EAAAA,EAAIL,IAAIM,QAAQ,EAAA;AAChBC,IAAAA,EAAAA,EAAIP,IAAII,MAAM,EAAA;AACdI,IAAAA,SAAAA,EAAWR,IAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,IAAIM,QAAQ,EAAA,CAAA;AACtCK,IAAAA,YAAAA,EAAcX,IAAIS,KAAK,EAAA,CAAGC,EAAE,CAACV,IAAIM,QAAQ,EAAA,CAAA;AACzCM,IAAAA,IAAAA,EAAMZ,IAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAAA,EAAUhB,GAAAA,CAAIa,MAAM,EAAA,CAAGC,OAAO,GAAGC,GAAG,CAAC,CAAA,CAAA,CAAGE,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAAA,EAAQlB,GAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,GAAAA,CAAII,MAAM,EAAA,CAAGiB,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAMC,0BAAAA,GAA6BvB,GAAAA,CAChCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLU,IAAAA,IAAAA,EAAMZ,IAAIa,MAAM,EAAA,CAAGC,OAAO,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA;IACjCC,QAAAA,EAAUhB,GAAAA,CAAIa,MAAM,EAAA,CAAGC,OAAO,GAAGC,GAAG,CAAC,CAAA,CAAA,CAAGE,GAAG,CAAC,GAAA,CAAA;IAC5CC,MAAAA,EAAQlB,GAAAA,CAAII,MAAM,EAAA,CAAGe,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQpB,GAAAA,CAAII,MAAM,EAAA,CAAGiB,KAAK,CAAC;AAAC,QAAA,WAAA;AAAa,QAAA;AAAQ,KAAA,CAAA,CAAEF,QAAQ;AAC7D,CAAA,CAAA,CACCG,QAAQ,EAAA;AAEX,MAAME,qBAAAA,GAAwBC,kBAAkB1B,2BAAAA,EAA6B;IAAE2B,MAAAA,EAAQ;AAAM,CAAA;AAC7F,MAAMC,oBAAAA,GAAuBF,kBAAkBF,0BAAAA,EAA4B;IAAEG,MAAAA,EAAQ;AAAM,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.js","sources":["../../server/src/destroy.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport history from './history';\n\nconst destroy: Plugin.LoadedPlugin['destroy'] = async ({ strapi }) => {\n await history.destroy?.({ strapi });\n};\n\nexport default destroy;\n"],"names":["destroy","strapi","history"],"mappings":";;;;AAGA,MAAMA,OAA0C,GAAA,OAAO,EAAEC,MAAM,EAAE,GAAA;IAC/D,MAAMC,KAAAA,CAAQF,OAAO,GAAG;AAAEC,QAAAA;AAAO,KAAA,CAAA;AACnC;;;;"}
1
+ {"version":3,"file":"destroy.js","sources":["../../server/src/destroy.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport history from './history';\n\nconst destroy: Plugin.LoadedPlugin['destroy'] = async ({ strapi }) => {\n await history.destroy?.({ strapi });\n};\n\nexport default destroy;\n"],"names":["destroy","strapi","history"],"mappings":";;;;AAGA,MAAMA,OAAAA,GAA0C,OAAO,EAAEC,MAAM,EAAE,GAAA;IAC/D,MAAMC,KAAAA,CAAQF,OAAO,GAAG;AAAEC,QAAAA;AAAO,KAAA,CAAA;AACnC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.mjs","sources":["../../server/src/destroy.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport history from './history';\n\nconst destroy: Plugin.LoadedPlugin['destroy'] = async ({ strapi }) => {\n await history.destroy?.({ strapi });\n};\n\nexport default destroy;\n"],"names":["destroy","strapi","history"],"mappings":";;AAGA,MAAMA,OAA0C,GAAA,OAAO,EAAEC,MAAM,EAAE,GAAA;IAC/D,MAAMC,OAAAA,CAAQF,OAAO,GAAG;AAAEC,QAAAA;AAAO,KAAA,CAAA;AACnC;;;;"}
1
+ {"version":3,"file":"destroy.mjs","sources":["../../server/src/destroy.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport history from './history';\n\nconst destroy: Plugin.LoadedPlugin['destroy'] = async ({ strapi }) => {\n await history.destroy?.({ strapi });\n};\n\nexport default destroy;\n"],"names":["destroy","strapi","history"],"mappings":";;AAGA,MAAMA,OAAAA,GAA0C,OAAO,EAAEC,MAAM,EAAE,GAAA;IAC/D,MAAMC,OAAAA,CAAQF,OAAO,GAAG;AAAEC,QAAAA;AAAO,KAAA,CAAA;AACnC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../server/src/history/constants.ts"],"sourcesContent":["export const HISTORY_VERSION_UID = 'plugin::content-manager.history-version';\nexport const FIELDS_TO_IGNORE = [\n 'createdAt',\n 'updatedAt',\n 'publishedAt',\n 'createdBy',\n 'updatedBy',\n 'strapi_stage',\n 'strapi_assignee',\n];\n"],"names":["HISTORY_VERSION_UID","FIELDS_TO_IGNORE"],"mappings":";;AAAO,MAAMA,sBAAsB;MACtBC,gBAAmB,GAAA;AAC9B,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,cAAA;AACA,IAAA;;;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../server/src/history/constants.ts"],"sourcesContent":["export const HISTORY_VERSION_UID = 'plugin::content-manager.history-version';\nexport const FIELDS_TO_IGNORE = [\n 'createdAt',\n 'updatedAt',\n 'publishedAt',\n 'createdBy',\n 'updatedBy',\n 'strapi_stage',\n 'strapi_assignee',\n];\n"],"names":["HISTORY_VERSION_UID","FIELDS_TO_IGNORE"],"mappings":";;AAAO,MAAMA,sBAAsB;MACtBC,gBAAAA,GAAmB;AAC9B,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,cAAA;AACA,IAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sources":["../../../server/src/history/constants.ts"],"sourcesContent":["export const HISTORY_VERSION_UID = 'plugin::content-manager.history-version';\nexport const FIELDS_TO_IGNORE = [\n 'createdAt',\n 'updatedAt',\n 'publishedAt',\n 'createdBy',\n 'updatedBy',\n 'strapi_stage',\n 'strapi_assignee',\n];\n"],"names":["HISTORY_VERSION_UID","FIELDS_TO_IGNORE"],"mappings":"AAAO,MAAMA,sBAAsB;MACtBC,gBAAmB,GAAA;AAC9B,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,cAAA;AACA,IAAA;;;;;"}
1
+ {"version":3,"file":"constants.mjs","sources":["../../../server/src/history/constants.ts"],"sourcesContent":["export const HISTORY_VERSION_UID = 'plugin::content-manager.history-version';\nexport const FIELDS_TO_IGNORE = [\n 'createdAt',\n 'updatedAt',\n 'publishedAt',\n 'createdBy',\n 'updatedBy',\n 'strapi_stage',\n 'strapi_assignee',\n];\n"],"names":["HISTORY_VERSION_UID","FIELDS_TO_IGNORE"],"mappings":"AAAO,MAAMA,sBAAsB;MACtBC,gBAAAA,GAAmB;AAC9B,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,aAAA;AACA,IAAA,WAAA;AACA,IAAA,WAAA;AACA,IAAA,cAAA;AACA,IAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/controllers/history-version.ts"],"sourcesContent":["import { async, errors } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\nimport { pick } from 'lodash/fp';\nimport { getService as getContentManagerService } from '../../utils';\nimport { getService } from '../utils';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport { validateRestoreVersion } from './validation/history-version';\n\n/**\n * Parses pagination params and makes sure they're within valid ranges\n */\nconst getValidPagination = ({ page, pageSize }: { page: any; pageSize: any }) => {\n let pageNumber = 1;\n let pageSizeNumber = 20;\n\n if (page) {\n const parsedPage = parseInt(page, 10);\n pageNumber = parseInt(page, 10);\n\n if (!Number.isNaN(parsedPage) && parsedPage >= 1) {\n pageNumber = parsedPage;\n }\n }\n\n if (pageSize) {\n const parsedPageSize = parseInt(pageSize, 10);\n\n if (!Number.isNaN(parsedPageSize) && parsedPageSize >= 1 && parsedPageSize <= 100) {\n pageSizeNumber = parsedPageSize;\n }\n }\n\n return { page: pageNumber, pageSize: pageSizeNumber };\n};\n\nconst createHistoryVersionController = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async findMany(ctx) {\n const contentTypeUid = ctx.query.contentType as UID.ContentType;\n const isSingleType = strapi.getModel(contentTypeUid)?.kind === 'singleType';\n\n if (isSingleType && !contentTypeUid) {\n throw new errors.ForbiddenError('contentType is required');\n }\n\n if (!isSingleType && (!contentTypeUid || !ctx.query.documentId)) {\n throw new errors.ForbiddenError('contentType and documentId are required');\n }\n\n /**\n * There are no permissions specifically for history versions,\n * but we need to check that the user can read the content type\n */\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: ctx.query.contentType,\n });\n\n if (permissionChecker.cannot.read()) {\n return ctx.forbidden();\n }\n\n const query: HistoryVersions.GetHistoryVersions.Request['query'] =\n await permissionChecker.sanitizeQuery(ctx.query);\n\n const { results, pagination } = await getService(strapi, 'history').findVersionsPage({\n query: {\n ...query,\n ...getValidPagination({ page: query.page, pageSize: query.pageSize }),\n },\n state: { userAbility: ctx.state.userAbility },\n });\n\n const sanitizedResults = await async.map(\n results,\n async (version: HistoryVersions.HistoryVersionDataResponse & { locale: string }) => {\n return {\n ...version,\n data: await permissionChecker.sanitizeOutput(version.data),\n createdBy: version.createdBy\n ? pick(['id', 'firstname', 'lastname', 'username', 'email'], version.createdBy)\n : undefined,\n };\n }\n );\n\n return {\n data: sanitizedResults,\n meta: { pagination },\n };\n },\n\n async restoreVersion(ctx) {\n const request = ctx.request as unknown as HistoryVersions.RestoreHistoryVersion.Request;\n\n await validateRestoreVersion(request.body, 'contentType is required');\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: request.body.contentType,\n });\n\n if (permissionChecker.cannot.update()) {\n throw new errors.ForbiddenError();\n }\n\n const restoredDocument = await getService(strapi, 'history').restoreVersion(\n request.params.versionId\n );\n\n return {\n data: { documentId: restoredDocument.documentId },\n } satisfies HistoryVersions.RestoreHistoryVersion.Response;\n },\n } satisfies Core.Controller;\n};\n\nexport { createHistoryVersionController };\n"],"names":["getValidPagination","page","pageSize","pageNumber","pageSizeNumber","parsedPage","parseInt","Number","isNaN","parsedPageSize","createHistoryVersionController","strapi","findMany","ctx","contentTypeUid","query","contentType","isSingleType","getModel","kind","errors","ForbiddenError","documentId","permissionChecker","getContentManagerService","create","userAbility","state","model","cannot","read","forbidden","sanitizeQuery","results","pagination","getService","findVersionsPage","sanitizedResults","async","map","version","data","sanitizeOutput","createdBy","pick","undefined","meta","restoreVersion","request","validateRestoreVersion","body","update","restoredDocument","params","versionId"],"mappings":"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"}
1
+ {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/controllers/history-version.ts"],"sourcesContent":["import { async, errors } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\nimport { pick } from 'lodash/fp';\nimport { getService as getContentManagerService } from '../../utils';\nimport { getService } from '../utils';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport { validateRestoreVersion } from './validation/history-version';\n\n/**\n * Parses pagination params and makes sure they're within valid ranges\n */\nconst getValidPagination = ({ page, pageSize }: { page: any; pageSize: any }) => {\n let pageNumber = 1;\n let pageSizeNumber = 20;\n\n if (page) {\n const parsedPage = parseInt(page, 10);\n pageNumber = parseInt(page, 10);\n\n if (!Number.isNaN(parsedPage) && parsedPage >= 1) {\n pageNumber = parsedPage;\n }\n }\n\n if (pageSize) {\n const parsedPageSize = parseInt(pageSize, 10);\n\n if (!Number.isNaN(parsedPageSize) && parsedPageSize >= 1 && parsedPageSize <= 100) {\n pageSizeNumber = parsedPageSize;\n }\n }\n\n return { page: pageNumber, pageSize: pageSizeNumber };\n};\n\nconst createHistoryVersionController = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async findMany(ctx) {\n const contentTypeUid = ctx.query.contentType as UID.ContentType;\n const isSingleType = strapi.getModel(contentTypeUid)?.kind === 'singleType';\n\n if (isSingleType && !contentTypeUid) {\n throw new errors.ForbiddenError('contentType is required');\n }\n\n if (!isSingleType && (!contentTypeUid || !ctx.query.documentId)) {\n throw new errors.ForbiddenError('contentType and documentId are required');\n }\n\n /**\n * There are no permissions specifically for history versions,\n * but we need to check that the user can read the content type\n */\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: ctx.query.contentType,\n });\n\n if (permissionChecker.cannot.read()) {\n return ctx.forbidden();\n }\n\n const query: HistoryVersions.GetHistoryVersions.Request['query'] =\n await permissionChecker.sanitizeQuery(ctx.query);\n\n const { results, pagination } = await getService(strapi, 'history').findVersionsPage({\n query: {\n ...query,\n ...getValidPagination({ page: query.page, pageSize: query.pageSize }),\n },\n state: { userAbility: ctx.state.userAbility },\n });\n\n const sanitizedResults = await async.map(\n results,\n async (version: HistoryVersions.HistoryVersionDataResponse & { locale: string }) => {\n return {\n ...version,\n data: await permissionChecker.sanitizeOutput(version.data),\n createdBy: version.createdBy\n ? pick(['id', 'firstname', 'lastname', 'username', 'email'], version.createdBy)\n : undefined,\n };\n }\n );\n\n return {\n data: sanitizedResults,\n meta: { pagination },\n };\n },\n\n async restoreVersion(ctx) {\n const request = ctx.request as unknown as HistoryVersions.RestoreHistoryVersion.Request;\n\n await validateRestoreVersion(request.body, 'contentType is required');\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: request.body.contentType,\n });\n\n if (permissionChecker.cannot.update()) {\n throw new errors.ForbiddenError();\n }\n\n const restoredDocument = await getService(strapi, 'history').restoreVersion(\n request.params.versionId\n );\n\n return {\n data: { documentId: restoredDocument.documentId },\n } satisfies HistoryVersions.RestoreHistoryVersion.Response;\n },\n } satisfies Core.Controller;\n};\n\nexport { createHistoryVersionController };\n"],"names":["getValidPagination","page","pageSize","pageNumber","pageSizeNumber","parsedPage","parseInt","Number","isNaN","parsedPageSize","createHistoryVersionController","strapi","findMany","ctx","contentTypeUid","query","contentType","isSingleType","getModel","kind","errors","ForbiddenError","documentId","permissionChecker","getContentManagerService","create","userAbility","state","model","cannot","read","forbidden","sanitizeQuery","results","pagination","getService","findVersionsPage","sanitizedResults","async","map","version","data","sanitizeOutput","createdBy","pick","undefined","meta","restoreVersion","request","validateRestoreVersion","body","update","restoredDocument","params","versionId"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/controllers/history-version.ts"],"sourcesContent":["import { async, errors } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\nimport { pick } from 'lodash/fp';\nimport { getService as getContentManagerService } from '../../utils';\nimport { getService } from '../utils';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport { validateRestoreVersion } from './validation/history-version';\n\n/**\n * Parses pagination params and makes sure they're within valid ranges\n */\nconst getValidPagination = ({ page, pageSize }: { page: any; pageSize: any }) => {\n let pageNumber = 1;\n let pageSizeNumber = 20;\n\n if (page) {\n const parsedPage = parseInt(page, 10);\n pageNumber = parseInt(page, 10);\n\n if (!Number.isNaN(parsedPage) && parsedPage >= 1) {\n pageNumber = parsedPage;\n }\n }\n\n if (pageSize) {\n const parsedPageSize = parseInt(pageSize, 10);\n\n if (!Number.isNaN(parsedPageSize) && parsedPageSize >= 1 && parsedPageSize <= 100) {\n pageSizeNumber = parsedPageSize;\n }\n }\n\n return { page: pageNumber, pageSize: pageSizeNumber };\n};\n\nconst createHistoryVersionController = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async findMany(ctx) {\n const contentTypeUid = ctx.query.contentType as UID.ContentType;\n const isSingleType = strapi.getModel(contentTypeUid)?.kind === 'singleType';\n\n if (isSingleType && !contentTypeUid) {\n throw new errors.ForbiddenError('contentType is required');\n }\n\n if (!isSingleType && (!contentTypeUid || !ctx.query.documentId)) {\n throw new errors.ForbiddenError('contentType and documentId are required');\n }\n\n /**\n * There are no permissions specifically for history versions,\n * but we need to check that the user can read the content type\n */\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: ctx.query.contentType,\n });\n\n if (permissionChecker.cannot.read()) {\n return ctx.forbidden();\n }\n\n const query: HistoryVersions.GetHistoryVersions.Request['query'] =\n await permissionChecker.sanitizeQuery(ctx.query);\n\n const { results, pagination } = await getService(strapi, 'history').findVersionsPage({\n query: {\n ...query,\n ...getValidPagination({ page: query.page, pageSize: query.pageSize }),\n },\n state: { userAbility: ctx.state.userAbility },\n });\n\n const sanitizedResults = await async.map(\n results,\n async (version: HistoryVersions.HistoryVersionDataResponse & { locale: string }) => {\n return {\n ...version,\n data: await permissionChecker.sanitizeOutput(version.data),\n createdBy: version.createdBy\n ? pick(['id', 'firstname', 'lastname', 'username', 'email'], version.createdBy)\n : undefined,\n };\n }\n );\n\n return {\n data: sanitizedResults,\n meta: { pagination },\n };\n },\n\n async restoreVersion(ctx) {\n const request = ctx.request as unknown as HistoryVersions.RestoreHistoryVersion.Request;\n\n await validateRestoreVersion(request.body, 'contentType is required');\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: request.body.contentType,\n });\n\n if (permissionChecker.cannot.update()) {\n throw new errors.ForbiddenError();\n }\n\n const restoredDocument = await getService(strapi, 'history').restoreVersion(\n request.params.versionId\n );\n\n return {\n data: { documentId: restoredDocument.documentId },\n } satisfies HistoryVersions.RestoreHistoryVersion.Response;\n },\n } satisfies Core.Controller;\n};\n\nexport { createHistoryVersionController };\n"],"names":["getValidPagination","page","pageSize","pageNumber","pageSizeNumber","parsedPage","parseInt","Number","isNaN","parsedPageSize","createHistoryVersionController","strapi","findMany","ctx","contentTypeUid","query","contentType","isSingleType","getModel","kind","errors","ForbiddenError","documentId","permissionChecker","getContentManagerService","create","userAbility","state","model","cannot","read","forbidden","sanitizeQuery","results","pagination","getService","findVersionsPage","sanitizedResults","async","map","version","data","sanitizeOutput","createdBy","pick","undefined","meta","restoreVersion","request","validateRestoreVersion","body","update","restoredDocument","params","versionId"],"mappings":"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"}
1
+ {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/controllers/history-version.ts"],"sourcesContent":["import { async, errors } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\nimport { pick } from 'lodash/fp';\nimport { getService as getContentManagerService } from '../../utils';\nimport { getService } from '../utils';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport { validateRestoreVersion } from './validation/history-version';\n\n/**\n * Parses pagination params and makes sure they're within valid ranges\n */\nconst getValidPagination = ({ page, pageSize }: { page: any; pageSize: any }) => {\n let pageNumber = 1;\n let pageSizeNumber = 20;\n\n if (page) {\n const parsedPage = parseInt(page, 10);\n pageNumber = parseInt(page, 10);\n\n if (!Number.isNaN(parsedPage) && parsedPage >= 1) {\n pageNumber = parsedPage;\n }\n }\n\n if (pageSize) {\n const parsedPageSize = parseInt(pageSize, 10);\n\n if (!Number.isNaN(parsedPageSize) && parsedPageSize >= 1 && parsedPageSize <= 100) {\n pageSizeNumber = parsedPageSize;\n }\n }\n\n return { page: pageNumber, pageSize: pageSizeNumber };\n};\n\nconst createHistoryVersionController = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async findMany(ctx) {\n const contentTypeUid = ctx.query.contentType as UID.ContentType;\n const isSingleType = strapi.getModel(contentTypeUid)?.kind === 'singleType';\n\n if (isSingleType && !contentTypeUid) {\n throw new errors.ForbiddenError('contentType is required');\n }\n\n if (!isSingleType && (!contentTypeUid || !ctx.query.documentId)) {\n throw new errors.ForbiddenError('contentType and documentId are required');\n }\n\n /**\n * There are no permissions specifically for history versions,\n * but we need to check that the user can read the content type\n */\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: ctx.query.contentType,\n });\n\n if (permissionChecker.cannot.read()) {\n return ctx.forbidden();\n }\n\n const query: HistoryVersions.GetHistoryVersions.Request['query'] =\n await permissionChecker.sanitizeQuery(ctx.query);\n\n const { results, pagination } = await getService(strapi, 'history').findVersionsPage({\n query: {\n ...query,\n ...getValidPagination({ page: query.page, pageSize: query.pageSize }),\n },\n state: { userAbility: ctx.state.userAbility },\n });\n\n const sanitizedResults = await async.map(\n results,\n async (version: HistoryVersions.HistoryVersionDataResponse & { locale: string }) => {\n return {\n ...version,\n data: await permissionChecker.sanitizeOutput(version.data),\n createdBy: version.createdBy\n ? pick(['id', 'firstname', 'lastname', 'username', 'email'], version.createdBy)\n : undefined,\n };\n }\n );\n\n return {\n data: sanitizedResults,\n meta: { pagination },\n };\n },\n\n async restoreVersion(ctx) {\n const request = ctx.request as unknown as HistoryVersions.RestoreHistoryVersion.Request;\n\n await validateRestoreVersion(request.body, 'contentType is required');\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: ctx.state.userAbility,\n model: request.body.contentType,\n });\n\n if (permissionChecker.cannot.update()) {\n throw new errors.ForbiddenError();\n }\n\n const restoredDocument = await getService(strapi, 'history').restoreVersion(\n request.params.versionId\n );\n\n return {\n data: { documentId: restoredDocument.documentId },\n } satisfies HistoryVersions.RestoreHistoryVersion.Response;\n },\n } satisfies Core.Controller;\n};\n\nexport { createHistoryVersionController };\n"],"names":["getValidPagination","page","pageSize","pageNumber","pageSizeNumber","parsedPage","parseInt","Number","isNaN","parsedPageSize","createHistoryVersionController","strapi","findMany","ctx","contentTypeUid","query","contentType","isSingleType","getModel","kind","errors","ForbiddenError","documentId","permissionChecker","getContentManagerService","create","userAbility","state","model","cannot","read","forbidden","sanitizeQuery","results","pagination","getService","findVersionsPage","sanitizedResults","async","map","version","data","sanitizeOutput","createdBy","pick","undefined","meta","restoreVersion","request","validateRestoreVersion","body","update","restoredDocument","params","versionId"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/src/history/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHistoryVersionController } from './history-version';\n\nexport const controllers = {\n 'history-version': createHistoryVersionController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","createHistoryVersionController"],"mappings":";;;;MAGaA,WAAc,GAAA;IACzB,iBAAmBC,EAAAA;AAKrB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/history/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHistoryVersionController } from './history-version';\n\nexport const controllers = {\n 'history-version': createHistoryVersionController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","createHistoryVersionController"],"mappings":";;;;MAGaA,WAAAA,GAAc;IACzB,iBAAA,EAAmBC;AAKrB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../server/src/history/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHistoryVersionController } from './history-version';\n\nexport const controllers = {\n 'history-version': createHistoryVersionController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","createHistoryVersionController"],"mappings":";;MAGaA,WAAc,GAAA;IACzB,iBAAmBC,EAAAA;AAKrB;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/history/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHistoryVersionController } from './history-version';\n\nexport const controllers = {\n 'history-version': createHistoryVersionController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","createHistoryVersionController"],"mappings":";;MAGaA,WAAAA,GAAc;IACzB,iBAAA,EAAmBC;AAKrB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.js","sources":["../../../../../server/src/history/controllers/validation/history-version.ts"],"sourcesContent":["import * as yup from 'yup';\nimport { validateYupSchema } from '@strapi/utils';\n\nconst historyRestoreVersionSchema = yup\n .object()\n .shape({\n contentType: yup.string().trim().required(),\n })\n .required();\n\nexport const validateRestoreVersion = validateYupSchema(historyRestoreVersionSchema);\n"],"names":["historyRestoreVersionSchema","yup","object","shape","contentType","string","trim","required","validateRestoreVersion","validateYupSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,2BAA8BC,GAAAA,cAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,WAAAA,EAAaH,cAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,GAAGC,QAAQ;AAC3C,CAAA,CAAA,CACCA,QAAQ,EAAA;AAEJ,MAAMC,sBAAyBC,GAAAA,6BAAAA,CAAkBT,2BAA6B;;;;"}
1
+ {"version":3,"file":"history-version.js","sources":["../../../../../server/src/history/controllers/validation/history-version.ts"],"sourcesContent":["import * as yup from 'yup';\nimport { validateYupSchema } from '@strapi/utils';\n\nconst historyRestoreVersionSchema = yup\n .object()\n .shape({\n contentType: yup.string().trim().required(),\n })\n .required();\n\nexport const validateRestoreVersion = validateYupSchema(historyRestoreVersionSchema);\n"],"names":["historyRestoreVersionSchema","yup","object","shape","contentType","string","trim","required","validateRestoreVersion","validateYupSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,2BAAAA,GAA8BC,cAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,WAAAA,EAAaH,cAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,GAAGC,QAAQ;AAC3C,CAAA,CAAA,CACCA,QAAQ,EAAA;AAEJ,MAAMC,sBAAAA,GAAyBC,6BAAAA,CAAkBT,2BAAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.mjs","sources":["../../../../../server/src/history/controllers/validation/history-version.ts"],"sourcesContent":["import * as yup from 'yup';\nimport { validateYupSchema } from '@strapi/utils';\n\nconst historyRestoreVersionSchema = yup\n .object()\n .shape({\n contentType: yup.string().trim().required(),\n })\n .required();\n\nexport const validateRestoreVersion = validateYupSchema(historyRestoreVersionSchema);\n"],"names":["historyRestoreVersionSchema","yup","object","shape","contentType","string","trim","required","validateRestoreVersion","validateYupSchema"],"mappings":";;;AAGA,MAAMA,2BAA8BC,GAAAA,GAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,WAAAA,EAAaH,GAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,GAAGC,QAAQ;AAC3C,CAAA,CAAA,CACCA,QAAQ,EAAA;AAEJ,MAAMC,sBAAyBC,GAAAA,iBAAAA,CAAkBT,2BAA6B;;;;"}
1
+ {"version":3,"file":"history-version.mjs","sources":["../../../../../server/src/history/controllers/validation/history-version.ts"],"sourcesContent":["import * as yup from 'yup';\nimport { validateYupSchema } from '@strapi/utils';\n\nconst historyRestoreVersionSchema = yup\n .object()\n .shape({\n contentType: yup.string().trim().required(),\n })\n .required();\n\nexport const validateRestoreVersion = validateYupSchema(historyRestoreVersionSchema);\n"],"names":["historyRestoreVersionSchema","yup","object","shape","contentType","string","trim","required","validateRestoreVersion","validateYupSchema"],"mappings":";;;AAGA,MAAMA,2BAAAA,GAA8BC,GAAAA,CACjCC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,WAAAA,EAAaH,GAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,GAAGC,QAAQ;AAC3C,CAAA,CAAA,CACCA,QAAQ,EAAA;AAEJ,MAAMC,sBAAAA,GAAyBC,iBAAAA,CAAkBT,2BAAAA;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./controllers/index.js');
3
+ var index$2 = require('./controllers/index.js');
4
4
  var index$1 = require('./services/index.js');
5
- var index$2 = require('./routes/index.js');
5
+ var index = require('./routes/index.js');
6
6
  var utils = require('./utils.js');
7
7
  var historyVersion = require('./models/history-version.js');
8
8
 
@@ -22,9 +22,9 @@ var historyVersion = require('./models/history-version.js');
22
22
  destroy ({ strapi: strapi1 }) {
23
23
  utils.getService(strapi1, 'lifecycles').destroy();
24
24
  },
25
- controllers: index.controllers,
25
+ controllers: index$2.controllers,
26
26
  services: index$1.services,
27
- routes: index$2.routes
27
+ routes: index.routes
28
28
  };
29
29
  }
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/src/history/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { controllers } from './controllers';\nimport { services } from './services';\nimport { routes } from './routes';\nimport { getService } from './utils';\nimport { historyVersion } from './models/history-version';\n\n/**\n * Check once if the feature is enabled before loading it,\n * so that we can assume it is enabled in the other files.\n */\nconst getFeature = (): Partial<Plugin.LoadedPlugin> => {\n if (strapi.ee.features.isEnabled('cms-content-history')) {\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n bootstrap({ strapi }) {\n // Start recording history and saving history versions\n getService(strapi, 'lifecycles').bootstrap();\n },\n destroy({ strapi }) {\n getService(strapi, 'lifecycles').destroy();\n },\n controllers,\n services,\n routes,\n };\n }\n\n /**\n * Keep registering the model to avoid losing the data if the feature is disabled,\n * or if the license expires.\n */\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n };\n};\n\nexport default getFeature();\n"],"names":["getFeature","strapi","ee","features","isEnabled","register","get","add","historyVersion","bootstrap","getService","destroy","controllers","services","routes"],"mappings":";;;;;;;;AAOA;;;AAGC,IACD,MAAMA,UAAa,GAAA,IAAA;AACjB,IAAA,IAAIC,OAAOC,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,qBAAwB,CAAA,EAAA;QACvD,OAAO;YACLC,QAAS,CAAA,CAAA,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,gBAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAUC,CAAAA,CAAAA,GAAG,CAACC,6BAAAA,CAAAA;AAC3B,aAAA;YACAC,SAAU,CAAA,CAAA,EAAER,MAAAA,EAAAA,OAAM,EAAE,EAAA;;gBAElBS,gBAAWT,CAAAA,OAAAA,EAAQ,cAAcQ,SAAS,EAAA;AAC5C,aAAA;YACAE,OAAQ,CAAA,CAAA,EAAEV,MAAAA,EAAAA,OAAM,EAAE,EAAA;gBAChBS,gBAAWT,CAAAA,OAAAA,EAAQ,cAAcU,OAAO,EAAA;AAC1C,aAAA;AACAC,yBAAAA,iBAAAA;AACAC,sBAAAA,gBAAAA;AACAC,oBAAAA;AACF,SAAA;AACF;AAEA;;;AAGC,MACD,OAAO;QACLT,QAAS,CAAA,CAAA,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,YAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAUC,CAAAA,CAAAA,GAAG,CAACC,6BAAAA,CAAAA;AAC3B;AACF,KAAA;AACF,CAAA;AAEA,cAAeR,UAAa,EAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/history/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { controllers } from './controllers';\nimport { services } from './services';\nimport { routes } from './routes';\nimport { getService } from './utils';\nimport { historyVersion } from './models/history-version';\n\n/**\n * Check once if the feature is enabled before loading it,\n * so that we can assume it is enabled in the other files.\n */\nconst getFeature = (): Partial<Plugin.LoadedPlugin> => {\n if (strapi.ee.features.isEnabled('cms-content-history')) {\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n bootstrap({ strapi }) {\n // Start recording history and saving history versions\n getService(strapi, 'lifecycles').bootstrap();\n },\n destroy({ strapi }) {\n getService(strapi, 'lifecycles').destroy();\n },\n controllers,\n services,\n routes,\n };\n }\n\n /**\n * Keep registering the model to avoid losing the data if the feature is disabled,\n * or if the license expires.\n */\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n };\n};\n\nexport default getFeature();\n"],"names":["getFeature","strapi","ee","features","isEnabled","register","get","add","historyVersion","bootstrap","getService","destroy","controllers","services","routes"],"mappings":";;;;;;;;AAOA;;;AAGC,IACD,MAAMA,UAAAA,GAAa,IAAA;AACjB,IAAA,IAAIC,OAAOC,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,qBAAA,CAAA,EAAwB;QACvD,OAAO;YACLC,QAAAA,CAAAA,CAAS,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,gBAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAA,CAAA,CAAUC,GAAG,CAACC,6BAAAA,CAAAA;AAC3B,YAAA,CAAA;YACAC,SAAAA,CAAAA,CAAU,EAAER,MAAAA,EAAAA,OAAM,EAAE,EAAA;;gBAElBS,gBAAAA,CAAWT,OAAAA,EAAQ,cAAcQ,SAAS,EAAA;AAC5C,YAAA,CAAA;YACAE,OAAAA,CAAAA,CAAQ,EAAEV,MAAAA,EAAAA,OAAM,EAAE,EAAA;gBAChBS,gBAAAA,CAAWT,OAAAA,EAAQ,cAAcU,OAAO,EAAA;AAC1C,YAAA,CAAA;AACAC,yBAAAA,mBAAAA;AACAC,sBAAAA,gBAAAA;AACAC,oBAAAA;AACF,SAAA;AACF,IAAA;AAEA;;;AAGC,MACD,OAAO;QACLT,QAAAA,CAAAA,CAAS,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,YAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAA,CAAA,CAAUC,GAAG,CAACC,6BAAAA,CAAAA;AAC3B,QAAA;AACF,KAAA;AACF,CAAA;AAEA,cAAeR,UAAAA,EAAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/src/history/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { controllers } from './controllers';\nimport { services } from './services';\nimport { routes } from './routes';\nimport { getService } from './utils';\nimport { historyVersion } from './models/history-version';\n\n/**\n * Check once if the feature is enabled before loading it,\n * so that we can assume it is enabled in the other files.\n */\nconst getFeature = (): Partial<Plugin.LoadedPlugin> => {\n if (strapi.ee.features.isEnabled('cms-content-history')) {\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n bootstrap({ strapi }) {\n // Start recording history and saving history versions\n getService(strapi, 'lifecycles').bootstrap();\n },\n destroy({ strapi }) {\n getService(strapi, 'lifecycles').destroy();\n },\n controllers,\n services,\n routes,\n };\n }\n\n /**\n * Keep registering the model to avoid losing the data if the feature is disabled,\n * or if the license expires.\n */\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n };\n};\n\nexport default getFeature();\n"],"names":["getFeature","strapi","ee","features","isEnabled","register","get","add","historyVersion","bootstrap","getService","destroy","controllers","services","routes"],"mappings":";;;;;;AAOA;;;AAGC,IACD,MAAMA,UAAa,GAAA,IAAA;AACjB,IAAA,IAAIC,OAAOC,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,qBAAwB,CAAA,EAAA;QACvD,OAAO;YACLC,QAAS,CAAA,CAAA,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,gBAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAUC,CAAAA,CAAAA,GAAG,CAACC,cAAAA,CAAAA;AAC3B,aAAA;YACAC,SAAU,CAAA,CAAA,EAAER,MAAAA,EAAAA,OAAM,EAAE,EAAA;;gBAElBS,UAAWT,CAAAA,OAAAA,EAAQ,cAAcQ,SAAS,EAAA;AAC5C,aAAA;YACAE,OAAQ,CAAA,CAAA,EAAEV,MAAAA,EAAAA,OAAM,EAAE,EAAA;gBAChBS,UAAWT,CAAAA,OAAAA,EAAQ,cAAcU,OAAO,EAAA;AAC1C,aAAA;AACAC,YAAAA,WAAAA;AACAC,YAAAA,QAAAA;AACAC,YAAAA;AACF,SAAA;AACF;AAEA;;;AAGC,MACD,OAAO;QACLT,QAAS,CAAA,CAAA,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,YAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAUC,CAAAA,CAAAA,GAAG,CAACC,cAAAA,CAAAA;AAC3B;AACF,KAAA;AACF,CAAA;AAEA,cAAeR,UAAa,EAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/history/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { controllers } from './controllers';\nimport { services } from './services';\nimport { routes } from './routes';\nimport { getService } from './utils';\nimport { historyVersion } from './models/history-version';\n\n/**\n * Check once if the feature is enabled before loading it,\n * so that we can assume it is enabled in the other files.\n */\nconst getFeature = (): Partial<Plugin.LoadedPlugin> => {\n if (strapi.ee.features.isEnabled('cms-content-history')) {\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n bootstrap({ strapi }) {\n // Start recording history and saving history versions\n getService(strapi, 'lifecycles').bootstrap();\n },\n destroy({ strapi }) {\n getService(strapi, 'lifecycles').destroy();\n },\n controllers,\n services,\n routes,\n };\n }\n\n /**\n * Keep registering the model to avoid losing the data if the feature is disabled,\n * or if the license expires.\n */\n return {\n register({ strapi }) {\n strapi.get('models').add(historyVersion);\n },\n };\n};\n\nexport default getFeature();\n"],"names":["getFeature","strapi","ee","features","isEnabled","register","get","add","historyVersion","bootstrap","getService","destroy","controllers","services","routes"],"mappings":";;;;;;AAOA;;;AAGC,IACD,MAAMA,UAAAA,GAAa,IAAA;AACjB,IAAA,IAAIC,OAAOC,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,qBAAA,CAAA,EAAwB;QACvD,OAAO;YACLC,QAAAA,CAAAA,CAAS,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,gBAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAA,CAAA,CAAUC,GAAG,CAACC,cAAAA,CAAAA;AAC3B,YAAA,CAAA;YACAC,SAAAA,CAAAA,CAAU,EAAER,MAAAA,EAAAA,OAAM,EAAE,EAAA;;gBAElBS,UAAAA,CAAWT,OAAAA,EAAQ,cAAcQ,SAAS,EAAA;AAC5C,YAAA,CAAA;YACAE,OAAAA,CAAAA,CAAQ,EAAEV,MAAAA,EAAAA,OAAM,EAAE,EAAA;gBAChBS,UAAAA,CAAWT,OAAAA,EAAQ,cAAcU,OAAO,EAAA;AAC1C,YAAA,CAAA;AACAC,YAAAA,WAAAA;AACAC,YAAAA,QAAAA;AACAC,YAAAA;AACF,SAAA;AACF,IAAA;AAEA;;;AAGC,MACD,OAAO;QACLT,QAAAA,CAAAA,CAAS,EAAEJ,MAAAA,EAAAA,OAAM,EAAE,EAAA;AACjBA,YAAAA,OAAAA,CAAOK,GAAG,CAAC,QAAA,CAAA,CAAUC,GAAG,CAACC,cAAAA,CAAAA;AAC3B,QAAA;AACF,KAAA;AACF,CAAA;AAEA,cAAeR,UAAAA,EAAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/models/history-version.ts"],"sourcesContent":["import type { Model } from '@strapi/database';\nimport { HISTORY_VERSION_UID } from '../constants';\n\nconst historyVersion: Model = {\n uid: HISTORY_VERSION_UID,\n tableName: 'strapi_history_versions',\n singularName: 'history-version',\n attributes: {\n id: {\n type: 'increments',\n },\n contentType: {\n type: 'string',\n column: { notNullable: true },\n },\n relatedDocumentId: {\n type: 'string',\n // TODO: notNullable should be true once history can record publish actions\n column: { notNullable: false },\n },\n locale: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['draft', 'published', 'modified'],\n },\n data: {\n type: 'json',\n },\n schema: {\n type: 'json',\n },\n createdAt: {\n type: 'datetime',\n default: () => new Date(),\n },\n // FIXME: joinTable should be optional\n // @ts-expect-error database model is not yet updated to support useJoinTable\n createdBy: {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n useJoinTable: false,\n },\n },\n};\n\nexport { historyVersion };\n"],"names":["historyVersion","uid","HISTORY_VERSION_UID","tableName","singularName","attributes","id","type","contentType","column","notNullable","relatedDocumentId","locale","status","enum","data","schema","createdAt","default","Date","createdBy","relation","target","useJoinTable"],"mappings":";;;;AAGA,MAAMA,cAAwB,GAAA;IAC5BC,GAAKC,EAAAA,6BAAAA;IACLC,SAAW,EAAA,yBAAA;IACXC,YAAc,EAAA,iBAAA;IACdC,UAAY,EAAA;QACVC,EAAI,EAAA;YACFC,IAAM,EAAA;AACR,SAAA;QACAC,WAAa,EAAA;YACXD,IAAM,EAAA,QAAA;YACNE,MAAQ,EAAA;gBAAEC,WAAa,EAAA;AAAK;AAC9B,SAAA;QACAC,iBAAmB,EAAA;YACjBJ,IAAM,EAAA,QAAA;;YAENE,MAAQ,EAAA;gBAAEC,WAAa,EAAA;AAAM;AAC/B,SAAA;QACAE,MAAQ,EAAA;YACNL,IAAM,EAAA;AACR,SAAA;QACAM,MAAQ,EAAA;YACNN,IAAM,EAAA,aAAA;YACNO,IAAM,EAAA;AAAC,gBAAA,OAAA;AAAS,gBAAA,WAAA;AAAa,gBAAA;AAAW;AAC1C,SAAA;QACAC,IAAM,EAAA;YACJR,IAAM,EAAA;AACR,SAAA;QACAS,MAAQ,EAAA;YACNT,IAAM,EAAA;AACR,SAAA;QACAU,SAAW,EAAA;YACTV,IAAM,EAAA,UAAA;AACNW,YAAAA,OAAAA,EAAS,IAAM,IAAIC,IAAAA;AACrB,SAAA;;;QAGAC,SAAW,EAAA;YACTb,IAAM,EAAA,UAAA;YACNc,QAAU,EAAA,UAAA;YACVC,MAAQ,EAAA,aAAA;YACRC,YAAc,EAAA;AAChB;AACF;AACF;;;;"}
1
+ {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/models/history-version.ts"],"sourcesContent":["import type { Model } from '@strapi/database';\nimport { HISTORY_VERSION_UID } from '../constants';\n\nconst historyVersion: Model = {\n uid: HISTORY_VERSION_UID,\n tableName: 'strapi_history_versions',\n singularName: 'history-version',\n attributes: {\n id: {\n type: 'increments',\n },\n contentType: {\n type: 'string',\n column: { notNullable: true },\n },\n relatedDocumentId: {\n type: 'string',\n // TODO: notNullable should be true once history can record publish actions\n column: { notNullable: false },\n },\n locale: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['draft', 'published', 'modified'],\n },\n data: {\n type: 'json',\n },\n schema: {\n type: 'json',\n },\n createdAt: {\n type: 'datetime',\n default: () => new Date(),\n },\n // FIXME: joinTable should be optional\n // @ts-expect-error database model is not yet updated to support useJoinTable\n createdBy: {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n useJoinTable: false,\n },\n },\n};\n\nexport { historyVersion };\n"],"names":["historyVersion","uid","HISTORY_VERSION_UID","tableName","singularName","attributes","id","type","contentType","column","notNullable","relatedDocumentId","locale","status","enum","data","schema","createdAt","default","Date","createdBy","relation","target","useJoinTable"],"mappings":";;;;AAGA,MAAMA,cAAAA,GAAwB;IAC5BC,GAAAA,EAAKC,6BAAAA;IACLC,SAAAA,EAAW,yBAAA;IACXC,YAAAA,EAAc,iBAAA;IACdC,UAAAA,EAAY;QACVC,EAAAA,EAAI;YACFC,IAAAA,EAAM;AACR,SAAA;QACAC,WAAAA,EAAa;YACXD,IAAAA,EAAM,QAAA;YACNE,MAAAA,EAAQ;gBAAEC,WAAAA,EAAa;AAAK;AAC9B,SAAA;QACAC,iBAAAA,EAAmB;YACjBJ,IAAAA,EAAM,QAAA;;YAENE,MAAAA,EAAQ;gBAAEC,WAAAA,EAAa;AAAM;AAC/B,SAAA;QACAE,MAAAA,EAAQ;YACNL,IAAAA,EAAM;AACR,SAAA;QACAM,MAAAA,EAAQ;YACNN,IAAAA,EAAM,aAAA;YACNO,IAAAA,EAAM;AAAC,gBAAA,OAAA;AAAS,gBAAA,WAAA;AAAa,gBAAA;AAAW;AAC1C,SAAA;QACAC,IAAAA,EAAM;YACJR,IAAAA,EAAM;AACR,SAAA;QACAS,MAAAA,EAAQ;YACNT,IAAAA,EAAM;AACR,SAAA;QACAU,SAAAA,EAAW;YACTV,IAAAA,EAAM,UAAA;AACNW,YAAAA,OAAAA,EAAS,IAAM,IAAIC,IAAAA;AACrB,SAAA;;;QAGAC,SAAAA,EAAW;YACTb,IAAAA,EAAM,UAAA;YACNc,QAAAA,EAAU,UAAA;YACVC,MAAAA,EAAQ,aAAA;YACRC,YAAAA,EAAc;AAChB;AACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/models/history-version.ts"],"sourcesContent":["import type { Model } from '@strapi/database';\nimport { HISTORY_VERSION_UID } from '../constants';\n\nconst historyVersion: Model = {\n uid: HISTORY_VERSION_UID,\n tableName: 'strapi_history_versions',\n singularName: 'history-version',\n attributes: {\n id: {\n type: 'increments',\n },\n contentType: {\n type: 'string',\n column: { notNullable: true },\n },\n relatedDocumentId: {\n type: 'string',\n // TODO: notNullable should be true once history can record publish actions\n column: { notNullable: false },\n },\n locale: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['draft', 'published', 'modified'],\n },\n data: {\n type: 'json',\n },\n schema: {\n type: 'json',\n },\n createdAt: {\n type: 'datetime',\n default: () => new Date(),\n },\n // FIXME: joinTable should be optional\n // @ts-expect-error database model is not yet updated to support useJoinTable\n createdBy: {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n useJoinTable: false,\n },\n },\n};\n\nexport { historyVersion };\n"],"names":["historyVersion","uid","HISTORY_VERSION_UID","tableName","singularName","attributes","id","type","contentType","column","notNullable","relatedDocumentId","locale","status","enum","data","schema","createdAt","default","Date","createdBy","relation","target","useJoinTable"],"mappings":";;AAGA,MAAMA,cAAwB,GAAA;IAC5BC,GAAKC,EAAAA,mBAAAA;IACLC,SAAW,EAAA,yBAAA;IACXC,YAAc,EAAA,iBAAA;IACdC,UAAY,EAAA;QACVC,EAAI,EAAA;YACFC,IAAM,EAAA;AACR,SAAA;QACAC,WAAa,EAAA;YACXD,IAAM,EAAA,QAAA;YACNE,MAAQ,EAAA;gBAAEC,WAAa,EAAA;AAAK;AAC9B,SAAA;QACAC,iBAAmB,EAAA;YACjBJ,IAAM,EAAA,QAAA;;YAENE,MAAQ,EAAA;gBAAEC,WAAa,EAAA;AAAM;AAC/B,SAAA;QACAE,MAAQ,EAAA;YACNL,IAAM,EAAA;AACR,SAAA;QACAM,MAAQ,EAAA;YACNN,IAAM,EAAA,aAAA;YACNO,IAAM,EAAA;AAAC,gBAAA,OAAA;AAAS,gBAAA,WAAA;AAAa,gBAAA;AAAW;AAC1C,SAAA;QACAC,IAAM,EAAA;YACJR,IAAM,EAAA;AACR,SAAA;QACAS,MAAQ,EAAA;YACNT,IAAM,EAAA;AACR,SAAA;QACAU,SAAW,EAAA;YACTV,IAAM,EAAA,UAAA;AACNW,YAAAA,OAAAA,EAAS,IAAM,IAAIC,IAAAA;AACrB,SAAA;;;QAGAC,SAAW,EAAA;YACTb,IAAM,EAAA,UAAA;YACNc,QAAU,EAAA,UAAA;YACVC,MAAQ,EAAA,aAAA;YACRC,YAAc,EAAA;AAChB;AACF;AACF;;;;"}
1
+ {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/models/history-version.ts"],"sourcesContent":["import type { Model } from '@strapi/database';\nimport { HISTORY_VERSION_UID } from '../constants';\n\nconst historyVersion: Model = {\n uid: HISTORY_VERSION_UID,\n tableName: 'strapi_history_versions',\n singularName: 'history-version',\n attributes: {\n id: {\n type: 'increments',\n },\n contentType: {\n type: 'string',\n column: { notNullable: true },\n },\n relatedDocumentId: {\n type: 'string',\n // TODO: notNullable should be true once history can record publish actions\n column: { notNullable: false },\n },\n locale: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['draft', 'published', 'modified'],\n },\n data: {\n type: 'json',\n },\n schema: {\n type: 'json',\n },\n createdAt: {\n type: 'datetime',\n default: () => new Date(),\n },\n // FIXME: joinTable should be optional\n // @ts-expect-error database model is not yet updated to support useJoinTable\n createdBy: {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n useJoinTable: false,\n },\n },\n};\n\nexport { historyVersion };\n"],"names":["historyVersion","uid","HISTORY_VERSION_UID","tableName","singularName","attributes","id","type","contentType","column","notNullable","relatedDocumentId","locale","status","enum","data","schema","createdAt","default","Date","createdBy","relation","target","useJoinTable"],"mappings":";;AAGA,MAAMA,cAAAA,GAAwB;IAC5BC,GAAAA,EAAKC,mBAAAA;IACLC,SAAAA,EAAW,yBAAA;IACXC,YAAAA,EAAc,iBAAA;IACdC,UAAAA,EAAY;QACVC,EAAAA,EAAI;YACFC,IAAAA,EAAM;AACR,SAAA;QACAC,WAAAA,EAAa;YACXD,IAAAA,EAAM,QAAA;YACNE,MAAAA,EAAQ;gBAAEC,WAAAA,EAAa;AAAK;AAC9B,SAAA;QACAC,iBAAAA,EAAmB;YACjBJ,IAAAA,EAAM,QAAA;;YAENE,MAAAA,EAAQ;gBAAEC,WAAAA,EAAa;AAAM;AAC/B,SAAA;QACAE,MAAAA,EAAQ;YACNL,IAAAA,EAAM;AACR,SAAA;QACAM,MAAAA,EAAQ;YACNN,IAAAA,EAAM,aAAA;YACNO,IAAAA,EAAM;AAAC,gBAAA,OAAA;AAAS,gBAAA,WAAA;AAAa,gBAAA;AAAW;AAC1C,SAAA;QACAC,IAAAA,EAAM;YACJR,IAAAA,EAAM;AACR,SAAA;QACAS,MAAAA,EAAQ;YACNT,IAAAA,EAAM;AACR,SAAA;QACAU,SAAAA,EAAW;YACTV,IAAAA,EAAM,UAAA;AACNW,YAAAA,OAAAA,EAAS,IAAM,IAAIC,IAAAA;AACrB,SAAA;;;QAGAC,SAAAA,EAAW;YACTb,IAAAA,EAAM,UAAA;YACNc,QAAAA,EAAU,UAAA;YACVC,MAAAA,EAAQ,aAAA;YACRC,YAAAA,EAAc;AAChB;AACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/routes/history-version.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst historyVersionRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/history-versions',\n handler: 'history-version.findMany',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n info,\n path: '/history-versions/:versionId/restore',\n handler: 'history-version.restoreVersion',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { historyVersionRouter };\n"],"names":["info","pluginName","type","historyVersionRouter","routes","method","path","handler","config","policies"],"mappings":";;AAEA,MAAMA,IAAO,GAAA;IAAEC,UAAY,EAAA,iBAAA;IAAmBC,IAAM,EAAA;AAAQ,CAAA;AAE5D,MAAMC,oBAA8D,GAAA;IAClED,IAAM,EAAA,OAAA;IACNE,MAAQ,EAAA;AACN,QAAA;YACEC,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,mBAAA;YACNC,OAAS,EAAA,0BAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF,SAAA;AACA,QAAA;YACEJ,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,sCAAA;YACNC,OAAS,EAAA,gCAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
1
+ {"version":3,"file":"history-version.js","sources":["../../../../server/src/history/routes/history-version.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst historyVersionRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/history-versions',\n handler: 'history-version.findMany',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n info,\n path: '/history-versions/:versionId/restore',\n handler: 'history-version.restoreVersion',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { historyVersionRouter };\n"],"names":["info","pluginName","type","historyVersionRouter","routes","method","path","handler","config","policies"],"mappings":";;AAEA,MAAMA,IAAAA,GAAO;IAAEC,UAAAA,EAAY,iBAAA;IAAmBC,IAAAA,EAAM;AAAQ,CAAA;AAE5D,MAAMC,oBAAAA,GAA8D;IAClED,IAAAA,EAAM,OAAA;IACNE,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAAA,EAAM,mBAAA;YACNC,OAAAA,EAAS,0BAAA;YACTC,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;AAAC,oBAAA;AAA8B;AAC3C;AACF,SAAA;AACA,QAAA;YACEJ,MAAAA,EAAQ,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAAA,EAAM,sCAAA;YACNC,OAAAA,EAAS,gCAAA;YACTC,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/routes/history-version.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst historyVersionRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/history-versions',\n handler: 'history-version.findMany',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n info,\n path: '/history-versions/:versionId/restore',\n handler: 'history-version.restoreVersion',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { historyVersionRouter };\n"],"names":["info","pluginName","type","historyVersionRouter","routes","method","path","handler","config","policies"],"mappings":"AAEA,MAAMA,IAAO,GAAA;IAAEC,UAAY,EAAA,iBAAA;IAAmBC,IAAM,EAAA;AAAQ,CAAA;AAE5D,MAAMC,oBAA8D,GAAA;IAClED,IAAM,EAAA,OAAA;IACNE,MAAQ,EAAA;AACN,QAAA;YACEC,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,mBAAA;YACNC,OAAS,EAAA,0BAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF,SAAA;AACA,QAAA;YACEJ,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,sCAAA;YACNC,OAAS,EAAA,gCAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
1
+ {"version":3,"file":"history-version.mjs","sources":["../../../../server/src/history/routes/history-version.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst historyVersionRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/history-versions',\n handler: 'history-version.findMany',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n {\n method: 'PUT',\n info,\n path: '/history-versions/:versionId/restore',\n handler: 'history-version.restoreVersion',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { historyVersionRouter };\n"],"names":["info","pluginName","type","historyVersionRouter","routes","method","path","handler","config","policies"],"mappings":"AAEA,MAAMA,IAAAA,GAAO;IAAEC,UAAAA,EAAY,iBAAA;IAAmBC,IAAAA,EAAM;AAAQ,CAAA;AAE5D,MAAMC,oBAAAA,GAA8D;IAClED,IAAAA,EAAM,OAAA;IACNE,MAAAA,EAAQ;AACN,QAAA;YACEC,MAAAA,EAAQ,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAAA,EAAM,mBAAA;YACNC,OAAAA,EAAS,0BAAA;YACTC,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;AAAC,oBAAA;AAA8B;AAC3C;AACF,SAAA;AACA,QAAA;YACEJ,MAAAA,EAAQ,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAAA,EAAM,sCAAA;YACNC,OAAAA,EAAS,gCAAA;YACTC,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/src/history/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { historyVersionRouter } from './history-version';\n\n/**\n * The routes will me merged with the other Content Manager routers,\n * so we need to avoid conficts in the router name, and to prefix the path for each route.\n */\nexport const routes = {\n 'history-version': historyVersionRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","historyVersionRouter"],"mappings":";;;;AAGA;;;UAIaA,MAAS,GAAA;IACpB,iBAAmBC,EAAAA;AACrB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/history/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { historyVersionRouter } from './history-version';\n\n/**\n * The routes will me merged with the other Content Manager routers,\n * so we need to avoid conficts in the router name, and to prefix the path for each route.\n */\nexport const routes = {\n 'history-version': historyVersionRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","historyVersionRouter"],"mappings":";;;;AAGA;;;UAIaA,MAAAA,GAAS;IACpB,iBAAA,EAAmBC;AACrB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../server/src/history/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { historyVersionRouter } from './history-version';\n\n/**\n * The routes will me merged with the other Content Manager routers,\n * so we need to avoid conficts in the router name, and to prefix the path for each route.\n */\nexport const routes = {\n 'history-version': historyVersionRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","historyVersionRouter"],"mappings":";;AAGA;;;UAIaA,MAAS,GAAA;IACpB,iBAAmBC,EAAAA;AACrB;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/history/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { historyVersionRouter } from './history-version';\n\n/**\n * The routes will me merged with the other Content Manager routers,\n * so we need to avoid conficts in the router name, and to prefix the path for each route.\n */\nexport const routes = {\n 'history-version': historyVersionRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","historyVersionRouter"],"mappings":";;AAGA;;;UAIaA,MAAAA,GAAS;IACpB,iBAAA,EAAmBC;AACrB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sources":["../../../../server/src/history/services/history.ts"],"sourcesContent":["import type { Core, Data, Modules, Schema } from '@strapi/types';\nimport { errors, traverseEntity } from '@strapi/utils';\nimport { omit } from 'lodash/fp';\n\nimport { FIELDS_TO_IGNORE, HISTORY_VERSION_UID } from '../constants';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport type {\n CreateHistoryVersion,\n HistoryVersionDataResponse,\n} from '../../../../shared/contracts/history-versions';\nimport { createServiceUtils } from './utils';\nimport { getService as getContentManagerService } from '../../utils';\n\n// Needed because the query engine doesn't return any types yet\ntype HistoryVersionQueryResult = Omit<HistoryVersionDataResponse, 'locale'> &\n Pick<CreateHistoryVersion, 'locale'>;\n\nconst createHistoryService = ({ strapi }: { strapi: Core.Strapi }) => {\n const query = strapi.db.query(HISTORY_VERSION_UID);\n const serviceUtils = createServiceUtils({ strapi });\n\n return {\n async createVersion(historyVersionData: HistoryVersions.CreateHistoryVersion) {\n await query.create({\n data: {\n ...historyVersionData,\n createdAt: new Date(),\n createdBy: strapi.requestContext.get()?.state?.user.id,\n },\n });\n },\n\n async findVersionsPage(params: HistoryVersions.GetHistoryVersions.Request): Promise<{\n results: HistoryVersions.HistoryVersionDataResponse[];\n pagination: HistoryVersions.Pagination;\n }> {\n const schema = strapi.getModel(params.query.contentType);\n const isLocalizedContentType = serviceUtils.isLocalizedContentType(schema);\n const defaultLocale = await serviceUtils.getDefaultLocale();\n\n let locale = null;\n if (isLocalizedContentType) {\n locale = params.query.locale || defaultLocale;\n }\n\n const [{ results, pagination }, localeDictionary] = await Promise.all([\n query.findPage({\n ...params.query,\n where: {\n $and: [\n { contentType: params.query.contentType },\n ...(params.query.documentId ? [{ relatedDocumentId: params.query.documentId }] : []),\n ...(locale ? [{ locale }] : []),\n ],\n },\n populate: ['createdBy'],\n orderBy: [{ createdAt: 'desc' }],\n }),\n serviceUtils.getLocaleDictionary(),\n ]);\n\n const populateEntry = async (entry: HistoryVersionQueryResult) => {\n return traverseEntity(\n async (options, utils) => {\n if (!options.attribute) return;\n if (!options.value) return;\n\n const currentValue: any[] = Array.isArray(options.value)\n ? options.value\n : [options.value];\n\n if (options.attribute.type === 'component') {\n // Ids on components throw an error when restoring\n utils.remove('id');\n }\n\n if (\n options.attribute.type === 'relation' &&\n // TODO: handle polymorphic relations\n options.attribute.relation !== 'morphToOne' &&\n options.attribute.relation !== 'morphToMany'\n ) {\n if (options.attribute.target === 'admin::user') {\n const adminUsers = await Promise.all(\n currentValue.map((userToPopulate) => {\n if (userToPopulate == null) {\n return null;\n }\n\n return strapi.query('admin::user').findOne({\n where: {\n ...(userToPopulate.id ? { id: userToPopulate.id } : {}),\n ...(userToPopulate.documentId\n ? { documentId: userToPopulate.documentId }\n : {}),\n },\n });\n })\n );\n\n utils.set(options.key, adminUsers as any);\n }\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: params.state.userAbility,\n model: options.attribute.target,\n });\n\n const response = await serviceUtils.buildRelationReponse(\n currentValue,\n options.attribute as Schema.Attribute.RelationWithTarget\n );\n const sanitizedResults = await Promise.all(\n response.results.map((media) => permissionChecker.sanitizeOutput(media))\n );\n\n utils.set(options.key, {\n results: sanitizedResults,\n meta: response.meta,\n });\n }\n\n if (options.attribute.type === 'media') {\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: params.state.userAbility,\n model: 'plugin::upload.file',\n });\n\n const response = await serviceUtils.buildMediaResponse(currentValue);\n const sanitizedResults = await Promise.all(\n response.results.map((media) => permissionChecker.sanitizeOutput(media))\n );\n\n utils.set(options.key, {\n results: sanitizedResults,\n meta: response.meta,\n });\n }\n },\n {\n schema,\n getModel: strapi.getModel.bind(strapi),\n },\n entry.data\n );\n };\n\n const formattedResults: any[] = await Promise.all(\n (results as HistoryVersionQueryResult[]).map(async (result) => {\n return {\n ...result,\n data: await populateEntry(result),\n meta: {\n unknownAttributes: serviceUtils.getSchemaAttributesDiff(\n result.schema,\n strapi.getModel(params.query.contentType).attributes\n ),\n },\n locale: result.locale ? localeDictionary[result.locale] : null,\n };\n })\n );\n\n return {\n results: formattedResults,\n pagination,\n };\n },\n\n async restoreVersion(versionId: Data.ID) {\n const version = await query.findOne({ where: { id: versionId } });\n const contentTypeSchemaAttributes = strapi.getModel(version.contentType).attributes;\n const schemaDiff = serviceUtils.getSchemaAttributesDiff(\n version.schema,\n contentTypeSchemaAttributes\n );\n\n // Set all added attribute values to null\n const dataWithoutAddedAttributes = Object.keys(schemaDiff.added).reduce(\n (currentData, addedKey) => {\n currentData[addedKey] = null;\n return currentData;\n },\n // Clone to avoid mutating the original version data\n structuredClone(version.data)\n );\n\n // Remove the schema attributes history should ignore\n const schema = structuredClone(version.schema);\n schema.attributes = omit(FIELDS_TO_IGNORE, contentTypeSchemaAttributes);\n\n const dataWithoutMissingRelations = await traverseEntity(\n async (options, utils) => {\n if (!options.attribute) return;\n\n if (options.attribute.type === 'component') {\n // Ids on components throw an error when restoring\n utils.remove('id');\n\n if (options.attribute.repeatable && options.value === null) {\n // Repeatable Components should always be an array\n utils.set(options.key, [] as any);\n }\n }\n\n if (options.attribute.type === 'dynamiczone') {\n if (options.value === null) {\n // Dynamic zones should always be an array\n utils.set(options.key, [] as any);\n }\n }\n\n if (\n options.attribute.type === 'relation' &&\n // TODO: handle polymorphic relations\n options.attribute.relation !== 'morphToOne' &&\n options.attribute.relation !== 'morphToMany'\n ) {\n if (!options.value) return;\n\n const data = await serviceUtils.getRelationRestoreValue(\n options.value as Modules.Documents.AnyDocument,\n options.attribute as Schema.Attribute.RelationWithTarget\n );\n\n utils.set(options.key, data as Modules.Documents.AnyDocument);\n }\n\n if (options.attribute.type === 'media') {\n if (!options.value) return;\n\n const data = await serviceUtils.getMediaRestoreValue(\n options.value as Modules.Documents.AnyDocument\n );\n\n utils.set(options.key, data);\n }\n },\n {\n schema,\n getModel: strapi.getModel.bind(strapi),\n },\n dataWithoutAddedAttributes\n );\n\n const data = omit(['id', ...Object.keys(schemaDiff.removed)], dataWithoutMissingRelations);\n const restoredDocument = await strapi.documents(version.contentType).update({\n documentId: version.relatedDocumentId,\n locale: version.locale,\n data,\n });\n\n if (!restoredDocument) {\n throw new errors.ApplicationError('Failed to restore version');\n }\n\n return restoredDocument;\n },\n };\n};\n\nexport { createHistoryService };\n"],"names":["createHistoryService","strapi","query","db","HISTORY_VERSION_UID","serviceUtils","createServiceUtils","createVersion","historyVersionData","create","data","createdAt","Date","createdBy","requestContext","get","state","user","id","findVersionsPage","params","schema","getModel","contentType","isLocalizedContentType","defaultLocale","getDefaultLocale","locale","results","pagination","localeDictionary","Promise","all","findPage","where","$and","documentId","relatedDocumentId","populate","orderBy","getLocaleDictionary","populateEntry","entry","traverseEntity","options","utils","attribute","value","currentValue","Array","isArray","type","remove","relation","target","adminUsers","map","userToPopulate","findOne","set","key","permissionChecker","getContentManagerService","userAbility","model","response","buildRelationReponse","sanitizedResults","media","sanitizeOutput","meta","buildMediaResponse","bind","formattedResults","result","unknownAttributes","getSchemaAttributesDiff","attributes","restoreVersion","versionId","version","contentTypeSchemaAttributes","schemaDiff","dataWithoutAddedAttributes","Object","keys","added","reduce","currentData","addedKey","structuredClone","omit","FIELDS_TO_IGNORE","dataWithoutMissingRelations","repeatable","getRelationRestoreValue","getMediaRestoreValue","removed","restoredDocument","documents","update","errors","ApplicationError"],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sources":["../../../../server/src/history/services/history.ts"],"sourcesContent":["import type { Core, Data, Modules, Schema } from '@strapi/types';\nimport { errors, traverseEntity } from '@strapi/utils';\nimport { omit } from 'lodash/fp';\n\nimport { FIELDS_TO_IGNORE, HISTORY_VERSION_UID } from '../constants';\nimport type { HistoryVersions } from '../../../../shared/contracts';\nimport type {\n CreateHistoryVersion,\n HistoryVersionDataResponse,\n} from '../../../../shared/contracts/history-versions';\nimport { createServiceUtils } from './utils';\nimport { getService as getContentManagerService } from '../../utils';\n\n// Needed because the query engine doesn't return any types yet\ntype HistoryVersionQueryResult = Omit<HistoryVersionDataResponse, 'locale'> &\n Pick<CreateHistoryVersion, 'locale'>;\n\nconst createHistoryService = ({ strapi }: { strapi: Core.Strapi }) => {\n const query = strapi.db.query(HISTORY_VERSION_UID);\n const serviceUtils = createServiceUtils({ strapi });\n\n return {\n async createVersion(historyVersionData: HistoryVersions.CreateHistoryVersion) {\n await query.create({\n data: {\n ...historyVersionData,\n createdAt: new Date(),\n createdBy: strapi.requestContext.get()?.state?.user.id,\n },\n });\n },\n\n async findVersionsPage(params: HistoryVersions.GetHistoryVersions.Request): Promise<{\n results: HistoryVersions.HistoryVersionDataResponse[];\n pagination: HistoryVersions.Pagination;\n }> {\n const schema = strapi.getModel(params.query.contentType);\n const isLocalizedContentType = serviceUtils.isLocalizedContentType(schema);\n const defaultLocale = await serviceUtils.getDefaultLocale();\n\n let locale = null;\n if (isLocalizedContentType) {\n locale = params.query.locale || defaultLocale;\n }\n\n const [{ results, pagination }, localeDictionary] = await Promise.all([\n query.findPage({\n ...params.query,\n where: {\n $and: [\n { contentType: params.query.contentType },\n ...(params.query.documentId ? [{ relatedDocumentId: params.query.documentId }] : []),\n ...(locale ? [{ locale }] : []),\n ],\n },\n populate: ['createdBy'],\n orderBy: [{ createdAt: 'desc' }],\n }),\n serviceUtils.getLocaleDictionary(),\n ]);\n\n const populateEntry = async (entry: HistoryVersionQueryResult) => {\n return traverseEntity(\n async (options, utils) => {\n if (!options.attribute) return;\n if (!options.value) return;\n\n const currentValue: any[] = Array.isArray(options.value)\n ? options.value\n : [options.value];\n\n if (options.attribute.type === 'component') {\n // Ids on components throw an error when restoring\n utils.remove('id');\n }\n\n if (\n options.attribute.type === 'relation' &&\n // TODO: handle polymorphic relations\n options.attribute.relation !== 'morphToOne' &&\n options.attribute.relation !== 'morphToMany'\n ) {\n if (options.attribute.target === 'admin::user') {\n const adminUsers = await Promise.all(\n currentValue.map((userToPopulate) => {\n if (userToPopulate == null) {\n return null;\n }\n\n return strapi.query('admin::user').findOne({\n where: {\n ...(userToPopulate.id ? { id: userToPopulate.id } : {}),\n ...(userToPopulate.documentId\n ? { documentId: userToPopulate.documentId }\n : {}),\n },\n });\n })\n );\n\n utils.set(options.key, adminUsers as any);\n }\n\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: params.state.userAbility,\n model: options.attribute.target,\n });\n\n const response = await serviceUtils.buildRelationReponse(\n currentValue,\n options.attribute as Schema.Attribute.RelationWithTarget\n );\n const sanitizedResults = await Promise.all(\n response.results.map((media) => permissionChecker.sanitizeOutput(media))\n );\n\n utils.set(options.key, {\n results: sanitizedResults,\n meta: response.meta,\n });\n }\n\n if (options.attribute.type === 'media') {\n const permissionChecker = getContentManagerService('permission-checker').create({\n userAbility: params.state.userAbility,\n model: 'plugin::upload.file',\n });\n\n const response = await serviceUtils.buildMediaResponse(currentValue);\n const sanitizedResults = await Promise.all(\n response.results.map((media) => permissionChecker.sanitizeOutput(media))\n );\n\n utils.set(options.key, {\n results: sanitizedResults,\n meta: response.meta,\n });\n }\n },\n {\n schema,\n getModel: strapi.getModel.bind(strapi),\n },\n entry.data\n );\n };\n\n const formattedResults: any[] = await Promise.all(\n (results as HistoryVersionQueryResult[]).map(async (result) => {\n return {\n ...result,\n data: await populateEntry(result),\n meta: {\n unknownAttributes: serviceUtils.getSchemaAttributesDiff(\n result.schema,\n strapi.getModel(params.query.contentType).attributes\n ),\n },\n locale: result.locale ? localeDictionary[result.locale] : null,\n };\n })\n );\n\n return {\n results: formattedResults,\n pagination,\n };\n },\n\n async restoreVersion(versionId: Data.ID) {\n const version = await query.findOne({ where: { id: versionId } });\n const contentTypeSchemaAttributes = strapi.getModel(version.contentType).attributes;\n const schemaDiff = serviceUtils.getSchemaAttributesDiff(\n version.schema,\n contentTypeSchemaAttributes\n );\n\n // Set all added attribute values to null\n const dataWithoutAddedAttributes = Object.keys(schemaDiff.added).reduce(\n (currentData, addedKey) => {\n currentData[addedKey] = null;\n return currentData;\n },\n // Clone to avoid mutating the original version data\n structuredClone(version.data)\n );\n\n // Remove the schema attributes history should ignore\n const schema = structuredClone(version.schema);\n schema.attributes = omit(FIELDS_TO_IGNORE, contentTypeSchemaAttributes);\n\n const dataWithoutMissingRelations = await traverseEntity(\n async (options, utils) => {\n if (!options.attribute) return;\n\n if (options.attribute.type === 'component') {\n // Ids on components throw an error when restoring\n utils.remove('id');\n\n if (options.attribute.repeatable && options.value === null) {\n // Repeatable Components should always be an array\n utils.set(options.key, [] as any);\n }\n }\n\n if (options.attribute.type === 'dynamiczone') {\n if (options.value === null) {\n // Dynamic zones should always be an array\n utils.set(options.key, [] as any);\n }\n }\n\n if (\n options.attribute.type === 'relation' &&\n // TODO: handle polymorphic relations\n options.attribute.relation !== 'morphToOne' &&\n options.attribute.relation !== 'morphToMany'\n ) {\n if (!options.value) return;\n\n const data = await serviceUtils.getRelationRestoreValue(\n options.value as Modules.Documents.AnyDocument,\n options.attribute as Schema.Attribute.RelationWithTarget\n );\n\n utils.set(options.key, data as Modules.Documents.AnyDocument);\n }\n\n if (options.attribute.type === 'media') {\n if (!options.value) return;\n\n const data = await serviceUtils.getMediaRestoreValue(\n options.value as Modules.Documents.AnyDocument\n );\n\n utils.set(options.key, data);\n }\n },\n {\n schema,\n getModel: strapi.getModel.bind(strapi),\n },\n dataWithoutAddedAttributes\n );\n\n const data = omit(['id', ...Object.keys(schemaDiff.removed)], dataWithoutMissingRelations);\n const restoredDocument = await strapi.documents(version.contentType).update({\n documentId: version.relatedDocumentId,\n locale: version.locale,\n data,\n });\n\n if (!restoredDocument) {\n throw new errors.ApplicationError('Failed to restore version');\n }\n\n return restoredDocument;\n },\n };\n};\n\nexport { createHistoryService };\n"],"names":["createHistoryService","strapi","query","db","HISTORY_VERSION_UID","serviceUtils","createServiceUtils","createVersion","historyVersionData","create","data","createdAt","Date","createdBy","requestContext","get","state","user","id","findVersionsPage","params","schema","getModel","contentType","isLocalizedContentType","defaultLocale","getDefaultLocale","locale","results","pagination","localeDictionary","Promise","all","findPage","where","$and","documentId","relatedDocumentId","populate","orderBy","getLocaleDictionary","populateEntry","entry","traverseEntity","options","utils","attribute","value","currentValue","Array","isArray","type","remove","relation","target","adminUsers","map","userToPopulate","findOne","set","key","permissionChecker","getContentManagerService","userAbility","model","response","buildRelationReponse","sanitizedResults","media","sanitizeOutput","meta","buildMediaResponse","bind","formattedResults","result","unknownAttributes","getSchemaAttributesDiff","attributes","restoreVersion","versionId","version","contentTypeSchemaAttributes","schemaDiff","dataWithoutAddedAttributes","Object","keys","added","reduce","currentData","addedKey","structuredClone","omit","FIELDS_TO_IGNORE","dataWithoutMissingRelations","repeatable","getRelationRestoreValue","getMediaRestoreValue","removed","restoredDocument","documents","update","errors","ApplicationError"],"mappings":"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"}