@strapi/content-manager 5.37.0 → 5.38.0

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 (552) 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.map +1 -1
  51. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  52. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  53. package/dist/admin/history/components/VersionHeader.mjs +1 -1
  54. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  55. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  56. package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
  57. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  58. package/dist/admin/history/components/VersionsList.js.map +1 -1
  59. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  60. package/dist/admin/history/index.js.map +1 -1
  61. package/dist/admin/history/index.mjs.map +1 -1
  62. package/dist/admin/history/pages/History.js.map +1 -1
  63. package/dist/admin/history/pages/History.mjs +1 -1
  64. package/dist/admin/history/pages/History.mjs.map +1 -1
  65. package/dist/admin/history/routes.js.map +1 -1
  66. package/dist/admin/history/routes.mjs.map +1 -1
  67. package/dist/admin/history/services/historyVersion.js.map +1 -1
  68. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  69. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  70. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  71. package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
  72. package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
  73. package/dist/admin/hooks/useDebounce.js.map +1 -1
  74. package/dist/admin/hooks/useDebounce.mjs.map +1 -1
  75. package/dist/admin/hooks/useDocument.js.map +1 -1
  76. package/dist/admin/hooks/useDocument.mjs +1 -1
  77. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  78. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  79. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  80. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  81. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  82. package/dist/admin/hooks/useDocumentLayout.js +2 -1
  83. package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
  84. package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
  85. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
  86. package/dist/admin/hooks/useDragAndDrop.js +1 -3
  87. package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
  88. package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
  89. package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
  90. package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
  91. package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
  92. package/dist/admin/hooks/useLazyComponents.js.map +1 -1
  93. package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
  94. package/dist/admin/hooks/useOnce.js.map +1 -1
  95. package/dist/admin/hooks/useOnce.mjs.map +1 -1
  96. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  97. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  98. package/dist/admin/hooks/usePrev.js.map +1 -1
  99. package/dist/admin/hooks/usePrev.mjs.map +1 -1
  100. package/dist/admin/index.js.map +1 -1
  101. package/dist/admin/index.mjs.map +1 -1
  102. package/dist/admin/layout.js.map +1 -1
  103. package/dist/admin/layout.mjs.map +1 -1
  104. package/dist/admin/modules/app.js.map +1 -1
  105. package/dist/admin/modules/app.mjs.map +1 -1
  106. package/dist/admin/modules/hooks.js.map +1 -1
  107. package/dist/admin/modules/hooks.mjs +1 -1
  108. package/dist/admin/modules/hooks.mjs.map +1 -1
  109. package/dist/admin/modules/reducers.js.map +1 -1
  110. package/dist/admin/modules/reducers.mjs.map +1 -1
  111. package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
  112. package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
  113. package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
  114. package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
  115. package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
  116. package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  118. package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
  119. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  120. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
  121. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
  122. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  123. package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
  124. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  125. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  126. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  127. package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
  128. package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  130. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  132. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
  134. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
  136. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
  138. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  140. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +2 -2
  142. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
  143. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
  144. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
  145. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  146. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  148. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  150. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  151. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
  152. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
  153. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  154. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  156. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
  158. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  160. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
  161. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  162. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
  163. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
  164. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
  165. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
  166. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
  167. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
  168. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
  169. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
  170. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
  171. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
  172. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  173. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  174. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  175. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  176. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  177. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  178. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  179. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  180. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
  181. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
  182. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
  183. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
  184. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  185. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  186. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  187. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  188. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  189. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  190. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
  191. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
  192. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  193. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  194. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
  195. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
  196. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
  197. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  198. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +46 -9
  199. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  200. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  201. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +2 -2
  202. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  203. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  204. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  205. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  206. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  207. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  208. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  209. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
  210. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
  211. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  212. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  213. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
  214. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
  215. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  216. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
  217. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  218. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  219. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  220. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
  221. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
  222. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
  223. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
  224. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
  225. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  226. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +8 -6
  227. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  228. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  229. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  230. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  231. package/dist/admin/pages/EditView/components/Header.mjs +2 -2
  232. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  233. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  234. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  235. package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
  236. package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
  237. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  238. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  239. package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
  240. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
  241. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  242. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
  243. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  244. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  245. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
  246. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  247. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  248. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
  249. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  250. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  251. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  252. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  253. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  254. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
  255. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
  256. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  257. package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
  258. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  259. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  260. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  261. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  262. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  263. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
  264. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  265. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
  266. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  267. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
  268. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  269. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
  270. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  271. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  272. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  273. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  274. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  275. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  276. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  277. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
  278. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
  279. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
  280. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
  281. package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
  282. package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
  283. package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
  284. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  285. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
  286. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  287. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  288. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  289. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  290. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  291. package/dist/admin/pages/NoContentTypePage.js.map +1 -1
  292. package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
  293. package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
  294. package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
  295. package/dist/admin/preview/components/InputPopover.js.map +1 -1
  296. package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
  297. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  298. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  299. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  300. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  301. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
  302. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
  303. package/dist/admin/preview/index.js.map +1 -1
  304. package/dist/admin/preview/index.mjs.map +1 -1
  305. package/dist/admin/preview/pages/Preview.js.map +1 -1
  306. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  307. package/dist/admin/preview/routes.js.map +1 -1
  308. package/dist/admin/preview/routes.mjs.map +1 -1
  309. package/dist/admin/preview/services/preview.js.map +1 -1
  310. package/dist/admin/preview/services/preview.mjs.map +1 -1
  311. package/dist/admin/preview/utils/constants.js +0 -1
  312. package/dist/admin/preview/utils/constants.js.map +1 -1
  313. package/dist/admin/preview/utils/constants.mjs +0 -1
  314. package/dist/admin/preview/utils/constants.mjs.map +1 -1
  315. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  316. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  317. package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
  318. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
  319. package/dist/admin/preview/utils/previewScript.js.map +1 -1
  320. package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
  321. package/dist/admin/router.js.map +1 -1
  322. package/dist/admin/router.mjs.map +1 -1
  323. package/dist/admin/services/api.js.map +1 -1
  324. package/dist/admin/services/api.mjs.map +1 -1
  325. package/dist/admin/services/components.js.map +1 -1
  326. package/dist/admin/services/components.mjs.map +1 -1
  327. package/dist/admin/services/contentTypes.js.map +1 -1
  328. package/dist/admin/services/contentTypes.mjs.map +1 -1
  329. package/dist/admin/services/documents.js.map +1 -1
  330. package/dist/admin/services/documents.mjs.map +1 -1
  331. package/dist/admin/services/homepage.js.map +1 -1
  332. package/dist/admin/services/homepage.mjs.map +1 -1
  333. package/dist/admin/services/init.js.map +1 -1
  334. package/dist/admin/services/init.mjs.map +1 -1
  335. package/dist/admin/services/relations.js.map +1 -1
  336. package/dist/admin/services/relations.mjs.map +1 -1
  337. package/dist/admin/services/uid.js.map +1 -1
  338. package/dist/admin/services/uid.mjs.map +1 -1
  339. package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
  340. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
  341. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
  342. package/dist/admin/translations/en.json.js +5 -0
  343. package/dist/admin/translations/en.json.js.map +1 -1
  344. package/dist/admin/translations/en.json.mjs +5 -0
  345. package/dist/admin/translations/en.json.mjs.map +1 -1
  346. package/dist/admin/translations/fr.json.js +72 -1
  347. package/dist/admin/translations/fr.json.js.map +1 -1
  348. package/dist/admin/translations/fr.json.mjs +72 -1
  349. package/dist/admin/translations/fr.json.mjs.map +1 -1
  350. package/dist/admin/utils/api.js.map +1 -1
  351. package/dist/admin/utils/api.mjs.map +1 -1
  352. package/dist/admin/utils/attributes.js.map +1 -1
  353. package/dist/admin/utils/attributes.mjs.map +1 -1
  354. package/dist/admin/utils/objects.js.map +1 -1
  355. package/dist/admin/utils/objects.mjs.map +1 -1
  356. package/dist/admin/utils/relations.js.map +1 -1
  357. package/dist/admin/utils/relations.mjs.map +1 -1
  358. package/dist/admin/utils/strings.js.map +1 -1
  359. package/dist/admin/utils/strings.mjs.map +1 -1
  360. package/dist/admin/utils/translations.js.map +1 -1
  361. package/dist/admin/utils/translations.mjs.map +1 -1
  362. package/dist/admin/utils/urls.js.map +1 -1
  363. package/dist/admin/utils/urls.mjs.map +1 -1
  364. package/dist/admin/utils/users.js.map +1 -1
  365. package/dist/admin/utils/users.mjs.map +1 -1
  366. package/dist/admin/utils/validation.js.map +1 -1
  367. package/dist/admin/utils/validation.mjs.map +1 -1
  368. package/dist/server/bootstrap.js.map +1 -1
  369. package/dist/server/bootstrap.mjs.map +1 -1
  370. package/dist/server/constants/index.js.map +1 -1
  371. package/dist/server/constants/index.mjs.map +1 -1
  372. package/dist/server/controllers/collection-types.js.map +1 -1
  373. package/dist/server/controllers/collection-types.mjs +1 -1
  374. package/dist/server/controllers/collection-types.mjs.map +1 -1
  375. package/dist/server/controllers/components.js.map +1 -1
  376. package/dist/server/controllers/components.mjs.map +1 -1
  377. package/dist/server/controllers/content-types.js +10 -10
  378. package/dist/server/controllers/content-types.js.map +1 -1
  379. package/dist/server/controllers/content-types.mjs.map +1 -1
  380. package/dist/server/controllers/index.js +4 -4
  381. package/dist/server/controllers/index.js.map +1 -1
  382. package/dist/server/controllers/index.mjs.map +1 -1
  383. package/dist/server/controllers/init.js.map +1 -1
  384. package/dist/server/controllers/init.mjs.map +1 -1
  385. package/dist/server/controllers/relations.js.map +1 -1
  386. package/dist/server/controllers/relations.mjs +3 -3
  387. package/dist/server/controllers/relations.mjs.map +1 -1
  388. package/dist/server/controllers/single-types.js.map +1 -1
  389. package/dist/server/controllers/single-types.mjs +1 -1
  390. package/dist/server/controllers/single-types.mjs.map +1 -1
  391. package/dist/server/controllers/uid.js.map +1 -1
  392. package/dist/server/controllers/uid.mjs +1 -1
  393. package/dist/server/controllers/uid.mjs.map +1 -1
  394. package/dist/server/controllers/utils/clone.js.map +1 -1
  395. package/dist/server/controllers/utils/clone.mjs.map +1 -1
  396. package/dist/server/controllers/utils/document-status.js.map +1 -1
  397. package/dist/server/controllers/utils/document-status.mjs.map +1 -1
  398. package/dist/server/controllers/utils/metadata.js.map +1 -1
  399. package/dist/server/controllers/utils/metadata.mjs.map +1 -1
  400. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  401. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  402. package/dist/server/controllers/validation/index.js.map +1 -1
  403. package/dist/server/controllers/validation/index.mjs +1 -1
  404. package/dist/server/controllers/validation/index.mjs.map +1 -1
  405. package/dist/server/controllers/validation/model-configuration.js +6 -1
  406. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  407. package/dist/server/controllers/validation/model-configuration.mjs +6 -1
  408. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  409. package/dist/server/controllers/validation/relations.js.map +1 -1
  410. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  411. package/dist/server/destroy.js.map +1 -1
  412. package/dist/server/destroy.mjs.map +1 -1
  413. package/dist/server/history/constants.js.map +1 -1
  414. package/dist/server/history/constants.mjs.map +1 -1
  415. package/dist/server/history/controllers/history-version.js.map +1 -1
  416. package/dist/server/history/controllers/history-version.mjs.map +1 -1
  417. package/dist/server/history/controllers/index.js.map +1 -1
  418. package/dist/server/history/controllers/index.mjs.map +1 -1
  419. package/dist/server/history/controllers/validation/history-version.js.map +1 -1
  420. package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
  421. package/dist/server/history/index.js +4 -4
  422. package/dist/server/history/index.js.map +1 -1
  423. package/dist/server/history/index.mjs.map +1 -1
  424. package/dist/server/history/models/history-version.js.map +1 -1
  425. package/dist/server/history/models/history-version.mjs.map +1 -1
  426. package/dist/server/history/routes/history-version.js.map +1 -1
  427. package/dist/server/history/routes/history-version.mjs.map +1 -1
  428. package/dist/server/history/routes/index.js.map +1 -1
  429. package/dist/server/history/routes/index.mjs.map +1 -1
  430. package/dist/server/history/services/history.js.map +1 -1
  431. package/dist/server/history/services/history.mjs.map +1 -1
  432. package/dist/server/history/services/index.js.map +1 -1
  433. package/dist/server/history/services/index.mjs.map +1 -1
  434. package/dist/server/history/services/lifecycles.js.map +1 -1
  435. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  436. package/dist/server/history/services/utils.js.map +1 -1
  437. package/dist/server/history/services/utils.mjs.map +1 -1
  438. package/dist/server/history/utils.js.map +1 -1
  439. package/dist/server/history/utils.mjs.map +1 -1
  440. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  441. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  442. package/dist/server/homepage/controllers/index.js.map +1 -1
  443. package/dist/server/homepage/controllers/index.mjs.map +1 -1
  444. package/dist/server/homepage/index.js +6 -6
  445. package/dist/server/homepage/index.js.map +1 -1
  446. package/dist/server/homepage/index.mjs.map +1 -1
  447. package/dist/server/homepage/routes/homepage.js.map +1 -1
  448. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  449. package/dist/server/homepage/routes/index.js.map +1 -1
  450. package/dist/server/homepage/routes/index.mjs.map +1 -1
  451. package/dist/server/homepage/services/homepage.js.map +1 -1
  452. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  453. package/dist/server/homepage/services/index.js.map +1 -1
  454. package/dist/server/homepage/services/index.mjs.map +1 -1
  455. package/dist/server/index.js +8 -8
  456. package/dist/server/middlewares/routing.js.map +1 -1
  457. package/dist/server/middlewares/routing.mjs.map +1 -1
  458. package/dist/server/policies/hasPermissions.js.map +1 -1
  459. package/dist/server/policies/hasPermissions.mjs.map +1 -1
  460. package/dist/server/policies/index.js.map +1 -1
  461. package/dist/server/policies/index.mjs.map +1 -1
  462. package/dist/server/preview/controllers/index.js.map +1 -1
  463. package/dist/server/preview/controllers/index.mjs.map +1 -1
  464. package/dist/server/preview/controllers/preview.js.map +1 -1
  465. package/dist/server/preview/controllers/preview.mjs.map +1 -1
  466. package/dist/server/preview/controllers/validation/preview.js.map +1 -1
  467. package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
  468. package/dist/server/preview/index.js +4 -4
  469. package/dist/server/preview/index.js.map +1 -1
  470. package/dist/server/preview/index.mjs.map +1 -1
  471. package/dist/server/preview/routes/index.js.map +1 -1
  472. package/dist/server/preview/routes/index.mjs.map +1 -1
  473. package/dist/server/preview/routes/preview.js.map +1 -1
  474. package/dist/server/preview/routes/preview.mjs.map +1 -1
  475. package/dist/server/preview/services/index.js.map +1 -1
  476. package/dist/server/preview/services/index.mjs.map +1 -1
  477. package/dist/server/preview/services/preview-config.js.map +1 -1
  478. package/dist/server/preview/services/preview-config.mjs +1 -1
  479. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  480. package/dist/server/preview/services/preview.js.map +1 -1
  481. package/dist/server/preview/services/preview.mjs.map +1 -1
  482. package/dist/server/preview/utils.js.map +1 -1
  483. package/dist/server/preview/utils.mjs.map +1 -1
  484. package/dist/server/register.js.map +1 -1
  485. package/dist/server/register.mjs.map +1 -1
  486. package/dist/server/routes/admin.js.map +1 -1
  487. package/dist/server/routes/admin.mjs.map +1 -1
  488. package/dist/server/routes/index.js +4 -4
  489. package/dist/server/routes/index.js.map +1 -1
  490. package/dist/server/routes/index.mjs.map +1 -1
  491. package/dist/server/services/components.js.map +1 -1
  492. package/dist/server/services/components.mjs.map +1 -1
  493. package/dist/server/services/configuration.js.map +1 -1
  494. package/dist/server/services/configuration.mjs.map +1 -1
  495. package/dist/server/services/content-types.js.map +1 -1
  496. package/dist/server/services/content-types.mjs.map +1 -1
  497. package/dist/server/services/data-mapper.js.map +1 -1
  498. package/dist/server/services/data-mapper.mjs.map +1 -1
  499. package/dist/server/services/document-manager.js.map +1 -1
  500. package/dist/server/services/document-manager.mjs +2 -2
  501. package/dist/server/services/document-manager.mjs.map +1 -1
  502. package/dist/server/services/document-metadata.js.map +1 -1
  503. package/dist/server/services/document-metadata.mjs +2 -2
  504. package/dist/server/services/document-metadata.mjs.map +1 -1
  505. package/dist/server/services/field-sizes.js.map +1 -1
  506. package/dist/server/services/field-sizes.mjs.map +1 -1
  507. package/dist/server/services/index.js +4 -4
  508. package/dist/server/services/index.js.map +1 -1
  509. package/dist/server/services/index.mjs.map +1 -1
  510. package/dist/server/services/metrics.js.map +1 -1
  511. package/dist/server/services/metrics.mjs.map +1 -1
  512. package/dist/server/services/permission-checker.js.map +1 -1
  513. package/dist/server/services/permission-checker.mjs.map +1 -1
  514. package/dist/server/services/permission.js.map +1 -1
  515. package/dist/server/services/permission.mjs.map +1 -1
  516. package/dist/server/services/populate-builder.js.map +1 -1
  517. package/dist/server/services/populate-builder.mjs +4 -4
  518. package/dist/server/services/populate-builder.mjs.map +1 -1
  519. package/dist/server/services/uid.js.map +1 -1
  520. package/dist/server/services/uid.mjs.map +1 -1
  521. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  522. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  523. package/dist/server/services/utils/configuration/index.js.map +1 -1
  524. package/dist/server/services/utils/configuration/index.mjs +3 -3
  525. package/dist/server/services/utils/configuration/index.mjs.map +1 -1
  526. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  527. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  528. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  529. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  530. package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
  531. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  532. package/dist/server/services/utils/configuration/settings.js +4 -2
  533. package/dist/server/services/utils/configuration/settings.js.map +1 -1
  534. package/dist/server/services/utils/configuration/settings.mjs +5 -3
  535. package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
  536. package/dist/server/services/utils/draft.js.map +1 -1
  537. package/dist/server/services/utils/draft.mjs.map +1 -1
  538. package/dist/server/services/utils/populate.js.map +1 -1
  539. package/dist/server/services/utils/populate.mjs +1 -1
  540. package/dist/server/services/utils/populate.mjs.map +1 -1
  541. package/dist/server/services/utils/store.js.map +1 -1
  542. package/dist/server/services/utils/store.mjs.map +1 -1
  543. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
  544. package/dist/server/utils/index.js.map +1 -1
  545. package/dist/server/utils/index.mjs.map +1 -1
  546. package/dist/server/validation/policies/hasPermissions.js.map +1 -1
  547. package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
  548. package/dist/shared/contracts/content-types.d.ts +2 -0
  549. package/dist/shared/contracts/content-types.d.ts.map +1 -1
  550. package/dist/shared/contracts/relations.d.ts +1 -1
  551. package/dist/shared/contracts/relations.d.ts.map +1 -1
  552. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"uid.js","sources":["../../../server/src/controllers/uid.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { getDocumentLocaleAndStatus } from './validation/dimensions';\n\nimport {\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n validateUIDField,\n} from './validation';\n\nexport default {\n async generateUID(ctx: any) {\n const { contentTypeUID, field, data } = await validateGenerateUIDInput(ctx.request.body);\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n ctx.body = {\n data: await uidService.generateUIDField({ contentTypeUID, field, data, locale }),\n };\n },\n\n async checkUIDAvailability(ctx: any) {\n const { contentTypeUID, field, value } = await validateCheckUIDAvailabilityInput(\n ctx.request.body\n );\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n const isAvailable = await uidService.checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n });\n\n ctx.body = {\n isAvailable,\n suggestion: !isAvailable\n ? await uidService.findUniqueUID({ contentTypeUID, field, value, locale })\n : null,\n };\n },\n};\n"],"names":["generateUID","ctx","contentTypeUID","field","data","validateGenerateUIDInput","request","body","query","locale","getDocumentLocaleAndStatus","validateUIDField","uidService","getService","generateUIDField","checkUIDAvailability","value","validateCheckUIDAvailabilityInput","isAvailable","suggestion","findUniqueUID"],"mappings":";;;;;;AAUA,UAAe;AACb,IAAA,MAAMA,aAAYC,GAAQ,EAAA;AACxB,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMC,8BAAAA,CAAyBJ,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAEvF,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,sCAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,uBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,kBAAW,CAAA,KAAA,CAAA;AAE9BZ,QAAAA,GAAAA,CAAIM,IAAI,GAAG;YACTH,IAAM,EAAA,MAAMQ,UAAWE,CAAAA,gBAAgB,CAAC;AAAEZ,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOC,gBAAAA,IAAAA;AAAMK,gBAAAA;AAAO,aAAA;AAChF,SAAA;AACF,KAAA;AAEA,IAAA,MAAMM,sBAAqBd,GAAQ,EAAA;AACjC,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEa,KAAK,EAAE,GAAG,MAAMC,uCAAAA,CAC7ChB,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAGlB,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,sCAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,uBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,kBAAW,CAAA,KAAA,CAAA;AAE9B,QAAA,MAAMK,WAAc,GAAA,MAAMN,UAAWG,CAAAA,oBAAoB,CAAC;AACxDb,YAAAA,cAAAA;AACAC,YAAAA,KAAAA;AACAa,YAAAA,KAAAA;AACAP,YAAAA;AACF,SAAA,CAAA;AAEAR,QAAAA,GAAAA,CAAIM,IAAI,GAAG;AACTW,YAAAA,WAAAA;AACAC,YAAAA,UAAAA,EAAY,CAACD,WAAAA,GACT,MAAMN,UAAAA,CAAWQ,aAAa,CAAC;AAAElB,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOa,gBAAAA,KAAAA;AAAOP,gBAAAA;aAC/D,CAAA,GAAA;AACN,SAAA;AACF;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"uid.js","sources":["../../../server/src/controllers/uid.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { getDocumentLocaleAndStatus } from './validation/dimensions';\n\nimport {\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n validateUIDField,\n} from './validation';\n\nexport default {\n async generateUID(ctx: any) {\n const { contentTypeUID, field, data } = await validateGenerateUIDInput(ctx.request.body);\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n ctx.body = {\n data: await uidService.generateUIDField({ contentTypeUID, field, data, locale }),\n };\n },\n\n async checkUIDAvailability(ctx: any) {\n const { contentTypeUID, field, value } = await validateCheckUIDAvailabilityInput(\n ctx.request.body\n );\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n const isAvailable = await uidService.checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n });\n\n ctx.body = {\n isAvailable,\n suggestion: !isAvailable\n ? await uidService.findUniqueUID({ contentTypeUID, field, value, locale })\n : null,\n };\n },\n};\n"],"names":["generateUID","ctx","contentTypeUID","field","data","validateGenerateUIDInput","request","body","query","locale","getDocumentLocaleAndStatus","validateUIDField","uidService","getService","generateUIDField","checkUIDAvailability","value","validateCheckUIDAvailabilityInput","isAvailable","suggestion","findUniqueUID"],"mappings":";;;;;;AAUA,UAAe;AACb,IAAA,MAAMA,aAAYC,GAAQ,EAAA;AACxB,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMC,8BAAAA,CAAyBJ,GAAAA,CAAIK,OAAO,CAACC,IAAI,CAAA;AAEvF,QAAA,MAAM,EAAEC,KAAAA,GAAQ,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,sCAA2BF,KAAAA,EAAON,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,uBAAiBT,cAAAA,EAAgBC,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,kBAAAA,CAAW,KAAA,CAAA;AAE9BZ,QAAAA,GAAAA,CAAIM,IAAI,GAAG;YACTH,IAAAA,EAAM,MAAMQ,UAAAA,CAAWE,gBAAgB,CAAC;AAAEZ,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOC,gBAAAA,IAAAA;AAAMK,gBAAAA;AAAO,aAAA;AAChF,SAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMM,sBAAqBd,GAAQ,EAAA;AACjC,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEa,KAAK,EAAE,GAAG,MAAMC,uCAAAA,CAC7ChB,GAAAA,CAAIK,OAAO,CAACC,IAAI,CAAA;AAGlB,QAAA,MAAM,EAAEC,KAAAA,GAAQ,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,sCAA2BF,KAAAA,EAAON,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,uBAAiBT,cAAAA,EAAgBC,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,kBAAAA,CAAW,KAAA,CAAA;AAE9B,QAAA,MAAMK,WAAAA,GAAc,MAAMN,UAAAA,CAAWG,oBAAoB,CAAC;AACxDb,YAAAA,cAAAA;AACAC,YAAAA,KAAAA;AACAa,YAAAA,KAAAA;AACAP,YAAAA;AACF,SAAA,CAAA;AAEAR,QAAAA,GAAAA,CAAIM,IAAI,GAAG;AACTW,YAAAA,WAAAA;AACAC,YAAAA,UAAAA,EAAY,CAACD,WAAAA,GACT,MAAMN,UAAAA,CAAWQ,aAAa,CAAC;AAAElB,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOa,gBAAAA,KAAAA;AAAOP,gBAAAA;aAAO,CAAA,GACtE;AACN,SAAA;AACF,IAAA;AACF,CAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { getService } from '../utils/index.mjs';
2
2
  import { getDocumentLocaleAndStatus } from './validation/dimensions.mjs';
3
- import { validateGenerateUIDInput, validateUIDField, validateCheckUIDAvailabilityInput } from './validation/index.mjs';
3
+ import { validateCheckUIDAvailabilityInput, validateUIDField, validateGenerateUIDInput } from './validation/index.mjs';
4
4
 
5
5
  var uid = {
6
6
  async generateUID (ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"uid.mjs","sources":["../../../server/src/controllers/uid.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { getDocumentLocaleAndStatus } from './validation/dimensions';\n\nimport {\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n validateUIDField,\n} from './validation';\n\nexport default {\n async generateUID(ctx: any) {\n const { contentTypeUID, field, data } = await validateGenerateUIDInput(ctx.request.body);\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n ctx.body = {\n data: await uidService.generateUIDField({ contentTypeUID, field, data, locale }),\n };\n },\n\n async checkUIDAvailability(ctx: any) {\n const { contentTypeUID, field, value } = await validateCheckUIDAvailabilityInput(\n ctx.request.body\n );\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n const isAvailable = await uidService.checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n });\n\n ctx.body = {\n isAvailable,\n suggestion: !isAvailable\n ? await uidService.findUniqueUID({ contentTypeUID, field, value, locale })\n : null,\n };\n },\n};\n"],"names":["generateUID","ctx","contentTypeUID","field","data","validateGenerateUIDInput","request","body","query","locale","getDocumentLocaleAndStatus","validateUIDField","uidService","getService","generateUIDField","checkUIDAvailability","value","validateCheckUIDAvailabilityInput","isAvailable","suggestion","findUniqueUID"],"mappings":";;;;AAUA,UAAe;AACb,IAAA,MAAMA,aAAYC,GAAQ,EAAA;AACxB,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMC,wBAAAA,CAAyBJ,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAEvF,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAW,CAAA,KAAA,CAAA;AAE9BZ,QAAAA,GAAAA,CAAIM,IAAI,GAAG;YACTH,IAAM,EAAA,MAAMQ,UAAWE,CAAAA,gBAAgB,CAAC;AAAEZ,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOC,gBAAAA,IAAAA;AAAMK,gBAAAA;AAAO,aAAA;AAChF,SAAA;AACF,KAAA;AAEA,IAAA,MAAMM,sBAAqBd,GAAQ,EAAA;AACjC,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEa,KAAK,EAAE,GAAG,MAAMC,iCAAAA,CAC7ChB,GAAIK,CAAAA,OAAO,CAACC,IAAI,CAAA;AAGlB,QAAA,MAAM,EAAEC,KAAQ,GAAA,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAON,EAAAA,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAgBC,EAAAA,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAW,CAAA,KAAA,CAAA;AAE9B,QAAA,MAAMK,WAAc,GAAA,MAAMN,UAAWG,CAAAA,oBAAoB,CAAC;AACxDb,YAAAA,cAAAA;AACAC,YAAAA,KAAAA;AACAa,YAAAA,KAAAA;AACAP,YAAAA;AACF,SAAA,CAAA;AAEAR,QAAAA,GAAAA,CAAIM,IAAI,GAAG;AACTW,YAAAA,WAAAA;AACAC,YAAAA,UAAAA,EAAY,CAACD,WAAAA,GACT,MAAMN,UAAAA,CAAWQ,aAAa,CAAC;AAAElB,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOa,gBAAAA,KAAAA;AAAOP,gBAAAA;aAC/D,CAAA,GAAA;AACN,SAAA;AACF;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"uid.mjs","sources":["../../../server/src/controllers/uid.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { getDocumentLocaleAndStatus } from './validation/dimensions';\n\nimport {\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n validateUIDField,\n} from './validation';\n\nexport default {\n async generateUID(ctx: any) {\n const { contentTypeUID, field, data } = await validateGenerateUIDInput(ctx.request.body);\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n ctx.body = {\n data: await uidService.generateUIDField({ contentTypeUID, field, data, locale }),\n };\n },\n\n async checkUIDAvailability(ctx: any) {\n const { contentTypeUID, field, value } = await validateCheckUIDAvailabilityInput(\n ctx.request.body\n );\n\n const { query = {} } = ctx.request;\n const { locale } = await getDocumentLocaleAndStatus(query, contentTypeUID as UID.Schema);\n\n await validateUIDField(contentTypeUID, field);\n\n const uidService = getService('uid');\n\n const isAvailable = await uidService.checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n });\n\n ctx.body = {\n isAvailable,\n suggestion: !isAvailable\n ? await uidService.findUniqueUID({ contentTypeUID, field, value, locale })\n : null,\n };\n },\n};\n"],"names":["generateUID","ctx","contentTypeUID","field","data","validateGenerateUIDInput","request","body","query","locale","getDocumentLocaleAndStatus","validateUIDField","uidService","getService","generateUIDField","checkUIDAvailability","value","validateCheckUIDAvailabilityInput","isAvailable","suggestion","findUniqueUID"],"mappings":";;;;AAUA,UAAe;AACb,IAAA,MAAMA,aAAYC,GAAQ,EAAA;AACxB,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMC,wBAAAA,CAAyBJ,GAAAA,CAAIK,OAAO,CAACC,IAAI,CAAA;AAEvF,QAAA,MAAM,EAAEC,KAAAA,GAAQ,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAAA,EAAON,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAAA,EAAgBC,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAAA,CAAW,KAAA,CAAA;AAE9BZ,QAAAA,GAAAA,CAAIM,IAAI,GAAG;YACTH,IAAAA,EAAM,MAAMQ,UAAAA,CAAWE,gBAAgB,CAAC;AAAEZ,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOC,gBAAAA,IAAAA;AAAMK,gBAAAA;AAAO,aAAA;AAChF,SAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMM,sBAAqBd,GAAQ,EAAA;AACjC,QAAA,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEa,KAAK,EAAE,GAAG,MAAMC,iCAAAA,CAC7ChB,GAAAA,CAAIK,OAAO,CAACC,IAAI,CAAA;AAGlB,QAAA,MAAM,EAAEC,KAAAA,GAAQ,EAAE,EAAE,GAAGP,IAAIK,OAAO;AAClC,QAAA,MAAM,EAAEG,MAAM,EAAE,GAAG,MAAMC,2BAA2BF,KAAAA,EAAON,cAAAA,CAAAA;AAE3D,QAAA,MAAMS,iBAAiBT,cAAAA,EAAgBC,KAAAA,CAAAA;AAEvC,QAAA,MAAMS,aAAaC,UAAAA,CAAW,KAAA,CAAA;AAE9B,QAAA,MAAMK,WAAAA,GAAc,MAAMN,UAAAA,CAAWG,oBAAoB,CAAC;AACxDb,YAAAA,cAAAA;AACAC,YAAAA,KAAAA;AACAa,YAAAA,KAAAA;AACAP,YAAAA;AACF,SAAA,CAAA;AAEAR,QAAAA,GAAAA,CAAIM,IAAI,GAAG;AACTW,YAAAA,WAAAA;AACAC,YAAAA,UAAAA,EAAY,CAACD,WAAAA,GACT,MAAMN,UAAAA,CAAWQ,aAAa,CAAC;AAAElB,gBAAAA,cAAAA;AAAgBC,gBAAAA,KAAAA;AAAOa,gBAAAA,KAAAA;AAAOP,gBAAAA;aAAO,CAAA,GACtE;AACN,SAAA;AACF,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sources":["../../../../server/src/controllers/utils/clone.ts"],"sourcesContent":["import { set } from 'lodash/fp';\nimport strapiUtils from '@strapi/utils';\nimport { ProhibitedCloningField } from '../../../../shared/contracts/collection-types';\n\nconst { isVisibleAttribute } = strapiUtils.contentTypes;\n\n/**\n * Use an array of strings to represent the path to a field, so we can show breadcrumbs in the admin\n * We can't use special characters as delimiters, because the path includes display names\n * for dynamic zone components, which can contain any character.\n */\n\nfunction checkRelation(model: any, attributeName: any, path: string[]): ProhibitedCloningField[] {\n // we don't care about createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n // Return empty array and not null so we can always spread the result\n return [];\n }\n\n /**\n * Only one-to-many and one-to-one (when they're reversed, not one-way) are dangerous,\n * because the other relations don't \"steal\" the relation from the entry we're cloning\n */\n const { relation, inversedBy, mappedBy } = model.attributes[attributeName];\n\n if (\n ['oneToOne', 'oneToMany'].includes(relation) &&\n [mappedBy, inversedBy].some((key) => key != null)\n ) {\n return [[[...path, attributeName], 'relation']];\n }\n\n return [];\n}\n\nconst getProhibitedCloningFields = (\n uid: any,\n pathPrefix: string[] = []\n): ProhibitedCloningField[] => {\n const model = strapi.getModel(uid);\n\n const prohibitedFields = Object.keys(model.attributes).reduce<ProhibitedCloningField[]>(\n (acc, attributeName) => {\n const attribute: any = model.attributes[attributeName];\n const attributePath = [...pathPrefix, attributeName];\n\n switch (attribute.type) {\n case 'relation':\n return [...acc, ...checkRelation(model, attributeName, pathPrefix)];\n case 'component':\n return [...acc, ...getProhibitedCloningFields(attribute.component, attributePath)];\n case 'dynamiczone':\n return [\n ...acc,\n ...(attribute.components || []).flatMap((componentUID: any) =>\n getProhibitedCloningFields(componentUID, [\n ...attributePath,\n strapi.getModel(componentUID).info.displayName,\n ])\n ),\n ];\n case 'uid':\n return [...acc, [attributePath, 'unique']];\n default:\n if (attribute?.unique) {\n return [...acc, [attributePath, 'unique']];\n }\n return acc;\n }\n },\n []\n );\n\n return prohibitedFields;\n};\n\n/**\n * Iterates all attributes of the content type, and removes the ones that are not creatable.\n * - If it's a relation, it sets the value to [] or null.\n * - If it's a regular attribute, it sets the value to null.\n * When cloning, if you don't set a field it will be copied from the original entry. So we need to\n * remove the fields that the user can't create.\n */\nconst excludeNotCreatableFields =\n (uid: any, permissionChecker: any) =>\n (body: any, path = []): any => {\n const model = strapi.getModel(uid);\n const canCreate = (path: any) => permissionChecker.can.create(null, path);\n\n return Object.keys(model.attributes).reduce((body, attributeName) => {\n const attribute = model.attributes[attributeName];\n const attributePath = [...path, attributeName].join('.');\n\n // Ignore the attribute if it's not visible\n if (!isVisibleAttribute(model, attributeName)) {\n return body;\n }\n\n switch (attribute.type) {\n // Relation should be empty if the user can't create it\n case 'relation': {\n if (canCreate(attributePath)) return body;\n return set(attributePath, { set: [] }, body);\n }\n // Go deeper into the component\n case 'component': {\n return excludeNotCreatableFields(attribute.component, permissionChecker)(body, [\n ...path,\n attributeName,\n ] as any);\n }\n // Attribute should be null if the user can't create it\n default: {\n if (canCreate(attributePath)) return body;\n return set(attributePath, null, body);\n }\n }\n }, body);\n };\n\nexport { getProhibitedCloningFields, excludeNotCreatableFields };\n"],"names":["isVisibleAttribute","strapiUtils","contentTypes","checkRelation","model","attributeName","path","relation","inversedBy","mappedBy","attributes","includes","some","key","getProhibitedCloningFields","uid","pathPrefix","strapi","getModel","prohibitedFields","Object","keys","reduce","acc","attribute","attributePath","type","component","components","flatMap","componentUID","info","displayName","unique","excludeNotCreatableFields","permissionChecker","body","canCreate","can","create","join","set"],"mappings":"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"}
1
+ {"version":3,"file":"clone.js","sources":["../../../../server/src/controllers/utils/clone.ts"],"sourcesContent":["import { set } from 'lodash/fp';\nimport strapiUtils from '@strapi/utils';\nimport { ProhibitedCloningField } from '../../../../shared/contracts/collection-types';\n\nconst { isVisibleAttribute } = strapiUtils.contentTypes;\n\n/**\n * Use an array of strings to represent the path to a field, so we can show breadcrumbs in the admin\n * We can't use special characters as delimiters, because the path includes display names\n * for dynamic zone components, which can contain any character.\n */\n\nfunction checkRelation(model: any, attributeName: any, path: string[]): ProhibitedCloningField[] {\n // we don't care about createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n // Return empty array and not null so we can always spread the result\n return [];\n }\n\n /**\n * Only one-to-many and one-to-one (when they're reversed, not one-way) are dangerous,\n * because the other relations don't \"steal\" the relation from the entry we're cloning\n */\n const { relation, inversedBy, mappedBy } = model.attributes[attributeName];\n\n if (\n ['oneToOne', 'oneToMany'].includes(relation) &&\n [mappedBy, inversedBy].some((key) => key != null)\n ) {\n return [[[...path, attributeName], 'relation']];\n }\n\n return [];\n}\n\nconst getProhibitedCloningFields = (\n uid: any,\n pathPrefix: string[] = []\n): ProhibitedCloningField[] => {\n const model = strapi.getModel(uid);\n\n const prohibitedFields = Object.keys(model.attributes).reduce<ProhibitedCloningField[]>(\n (acc, attributeName) => {\n const attribute: any = model.attributes[attributeName];\n const attributePath = [...pathPrefix, attributeName];\n\n switch (attribute.type) {\n case 'relation':\n return [...acc, ...checkRelation(model, attributeName, pathPrefix)];\n case 'component':\n return [...acc, ...getProhibitedCloningFields(attribute.component, attributePath)];\n case 'dynamiczone':\n return [\n ...acc,\n ...(attribute.components || []).flatMap((componentUID: any) =>\n getProhibitedCloningFields(componentUID, [\n ...attributePath,\n strapi.getModel(componentUID).info.displayName,\n ])\n ),\n ];\n case 'uid':\n return [...acc, [attributePath, 'unique']];\n default:\n if (attribute?.unique) {\n return [...acc, [attributePath, 'unique']];\n }\n return acc;\n }\n },\n []\n );\n\n return prohibitedFields;\n};\n\n/**\n * Iterates all attributes of the content type, and removes the ones that are not creatable.\n * - If it's a relation, it sets the value to [] or null.\n * - If it's a regular attribute, it sets the value to null.\n * When cloning, if you don't set a field it will be copied from the original entry. So we need to\n * remove the fields that the user can't create.\n */\nconst excludeNotCreatableFields =\n (uid: any, permissionChecker: any) =>\n (body: any, path = []): any => {\n const model = strapi.getModel(uid);\n const canCreate = (path: any) => permissionChecker.can.create(null, path);\n\n return Object.keys(model.attributes).reduce((body, attributeName) => {\n const attribute = model.attributes[attributeName];\n const attributePath = [...path, attributeName].join('.');\n\n // Ignore the attribute if it's not visible\n if (!isVisibleAttribute(model, attributeName)) {\n return body;\n }\n\n switch (attribute.type) {\n // Relation should be empty if the user can't create it\n case 'relation': {\n if (canCreate(attributePath)) return body;\n return set(attributePath, { set: [] }, body);\n }\n // Go deeper into the component\n case 'component': {\n return excludeNotCreatableFields(attribute.component, permissionChecker)(body, [\n ...path,\n attributeName,\n ] as any);\n }\n // Attribute should be null if the user can't create it\n default: {\n if (canCreate(attributePath)) return body;\n return set(attributePath, null, body);\n }\n }\n }, body);\n };\n\nexport { getProhibitedCloningFields, excludeNotCreatableFields };\n"],"names":["isVisibleAttribute","strapiUtils","contentTypes","checkRelation","model","attributeName","path","relation","inversedBy","mappedBy","attributes","includes","some","key","getProhibitedCloningFields","uid","pathPrefix","strapi","getModel","prohibitedFields","Object","keys","reduce","acc","attribute","attributePath","type","component","components","flatMap","componentUID","info","displayName","unique","excludeNotCreatableFields","permissionChecker","body","canCreate","can","create","join","set"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.mjs","sources":["../../../../server/src/controllers/utils/clone.ts"],"sourcesContent":["import { set } from 'lodash/fp';\nimport strapiUtils from '@strapi/utils';\nimport { ProhibitedCloningField } from '../../../../shared/contracts/collection-types';\n\nconst { isVisibleAttribute } = strapiUtils.contentTypes;\n\n/**\n * Use an array of strings to represent the path to a field, so we can show breadcrumbs in the admin\n * We can't use special characters as delimiters, because the path includes display names\n * for dynamic zone components, which can contain any character.\n */\n\nfunction checkRelation(model: any, attributeName: any, path: string[]): ProhibitedCloningField[] {\n // we don't care about createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n // Return empty array and not null so we can always spread the result\n return [];\n }\n\n /**\n * Only one-to-many and one-to-one (when they're reversed, not one-way) are dangerous,\n * because the other relations don't \"steal\" the relation from the entry we're cloning\n */\n const { relation, inversedBy, mappedBy } = model.attributes[attributeName];\n\n if (\n ['oneToOne', 'oneToMany'].includes(relation) &&\n [mappedBy, inversedBy].some((key) => key != null)\n ) {\n return [[[...path, attributeName], 'relation']];\n }\n\n return [];\n}\n\nconst getProhibitedCloningFields = (\n uid: any,\n pathPrefix: string[] = []\n): ProhibitedCloningField[] => {\n const model = strapi.getModel(uid);\n\n const prohibitedFields = Object.keys(model.attributes).reduce<ProhibitedCloningField[]>(\n (acc, attributeName) => {\n const attribute: any = model.attributes[attributeName];\n const attributePath = [...pathPrefix, attributeName];\n\n switch (attribute.type) {\n case 'relation':\n return [...acc, ...checkRelation(model, attributeName, pathPrefix)];\n case 'component':\n return [...acc, ...getProhibitedCloningFields(attribute.component, attributePath)];\n case 'dynamiczone':\n return [\n ...acc,\n ...(attribute.components || []).flatMap((componentUID: any) =>\n getProhibitedCloningFields(componentUID, [\n ...attributePath,\n strapi.getModel(componentUID).info.displayName,\n ])\n ),\n ];\n case 'uid':\n return [...acc, [attributePath, 'unique']];\n default:\n if (attribute?.unique) {\n return [...acc, [attributePath, 'unique']];\n }\n return acc;\n }\n },\n []\n );\n\n return prohibitedFields;\n};\n\n/**\n * Iterates all attributes of the content type, and removes the ones that are not creatable.\n * - If it's a relation, it sets the value to [] or null.\n * - If it's a regular attribute, it sets the value to null.\n * When cloning, if you don't set a field it will be copied from the original entry. So we need to\n * remove the fields that the user can't create.\n */\nconst excludeNotCreatableFields =\n (uid: any, permissionChecker: any) =>\n (body: any, path = []): any => {\n const model = strapi.getModel(uid);\n const canCreate = (path: any) => permissionChecker.can.create(null, path);\n\n return Object.keys(model.attributes).reduce((body, attributeName) => {\n const attribute = model.attributes[attributeName];\n const attributePath = [...path, attributeName].join('.');\n\n // Ignore the attribute if it's not visible\n if (!isVisibleAttribute(model, attributeName)) {\n return body;\n }\n\n switch (attribute.type) {\n // Relation should be empty if the user can't create it\n case 'relation': {\n if (canCreate(attributePath)) return body;\n return set(attributePath, { set: [] }, body);\n }\n // Go deeper into the component\n case 'component': {\n return excludeNotCreatableFields(attribute.component, permissionChecker)(body, [\n ...path,\n attributeName,\n ] as any);\n }\n // Attribute should be null if the user can't create it\n default: {\n if (canCreate(attributePath)) return body;\n return set(attributePath, null, body);\n }\n }\n }, body);\n };\n\nexport { getProhibitedCloningFields, excludeNotCreatableFields };\n"],"names":["isVisibleAttribute","strapiUtils","contentTypes","checkRelation","model","attributeName","path","relation","inversedBy","mappedBy","attributes","includes","some","key","getProhibitedCloningFields","uid","pathPrefix","strapi","getModel","prohibitedFields","Object","keys","reduce","acc","attribute","attributePath","type","component","components","flatMap","componentUID","info","displayName","unique","excludeNotCreatableFields","permissionChecker","body","canCreate","can","create","join","set"],"mappings":"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"}
1
+ {"version":3,"file":"clone.mjs","sources":["../../../../server/src/controllers/utils/clone.ts"],"sourcesContent":["import { set } from 'lodash/fp';\nimport strapiUtils from '@strapi/utils';\nimport { ProhibitedCloningField } from '../../../../shared/contracts/collection-types';\n\nconst { isVisibleAttribute } = strapiUtils.contentTypes;\n\n/**\n * Use an array of strings to represent the path to a field, so we can show breadcrumbs in the admin\n * We can't use special characters as delimiters, because the path includes display names\n * for dynamic zone components, which can contain any character.\n */\n\nfunction checkRelation(model: any, attributeName: any, path: string[]): ProhibitedCloningField[] {\n // we don't care about createdBy, updatedBy, localizations etc.\n if (!isVisibleAttribute(model, attributeName)) {\n // Return empty array and not null so we can always spread the result\n return [];\n }\n\n /**\n * Only one-to-many and one-to-one (when they're reversed, not one-way) are dangerous,\n * because the other relations don't \"steal\" the relation from the entry we're cloning\n */\n const { relation, inversedBy, mappedBy } = model.attributes[attributeName];\n\n if (\n ['oneToOne', 'oneToMany'].includes(relation) &&\n [mappedBy, inversedBy].some((key) => key != null)\n ) {\n return [[[...path, attributeName], 'relation']];\n }\n\n return [];\n}\n\nconst getProhibitedCloningFields = (\n uid: any,\n pathPrefix: string[] = []\n): ProhibitedCloningField[] => {\n const model = strapi.getModel(uid);\n\n const prohibitedFields = Object.keys(model.attributes).reduce<ProhibitedCloningField[]>(\n (acc, attributeName) => {\n const attribute: any = model.attributes[attributeName];\n const attributePath = [...pathPrefix, attributeName];\n\n switch (attribute.type) {\n case 'relation':\n return [...acc, ...checkRelation(model, attributeName, pathPrefix)];\n case 'component':\n return [...acc, ...getProhibitedCloningFields(attribute.component, attributePath)];\n case 'dynamiczone':\n return [\n ...acc,\n ...(attribute.components || []).flatMap((componentUID: any) =>\n getProhibitedCloningFields(componentUID, [\n ...attributePath,\n strapi.getModel(componentUID).info.displayName,\n ])\n ),\n ];\n case 'uid':\n return [...acc, [attributePath, 'unique']];\n default:\n if (attribute?.unique) {\n return [...acc, [attributePath, 'unique']];\n }\n return acc;\n }\n },\n []\n );\n\n return prohibitedFields;\n};\n\n/**\n * Iterates all attributes of the content type, and removes the ones that are not creatable.\n * - If it's a relation, it sets the value to [] or null.\n * - If it's a regular attribute, it sets the value to null.\n * When cloning, if you don't set a field it will be copied from the original entry. So we need to\n * remove the fields that the user can't create.\n */\nconst excludeNotCreatableFields =\n (uid: any, permissionChecker: any) =>\n (body: any, path = []): any => {\n const model = strapi.getModel(uid);\n const canCreate = (path: any) => permissionChecker.can.create(null, path);\n\n return Object.keys(model.attributes).reduce((body, attributeName) => {\n const attribute = model.attributes[attributeName];\n const attributePath = [...path, attributeName].join('.');\n\n // Ignore the attribute if it's not visible\n if (!isVisibleAttribute(model, attributeName)) {\n return body;\n }\n\n switch (attribute.type) {\n // Relation should be empty if the user can't create it\n case 'relation': {\n if (canCreate(attributePath)) return body;\n return set(attributePath, { set: [] }, body);\n }\n // Go deeper into the component\n case 'component': {\n return excludeNotCreatableFields(attribute.component, permissionChecker)(body, [\n ...path,\n attributeName,\n ] as any);\n }\n // Attribute should be null if the user can't create it\n default: {\n if (canCreate(attributePath)) return body;\n return set(attributePath, null, body);\n }\n }\n }, body);\n };\n\nexport { getProhibitedCloningFields, excludeNotCreatableFields };\n"],"names":["isVisibleAttribute","strapiUtils","contentTypes","checkRelation","model","attributeName","path","relation","inversedBy","mappedBy","attributes","includes","some","key","getProhibitedCloningFields","uid","pathPrefix","strapi","getModel","prohibitedFields","Object","keys","reduce","acc","attribute","attributePath","type","component","components","flatMap","componentUID","info","displayName","unique","excludeNotCreatableFields","permissionChecker","body","canCreate","can","create","join","set"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-status.js","sources":["../../../../server/src/controllers/utils/document-status.ts"],"sourcesContent":["/**\n * Index items by documentId for lookup\n *\n * @param items - Array of items with documentId property\n * @returns Map of documentId -> items array\n */\nexport const indexByDocumentId = <T extends { documentId?: string | null }>(\n items: T[]\n): Map<string, T[]> => {\n const map = new Map<string, T[]>();\n\n for (const item of items) {\n const key = item.documentId;\n if (!key) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const existing = map.get(key);\n if (existing) {\n existing.push(item);\n } else {\n map.set(key, [item]);\n }\n }\n\n return map;\n};\n"],"names":["indexByDocumentId","items","map","Map","item","key","documentId","existing","get","push","set"],"mappings":";;AAAA;;;;;IAMaA,MAAAA,iBAAAA,GAAoB,CAC/BC,KAAAA,GAAAA;AAEA,IAAA,MAAMC,MAAM,IAAIC,GAAAA,EAAAA;IAEhB,KAAK,MAAMC,QAAQH,KAAO,CAAA;QACxB,MAAMI,GAAAA,GAAMD,KAAKE,UAAU;AAC3B,QAAA,IAAI,CAACD,GAAK,EAAA;AAER,YAAA;AACF;QAEA,MAAME,QAAAA,GAAWL,GAAIM,CAAAA,GAAG,CAACH,GAAAA,CAAAA;AACzB,QAAA,IAAIE,QAAU,EAAA;AACZA,YAAAA,QAAAA,CAASE,IAAI,CAACL,IAAAA,CAAAA;SACT,MAAA;YACLF,GAAIQ,CAAAA,GAAG,CAACL,GAAK,EAAA;AAACD,gBAAAA;AAAK,aAAA,CAAA;AACrB;AACF;IAEA,OAAOF,GAAAA;AACT;;;;"}
1
+ {"version":3,"file":"document-status.js","sources":["../../../../server/src/controllers/utils/document-status.ts"],"sourcesContent":["/**\n * Index items by documentId for lookup\n *\n * @param items - Array of items with documentId property\n * @returns Map of documentId -> items array\n */\nexport const indexByDocumentId = <T extends { documentId?: string | null }>(\n items: T[]\n): Map<string, T[]> => {\n const map = new Map<string, T[]>();\n\n for (const item of items) {\n const key = item.documentId;\n if (!key) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const existing = map.get(key);\n if (existing) {\n existing.push(item);\n } else {\n map.set(key, [item]);\n }\n }\n\n return map;\n};\n"],"names":["indexByDocumentId","items","map","Map","item","key","documentId","existing","get","push","set"],"mappings":";;AAAA;;;;;IAMO,MAAMA,iBAAAA,GAAoB,CAC/BC,KAAAA,GAAAA;AAEA,IAAA,MAAMC,MAAM,IAAIC,GAAAA,EAAAA;IAEhB,KAAK,MAAMC,QAAQH,KAAAA,CAAO;QACxB,MAAMI,GAAAA,GAAMD,KAAKE,UAAU;AAC3B,QAAA,IAAI,CAACD,GAAAA,EAAK;AAER,YAAA;AACF,QAAA;QAEA,MAAME,QAAAA,GAAWL,GAAAA,CAAIM,GAAG,CAACH,GAAAA,CAAAA;AACzB,QAAA,IAAIE,QAAAA,EAAU;AACZA,YAAAA,QAAAA,CAASE,IAAI,CAACL,IAAAA,CAAAA;QAChB,CAAA,MAAO;YACLF,GAAAA,CAAIQ,GAAG,CAACL,GAAAA,EAAK;AAACD,gBAAAA;AAAK,aAAA,CAAA;AACrB,QAAA;AACF,IAAA;IAEA,OAAOF,GAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-status.mjs","sources":["../../../../server/src/controllers/utils/document-status.ts"],"sourcesContent":["/**\n * Index items by documentId for lookup\n *\n * @param items - Array of items with documentId property\n * @returns Map of documentId -> items array\n */\nexport const indexByDocumentId = <T extends { documentId?: string | null }>(\n items: T[]\n): Map<string, T[]> => {\n const map = new Map<string, T[]>();\n\n for (const item of items) {\n const key = item.documentId;\n if (!key) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const existing = map.get(key);\n if (existing) {\n existing.push(item);\n } else {\n map.set(key, [item]);\n }\n }\n\n return map;\n};\n"],"names":["indexByDocumentId","items","map","Map","item","key","documentId","existing","get","push","set"],"mappings":"AAAA;;;;;IAMaA,MAAAA,iBAAAA,GAAoB,CAC/BC,KAAAA,GAAAA;AAEA,IAAA,MAAMC,MAAM,IAAIC,GAAAA,EAAAA;IAEhB,KAAK,MAAMC,QAAQH,KAAO,CAAA;QACxB,MAAMI,GAAAA,GAAMD,KAAKE,UAAU;AAC3B,QAAA,IAAI,CAACD,GAAK,EAAA;AAER,YAAA;AACF;QAEA,MAAME,QAAAA,GAAWL,GAAIM,CAAAA,GAAG,CAACH,GAAAA,CAAAA;AACzB,QAAA,IAAIE,QAAU,EAAA;AACZA,YAAAA,QAAAA,CAASE,IAAI,CAACL,IAAAA,CAAAA;SACT,MAAA;YACLF,GAAIQ,CAAAA,GAAG,CAACL,GAAK,EAAA;AAACD,gBAAAA;AAAK,aAAA,CAAA;AACrB;AACF;IAEA,OAAOF,GAAAA;AACT;;;;"}
1
+ {"version":3,"file":"document-status.mjs","sources":["../../../../server/src/controllers/utils/document-status.ts"],"sourcesContent":["/**\n * Index items by documentId for lookup\n *\n * @param items - Array of items with documentId property\n * @returns Map of documentId -> items array\n */\nexport const indexByDocumentId = <T extends { documentId?: string | null }>(\n items: T[]\n): Map<string, T[]> => {\n const map = new Map<string, T[]>();\n\n for (const item of items) {\n const key = item.documentId;\n if (!key) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const existing = map.get(key);\n if (existing) {\n existing.push(item);\n } else {\n map.set(key, [item]);\n }\n }\n\n return map;\n};\n"],"names":["indexByDocumentId","items","map","Map","item","key","documentId","existing","get","push","set"],"mappings":"AAAA;;;;;IAMO,MAAMA,iBAAAA,GAAoB,CAC/BC,KAAAA,GAAAA;AAEA,IAAA,MAAMC,MAAM,IAAIC,GAAAA,EAAAA;IAEhB,KAAK,MAAMC,QAAQH,KAAAA,CAAO;QACxB,MAAMI,GAAAA,GAAMD,KAAKE,UAAU;AAC3B,QAAA,IAAI,CAACD,GAAAA,EAAK;AAER,YAAA;AACF,QAAA;QAEA,MAAME,QAAAA,GAAWL,GAAAA,CAAIM,GAAG,CAACH,GAAAA,CAAAA;AACzB,QAAA,IAAIE,QAAAA,EAAU;AACZA,YAAAA,QAAAA,CAASE,IAAI,CAACL,IAAAA,CAAAA;QAChB,CAAA,MAAO;YACLF,GAAAA,CAAIQ,GAAG,CAACL,GAAAA,EAAK;AAACD,gBAAAA;AAAK,aAAA,CAAA;AACrB,QAAA;AACF,IAAA;IAEA,OAAOF,GAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sources":["../../../../server/src/controllers/utils/metadata.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { async } from '@strapi/utils';\n\nimport { getService } from '../../utils';\n\nimport { DocumentVersion, GetMetadataOptions } from '../../services/document-metadata';\n\nimport type {\n AvailableLocaleDocument,\n AvailableStatusDocument,\n} from '../../../../shared/contracts/collection-types';\n\n/**\n * Format a document with metadata. Making sure the metadata response is\n * correctly sanitized for the current user\n */\nexport const formatDocumentWithMetadata = async (\n permissionChecker: any,\n uid: UID.ContentType,\n document: DocumentVersion,\n opts: GetMetadataOptions = {}\n) => {\n const documentMetadata = getService('document-metadata');\n\n const serviceOutput = await documentMetadata.formatDocumentWithMetadata(uid, document, opts);\n\n let {\n meta: { availableLocales, availableStatus },\n } = serviceOutput;\n\n const metadataSanitizer = permissionChecker.sanitizeOutput;\n\n availableLocales = await async.map(\n availableLocales,\n async (localeDocument: AvailableLocaleDocument) => metadataSanitizer(localeDocument)\n );\n\n availableStatus = await async.map(\n availableStatus,\n async (statusDocument: AvailableStatusDocument) => metadataSanitizer(statusDocument)\n );\n\n return {\n ...serviceOutput,\n meta: {\n availableLocales,\n availableStatus,\n },\n };\n};\n"],"names":["formatDocumentWithMetadata","permissionChecker","uid","document","opts","documentMetadata","getService","serviceOutput","meta","availableLocales","availableStatus","metadataSanitizer","sanitizeOutput","async","map","localeDocument","statusDocument"],"mappings":";;;;;AAYA;;;UAIaA,0BAA6B,GAAA,OACxCC,mBACAC,GACAC,EAAAA,QAAAA,EACAC,IAA2B,GAAA,EAAE,GAAA;AAE7B,IAAA,MAAMC,mBAAmBC,gBAAW,CAAA,mBAAA,CAAA;AAEpC,IAAA,MAAMC,gBAAgB,MAAMF,gBAAAA,CAAiBL,0BAA0B,CAACE,KAAKC,QAAUC,EAAAA,IAAAA,CAAAA;IAEvF,IAAI,EACFI,MAAM,EAAEC,gBAAgB,EAAEC,eAAe,EAAE,EAC5C,GAAGH,aAAAA;IAEJ,MAAMI,iBAAAA,GAAoBV,kBAAkBW,cAAc;AAE1DH,IAAAA,gBAAAA,GAAmB,MAAMI,iBAAMC,CAAAA,GAAG,CAChCL,gBACA,EAAA,OAAOM,iBAA4CJ,iBAAkBI,CAAAA,cAAAA,CAAAA,CAAAA;AAGvEL,IAAAA,eAAAA,GAAkB,MAAMG,iBAAMC,CAAAA,GAAG,CAC/BJ,eACA,EAAA,OAAOM,iBAA4CL,iBAAkBK,CAAAA,cAAAA,CAAAA,CAAAA;IAGvE,OAAO;AACL,QAAA,GAAGT,aAAa;QAChBC,IAAM,EAAA;AACJC,YAAAA,gBAAAA;AACAC,YAAAA;AACF;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"metadata.js","sources":["../../../../server/src/controllers/utils/metadata.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { async } from '@strapi/utils';\n\nimport { getService } from '../../utils';\n\nimport { DocumentVersion, GetMetadataOptions } from '../../services/document-metadata';\n\nimport type {\n AvailableLocaleDocument,\n AvailableStatusDocument,\n} from '../../../../shared/contracts/collection-types';\n\n/**\n * Format a document with metadata. Making sure the metadata response is\n * correctly sanitized for the current user\n */\nexport const formatDocumentWithMetadata = async (\n permissionChecker: any,\n uid: UID.ContentType,\n document: DocumentVersion,\n opts: GetMetadataOptions = {}\n) => {\n const documentMetadata = getService('document-metadata');\n\n const serviceOutput = await documentMetadata.formatDocumentWithMetadata(uid, document, opts);\n\n let {\n meta: { availableLocales, availableStatus },\n } = serviceOutput;\n\n const metadataSanitizer = permissionChecker.sanitizeOutput;\n\n availableLocales = await async.map(\n availableLocales,\n async (localeDocument: AvailableLocaleDocument) => metadataSanitizer(localeDocument)\n );\n\n availableStatus = await async.map(\n availableStatus,\n async (statusDocument: AvailableStatusDocument) => metadataSanitizer(statusDocument)\n );\n\n return {\n ...serviceOutput,\n meta: {\n availableLocales,\n availableStatus,\n },\n };\n};\n"],"names":["formatDocumentWithMetadata","permissionChecker","uid","document","opts","documentMetadata","getService","serviceOutput","meta","availableLocales","availableStatus","metadataSanitizer","sanitizeOutput","async","map","localeDocument","statusDocument"],"mappings":";;;;;AAYA;;;UAIaA,0BAAAA,GAA6B,OACxCC,mBACAC,GAAAA,EACAC,QAAAA,EACAC,IAAAA,GAA2B,EAAE,GAAA;AAE7B,IAAA,MAAMC,mBAAmBC,gBAAAA,CAAW,mBAAA,CAAA;AAEpC,IAAA,MAAMC,gBAAgB,MAAMF,gBAAAA,CAAiBL,0BAA0B,CAACE,KAAKC,QAAAA,EAAUC,IAAAA,CAAAA;IAEvF,IAAI,EACFI,MAAM,EAAEC,gBAAgB,EAAEC,eAAe,EAAE,EAC5C,GAAGH,aAAAA;IAEJ,MAAMI,iBAAAA,GAAoBV,kBAAkBW,cAAc;AAE1DH,IAAAA,gBAAAA,GAAmB,MAAMI,iBAAAA,CAAMC,GAAG,CAChCL,gBAAAA,EACA,OAAOM,iBAA4CJ,iBAAAA,CAAkBI,cAAAA,CAAAA,CAAAA;AAGvEL,IAAAA,eAAAA,GAAkB,MAAMG,iBAAAA,CAAMC,GAAG,CAC/BJ,eAAAA,EACA,OAAOM,iBAA4CL,iBAAAA,CAAkBK,cAAAA,CAAAA,CAAAA;IAGvE,OAAO;AACL,QAAA,GAAGT,aAAa;QAChBC,IAAAA,EAAM;AACJC,YAAAA,gBAAAA;AACAC,YAAAA;AACF;AACF,KAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.mjs","sources":["../../../../server/src/controllers/utils/metadata.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { async } from '@strapi/utils';\n\nimport { getService } from '../../utils';\n\nimport { DocumentVersion, GetMetadataOptions } from '../../services/document-metadata';\n\nimport type {\n AvailableLocaleDocument,\n AvailableStatusDocument,\n} from '../../../../shared/contracts/collection-types';\n\n/**\n * Format a document with metadata. Making sure the metadata response is\n * correctly sanitized for the current user\n */\nexport const formatDocumentWithMetadata = async (\n permissionChecker: any,\n uid: UID.ContentType,\n document: DocumentVersion,\n opts: GetMetadataOptions = {}\n) => {\n const documentMetadata = getService('document-metadata');\n\n const serviceOutput = await documentMetadata.formatDocumentWithMetadata(uid, document, opts);\n\n let {\n meta: { availableLocales, availableStatus },\n } = serviceOutput;\n\n const metadataSanitizer = permissionChecker.sanitizeOutput;\n\n availableLocales = await async.map(\n availableLocales,\n async (localeDocument: AvailableLocaleDocument) => metadataSanitizer(localeDocument)\n );\n\n availableStatus = await async.map(\n availableStatus,\n async (statusDocument: AvailableStatusDocument) => metadataSanitizer(statusDocument)\n );\n\n return {\n ...serviceOutput,\n meta: {\n availableLocales,\n availableStatus,\n },\n };\n};\n"],"names":["formatDocumentWithMetadata","permissionChecker","uid","document","opts","documentMetadata","getService","serviceOutput","meta","availableLocales","availableStatus","metadataSanitizer","sanitizeOutput","async","map","localeDocument","statusDocument"],"mappings":";;;AAYA;;;UAIaA,0BAA6B,GAAA,OACxCC,mBACAC,GACAC,EAAAA,QAAAA,EACAC,IAA2B,GAAA,EAAE,GAAA;AAE7B,IAAA,MAAMC,mBAAmBC,UAAW,CAAA,mBAAA,CAAA;AAEpC,IAAA,MAAMC,gBAAgB,MAAMF,gBAAAA,CAAiBL,0BAA0B,CAACE,KAAKC,QAAUC,EAAAA,IAAAA,CAAAA;IAEvF,IAAI,EACFI,MAAM,EAAEC,gBAAgB,EAAEC,eAAe,EAAE,EAC5C,GAAGH,aAAAA;IAEJ,MAAMI,iBAAAA,GAAoBV,kBAAkBW,cAAc;AAE1DH,IAAAA,gBAAAA,GAAmB,MAAMI,KAAMC,CAAAA,GAAG,CAChCL,gBACA,EAAA,OAAOM,iBAA4CJ,iBAAkBI,CAAAA,cAAAA,CAAAA,CAAAA;AAGvEL,IAAAA,eAAAA,GAAkB,MAAMG,KAAMC,CAAAA,GAAG,CAC/BJ,eACA,EAAA,OAAOM,iBAA4CL,iBAAkBK,CAAAA,cAAAA,CAAAA,CAAAA;IAGvE,OAAO;AACL,QAAA,GAAGT,aAAa;QAChBC,IAAM,EAAA;AACJC,YAAAA,gBAAAA;AACAC,YAAAA;AACF;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"metadata.mjs","sources":["../../../../server/src/controllers/utils/metadata.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { async } from '@strapi/utils';\n\nimport { getService } from '../../utils';\n\nimport { DocumentVersion, GetMetadataOptions } from '../../services/document-metadata';\n\nimport type {\n AvailableLocaleDocument,\n AvailableStatusDocument,\n} from '../../../../shared/contracts/collection-types';\n\n/**\n * Format a document with metadata. Making sure the metadata response is\n * correctly sanitized for the current user\n */\nexport const formatDocumentWithMetadata = async (\n permissionChecker: any,\n uid: UID.ContentType,\n document: DocumentVersion,\n opts: GetMetadataOptions = {}\n) => {\n const documentMetadata = getService('document-metadata');\n\n const serviceOutput = await documentMetadata.formatDocumentWithMetadata(uid, document, opts);\n\n let {\n meta: { availableLocales, availableStatus },\n } = serviceOutput;\n\n const metadataSanitizer = permissionChecker.sanitizeOutput;\n\n availableLocales = await async.map(\n availableLocales,\n async (localeDocument: AvailableLocaleDocument) => metadataSanitizer(localeDocument)\n );\n\n availableStatus = await async.map(\n availableStatus,\n async (statusDocument: AvailableStatusDocument) => metadataSanitizer(statusDocument)\n );\n\n return {\n ...serviceOutput,\n meta: {\n availableLocales,\n availableStatus,\n },\n };\n};\n"],"names":["formatDocumentWithMetadata","permissionChecker","uid","document","opts","documentMetadata","getService","serviceOutput","meta","availableLocales","availableStatus","metadataSanitizer","sanitizeOutput","async","map","localeDocument","statusDocument"],"mappings":";;;AAYA;;;UAIaA,0BAAAA,GAA6B,OACxCC,mBACAC,GAAAA,EACAC,QAAAA,EACAC,IAAAA,GAA2B,EAAE,GAAA;AAE7B,IAAA,MAAMC,mBAAmBC,UAAAA,CAAW,mBAAA,CAAA;AAEpC,IAAA,MAAMC,gBAAgB,MAAMF,gBAAAA,CAAiBL,0BAA0B,CAACE,KAAKC,QAAAA,EAAUC,IAAAA,CAAAA;IAEvF,IAAI,EACFI,MAAM,EAAEC,gBAAgB,EAAEC,eAAe,EAAE,EAC5C,GAAGH,aAAAA;IAEJ,MAAMI,iBAAAA,GAAoBV,kBAAkBW,cAAc;AAE1DH,IAAAA,gBAAAA,GAAmB,MAAMI,KAAAA,CAAMC,GAAG,CAChCL,gBAAAA,EACA,OAAOM,iBAA4CJ,iBAAAA,CAAkBI,cAAAA,CAAAA,CAAAA;AAGvEL,IAAAA,eAAAA,GAAkB,MAAMG,KAAAA,CAAMC,GAAG,CAC/BJ,eAAAA,EACA,OAAOM,iBAA4CL,iBAAAA,CAAkBK,cAAAA,CAAAA,CAAAA;IAGvE,OAAO;AACL,QAAA,GAAGT,aAAa;QAChBC,IAAAA,EAAM;AACJC,YAAAA,gBAAAA;AACAC,YAAAA;AACF;AACF,KAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimensions.js","sources":["../../../../server/src/controllers/validation/dimensions.ts"],"sourcesContent":["import { errors, yup, validateYupSchema, contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\ninterface Options {\n allowMultipleLocales?: boolean;\n}\n\nconst singleLocaleSchema = yup.string().nullable();\n\nconst multipleLocaleSchema = yup.lazy((value) =>\n Array.isArray(value) ? yup.array().of(singleLocaleSchema.required()) : singleLocaleSchema\n);\n\nconst statusSchema = yup.mixed().oneOf(['draft', 'published'], 'Invalid status');\n\n/**\n * From a request or query object, validates and returns the locale and status of the document.\n * If the status is not provided and Draft & Publish is disabled, it defaults to 'published'.\n */\nexport const getDocumentLocaleAndStatus = async (\n request: any,\n model: UID.Schema,\n opts: Options = { allowMultipleLocales: false }\n) => {\n const { allowMultipleLocales } = opts;\n const { locale, status: providedStatus, ...rest } = request || {};\n\n const defaultStatus = contentTypes.hasDraftAndPublish(strapi.getModel(model))\n ? undefined\n : 'published';\n const status = providedStatus !== undefined ? providedStatus : defaultStatus;\n\n const schema = yup.object().shape({\n locale: allowMultipleLocales ? multipleLocaleSchema : singleLocaleSchema,\n status: statusSchema,\n });\n\n try {\n await validateYupSchema(schema, { strict: true, abortEarly: false })(request);\n\n return { locale, status, ...rest };\n } catch (error: any) {\n throw new errors.ValidationError(`Validation error: ${error.message}`);\n }\n};\n"],"names":["singleLocaleSchema","yup","string","nullable","multipleLocaleSchema","lazy","value","Array","isArray","array","of","required","statusSchema","mixed","oneOf","getDocumentLocaleAndStatus","request","model","opts","allowMultipleLocales","locale","status","providedStatus","rest","defaultStatus","contentTypes","hasDraftAndPublish","strapi","getModel","undefined","schema","object","shape","validateYupSchema","strict","abortEarly","error","errors","ValidationError","message"],"mappings":";;;;AAOA,MAAMA,kBAAqBC,GAAAA,eAAAA,CAAIC,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAEhD,MAAMC,uBAAuBH,eAAII,CAAAA,IAAI,CAAC,CAACC,QACrCC,KAAMC,CAAAA,OAAO,CAACF,KAAAA,CAAAA,GAASL,gBAAIQ,KAAK,EAAA,CAAGC,EAAE,CAACV,kBAAAA,CAAmBW,QAAQ,EAAMX,CAAAA,GAAAA,kBAAAA,CAAAA;AAGzE,MAAMY,YAAeX,GAAAA,eAAAA,CAAIY,KAAK,EAAA,CAAGC,KAAK,CAAC;AAAC,IAAA,OAAA;AAAS,IAAA;CAAY,EAAE,gBAAA,CAAA;AAE/D;;;AAGC,IACYC,MAAAA,0BAAAA,GAA6B,OACxCC,OAAAA,EACAC,OACAC,IAAgB,GAAA;IAAEC,oBAAsB,EAAA;AAAM,CAAC,GAAA;IAE/C,MAAM,EAAEA,oBAAoB,EAAE,GAAGD,IAAAA;IACjC,MAAM,EAAEE,MAAM,EAAEC,MAAQC,EAAAA,cAAc,EAAE,GAAGC,IAAAA,EAAM,GAAGP,OAAAA,IAAW,EAAC;IAEhE,MAAMQ,aAAAA,GAAgBC,yBAAaC,kBAAkB,CAACC,OAAOC,QAAQ,CAACX,UAClEY,SACA,GAAA,WAAA;IACJ,MAAMR,MAAAA,GAASC,cAAmBO,KAAAA,SAAAA,GAAYP,cAAiBE,GAAAA,aAAAA;AAE/D,IAAA,MAAMM,MAAS7B,GAAAA,eAAAA,CAAI8B,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCZ,QAAAA,MAAAA,EAAQD,uBAAuBf,oBAAuBJ,GAAAA,kBAAAA;QACtDqB,MAAQT,EAAAA;AACV,KAAA,CAAA;IAEA,IAAI;AACF,QAAA,MAAMqB,8BAAkBH,MAAQ,EAAA;YAAEI,MAAQ,EAAA,IAAA;YAAMC,UAAY,EAAA;SAASnB,CAAAA,CAAAA,OAAAA,CAAAA;QAErE,OAAO;AAAEI,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQ,YAAA,GAAGE;AAAK,SAAA;AACnC,KAAA,CAAE,OAAOa,KAAY,EAAA;QACnB,MAAM,IAAIC,mBAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEF,KAAMG,CAAAA,OAAO,CAAE,CAAA,CAAA;AACvE;AACF;;;;"}
1
+ {"version":3,"file":"dimensions.js","sources":["../../../../server/src/controllers/validation/dimensions.ts"],"sourcesContent":["import { errors, yup, validateYupSchema, contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\ninterface Options {\n allowMultipleLocales?: boolean;\n}\n\nconst singleLocaleSchema = yup.string().nullable();\n\nconst multipleLocaleSchema = yup.lazy((value) =>\n Array.isArray(value) ? yup.array().of(singleLocaleSchema.required()) : singleLocaleSchema\n);\n\nconst statusSchema = yup.mixed().oneOf(['draft', 'published'], 'Invalid status');\n\n/**\n * From a request or query object, validates and returns the locale and status of the document.\n * If the status is not provided and Draft & Publish is disabled, it defaults to 'published'.\n */\nexport const getDocumentLocaleAndStatus = async (\n request: any,\n model: UID.Schema,\n opts: Options = { allowMultipleLocales: false }\n) => {\n const { allowMultipleLocales } = opts;\n const { locale, status: providedStatus, ...rest } = request || {};\n\n const defaultStatus = contentTypes.hasDraftAndPublish(strapi.getModel(model))\n ? undefined\n : 'published';\n const status = providedStatus !== undefined ? providedStatus : defaultStatus;\n\n const schema = yup.object().shape({\n locale: allowMultipleLocales ? multipleLocaleSchema : singleLocaleSchema,\n status: statusSchema,\n });\n\n try {\n await validateYupSchema(schema, { strict: true, abortEarly: false })(request);\n\n return { locale, status, ...rest };\n } catch (error: any) {\n throw new errors.ValidationError(`Validation error: ${error.message}`);\n }\n};\n"],"names":["singleLocaleSchema","yup","string","nullable","multipleLocaleSchema","lazy","value","Array","isArray","array","of","required","statusSchema","mixed","oneOf","getDocumentLocaleAndStatus","request","model","opts","allowMultipleLocales","locale","status","providedStatus","rest","defaultStatus","contentTypes","hasDraftAndPublish","strapi","getModel","undefined","schema","object","shape","validateYupSchema","strict","abortEarly","error","errors","ValidationError","message"],"mappings":";;;;AAOA,MAAMA,kBAAAA,GAAqBC,eAAAA,CAAIC,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAEhD,MAAMC,uBAAuBH,eAAAA,CAAII,IAAI,CAAC,CAACC,QACrCC,KAAAA,CAAMC,OAAO,CAACF,KAAAA,CAAAA,GAASL,gBAAIQ,KAAK,EAAA,CAAGC,EAAE,CAACV,kBAAAA,CAAmBW,QAAQ,EAAA,CAAA,GAAMX,kBAAAA,CAAAA;AAGzE,MAAMY,YAAAA,GAAeX,eAAAA,CAAIY,KAAK,EAAA,CAAGC,KAAK,CAAC;AAAC,IAAA,OAAA;AAAS,IAAA;CAAY,EAAE,gBAAA,CAAA;AAE/D;;;AAGC,IACM,MAAMC,0BAAAA,GAA6B,OACxCC,OAAAA,EACAC,OACAC,IAAAA,GAAgB;IAAEC,oBAAAA,EAAsB;AAAM,CAAC,GAAA;IAE/C,MAAM,EAAEA,oBAAoB,EAAE,GAAGD,IAAAA;IACjC,MAAM,EAAEE,MAAM,EAAEC,MAAAA,EAAQC,cAAc,EAAE,GAAGC,IAAAA,EAAM,GAAGP,OAAAA,IAAW,EAAC;IAEhE,MAAMQ,aAAAA,GAAgBC,yBAAaC,kBAAkB,CAACC,OAAOC,QAAQ,CAACX,UAClEY,SAAAA,GACA,WAAA;IACJ,MAAMR,MAAAA,GAASC,cAAAA,KAAmBO,SAAAA,GAAYP,cAAAA,GAAiBE,aAAAA;AAE/D,IAAA,MAAMM,MAAAA,GAAS7B,eAAAA,CAAI8B,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCZ,QAAAA,MAAAA,EAAQD,uBAAuBf,oBAAAA,GAAuBJ,kBAAAA;QACtDqB,MAAAA,EAAQT;AACV,KAAA,CAAA;IAEA,IAAI;AACF,QAAA,MAAMqB,8BAAkBH,MAAAA,EAAQ;YAAEI,MAAAA,EAAQ,IAAA;YAAMC,UAAAA,EAAY;SAAM,CAAA,CAAGnB,OAAAA,CAAAA;QAErE,OAAO;AAAEI,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQ,YAAA,GAAGE;AAAK,SAAA;AACnC,IAAA,CAAA,CAAE,OAAOa,KAAAA,EAAY;QACnB,MAAM,IAAIC,mBAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEF,KAAAA,CAAMG,OAAO,CAAA,CAAE,CAAA;AACvE,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dimensions.mjs","sources":["../../../../server/src/controllers/validation/dimensions.ts"],"sourcesContent":["import { errors, yup, validateYupSchema, contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\ninterface Options {\n allowMultipleLocales?: boolean;\n}\n\nconst singleLocaleSchema = yup.string().nullable();\n\nconst multipleLocaleSchema = yup.lazy((value) =>\n Array.isArray(value) ? yup.array().of(singleLocaleSchema.required()) : singleLocaleSchema\n);\n\nconst statusSchema = yup.mixed().oneOf(['draft', 'published'], 'Invalid status');\n\n/**\n * From a request or query object, validates and returns the locale and status of the document.\n * If the status is not provided and Draft & Publish is disabled, it defaults to 'published'.\n */\nexport const getDocumentLocaleAndStatus = async (\n request: any,\n model: UID.Schema,\n opts: Options = { allowMultipleLocales: false }\n) => {\n const { allowMultipleLocales } = opts;\n const { locale, status: providedStatus, ...rest } = request || {};\n\n const defaultStatus = contentTypes.hasDraftAndPublish(strapi.getModel(model))\n ? undefined\n : 'published';\n const status = providedStatus !== undefined ? providedStatus : defaultStatus;\n\n const schema = yup.object().shape({\n locale: allowMultipleLocales ? multipleLocaleSchema : singleLocaleSchema,\n status: statusSchema,\n });\n\n try {\n await validateYupSchema(schema, { strict: true, abortEarly: false })(request);\n\n return { locale, status, ...rest };\n } catch (error: any) {\n throw new errors.ValidationError(`Validation error: ${error.message}`);\n }\n};\n"],"names":["singleLocaleSchema","yup","string","nullable","multipleLocaleSchema","lazy","value","Array","isArray","array","of","required","statusSchema","mixed","oneOf","getDocumentLocaleAndStatus","request","model","opts","allowMultipleLocales","locale","status","providedStatus","rest","defaultStatus","contentTypes","hasDraftAndPublish","strapi","getModel","undefined","schema","object","shape","validateYupSchema","strict","abortEarly","error","errors","ValidationError","message"],"mappings":";;AAOA,MAAMA,kBAAqBC,GAAAA,GAAAA,CAAIC,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAEhD,MAAMC,uBAAuBH,GAAII,CAAAA,IAAI,CAAC,CAACC,QACrCC,KAAMC,CAAAA,OAAO,CAACF,KAAAA,CAAAA,GAASL,IAAIQ,KAAK,EAAA,CAAGC,EAAE,CAACV,kBAAAA,CAAmBW,QAAQ,EAAMX,CAAAA,GAAAA,kBAAAA,CAAAA;AAGzE,MAAMY,YAAeX,GAAAA,GAAAA,CAAIY,KAAK,EAAA,CAAGC,KAAK,CAAC;AAAC,IAAA,OAAA;AAAS,IAAA;CAAY,EAAE,gBAAA,CAAA;AAE/D;;;AAGC,IACYC,MAAAA,0BAAAA,GAA6B,OACxCC,OAAAA,EACAC,OACAC,IAAgB,GAAA;IAAEC,oBAAsB,EAAA;AAAM,CAAC,GAAA;IAE/C,MAAM,EAAEA,oBAAoB,EAAE,GAAGD,IAAAA;IACjC,MAAM,EAAEE,MAAM,EAAEC,MAAQC,EAAAA,cAAc,EAAE,GAAGC,IAAAA,EAAM,GAAGP,OAAAA,IAAW,EAAC;IAEhE,MAAMQ,aAAAA,GAAgBC,aAAaC,kBAAkB,CAACC,OAAOC,QAAQ,CAACX,UAClEY,SACA,GAAA,WAAA;IACJ,MAAMR,MAAAA,GAASC,cAAmBO,KAAAA,SAAAA,GAAYP,cAAiBE,GAAAA,aAAAA;AAE/D,IAAA,MAAMM,MAAS7B,GAAAA,GAAAA,CAAI8B,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCZ,QAAAA,MAAAA,EAAQD,uBAAuBf,oBAAuBJ,GAAAA,kBAAAA;QACtDqB,MAAQT,EAAAA;AACV,KAAA,CAAA;IAEA,IAAI;AACF,QAAA,MAAMqB,kBAAkBH,MAAQ,EAAA;YAAEI,MAAQ,EAAA,IAAA;YAAMC,UAAY,EAAA;SAASnB,CAAAA,CAAAA,OAAAA,CAAAA;QAErE,OAAO;AAAEI,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQ,YAAA,GAAGE;AAAK,SAAA;AACnC,KAAA,CAAE,OAAOa,KAAY,EAAA;QACnB,MAAM,IAAIC,OAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEF,KAAMG,CAAAA,OAAO,CAAE,CAAA,CAAA;AACvE;AACF;;;;"}
1
+ {"version":3,"file":"dimensions.mjs","sources":["../../../../server/src/controllers/validation/dimensions.ts"],"sourcesContent":["import { errors, yup, validateYupSchema, contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\ninterface Options {\n allowMultipleLocales?: boolean;\n}\n\nconst singleLocaleSchema = yup.string().nullable();\n\nconst multipleLocaleSchema = yup.lazy((value) =>\n Array.isArray(value) ? yup.array().of(singleLocaleSchema.required()) : singleLocaleSchema\n);\n\nconst statusSchema = yup.mixed().oneOf(['draft', 'published'], 'Invalid status');\n\n/**\n * From a request or query object, validates and returns the locale and status of the document.\n * If the status is not provided and Draft & Publish is disabled, it defaults to 'published'.\n */\nexport const getDocumentLocaleAndStatus = async (\n request: any,\n model: UID.Schema,\n opts: Options = { allowMultipleLocales: false }\n) => {\n const { allowMultipleLocales } = opts;\n const { locale, status: providedStatus, ...rest } = request || {};\n\n const defaultStatus = contentTypes.hasDraftAndPublish(strapi.getModel(model))\n ? undefined\n : 'published';\n const status = providedStatus !== undefined ? providedStatus : defaultStatus;\n\n const schema = yup.object().shape({\n locale: allowMultipleLocales ? multipleLocaleSchema : singleLocaleSchema,\n status: statusSchema,\n });\n\n try {\n await validateYupSchema(schema, { strict: true, abortEarly: false })(request);\n\n return { locale, status, ...rest };\n } catch (error: any) {\n throw new errors.ValidationError(`Validation error: ${error.message}`);\n }\n};\n"],"names":["singleLocaleSchema","yup","string","nullable","multipleLocaleSchema","lazy","value","Array","isArray","array","of","required","statusSchema","mixed","oneOf","getDocumentLocaleAndStatus","request","model","opts","allowMultipleLocales","locale","status","providedStatus","rest","defaultStatus","contentTypes","hasDraftAndPublish","strapi","getModel","undefined","schema","object","shape","validateYupSchema","strict","abortEarly","error","errors","ValidationError","message"],"mappings":";;AAOA,MAAMA,kBAAAA,GAAqBC,GAAAA,CAAIC,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAEhD,MAAMC,uBAAuBH,GAAAA,CAAII,IAAI,CAAC,CAACC,QACrCC,KAAAA,CAAMC,OAAO,CAACF,KAAAA,CAAAA,GAASL,IAAIQ,KAAK,EAAA,CAAGC,EAAE,CAACV,kBAAAA,CAAmBW,QAAQ,EAAA,CAAA,GAAMX,kBAAAA,CAAAA;AAGzE,MAAMY,YAAAA,GAAeX,GAAAA,CAAIY,KAAK,EAAA,CAAGC,KAAK,CAAC;AAAC,IAAA,OAAA;AAAS,IAAA;CAAY,EAAE,gBAAA,CAAA;AAE/D;;;AAGC,IACM,MAAMC,0BAAAA,GAA6B,OACxCC,OAAAA,EACAC,OACAC,IAAAA,GAAgB;IAAEC,oBAAAA,EAAsB;AAAM,CAAC,GAAA;IAE/C,MAAM,EAAEA,oBAAoB,EAAE,GAAGD,IAAAA;IACjC,MAAM,EAAEE,MAAM,EAAEC,MAAAA,EAAQC,cAAc,EAAE,GAAGC,IAAAA,EAAM,GAAGP,OAAAA,IAAW,EAAC;IAEhE,MAAMQ,aAAAA,GAAgBC,aAAaC,kBAAkB,CAACC,OAAOC,QAAQ,CAACX,UAClEY,SAAAA,GACA,WAAA;IACJ,MAAMR,MAAAA,GAASC,cAAAA,KAAmBO,SAAAA,GAAYP,cAAAA,GAAiBE,aAAAA;AAE/D,IAAA,MAAMM,MAAAA,GAAS7B,GAAAA,CAAI8B,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCZ,QAAAA,MAAAA,EAAQD,uBAAuBf,oBAAAA,GAAuBJ,kBAAAA;QACtDqB,MAAAA,EAAQT;AACV,KAAA,CAAA;IAEA,IAAI;AACF,QAAA,MAAMqB,kBAAkBH,MAAAA,EAAQ;YAAEI,MAAAA,EAAQ,IAAA;YAAMC,UAAAA,EAAY;SAAM,CAAA,CAAGnB,OAAAA,CAAAA;QAErE,OAAO;AAAEI,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQ,YAAA,GAAGE;AAAK,SAAA;AACnC,IAAA,CAAA,CAAE,OAAOa,KAAAA,EAAY;QACnB,MAAM,IAAIC,OAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEF,KAAAA,CAAMG,OAAO,CAAA,CAAE,CAAA;AACvE,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../server/src/controllers/validation/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { Schema, UID } from '@strapi/types';\nimport { yup, validateYupSchema, errors } from '@strapi/utils';\nimport { ValidateOptions } from 'yup/lib/types';\nimport { TestContext } from 'yup';\nimport createModelConfigurationSchema from './model-configuration';\n\nconst { PaginationError, ValidationError } = errors;\nconst TYPES = ['singleType', 'collectionType'];\n\n/**\n * Validates type kind\n */\nconst kindSchema = yup.string().oneOf(TYPES).nullable();\n\nconst bulkActionInputSchema = yup\n .object({\n documentIds: yup.array().of(yup.strapiID()).min(1).required(),\n })\n .required();\n\nconst generateUIDInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n data: yup.object().required(),\n});\n\nconst checkUIDAvailabilityInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n value: yup\n .string()\n .required()\n .test(\n 'isValueMatchingRegex',\n `\\${path} must match the custom regex or the default one \"/^[A-Za-z0-9-_.~]*$/\"`,\n function (value, context: TestContext<{ regex?: string }>) {\n return (\n value === '' ||\n (context.options.context?.regex\n ? new RegExp(context.options?.context.regex).test(value as string)\n : /^[A-Za-z0-9-_.~]*$/.test(value as string))\n );\n }\n ),\n});\n\nconst validateUIDField = (contentTypeUID: any, field: any) => {\n const model = strapi.contentTypes[contentTypeUID];\n\n if (!model) {\n throw new ValidationError('ContentType not found');\n }\n\n if (\n !_.has(model, ['attributes', field]) ||\n _.get(model, ['attributes', field, 'type']) !== 'uid'\n ) {\n throw new ValidationError(`${field} must be a valid \\`uid\\` attribute`);\n }\n};\n\nconst validatePagination = ({ page, pageSize }: any) => {\n const pageNumber = parseInt(page, 10);\n const pageSizeNumber = parseInt(pageSize, 10);\n\n if (Number.isNaN(pageNumber) || pageNumber < 1) {\n throw new PaginationError('invalid pageNumber param');\n }\n if (Number.isNaN(pageSizeNumber) || pageSizeNumber < 1) {\n throw new PaginationError('invalid pageSize param');\n }\n};\n\nconst validateKind = validateYupSchema(kindSchema);\nconst validateBulkActionInput = validateYupSchema(bulkActionInputSchema);\nconst validateGenerateUIDInput = validateYupSchema(generateUIDInputSchema);\nconst validateCheckUIDAvailabilityInput = (body: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n}) => {\n const options: ValidateOptions<{ regex?: string }> = {};\n\n const contentType =\n body.contentTypeUID in strapi.contentTypes ? strapi.contentTypes[body.contentTypeUID] : null;\n\n if (\n contentType?.attributes[body.field] &&\n `regex` in contentType.attributes[body.field] &&\n (contentType.attributes[body.field] as Schema.Attribute.UID).regex\n ) {\n options.context = {\n regex: (contentType?.attributes[body.field] as Schema.Attribute.UID).regex,\n };\n }\n\n const validator = validateYupSchema(checkUIDAvailabilityInputSchema, options);\n\n return validator(body);\n};\n\nexport {\n createModelConfigurationSchema,\n validateUIDField,\n validatePagination,\n validateKind,\n validateBulkActionInput,\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n};\n"],"names":["PaginationError","ValidationError","errors","TYPES","kindSchema","yup","string","oneOf","nullable","bulkActionInputSchema","object","documentIds","array","of","strapiID","min","required","generateUIDInputSchema","contentTypeUID","field","data","checkUIDAvailabilityInputSchema","value","test","context","options","regex","RegExp","validateUIDField","model","strapi","contentTypes","_","has","get","validateKind","validateYupSchema","validateBulkActionInput","validateGenerateUIDInput","validateCheckUIDAvailabilityInput","body","contentType","attributes","validator"],"mappings":";;;;;;;;AAOA,MAAM,EAAEA,eAAe,EAAEC,eAAe,EAAE,GAAGC,kBAAAA;AAC7C,MAAMC,KAAQ,GAAA;AAAC,IAAA,YAAA;AAAc,IAAA;AAAiB,CAAA;AAE9C;;IAGA,MAAMC,aAAaC,eAAIC,CAAAA,MAAM,GAAGC,KAAK,CAACJ,OAAOK,QAAQ,EAAA;AAErD,MAAMC,qBAAAA,GAAwBJ,eAC3BK,CAAAA,MAAM,CAAC;IACNC,WAAaN,EAAAA,eAAAA,CAAIO,KAAK,EAAA,CAAGC,EAAE,CAACR,eAAIS,CAAAA,QAAQ,EAAIC,CAAAA,CAAAA,GAAG,CAAC,CAAA,CAAA,CAAGC,QAAQ;AAC7D,CAAA,CAAA,CACCA,QAAQ,EAAA;AAEX,MAAMC,sBAAAA,GAAyBZ,eAAIK,CAAAA,MAAM,CAAC;IACxCQ,cAAgBb,EAAAA,eAAAA,CAAIC,MAAM,EAAA,CAAGU,QAAQ,EAAA;IACrCG,KAAOd,EAAAA,eAAAA,CAAIC,MAAM,EAAA,CAAGU,QAAQ,EAAA;IAC5BI,IAAMf,EAAAA,eAAAA,CAAIK,MAAM,EAAA,CAAGM,QAAQ;AAC7B,CAAA,CAAA;AAEA,MAAMK,+BAAAA,GAAkChB,eAAIK,CAAAA,MAAM,CAAC;IACjDQ,cAAgBb,EAAAA,eAAAA,CAAIC,MAAM,EAAA,CAAGU,QAAQ,EAAA;IACrCG,KAAOd,EAAAA,eAAAA,CAAIC,MAAM,EAAA,CAAGU,QAAQ,EAAA;AAC5BM,IAAAA,KAAAA,EAAOjB,eACJC,CAAAA,MAAM,EACNU,CAAAA,QAAQ,GACRO,IAAI,CACH,sBACA,EAAA,CAAC,8EAA8E,CAAC,EAChF,SAAUD,KAAK,EAAEE,OAAwC,EAAA;QACvD,OACEF,KAAAA,KAAU,OACTE,OAAAA,CAAQC,OAAO,CAACD,OAAO,EAAEE,KAAAA,GACtB,IAAIC,MAAAA,CAAOH,QAAQC,OAAO,EAAED,QAAQE,KAAOH,CAAAA,CAAAA,IAAI,CAACD,KAChD,CAAA,GAAA,oBAAA,CAAqBC,IAAI,CAACD,KAAe,CAAA,CAAA;AAEjD,KAAA;AAEN,CAAA,CAAA;AAEMM,MAAAA,gBAAAA,GAAmB,CAACV,cAAqBC,EAAAA,KAAAA,GAAAA;AAC7C,IAAA,MAAMU,KAAQC,GAAAA,MAAAA,CAAOC,YAAY,CAACb,cAAe,CAAA;AAEjD,IAAA,IAAI,CAACW,KAAO,EAAA;AACV,QAAA,MAAM,IAAI5B,eAAgB,CAAA,uBAAA,CAAA;AAC5B;AAEA,IAAA,IACE,CAAC+B,CAAAA,CAAEC,GAAG,CAACJ,KAAO,EAAA;AAAC,QAAA,YAAA;AAAcV,QAAAA;KAAM,CACnCa,IAAAA,CAAAA,CAAEE,GAAG,CAACL,KAAO,EAAA;AAAC,QAAA,YAAA;AAAcV,QAAAA,KAAAA;AAAO,QAAA;AAAO,KAAA,CAAA,KAAM,KAChD,EAAA;AACA,QAAA,MAAM,IAAIlB,eAAAA,CAAgB,CAAGkB,EAAAA,KAAAA,CAAM,kCAAkC,CAAC,CAAA;AACxE;AACF;AAcA,MAAMgB,eAAeC,6BAAkBhC,CAAAA,UAAAA;AACvC,MAAMiC,0BAA0BD,6BAAkB3B,CAAAA,qBAAAA;AAClD,MAAM6B,2BAA2BF,6BAAkBnB,CAAAA,sBAAAA;AACnD,MAAMsB,oCAAoC,CAACC,IAAAA,GAAAA;AAKzC,IAAA,MAAMf,UAA+C,EAAC;AAEtD,IAAA,MAAMgB,WACJD,GAAAA,IAAAA,CAAKtB,cAAc,IAAIY,MAAOC,CAAAA,YAAY,GAAGD,MAAAA,CAAOC,YAAY,CAACS,IAAKtB,CAAAA,cAAc,CAAC,GAAG,IAAA;IAE1F,IACEuB,WAAAA,EAAaC,UAAU,CAACF,IAAKrB,CAAAA,KAAK,CAAC,IACnC,CAAC,KAAK,CAAC,IAAIsB,WAAYC,CAAAA,UAAU,CAACF,IAAAA,CAAKrB,KAAK,CAAC,IAC5CsB,WAAYC,CAAAA,UAAU,CAACF,IAAAA,CAAKrB,KAAK,CAAC,CAA0BO,KAAK,EAClE;AACAD,QAAAA,OAAAA,CAAQD,OAAO,GAAG;YAChBE,KAAO,EAACe,CAAAA,WAAAA,EAAaC,UAAU,CAACF,KAAKrB,KAAK,CAAC,EAA0BO;AACvE,SAAA;AACF;IAEA,MAAMiB,SAAAA,GAAYP,8BAAkBf,+BAAiCI,EAAAA,OAAAA,CAAAA;AAErE,IAAA,OAAOkB,SAAUH,CAAAA,IAAAA,CAAAA;AACnB;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/controllers/validation/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { Schema, UID } from '@strapi/types';\nimport { yup, validateYupSchema, errors } from '@strapi/utils';\nimport { ValidateOptions } from 'yup/lib/types';\nimport { TestContext } from 'yup';\nimport createModelConfigurationSchema from './model-configuration';\n\nconst { PaginationError, ValidationError } = errors;\nconst TYPES = ['singleType', 'collectionType'];\n\n/**\n * Validates type kind\n */\nconst kindSchema = yup.string().oneOf(TYPES).nullable();\n\nconst bulkActionInputSchema = yup\n .object({\n documentIds: yup.array().of(yup.strapiID()).min(1).required(),\n })\n .required();\n\nconst generateUIDInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n data: yup.object().required(),\n});\n\nconst checkUIDAvailabilityInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n value: yup\n .string()\n .required()\n .test(\n 'isValueMatchingRegex',\n `\\${path} must match the custom regex or the default one \"/^[A-Za-z0-9-_.~]*$/\"`,\n function (value, context: TestContext<{ regex?: string }>) {\n return (\n value === '' ||\n (context.options.context?.regex\n ? new RegExp(context.options?.context.regex).test(value as string)\n : /^[A-Za-z0-9-_.~]*$/.test(value as string))\n );\n }\n ),\n});\n\nconst validateUIDField = (contentTypeUID: any, field: any) => {\n const model = strapi.contentTypes[contentTypeUID];\n\n if (!model) {\n throw new ValidationError('ContentType not found');\n }\n\n if (\n !_.has(model, ['attributes', field]) ||\n _.get(model, ['attributes', field, 'type']) !== 'uid'\n ) {\n throw new ValidationError(`${field} must be a valid \\`uid\\` attribute`);\n }\n};\n\nconst validatePagination = ({ page, pageSize }: any) => {\n const pageNumber = parseInt(page, 10);\n const pageSizeNumber = parseInt(pageSize, 10);\n\n if (Number.isNaN(pageNumber) || pageNumber < 1) {\n throw new PaginationError('invalid pageNumber param');\n }\n if (Number.isNaN(pageSizeNumber) || pageSizeNumber < 1) {\n throw new PaginationError('invalid pageSize param');\n }\n};\n\nconst validateKind = validateYupSchema(kindSchema);\nconst validateBulkActionInput = validateYupSchema(bulkActionInputSchema);\nconst validateGenerateUIDInput = validateYupSchema(generateUIDInputSchema);\nconst validateCheckUIDAvailabilityInput = (body: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n}) => {\n const options: ValidateOptions<{ regex?: string }> = {};\n\n const contentType =\n body.contentTypeUID in strapi.contentTypes ? strapi.contentTypes[body.contentTypeUID] : null;\n\n if (\n contentType?.attributes[body.field] &&\n `regex` in contentType.attributes[body.field] &&\n (contentType.attributes[body.field] as Schema.Attribute.UID).regex\n ) {\n options.context = {\n regex: (contentType?.attributes[body.field] as Schema.Attribute.UID).regex,\n };\n }\n\n const validator = validateYupSchema(checkUIDAvailabilityInputSchema, options);\n\n return validator(body);\n};\n\nexport {\n createModelConfigurationSchema,\n validateUIDField,\n validatePagination,\n validateKind,\n validateBulkActionInput,\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n};\n"],"names":["PaginationError","ValidationError","errors","TYPES","kindSchema","yup","string","oneOf","nullable","bulkActionInputSchema","object","documentIds","array","of","strapiID","min","required","generateUIDInputSchema","contentTypeUID","field","data","checkUIDAvailabilityInputSchema","value","test","context","options","regex","RegExp","validateUIDField","model","strapi","contentTypes","_","has","get","validateKind","validateYupSchema","validateBulkActionInput","validateGenerateUIDInput","validateCheckUIDAvailabilityInput","body","contentType","attributes","validator"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { yup, validateYupSchema, errors } from '@strapi/utils';
2
+ import { errors, yup, validateYupSchema } from '@strapi/utils';
3
3
  import '@strapi/types';
4
4
  import '../../services/utils/configuration/attributes.mjs';
5
5
  import '../../services/utils/configuration/settings.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../server/src/controllers/validation/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { Schema, UID } from '@strapi/types';\nimport { yup, validateYupSchema, errors } from '@strapi/utils';\nimport { ValidateOptions } from 'yup/lib/types';\nimport { TestContext } from 'yup';\nimport createModelConfigurationSchema from './model-configuration';\n\nconst { PaginationError, ValidationError } = errors;\nconst TYPES = ['singleType', 'collectionType'];\n\n/**\n * Validates type kind\n */\nconst kindSchema = yup.string().oneOf(TYPES).nullable();\n\nconst bulkActionInputSchema = yup\n .object({\n documentIds: yup.array().of(yup.strapiID()).min(1).required(),\n })\n .required();\n\nconst generateUIDInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n data: yup.object().required(),\n});\n\nconst checkUIDAvailabilityInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n value: yup\n .string()\n .required()\n .test(\n 'isValueMatchingRegex',\n `\\${path} must match the custom regex or the default one \"/^[A-Za-z0-9-_.~]*$/\"`,\n function (value, context: TestContext<{ regex?: string }>) {\n return (\n value === '' ||\n (context.options.context?.regex\n ? new RegExp(context.options?.context.regex).test(value as string)\n : /^[A-Za-z0-9-_.~]*$/.test(value as string))\n );\n }\n ),\n});\n\nconst validateUIDField = (contentTypeUID: any, field: any) => {\n const model = strapi.contentTypes[contentTypeUID];\n\n if (!model) {\n throw new ValidationError('ContentType not found');\n }\n\n if (\n !_.has(model, ['attributes', field]) ||\n _.get(model, ['attributes', field, 'type']) !== 'uid'\n ) {\n throw new ValidationError(`${field} must be a valid \\`uid\\` attribute`);\n }\n};\n\nconst validatePagination = ({ page, pageSize }: any) => {\n const pageNumber = parseInt(page, 10);\n const pageSizeNumber = parseInt(pageSize, 10);\n\n if (Number.isNaN(pageNumber) || pageNumber < 1) {\n throw new PaginationError('invalid pageNumber param');\n }\n if (Number.isNaN(pageSizeNumber) || pageSizeNumber < 1) {\n throw new PaginationError('invalid pageSize param');\n }\n};\n\nconst validateKind = validateYupSchema(kindSchema);\nconst validateBulkActionInput = validateYupSchema(bulkActionInputSchema);\nconst validateGenerateUIDInput = validateYupSchema(generateUIDInputSchema);\nconst validateCheckUIDAvailabilityInput = (body: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n}) => {\n const options: ValidateOptions<{ regex?: string }> = {};\n\n const contentType =\n body.contentTypeUID in strapi.contentTypes ? strapi.contentTypes[body.contentTypeUID] : null;\n\n if (\n contentType?.attributes[body.field] &&\n `regex` in contentType.attributes[body.field] &&\n (contentType.attributes[body.field] as Schema.Attribute.UID).regex\n ) {\n options.context = {\n regex: (contentType?.attributes[body.field] as Schema.Attribute.UID).regex,\n };\n }\n\n const validator = validateYupSchema(checkUIDAvailabilityInputSchema, options);\n\n return validator(body);\n};\n\nexport {\n createModelConfigurationSchema,\n validateUIDField,\n validatePagination,\n validateKind,\n validateBulkActionInput,\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n};\n"],"names":["PaginationError","ValidationError","errors","TYPES","kindSchema","yup","string","oneOf","nullable","bulkActionInputSchema","object","documentIds","array","of","strapiID","min","required","generateUIDInputSchema","contentTypeUID","field","data","checkUIDAvailabilityInputSchema","value","test","context","options","regex","RegExp","validateUIDField","model","strapi","contentTypes","_","has","get","validateKind","validateYupSchema","validateBulkActionInput","validateGenerateUIDInput","validateCheckUIDAvailabilityInput","body","contentType","attributes","validator"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/controllers/validation/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { Schema, UID } from '@strapi/types';\nimport { yup, validateYupSchema, errors } from '@strapi/utils';\nimport { ValidateOptions } from 'yup/lib/types';\nimport { TestContext } from 'yup';\nimport createModelConfigurationSchema from './model-configuration';\n\nconst { PaginationError, ValidationError } = errors;\nconst TYPES = ['singleType', 'collectionType'];\n\n/**\n * Validates type kind\n */\nconst kindSchema = yup.string().oneOf(TYPES).nullable();\n\nconst bulkActionInputSchema = yup\n .object({\n documentIds: yup.array().of(yup.strapiID()).min(1).required(),\n })\n .required();\n\nconst generateUIDInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n data: yup.object().required(),\n});\n\nconst checkUIDAvailabilityInputSchema = yup.object({\n contentTypeUID: yup.string().required(),\n field: yup.string().required(),\n value: yup\n .string()\n .required()\n .test(\n 'isValueMatchingRegex',\n `\\${path} must match the custom regex or the default one \"/^[A-Za-z0-9-_.~]*$/\"`,\n function (value, context: TestContext<{ regex?: string }>) {\n return (\n value === '' ||\n (context.options.context?.regex\n ? new RegExp(context.options?.context.regex).test(value as string)\n : /^[A-Za-z0-9-_.~]*$/.test(value as string))\n );\n }\n ),\n});\n\nconst validateUIDField = (contentTypeUID: any, field: any) => {\n const model = strapi.contentTypes[contentTypeUID];\n\n if (!model) {\n throw new ValidationError('ContentType not found');\n }\n\n if (\n !_.has(model, ['attributes', field]) ||\n _.get(model, ['attributes', field, 'type']) !== 'uid'\n ) {\n throw new ValidationError(`${field} must be a valid \\`uid\\` attribute`);\n }\n};\n\nconst validatePagination = ({ page, pageSize }: any) => {\n const pageNumber = parseInt(page, 10);\n const pageSizeNumber = parseInt(pageSize, 10);\n\n if (Number.isNaN(pageNumber) || pageNumber < 1) {\n throw new PaginationError('invalid pageNumber param');\n }\n if (Number.isNaN(pageSizeNumber) || pageSizeNumber < 1) {\n throw new PaginationError('invalid pageSize param');\n }\n};\n\nconst validateKind = validateYupSchema(kindSchema);\nconst validateBulkActionInput = validateYupSchema(bulkActionInputSchema);\nconst validateGenerateUIDInput = validateYupSchema(generateUIDInputSchema);\nconst validateCheckUIDAvailabilityInput = (body: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n}) => {\n const options: ValidateOptions<{ regex?: string }> = {};\n\n const contentType =\n body.contentTypeUID in strapi.contentTypes ? strapi.contentTypes[body.contentTypeUID] : null;\n\n if (\n contentType?.attributes[body.field] &&\n `regex` in contentType.attributes[body.field] &&\n (contentType.attributes[body.field] as Schema.Attribute.UID).regex\n ) {\n options.context = {\n regex: (contentType?.attributes[body.field] as Schema.Attribute.UID).regex,\n };\n }\n\n const validator = validateYupSchema(checkUIDAvailabilityInputSchema, options);\n\n return validator(body);\n};\n\nexport {\n createModelConfigurationSchema,\n validateUIDField,\n validatePagination,\n validateKind,\n validateBulkActionInput,\n validateGenerateUIDInput,\n validateCheckUIDAvailabilityInput,\n};\n"],"names":["PaginationError","ValidationError","errors","TYPES","kindSchema","yup","string","oneOf","nullable","bulkActionInputSchema","object","documentIds","array","of","strapiID","min","required","generateUIDInputSchema","contentTypeUID","field","data","checkUIDAvailabilityInputSchema","value","test","context","options","regex","RegExp","validateUIDField","model","strapi","contentTypes","_","has","get","validateKind","validateYupSchema","validateBulkActionInput","validateGenerateUIDInput","validateCheckUIDAvailabilityInput","body","contentType","attributes","validator"],"mappings":"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"}
@@ -27,7 +27,12 @@ const createSettingsSchema = (schema)=>{
27
27
  defaultSortOrder: strapiUtils.yup.string().oneOf([
28
28
  'ASC',
29
29
  'DESC'
30
- ]).default('ASC')
30
+ ]).default('ASC'),
31
+ relationOpenMode: strapiUtils.yup.string().oneOf([
32
+ 'modal',
33
+ 'page',
34
+ 'newTab'
35
+ ]).default('modal')
31
36
  }).noUnknown();
32
37
  };
33
38
  const createMetadasSchema = (schema)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"model-configuration.js","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.js","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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"}
@@ -25,7 +25,12 @@ const createSettingsSchema = (schema)=>{
25
25
  defaultSortOrder: yup.string().oneOf([
26
26
  'ASC',
27
27
  'DESC'
28
- ]).default('ASC')
28
+ ]).default('ASC'),
29
+ relationOpenMode: yup.string().oneOf([
30
+ 'modal',
31
+ 'page',
32
+ 'newTab'
33
+ ]).default('modal')
29
34
  }).noUnknown();
30
35
  };
31
36
  const createMetadasSchema = (schema)=>{
@@ -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;;;;;"}