@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.
- package/dist/admin/components/ActionsDrawer.js.map +1 -1
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js +62 -30
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
- package/dist/admin/components/DragLayer.js.map +1 -1
- package/dist/admin/components/DragLayer.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
- package/dist/admin/components/FieldTypeIcon.js.map +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
- package/dist/admin/components/InjectionZone.js.map +1 -1
- package/dist/admin/components/InjectionZone.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/RelativeTime.js.map +1 -1
- package/dist/admin/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +1 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/constants/attributes.js.map +1 -1
- package/dist/admin/constants/attributes.mjs.map +1 -1
- package/dist/admin/constants/collections.js.map +1 -1
- package/dist/admin/constants/collections.mjs.map +1 -1
- package/dist/admin/constants/dragAndDrop.js.map +1 -1
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
- package/dist/admin/constants/hooks.js.map +1 -1
- package/dist/admin/constants/hooks.mjs.map +1 -1
- package/dist/admin/constants/plugin.js.map +1 -1
- package/dist/admin/constants/plugin.mjs.map +1 -1
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/features/DocumentRBAC.js.map +1 -1
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
- package/dist/admin/history/components/HistoryAction.js.map +1 -1
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +1 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/index.js.map +1 -1
- package/dist/admin/history/index.mjs.map +1 -1
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -1
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/history/routes.js.map +1 -1
- package/dist/admin/history/routes.mjs.map +1 -1
- package/dist/admin/history/services/historyVersion.js.map +1 -1
- package/dist/admin/history/services/historyVersion.mjs.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
- package/dist/admin/hooks/useDebounce.js.map +1 -1
- package/dist/admin/hooks/useDebounce.mjs.map +1 -1
- package/dist/admin/hooks/useDocument.js.map +1 -1
- package/dist/admin/hooks/useDocument.mjs +1 -1
- package/dist/admin/hooks/useDocument.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js.map +1 -1
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.js +2 -1
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.js +1 -3
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useLazyComponents.js.map +1 -1
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
- package/dist/admin/hooks/useOnce.js.map +1 -1
- package/dist/admin/hooks/useOnce.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
- package/dist/admin/hooks/usePrev.js.map +1 -1
- package/dist/admin/hooks/usePrev.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/modules/app.js.map +1 -1
- package/dist/admin/modules/app.mjs.map +1 -1
- package/dist/admin/modules/hooks.js.map +1 -1
- package/dist/admin/modules/hooks.mjs +1 -1
- package/dist/admin/modules/hooks.mjs.map +1 -1
- package/dist/admin/modules/reducers.js.map +1 -1
- package/dist/admin/modules/reducers.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +46 -9
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +2 -2
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
- package/dist/admin/pages/NoContentTypePage.js.map +1 -1
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
- package/dist/admin/preview/components/InputPopover.js.map +1 -1
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
- package/dist/admin/preview/index.js.map +1 -1
- package/dist/admin/preview/index.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/preview/routes.js.map +1 -1
- package/dist/admin/preview/routes.mjs.map +1 -1
- package/dist/admin/preview/services/preview.js.map +1 -1
- package/dist/admin/preview/services/preview.mjs.map +1 -1
- package/dist/admin/preview/utils/constants.js +0 -1
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +0 -1
- package/dist/admin/preview/utils/constants.mjs.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
- package/dist/admin/preview/utils/previewScript.js.map +1 -1
- package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/components.js.map +1 -1
- package/dist/admin/services/components.mjs.map +1 -1
- package/dist/admin/services/contentTypes.js.map +1 -1
- package/dist/admin/services/contentTypes.mjs.map +1 -1
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/services/init.js.map +1 -1
- package/dist/admin/services/init.mjs.map +1 -1
- package/dist/admin/services/relations.js.map +1 -1
- package/dist/admin/services/relations.mjs.map +1 -1
- package/dist/admin/services/uid.js.map +1 -1
- package/dist/admin/services/uid.mjs.map +1 -1
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
- package/dist/admin/translations/en.json.js +5 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +5 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +72 -1
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +72 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/attributes.js.map +1 -1
- package/dist/admin/utils/attributes.mjs.map +1 -1
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/relations.js.map +1 -1
- package/dist/admin/utils/relations.mjs.map +1 -1
- package/dist/admin/utils/strings.js.map +1 -1
- package/dist/admin/utils/strings.mjs.map +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/urls.js.map +1 -1
- package/dist/admin/utils/urls.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.mjs.map +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/constants/index.js.map +1 -1
- package/dist/server/constants/index.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +1 -1
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/components.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +10 -10
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +4 -4
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/init.js.map +1 -1
- package/dist/server/controllers/init.mjs.map +1 -1
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +3 -3
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +1 -1
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/uid.js.map +1 -1
- package/dist/server/controllers/uid.mjs +1 -1
- package/dist/server/controllers/uid.mjs.map +1 -1
- package/dist/server/controllers/utils/clone.js.map +1 -1
- package/dist/server/controllers/utils/clone.mjs.map +1 -1
- package/dist/server/controllers/utils/document-status.js.map +1 -1
- package/dist/server/controllers/utils/document-status.mjs.map +1 -1
- package/dist/server/controllers/utils/metadata.js.map +1 -1
- package/dist/server/controllers/utils/metadata.mjs.map +1 -1
- package/dist/server/controllers/validation/dimensions.js.map +1 -1
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +1 -1
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +6 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +6 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/destroy.js.map +1 -1
- package/dist/server/destroy.mjs.map +1 -1
- package/dist/server/history/constants.js.map +1 -1
- package/dist/server/history/constants.mjs.map +1 -1
- package/dist/server/history/controllers/history-version.js.map +1 -1
- package/dist/server/history/controllers/history-version.mjs.map +1 -1
- package/dist/server/history/controllers/index.js.map +1 -1
- package/dist/server/history/controllers/index.mjs.map +1 -1
- package/dist/server/history/controllers/validation/history-version.js.map +1 -1
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
- package/dist/server/history/index.js +4 -4
- package/dist/server/history/index.js.map +1 -1
- package/dist/server/history/index.mjs.map +1 -1
- package/dist/server/history/models/history-version.js.map +1 -1
- package/dist/server/history/models/history-version.mjs.map +1 -1
- package/dist/server/history/routes/history-version.js.map +1 -1
- package/dist/server/history/routes/history-version.mjs.map +1 -1
- package/dist/server/history/routes/index.js.map +1 -1
- package/dist/server/history/routes/index.mjs.map +1 -1
- package/dist/server/history/services/history.js.map +1 -1
- package/dist/server/history/services/history.mjs.map +1 -1
- package/dist/server/history/services/index.js.map +1 -1
- package/dist/server/history/services/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/history/services/utils.js.map +1 -1
- package/dist/server/history/services/utils.mjs.map +1 -1
- package/dist/server/history/utils.js.map +1 -1
- package/dist/server/history/utils.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/controllers/index.js.map +1 -1
- package/dist/server/homepage/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/index.js +6 -6
- package/dist/server/homepage/index.js.map +1 -1
- package/dist/server/homepage/index.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/index.js.map +1 -1
- package/dist/server/homepage/routes/index.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/index.js.map +1 -1
- package/dist/server/homepage/services/index.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/routing.js.map +1 -1
- package/dist/server/middlewares/routing.mjs.map +1 -1
- package/dist/server/policies/hasPermissions.js.map +1 -1
- package/dist/server/policies/hasPermissions.mjs.map +1 -1
- package/dist/server/policies/index.js.map +1 -1
- package/dist/server/policies/index.mjs.map +1 -1
- package/dist/server/preview/controllers/index.js.map +1 -1
- package/dist/server/preview/controllers/index.mjs.map +1 -1
- package/dist/server/preview/controllers/preview.js.map +1 -1
- package/dist/server/preview/controllers/preview.mjs.map +1 -1
- package/dist/server/preview/controllers/validation/preview.js.map +1 -1
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
- package/dist/server/preview/index.js +4 -4
- package/dist/server/preview/index.js.map +1 -1
- package/dist/server/preview/index.mjs.map +1 -1
- package/dist/server/preview/routes/index.js.map +1 -1
- package/dist/server/preview/routes/index.mjs.map +1 -1
- package/dist/server/preview/routes/preview.js.map +1 -1
- package/dist/server/preview/routes/preview.mjs.map +1 -1
- package/dist/server/preview/services/index.js.map +1 -1
- package/dist/server/preview/services/index.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +1 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/preview/utils.js.map +1 -1
- package/dist/server/preview/utils.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/index.js +4 -4
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/configuration.js.map +1 -1
- package/dist/server/services/configuration.mjs.map +1 -1
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +2 -2
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +2 -2
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/field-sizes.js.map +1 -1
- package/dist/server/services/field-sizes.mjs.map +1 -1
- package/dist/server/services/index.js +4 -4
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/permission-checker.js.map +1 -1
- package/dist/server/services/permission-checker.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/populate-builder.js.map +1 -1
- package/dist/server/services/populate-builder.mjs +4 -4
- package/dist/server/services/populate-builder.mjs.map +1 -1
- package/dist/server/services/uid.js.map +1 -1
- package/dist/server/services/uid.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/index.js.map +1 -1
- package/dist/server/services/utils/configuration/index.mjs +3 -3
- package/dist/server/services/utils/configuration/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/configuration/settings.js +4 -2
- package/dist/server/services/utils/configuration/settings.js.map +1 -1
- package/dist/server/services/utils/configuration/settings.mjs +5 -3
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +1 -1
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/services/utils/store.js.map +1 -1
- package/dist/server/services/utils/store.mjs.map +1 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/validation/policies/hasPermissions.js.map +1 -1
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
- package/dist/shared/contracts/content-types.d.ts +2 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +1 -1
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- 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,
|
|
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 {
|
|
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,
|
|
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":";;;;;AAIA,MAAM,EAAEA,kBAAkB,EAAE,GAAGC,YAAYC,YAAY;AAEvD;;;;AAIC,IAED,SAASC,
|
|
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":";;;AAIA,MAAM,EAAEA,kBAAkB,EAAE,GAAGC,YAAYC,YAAY;AAEvD;;;;AAIC,IAED,SAASC,
|
|
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;;;;;
|
|
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;;;;;
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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":";;;;;;AAOA,MAAM,EAAEA,eAAe,EAAEC,eAAe,EAAE,GAAGC,MAAAA;AAC7C,MAAMC,
|
|
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":";;;;;;;AAKA;;AAEC,IACD,qCAAe,CAAA,CAACA,MAAAA,EAAaC,
|
|
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":";;;;;AAKA;;AAEC,IACD,qCAAe,CAAA,CAACA,MAAAA,EAAaC,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;;;;;"}
|