@akbarsafari00/bonyan-content-manager 5.52.1-fa.2
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/LICENSE +37 -0
- package/README.md +9 -0
- package/dist/admin/components/ActionsDrawer.js +209 -0
- package/dist/admin/components/ActionsDrawer.js.map +1 -0
- package/dist/admin/components/ActionsDrawer.mjs +186 -0
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -0
- package/dist/admin/components/ComponentIcon.js +180 -0
- package/dist/admin/components/ComponentIcon.js.map +1 -0
- package/dist/admin/components/ComponentIcon.mjs +156 -0
- package/dist/admin/components/ComponentIcon.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js +262 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +240 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/Fields.js +704 -0
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/Fields.mjs +680 -0
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/Form.js +287 -0
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/Form.mjs +262 -0
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -0
- package/dist/admin/components/DragLayer.js +50 -0
- package/dist/admin/components/DragLayer.js.map +1 -0
- package/dist/admin/components/DragLayer.mjs +48 -0
- package/dist/admin/components/DragLayer.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.js +84 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs +82 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js +85 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +83 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.js +75 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +73 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -0
- package/dist/admin/components/FieldTypeIcon.js +58 -0
- package/dist/admin/components/FieldTypeIcon.js.map +1 -0
- package/dist/admin/components/FieldTypeIcon.mjs +56 -0
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -0
- package/dist/admin/components/InjectionZone.js +44 -0
- package/dist/admin/components/InjectionZone.js.map +1 -0
- package/dist/admin/components/InjectionZone.mjs +40 -0
- package/dist/admin/components/InjectionZone.mjs.map +1 -0
- package/dist/admin/components/LeftMenu.js +194 -0
- package/dist/admin/components/LeftMenu.js.map +1 -0
- package/dist/admin/components/LeftMenu.mjs +172 -0
- package/dist/admin/components/LeftMenu.mjs.map +1 -0
- package/dist/admin/components/RelativeTime.js +77 -0
- package/dist/admin/components/RelativeTime.js.map +1 -0
- package/dist/admin/components/RelativeTime.mjs +55 -0
- package/dist/admin/components/RelativeTime.mjs.map +1 -0
- package/dist/admin/components/Widgets.js +438 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +414 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/constants/attributes.js +48 -0
- package/dist/admin/constants/attributes.js.map +1 -0
- package/dist/admin/constants/attributes.mjs +38 -0
- package/dist/admin/constants/attributes.mjs.map +1 -0
- package/dist/admin/constants/collections.js +8 -0
- package/dist/admin/constants/collections.js.map +1 -0
- package/dist/admin/constants/collections.mjs +5 -0
- package/dist/admin/constants/collections.mjs.map +1 -0
- package/dist/admin/constants/dragAndDrop.js +13 -0
- package/dist/admin/constants/dragAndDrop.js.map +1 -0
- package/dist/admin/constants/dragAndDrop.mjs +11 -0
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -0
- package/dist/admin/constants/hooks.js +32 -0
- package/dist/admin/constants/hooks.js.map +1 -0
- package/dist/admin/constants/hooks.mjs +30 -0
- package/dist/admin/constants/hooks.mjs.map +1 -0
- package/dist/admin/constants/plugin.js +14 -0
- package/dist/admin/constants/plugin.js.map +1 -0
- package/dist/admin/constants/plugin.mjs +11 -0
- package/dist/admin/constants/plugin.mjs.map +1 -0
- package/dist/admin/content-manager.js +184 -0
- package/dist/admin/content-manager.js.map +1 -0
- package/dist/admin/content-manager.mjs +182 -0
- package/dist/admin/content-manager.mjs.map +1 -0
- package/dist/admin/features/DocumentRBAC.js +135 -0
- package/dist/admin/features/DocumentRBAC.js.map +1 -0
- package/dist/admin/features/DocumentRBAC.mjs +112 -0
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -0
- package/dist/admin/history/components/HistoryAction.js +61 -0
- package/dist/admin/history/components/HistoryAction.js.map +1 -0
- package/dist/admin/history/components/HistoryAction.mjs +59 -0
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -0
- package/dist/admin/history/components/VersionContent.js +346 -0
- package/dist/admin/history/components/VersionContent.js.map +1 -0
- package/dist/admin/history/components/VersionContent.mjs +320 -0
- package/dist/admin/history/components/VersionContent.mjs.map +1 -0
- package/dist/admin/history/components/VersionHeader.js +221 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -0
- package/dist/admin/history/components/VersionHeader.mjs +199 -0
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -0
- package/dist/admin/history/components/VersionInputRenderer.js +529 -0
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -0
- package/dist/admin/history/components/VersionInputRenderer.mjs +505 -0
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -0
- package/dist/admin/history/components/VersionsList.js +295 -0
- package/dist/admin/history/components/VersionsList.js.map +1 -0
- package/dist/admin/history/components/VersionsList.mjs +293 -0
- package/dist/admin/history/components/VersionsList.mjs.map +1 -0
- package/dist/admin/history/index.js +21 -0
- package/dist/admin/history/index.js.map +1 -0
- package/dist/admin/history/index.mjs +19 -0
- package/dist/admin/history/index.mjs.map +1 -0
- package/dist/admin/history/pages/History.js +239 -0
- package/dist/admin/history/pages/History.js.map +1 -0
- package/dist/admin/history/pages/History.mjs +215 -0
- package/dist/admin/history/pages/History.mjs.map +1 -0
- package/dist/admin/history/routes.js +42 -0
- package/dist/admin/history/routes.js.map +1 -0
- package/dist/admin/history/routes.mjs +20 -0
- package/dist/admin/history/routes.mjs.map +1 -0
- package/dist/admin/history/services/historyVersion.js +46 -0
- package/dist/admin/history/services/historyVersion.js.map +1 -0
- package/dist/admin/history/services/historyVersion.mjs +43 -0
- package/dist/admin/history/services/historyVersion.mjs.map +1 -0
- package/dist/admin/hooks/useContentManagerInitData.js +184 -0
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -0
- package/dist/admin/hooks/useContentManagerInitData.mjs +182 -0
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -0
- package/dist/admin/hooks/useContentTypeSchema.js +139 -0
- package/dist/admin/hooks/useContentTypeSchema.js.map +1 -0
- package/dist/admin/hooks/useContentTypeSchema.mjs +116 -0
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -0
- package/dist/admin/hooks/useDebounce.js +22 -0
- package/dist/admin/hooks/useDebounce.js.map +1 -0
- package/dist/admin/hooks/useDebounce.mjs +20 -0
- package/dist/admin/hooks/useDebounce.mjs.map +1 -0
- package/dist/admin/hooks/useDocument.js +344 -0
- package/dist/admin/hooks/useDocument.js.map +1 -0
- package/dist/admin/hooks/useDocument.mjs +320 -0
- package/dist/admin/hooks/useDocument.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentActions.js +634 -0
- package/dist/admin/hooks/useDocumentActions.js.map +1 -0
- package/dist/admin/hooks/useDocumentActions.mjs +612 -0
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentContext.js +58 -0
- package/dist/admin/hooks/useDocumentContext.js.map +1 -0
- package/dist/admin/hooks/useDocumentContext.mjs +36 -0
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentLayout.js +390 -0
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -0
- package/dist/admin/hooks/useDocumentLayout.mjs +364 -0
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -0
- package/dist/admin/hooks/useDragAndDrop.js +192 -0
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -0
- package/dist/admin/hooks/useDragAndDrop.mjs +168 -0
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.js +95 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs +73 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
- package/dist/admin/hooks/useLazyComponents.js +61 -0
- package/dist/admin/hooks/useLazyComponents.js.map +1 -0
- package/dist/admin/hooks/useLazyComponents.mjs +59 -0
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -0
- package/dist/admin/hooks/useOnce.js +29 -0
- package/dist/admin/hooks/useOnce.js.map +1 -0
- package/dist/admin/hooks/useOnce.mjs +7 -0
- package/dist/admin/hooks/useOnce.mjs.map +1 -0
- package/dist/admin/hooks/usePersistentQueryParams.js +88 -0
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs +81 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -0
- package/dist/admin/hooks/usePrev.js +16 -0
- package/dist/admin/hooks/usePrev.js.map +1 -0
- package/dist/admin/hooks/usePrev.mjs +14 -0
- package/dist/admin/hooks/usePrev.mjs.map +1 -0
- package/dist/admin/index.js +204 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +191 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/layout.js +221 -0
- package/dist/admin/layout.js.map +1 -0
- package/dist/admin/layout.mjs +199 -0
- package/dist/admin/layout.mjs.map +1 -0
- package/dist/admin/modules/app.js +33 -0
- package/dist/admin/modules/app.js.map +1 -0
- package/dist/admin/modules/app.mjs +30 -0
- package/dist/admin/modules/app.mjs.map +1 -0
- package/dist/admin/modules/hooks.js +10 -0
- package/dist/admin/modules/hooks.js.map +1 -0
- package/dist/admin/modules/hooks.mjs +7 -0
- package/dist/admin/modules/hooks.mjs.map +1 -0
- package/dist/admin/modules/reducers.js +11 -0
- package/dist/admin/modules/reducers.js.map +1 -0
- package/dist/admin/modules/reducers.mjs +9 -0
- package/dist/admin/modules/reducers.mjs.map +1 -0
- package/dist/admin/pages/ComponentConfigurationPage.js +213 -0
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -0
- package/dist/admin/pages/ComponentConfigurationPage.mjs +190 -0
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/EditConfigurationPage.js +165 -0
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -0
- package/dist/admin/pages/EditConfigurationPage.mjs +142 -0
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/EditView/EditViewPage.js +321 -0
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -0
- package/dist/admin/pages/EditView/EditViewPage.mjs +297 -0
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Blocker.js +18 -0
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
- package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentActions.js +1358 -0
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +1330 -0
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.js +34 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs +32 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js +153 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs +131 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js +265 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +241 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js +189 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +187 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js +244 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +222 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +462 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +439 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +422 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +420 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js +95 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs +93 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js +49 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs +47 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +555 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +533 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +281 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +256 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +65 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +771 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +747 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.js +22 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.mjs +20 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +89 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +87 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js +181 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +179 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js +32 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs +30 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js +223 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs +221 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js +48 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs +45 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js +64 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs +62 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js +14 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs +10 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js +59 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs +57 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +107 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +85 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +103 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +81 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +506 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +484 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js +21 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs +18 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js +66 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs +64 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +221 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +196 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +75 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +73 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +421 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +396 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js +73 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs +71 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +322 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +296 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js +38 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs +36 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +674 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +647 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +1058 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +1033 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +299 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +277 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +490 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +465 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +115 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +112 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js +140 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +118 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js +198 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs +176 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs +41 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +513 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +510 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js +42 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs +40 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js +88 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs +82 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js +58 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.js +77 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.mjs +71 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +366 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +357 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormLayout.js +127 -0
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormLayout.mjs +103 -0
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Header.js +637 -0
- package/dist/admin/pages/EditView/components/Header.js.map +1 -0
- package/dist/admin/pages/EditView/components/Header.mjs +614 -0
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/InputRenderer.js +325 -0
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -0
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +302 -0
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Panels.js +194 -0
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -0
- package/dist/admin/pages/EditView/components/Panels.mjs +168 -0
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/data.js +372 -0
- package/dist/admin/pages/EditView/utils/data.js.map +1 -0
- package/dist/admin/pages/EditView/utils/data.mjs +360 -0
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js +124 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js.map +1 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs +115 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/forms.js +32 -0
- package/dist/admin/pages/EditView/utils/forms.js.map +1 -0
- package/dist/admin/pages/EditView/utils/forms.mjs +30 -0
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.js +35 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.js.map +1 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.mjs +33 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +201 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +178 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +202 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +180 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +159 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +137 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Header.js +45 -0
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Header.mjs +43 -0
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.js +202 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs +180 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js +168 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs +146 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -0
- package/dist/admin/pages/ListView/ListViewPage.js +657 -0
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -0
- package/dist/admin/pages/ListView/ListViewPage.mjs +634 -0
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js +89 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs +87 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js +225 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +201 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +157 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +134 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +594 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +570 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/Filters.js +336 -0
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -0
- package/dist/admin/pages/ListView/components/Filters.mjs +314 -0
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableActions.js +265 -0
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableActions.mjs +242 -0
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js +162 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +155 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +66 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +59 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.js +65 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs +62 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.js +79 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +76 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.js +133 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +110 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +157 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +155 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -0
- package/dist/admin/pages/NoContentTypePage.js +50 -0
- package/dist/admin/pages/NoContentTypePage.js.map +1 -0
- package/dist/admin/pages/NoContentTypePage.mjs +48 -0
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -0
- package/dist/admin/pages/NoPermissionsPage.js +26 -0
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -0
- package/dist/admin/pages/NoPermissionsPage.mjs +24 -0
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.js +64 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.js.map +1 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.mjs +62 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.mjs.map +1 -0
- package/dist/admin/preview/components/InputPopover.js +193 -0
- package/dist/admin/preview/components/InputPopover.js.map +1 -0
- package/dist/admin/preview/components/InputPopover.mjs +170 -0
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
- package/dist/admin/preview/components/PreviewHeader.js +259 -0
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -0
- package/dist/admin/preview/components/PreviewHeader.mjs +257 -0
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -0
- package/dist/admin/preview/components/PreviewSidePanel.js +155 -0
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -0
- package/dist/admin/preview/components/PreviewSidePanel.mjs +133 -0
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.js +102 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs +80 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
- package/dist/admin/preview/index.js +21 -0
- package/dist/admin/preview/index.js.map +1 -0
- package/dist/admin/preview/index.mjs +19 -0
- package/dist/admin/preview/index.mjs.map +1 -0
- package/dist/admin/preview/pages/Preview.js +429 -0
- package/dist/admin/preview/pages/Preview.js.map +1 -0
- package/dist/admin/preview/pages/Preview.mjs +406 -0
- package/dist/admin/preview/pages/Preview.mjs.map +1 -0
- package/dist/admin/preview/routes.js +40 -0
- package/dist/admin/preview/routes.js.map +1 -0
- package/dist/admin/preview/routes.mjs +18 -0
- package/dist/admin/preview/routes.mjs.map +1 -0
- package/dist/admin/preview/services/preview.js +23 -0
- package/dist/admin/preview/services/preview.js.map +1 -0
- package/dist/admin/preview/services/preview.mjs +21 -0
- package/dist/admin/preview/services/preview.mjs.map +1 -0
- package/dist/admin/preview/utils/constants.js +57 -0
- package/dist/admin/preview/utils/constants.js.map +1 -0
- package/dist/admin/preview/utils/constants.mjs +53 -0
- package/dist/admin/preview/utils/constants.mjs.map +1 -0
- package/dist/admin/preview/utils/fieldUtils.js +107 -0
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
- package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
- package/dist/admin/preview/utils/getSendMessage.js +22 -0
- package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
- package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
- package/dist/admin/router.js +86 -0
- package/dist/admin/router.js.map +1 -0
- package/dist/admin/router.mjs +82 -0
- package/dist/admin/router.mjs.map +1 -0
- package/dist/admin/services/api.js +24 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +22 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/services/components.js +43 -0
- package/dist/admin/services/components.js.map +1 -0
- package/dist/admin/services/components.mjs +40 -0
- package/dist/admin/services/components.mjs.map +1 -0
- package/dist/admin/services/contentTypes.js +64 -0
- package/dist/admin/services/contentTypes.js.map +1 -0
- package/dist/admin/services/contentTypes.mjs +60 -0
- package/dist/admin/services/contentTypes.mjs.map +1 -0
- package/dist/admin/services/documents.js +457 -0
- package/dist/admin/services/documents.js.map +1 -0
- package/dist/admin/services/documents.mjs +439 -0
- package/dist/admin/services/documents.mjs.map +1 -0
- package/dist/admin/services/homepage.js +30 -0
- package/dist/admin/services/homepage.js.map +1 -0
- package/dist/admin/services/homepage.mjs +28 -0
- package/dist/admin/services/homepage.mjs.map +1 -0
- package/dist/admin/services/init.js +19 -0
- package/dist/admin/services/init.js.map +1 -0
- package/dist/admin/services/init.mjs +17 -0
- package/dist/admin/services/init.mjs.map +1 -0
- package/dist/admin/services/relations.js +144 -0
- package/dist/admin/services/relations.js.map +1 -0
- package/dist/admin/services/relations.mjs +141 -0
- package/dist/admin/services/relations.mjs.map +1 -0
- package/dist/admin/services/uid.js +54 -0
- package/dist/admin/services/uid.js.map +1 -0
- package/dist/admin/services/uid.mjs +50 -0
- package/dist/admin/services/uid.mjs.map +1 -0
- package/dist/admin/src/components/ActionsDrawer.d.ts +35 -0
- package/dist/admin/src/components/ComponentIcon.d.ts +12 -0
- package/dist/admin/src/components/ConfigurationForm/EditFieldForm.d.ts +9 -0
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +23 -0
- package/dist/admin/src/components/ConfigurationForm/Form.d.ts +32 -0
- package/dist/admin/src/components/DragLayer.d.ts +13 -0
- package/dist/admin/src/components/DragPreviews/CardDragPreview.d.ts +7 -0
- package/dist/admin/src/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
- package/dist/admin/src/components/DragPreviews/RelationDragPreview.d.ts +11 -0
- package/dist/admin/src/components/FieldTypeIcon.d.ts +9 -0
- package/dist/admin/src/components/InjectionZone.d.ts +50 -0
- package/dist/admin/src/components/LeftMenu.d.ts +4 -0
- package/dist/admin/src/components/RelativeTime.d.ts +28 -0
- package/dist/admin/src/components/Widgets.d.ts +8 -0
- package/dist/admin/src/constants/attributes.d.ts +14 -0
- package/dist/admin/src/constants/collections.d.ts +3 -0
- package/dist/admin/src/constants/dragAndDrop.d.ts +8 -0
- package/dist/admin/src/constants/hooks.d.ts +49 -0
- package/dist/admin/src/constants/plugin.d.ts +3 -0
- package/dist/admin/src/content-manager.d.ts +163 -0
- package/dist/admin/src/exports.d.ts +16 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +37 -0
- package/dist/admin/src/history/components/HistoryAction.d.ts +3 -0
- package/dist/admin/src/history/components/VersionContent.d.ts +17 -0
- package/dist/admin/src/history/components/VersionHeader.d.ts +5 -0
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +45 -0
- package/dist/admin/src/history/components/VersionsList.d.ts +2 -0
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/history/pages/History.d.ts +27 -0
- package/dist/admin/src/history/routes.d.ts +6 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +12 -0
- package/dist/admin/src/hooks/useContentManagerInitData.d.ts +15 -0
- package/dist/admin/src/hooks/useContentTypeSchema.d.ts +25 -0
- package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
- package/dist/admin/src/hooks/useDocument.d.ts +140 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +125 -0
- package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +157 -0
- package/dist/admin/src/hooks/useDragAndDrop.d.ts +51 -0
- package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +14 -0
- package/dist/admin/src/hooks/useLazyComponents.d.ts +13 -0
- package/dist/admin/src/hooks/useOnce.d.ts +2 -0
- package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +11 -0
- package/dist/admin/src/hooks/usePrev.d.ts +1 -0
- package/dist/admin/src/index.d.ts +19 -0
- package/dist/admin/src/layout.d.ts +2 -0
- package/dist/admin/src/modules/app.d.ts +20 -0
- package/dist/admin/src/modules/hooks.d.ts +10 -0
- package/dist/admin/src/modules/reducers.d.ts +6 -0
- package/dist/admin/src/pages/ComponentConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +93 -0
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +58 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +83 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +13 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +18 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +41 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +28 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +83 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +57 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +21 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +49 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +4 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.d.ts +2 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +22 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +56 -0
- package/dist/admin/src/pages/EditView/components/Header.d.ts +50 -0
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +20 -0
- package/dist/admin/src/pages/EditView/components/Panels.d.ts +22 -0
- package/dist/admin/src/pages/EditView/utils/data.d.ts +57 -0
- package/dist/admin/src/pages/EditView/utils/draftRelationCounts.d.ts +27 -0
- package/dist/admin/src/pages/EditView/utils/forms.d.ts +9 -0
- package/dist/admin/src/pages/EditView/utils/keyboardShortcuts.d.ts +18 -0
- package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
- package/dist/admin/src/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
- package/dist/admin/src/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Header.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Settings.d.ts +19 -0
- package/dist/admin/src/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
- package/dist/admin/src/pages/ListView/ListViewPage.d.ts +3 -0
- package/dist/admin/src/pages/ListView/components/AutoCloneFailureModal.d.ts +7 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +24 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +17 -0
- package/dist/admin/src/pages/ListView/components/Filters.d.ts +20 -0
- package/dist/admin/src/pages/ListView/components/TableActions.d.ts +8 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +18 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +9 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Components.d.ts +12 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Media.d.ts +23 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +9 -0
- package/dist/admin/src/pages/ListView/components/ViewSettingsMenu.d.ts +10 -0
- package/dist/admin/src/pages/NoContentTypePage.d.ts +2 -0
- package/dist/admin/src/pages/NoPermissionsPage.d.ts +2 -0
- package/dist/admin/src/pages/formatComponentConfigurationEditLayout.d.ts +17 -0
- package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
- package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
- package/dist/admin/src/preview/index.d.ts +3 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +26 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/preview/services/preview.d.ts +3 -0
- package/dist/admin/src/preview/utils/constants.d.ts +53 -0
- package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
- package/dist/admin/src/preview/utils/getSendMessage.d.ts +10 -0
- package/dist/admin/src/router.d.ts +5 -0
- package/dist/admin/src/services/api.d.ts +2 -0
- package/dist/admin/src/services/components.d.ts +5 -0
- package/dist/admin/src/services/contentTypes.d.ts +17 -0
- package/dist/admin/src/services/documents.d.ts +71 -0
- package/dist/admin/src/services/homepage.d.ts +5 -0
- package/dist/admin/src/services/init.d.ts +9 -0
- package/dist/admin/src/services/relations.d.ts +35 -0
- package/dist/admin/src/services/uid.d.ts +32 -0
- package/dist/admin/src/utils/api.d.ts +24 -0
- package/dist/admin/src/utils/attributes.d.ts +19 -0
- package/dist/admin/src/utils/conditionalFields.d.ts +13 -0
- package/dist/admin/src/utils/layouts/normalizeContentManagerLayout.d.ts +24 -0
- package/dist/admin/src/utils/objects.d.ts +36 -0
- package/dist/admin/src/utils/previewImage.d.ts +3 -0
- package/dist/admin/src/utils/relations.d.ts +12 -0
- package/dist/admin/src/utils/strings.d.ts +2 -0
- package/dist/admin/src/utils/translations.d.ts +4 -0
- package/dist/admin/src/utils/urls.d.ts +2 -0
- package/dist/admin/src/utils/users.d.ts +6 -0
- package/dist/admin/src/utils/validation.d.ts +12 -0
- package/dist/admin/translations/ar.json.js +229 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +222 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/ca.json.js +204 -0
- package/dist/admin/translations/ca.json.js.map +1 -0
- package/dist/admin/translations/ca.json.mjs +197 -0
- package/dist/admin/translations/ca.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +362 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +355 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +335 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +328 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +358 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +351 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +340 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +333 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/eu.json.js +205 -0
- package/dist/admin/translations/eu.json.js.map +1 -0
- package/dist/admin/translations/eu.json.mjs +198 -0
- package/dist/admin/translations/eu.json.mjs.map +1 -0
- package/dist/admin/translations/fa.json.js +358 -0
- package/dist/admin/translations/fa.json.js.map +1 -0
- package/dist/admin/translations/fa.json.mjs +351 -0
- package/dist/admin/translations/fa.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +305 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +298 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/gu.json.js +203 -0
- package/dist/admin/translations/gu.json.js.map +1 -0
- package/dist/admin/translations/gu.json.mjs +196 -0
- package/dist/admin/translations/gu.json.mjs.map +1 -0
- package/dist/admin/translations/hi.json.js +203 -0
- package/dist/admin/translations/hi.json.js.map +1 -0
- package/dist/admin/translations/hi.json.mjs +196 -0
- package/dist/admin/translations/hi.json.mjs.map +1 -0
- package/dist/admin/translations/hu.json.js +205 -0
- package/dist/admin/translations/hu.json.js.map +1 -0
- package/dist/admin/translations/hu.json.mjs +198 -0
- package/dist/admin/translations/hu.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +163 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +156 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +165 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +158 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ja.json.js +374 -0
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/translations/ja.json.mjs +367 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +377 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +370 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ml.json.js +203 -0
- package/dist/admin/translations/ml.json.js.map +1 -0
- package/dist/admin/translations/ml.json.mjs +196 -0
- package/dist/admin/translations/ml.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +147 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +140 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +374 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +367 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +352 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +345 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +204 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +197 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +98 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +93 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +240 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +233 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sa.json.js +203 -0
- package/dist/admin/translations/sa.json.js.map +1 -0
- package/dist/admin/translations/sa.json.mjs +196 -0
- package/dist/admin/translations/sa.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +372 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +365 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +205 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +198 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +151 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +144 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +202 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +195 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +319 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +312 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +114 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +108 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +911 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +890 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +212 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +205 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/api.js +27 -0
- package/dist/admin/utils/api.js.map +1 -0
- package/dist/admin/utils/api.mjs +24 -0
- package/dist/admin/utils/api.mjs.map +1 -0
- package/dist/admin/utils/attributes.js +49 -0
- package/dist/admin/utils/attributes.js.map +1 -0
- package/dist/admin/utils/attributes.mjs +46 -0
- package/dist/admin/utils/attributes.mjs.map +1 -0
- package/dist/admin/utils/conditionalFields.js +76 -0
- package/dist/admin/utils/conditionalFields.js.map +1 -0
- package/dist/admin/utils/conditionalFields.mjs +69 -0
- package/dist/admin/utils/conditionalFields.mjs.map +1 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.js +329 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.js.map +1 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.mjs +321 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.mjs.map +1 -0
- package/dist/admin/utils/objects.js +115 -0
- package/dist/admin/utils/objects.js.map +1 -0
- package/dist/admin/utils/objects.mjs +105 -0
- package/dist/admin/utils/objects.mjs.map +1 -0
- package/dist/admin/utils/previewImage.js +14 -0
- package/dist/admin/utils/previewImage.js.map +1 -0
- package/dist/admin/utils/previewImage.mjs +12 -0
- package/dist/admin/utils/previewImage.mjs.map +1 -0
- package/dist/admin/utils/relations.js +23 -0
- package/dist/admin/utils/relations.js.map +1 -0
- package/dist/admin/utils/relations.mjs +21 -0
- package/dist/admin/utils/relations.mjs.map +1 -0
- package/dist/admin/utils/strings.js +6 -0
- package/dist/admin/utils/strings.js.map +1 -0
- package/dist/admin/utils/strings.mjs +4 -0
- package/dist/admin/utils/strings.mjs.map +1 -0
- package/dist/admin/utils/translations.js +13 -0
- package/dist/admin/utils/translations.js.map +1 -0
- package/dist/admin/utils/translations.mjs +10 -0
- package/dist/admin/utils/translations.mjs.map +1 -0
- package/dist/admin/utils/urls.js +8 -0
- package/dist/admin/utils/urls.js.map +1 -0
- package/dist/admin/utils/urls.mjs +6 -0
- package/dist/admin/utils/urls.mjs.map +1 -0
- package/dist/admin/utils/users.js +17 -0
- package/dist/admin/utils/users.js.map +1 -0
- package/dist/admin/utils/users.mjs +15 -0
- package/dist/admin/utils/users.mjs.map +1 -0
- package/dist/admin/utils/validation.js +306 -0
- package/dist/admin/utils/validation.js.map +1 -0
- package/dist/admin/utils/validation.mjs +281 -0
- package/dist/admin/utils/validation.mjs.map +1 -0
- package/dist/server/bootstrap.js +29 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +27 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/constants/index.js +9 -0
- package/dist/server/constants/index.js.map +1 -0
- package/dist/server/constants/index.mjs +7 -0
- package/dist/server/constants/index.mjs.map +1 -0
- package/dist/server/controllers/collection-types.js +936 -0
- package/dist/server/controllers/collection-types.js.map +1 -0
- package/dist/server/controllers/collection-types.mjs +934 -0
- package/dist/server/controllers/collection-types.mjs.map +1 -0
- package/dist/server/controllers/components.js +60 -0
- package/dist/server/controllers/components.js.map +1 -0
- package/dist/server/controllers/components.mjs +58 -0
- package/dist/server/controllers/components.mjs.map +1 -0
- package/dist/server/controllers/content-types.js +118 -0
- package/dist/server/controllers/content-types.js.map +1 -0
- package/dist/server/controllers/content-types.mjs +116 -0
- package/dist/server/controllers/content-types.mjs.map +1 -0
- package/dist/server/controllers/index.js +28 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +26 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/init.js +22 -0
- package/dist/server/controllers/init.js.map +1 -0
- package/dist/server/controllers/init.mjs +20 -0
- package/dist/server/controllers/init.mjs.map +1 -0
- package/dist/server/controllers/relations.js +438 -0
- package/dist/server/controllers/relations.js.map +1 -0
- package/dist/server/controllers/relations.mjs +436 -0
- package/dist/server/controllers/relations.mjs.map +1 -0
- package/dist/server/controllers/single-types.js +337 -0
- package/dist/server/controllers/single-types.js.map +1 -0
- package/dist/server/controllers/single-types.mjs +335 -0
- package/dist/server/controllers/single-types.mjs.map +1 -0
- package/dist/server/controllers/uid.js +48 -0
- package/dist/server/controllers/uid.js.map +1 -0
- package/dist/server/controllers/uid.mjs +46 -0
- package/dist/server/controllers/uid.mjs.map +1 -0
- package/dist/server/controllers/utils/clone.js +138 -0
- package/dist/server/controllers/utils/clone.js.map +1 -0
- package/dist/server/controllers/utils/clone.mjs +135 -0
- package/dist/server/controllers/utils/clone.mjs.map +1 -0
- package/dist/server/controllers/utils/document-status.js +28 -0
- package/dist/server/controllers/utils/document-status.js.map +1 -0
- package/dist/server/controllers/utils/document-status.mjs +26 -0
- package/dist/server/controllers/utils/document-status.mjs.map +1 -0
- package/dist/server/controllers/utils/metadata.js +26 -0
- package/dist/server/controllers/utils/metadata.js.map +1 -0
- package/dist/server/controllers/utils/metadata.mjs +24 -0
- package/dist/server/controllers/utils/metadata.mjs.map +1 -0
- package/dist/server/controllers/validation/dimensions.js +40 -0
- package/dist/server/controllers/validation/dimensions.js.map +1 -0
- package/dist/server/controllers/validation/dimensions.mjs +38 -0
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -0
- package/dist/server/controllers/validation/index.js +74 -0
- package/dist/server/controllers/validation/index.js.map +1 -0
- package/dist/server/controllers/validation/index.mjs +64 -0
- package/dist/server/controllers/validation/index.mjs.map +1 -0
- package/dist/server/controllers/validation/model-configuration.js +88 -0
- package/dist/server/controllers/validation/model-configuration.js.map +1 -0
- package/dist/server/controllers/validation/model-configuration.mjs +86 -0
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -0
- package/dist/server/controllers/validation/relations.js +34 -0
- package/dist/server/controllers/validation/relations.js.map +1 -0
- package/dist/server/controllers/validation/relations.mjs +31 -0
- package/dist/server/controllers/validation/relations.mjs.map +1 -0
- package/dist/server/destroy.js +12 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/destroy.mjs +10 -0
- package/dist/server/destroy.mjs.map +1 -0
- package/dist/server/history/constants.js +16 -0
- package/dist/server/history/constants.js.map +1 -0
- package/dist/server/history/constants.mjs +13 -0
- package/dist/server/history/constants.mjs.map +1 -0
- package/dist/server/history/controllers/history-version.js +107 -0
- package/dist/server/history/controllers/history-version.js.map +1 -0
- package/dist/server/history/controllers/history-version.mjs +105 -0
- package/dist/server/history/controllers/history-version.mjs.map +1 -0
- package/dist/server/history/controllers/index.js +10 -0
- package/dist/server/history/controllers/index.js.map +1 -0
- package/dist/server/history/controllers/index.mjs +8 -0
- package/dist/server/history/controllers/index.mjs.map +1 -0
- package/dist/server/history/controllers/validation/history-version.js +11 -0
- package/dist/server/history/controllers/validation/history-version.js.map +1 -0
- package/dist/server/history/controllers/validation/history-version.mjs +9 -0
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -0
- package/dist/server/history/index.js +42 -0
- package/dist/server/history/index.js.map +1 -0
- package/dist/server/history/index.mjs +40 -0
- package/dist/server/history/index.mjs.map +1 -0
- package/dist/server/history/models/history-version.js +59 -0
- package/dist/server/history/models/history-version.js.map +1 -0
- package/dist/server/history/models/history-version.mjs +57 -0
- package/dist/server/history/models/history-version.mjs.map +1 -0
- package/dist/server/history/routes/history-version.js +36 -0
- package/dist/server/history/routes/history-version.js.map +1 -0
- package/dist/server/history/routes/history-version.mjs +34 -0
- package/dist/server/history/routes/history-version.mjs.map +1 -0
- package/dist/server/history/routes/index.js +13 -0
- package/dist/server/history/routes/index.js.map +1 -0
- package/dist/server/history/routes/index.mjs +11 -0
- package/dist/server/history/routes/index.mjs.map +1 -0
- package/dist/server/history/services/history.js +221 -0
- package/dist/server/history/services/history.js.map +1 -0
- package/dist/server/history/services/history.mjs +219 -0
- package/dist/server/history/services/history.mjs.map +1 -0
- package/dist/server/history/services/index.js +12 -0
- package/dist/server/history/services/index.js.map +1 -0
- package/dist/server/history/services/index.mjs +10 -0
- package/dist/server/history/services/index.mjs.map +1 -0
- package/dist/server/history/services/lifecycles.js +178 -0
- package/dist/server/history/services/lifecycles.js.map +1 -0
- package/dist/server/history/services/lifecycles.mjs +176 -0
- package/dist/server/history/services/lifecycles.mjs.map +1 -0
- package/dist/server/history/services/utils.js +281 -0
- package/dist/server/history/services/utils.js.map +1 -0
- package/dist/server/history/services/utils.mjs +279 -0
- package/dist/server/history/services/utils.mjs.map +1 -0
- package/dist/server/history/utils.js +9 -0
- package/dist/server/history/utils.js.map +1 -0
- package/dist/server/history/utils.mjs +7 -0
- package/dist/server/history/utils.mjs.map +1 -0
- package/dist/server/homepage/controllers/homepage.js +42 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +40 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +36 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +34 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +13 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +11 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage-query-utils.js +56 -0
- package/dist/server/homepage/services/homepage-query-utils.js.map +1 -0
- package/dist/server/homepage/services/homepage-query-utils.mjs +50 -0
- package/dist/server/homepage/services/homepage-query-utils.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +249 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +247 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/index.js +24 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +22 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.js +524 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.js.map +1 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.mjs +518 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.mjs.map +1 -0
- package/dist/server/mcp/handlers/collection-handlers.js +401 -0
- package/dist/server/mcp/handlers/collection-handlers.js.map +1 -0
- package/dist/server/mcp/handlers/collection-handlers.mjs +392 -0
- package/dist/server/mcp/handlers/collection-handlers.mjs.map +1 -0
- package/dist/server/mcp/handlers/constants.js +10 -0
- package/dist/server/mcp/handlers/constants.js.map +1 -0
- package/dist/server/mcp/handlers/constants.mjs +6 -0
- package/dist/server/mcp/handlers/constants.mjs.map +1 -0
- package/dist/server/mcp/handlers/single-type-handlers.js +344 -0
- package/dist/server/mcp/handlers/single-type-handlers.js.map +1 -0
- package/dist/server/mcp/handlers/single-type-handlers.mjs +336 -0
- package/dist/server/mcp/handlers/single-type-handlers.mjs.map +1 -0
- package/dist/server/mcp/permissions.js +138 -0
- package/dist/server/mcp/permissions.js.map +1 -0
- package/dist/server/mcp/permissions.mjs +131 -0
- package/dist/server/mcp/permissions.mjs.map +1 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.js +33 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.js.map +1 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs +31 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs.map +1 -0
- package/dist/server/mcp/sanitizers/shape-relations.js +108 -0
- package/dist/server/mcp/sanitizers/shape-relations.js.map +1 -0
- package/dist/server/mcp/sanitizers/shape-relations.mjs +103 -0
- package/dist/server/mcp/sanitizers/shape-relations.mjs.map +1 -0
- package/dist/server/mcp/schemas/blocks-schema.js +124 -0
- package/dist/server/mcp/schemas/blocks-schema.js.map +1 -0
- package/dist/server/mcp/schemas/blocks-schema.mjs +122 -0
- package/dist/server/mcp/schemas/blocks-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/data-schema.js +254 -0
- package/dist/server/mcp/schemas/data-schema.js.map +1 -0
- package/dist/server/mcp/schemas/data-schema.mjs +250 -0
- package/dist/server/mcp/schemas/data-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/filters-schema.js +111 -0
- package/dist/server/mcp/schemas/filters-schema.js.map +1 -0
- package/dist/server/mcp/schemas/filters-schema.mjs +107 -0
- package/dist/server/mcp/schemas/filters-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/input-schemas.js +18 -0
- package/dist/server/mcp/schemas/input-schemas.js.map +1 -0
- package/dist/server/mcp/schemas/input-schemas.mjs +13 -0
- package/dist/server/mcp/schemas/input-schemas.mjs.map +1 -0
- package/dist/server/mcp/schemas/output-schemas.js +74 -0
- package/dist/server/mcp/schemas/output-schemas.js.map +1 -0
- package/dist/server/mcp/schemas/output-schemas.mjs +70 -0
- package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -0
- package/dist/server/mcp/schemas/sort-schema.js +80 -0
- package/dist/server/mcp/schemas/sort-schema.js.map +1 -0
- package/dist/server/mcp/schemas/sort-schema.mjs +76 -0
- package/dist/server/mcp/schemas/sort-schema.mjs.map +1 -0
- package/dist/server/mcp/utils.js +72 -0
- package/dist/server/mcp/utils.js.map +1 -0
- package/dist/server/mcp/utils.mjs +67 -0
- package/dist/server/mcp/utils.mjs.map +1 -0
- package/dist/server/middlewares/routing.js +44 -0
- package/dist/server/middlewares/routing.js.map +1 -0
- package/dist/server/middlewares/routing.mjs +38 -0
- package/dist/server/middlewares/routing.mjs.map +1 -0
- package/dist/server/policies/hasPermissions.js +24 -0
- package/dist/server/policies/hasPermissions.js.map +1 -0
- package/dist/server/policies/hasPermissions.mjs +22 -0
- package/dist/server/policies/hasPermissions.mjs.map +1 -0
- package/dist/server/policies/index.js +10 -0
- package/dist/server/policies/index.js.map +1 -0
- package/dist/server/policies/index.mjs +8 -0
- package/dist/server/policies/index.mjs.map +1 -0
- package/dist/server/preview/controllers/index.js +10 -0
- package/dist/server/preview/controllers/index.js.map +1 -0
- package/dist/server/preview/controllers/index.mjs +8 -0
- package/dist/server/preview/controllers/index.mjs.map +1 -0
- package/dist/server/preview/controllers/preview.js +43 -0
- package/dist/server/preview/controllers/preview.js.map +1 -0
- package/dist/server/preview/controllers/preview.mjs +41 -0
- package/dist/server/preview/controllers/preview.mjs.map +1 -0
- package/dist/server/preview/controllers/previewScript.js +1450 -0
- package/dist/server/preview/controllers/validation/preview.js +50 -0
- package/dist/server/preview/controllers/validation/preview.js.map +1 -0
- package/dist/server/preview/controllers/validation/preview.mjs +48 -0
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -0
- package/dist/server/preview/index.js +27 -0
- package/dist/server/preview/index.js.map +1 -0
- package/dist/server/preview/index.mjs +25 -0
- package/dist/server/preview/index.mjs.map +1 -0
- package/dist/server/preview/routes/index.js +13 -0
- package/dist/server/preview/routes/index.js.map +1 -0
- package/dist/server/preview/routes/index.mjs +11 -0
- package/dist/server/preview/routes/index.mjs.map +1 -0
- package/dist/server/preview/routes/preview.js +36 -0
- package/dist/server/preview/routes/preview.js.map +1 -0
- package/dist/server/preview/routes/preview.mjs +34 -0
- package/dist/server/preview/routes/preview.mjs.map +1 -0
- package/dist/server/preview/services/index.js +12 -0
- package/dist/server/preview/services/index.js.map +1 -0
- package/dist/server/preview/services/index.mjs +10 -0
- package/dist/server/preview/services/index.mjs.map +1 -0
- package/dist/server/preview/services/preview-config.js +70 -0
- package/dist/server/preview/services/preview-config.js.map +1 -0
- package/dist/server/preview/services/preview-config.mjs +68 -0
- package/dist/server/preview/services/preview-config.mjs.map +1 -0
- package/dist/server/preview/services/preview.js +31 -0
- package/dist/server/preview/services/preview.js.map +1 -0
- package/dist/server/preview/services/preview.mjs +29 -0
- package/dist/server/preview/services/preview.mjs.map +1 -0
- package/dist/server/preview/utils.js +9 -0
- package/dist/server/preview/utils.js.map +1 -0
- package/dist/server/preview/utils.mjs +7 -0
- package/dist/server/preview/utils.mjs.map +1 -0
- package/dist/server/register.js +16 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +14 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +620 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +618 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/index.js +16 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +14 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/components.js +121 -0
- package/dist/server/services/components.js.map +1 -0
- package/dist/server/services/components.mjs +119 -0
- package/dist/server/services/components.mjs.map +1 -0
- package/dist/server/services/configuration.js +58 -0
- package/dist/server/services/configuration.js.map +1 -0
- package/dist/server/services/configuration.mjs +56 -0
- package/dist/server/services/configuration.mjs.map +1 -0
- package/dist/server/services/content-types.js +60 -0
- package/dist/server/services/content-types.js.map +1 -0
- package/dist/server/services/content-types.mjs +58 -0
- package/dist/server/services/content-types.mjs.map +1 -0
- package/dist/server/services/data-mapper.js +69 -0
- package/dist/server/services/data-mapper.js.map +1 -0
- package/dist/server/services/data-mapper.mjs +67 -0
- package/dist/server/services/data-mapper.mjs.map +1 -0
- package/dist/server/services/document-manager.js +237 -0
- package/dist/server/services/document-manager.js.map +1 -0
- package/dist/server/services/document-manager.mjs +235 -0
- package/dist/server/services/document-manager.mjs.map +1 -0
- package/dist/server/services/document-metadata.js +368 -0
- package/dist/server/services/document-metadata.js.map +1 -0
- package/dist/server/services/document-metadata.mjs +366 -0
- package/dist/server/services/document-metadata.mjs.map +1 -0
- package/dist/server/services/field-sizes.js +90 -0
- package/dist/server/services/field-sizes.js.map +1 -0
- package/dist/server/services/field-sizes.mjs +88 -0
- package/dist/server/services/field-sizes.mjs.map +1 -0
- package/dist/server/services/index.js +36 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +34 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics.js +31 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/metrics.mjs +29 -0
- package/dist/server/services/metrics.mjs.map +1 -0
- package/dist/server/services/permission-checker.js +138 -0
- package/dist/server/services/permission-checker.js.map +1 -0
- package/dist/server/services/permission-checker.mjs +133 -0
- package/dist/server/services/permission-checker.mjs.map +1 -0
- package/dist/server/services/permission.js +94 -0
- package/dist/server/services/permission.js.map +1 -0
- package/dist/server/services/permission.mjs +92 -0
- package/dist/server/services/permission.mjs.map +1 -0
- package/dist/server/services/populate-builder.js +86 -0
- package/dist/server/services/populate-builder.js.map +1 -0
- package/dist/server/services/populate-builder.mjs +84 -0
- package/dist/server/services/populate-builder.mjs.map +1 -0
- package/dist/server/services/uid.js +90 -0
- package/dist/server/services/uid.js.map +1 -0
- package/dist/server/services/uid.mjs +83 -0
- package/dist/server/services/uid.mjs.map +1 -0
- package/dist/server/services/utils/configuration/attributes.js +190 -0
- package/dist/server/services/utils/configuration/attributes.js.map +1 -0
- package/dist/server/services/utils/configuration/attributes.mjs +176 -0
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -0
- package/dist/server/services/utils/configuration/index.js +37 -0
- package/dist/server/services/utils/configuration/index.js.map +1 -0
- package/dist/server/services/utils/configuration/index.mjs +34 -0
- package/dist/server/services/utils/configuration/index.mjs.map +1 -0
- package/dist/server/services/utils/configuration/layouts.js +124 -0
- package/dist/server/services/utils/configuration/layouts.js.map +1 -0
- package/dist/server/services/utils/configuration/layouts.mjs +117 -0
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -0
- package/dist/server/services/utils/configuration/metadatas.js +159 -0
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -0
- package/dist/server/services/utils/configuration/metadatas.mjs +152 -0
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -0
- package/dist/server/services/utils/configuration/settings.js +72 -0
- package/dist/server/services/utils/configuration/settings.js.map +1 -0
- package/dist/server/services/utils/configuration/settings.mjs +64 -0
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -0
- package/dist/server/services/utils/draft-relations.js +14 -0
- package/dist/server/services/utils/draft-relations.js.map +1 -0
- package/dist/server/services/utils/draft-relations.mjs +11 -0
- package/dist/server/services/utils/draft-relations.mjs.map +1 -0
- package/dist/server/services/utils/draft.js +171 -0
- package/dist/server/services/utils/draft.js.map +1 -0
- package/dist/server/services/utils/draft.mjs +149 -0
- package/dist/server/services/utils/draft.mjs.map +1 -0
- package/dist/server/services/utils/populate.js +398 -0
- package/dist/server/services/utils/populate.js.map +1 -0
- package/dist/server/services/utils/populate.mjs +371 -0
- package/dist/server/services/utils/populate.mjs.map +1 -0
- package/dist/server/services/utils/store.js +122 -0
- package/dist/server/services/utils/store.js.map +1 -0
- package/dist/server/services/utils/store.mjs +116 -0
- package/dist/server/services/utils/store.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +3 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config.d.ts +6 -0
- package/dist/server/src/config.d.ts.map +1 -0
- package/dist/server/src/constants/index.d.ts +6 -0
- package/dist/server/src/constants/index.d.ts.map +1 -0
- package/dist/server/src/controllers/collection-types.d.ts +24 -0
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -0
- package/dist/server/src/controllers/components.d.ts +7 -0
- package/dist/server/src/controllers/components.d.ts.map +1 -0
- package/dist/server/src/controllers/content-types.d.ts +8 -0
- package/dist/server/src/controllers/content-types.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +54 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/init.d.ts +5 -0
- package/dist/server/src/controllers/init.d.ts.map +1 -0
- package/dist/server/src/controllers/relations.d.ts +13 -0
- package/dist/server/src/controllers/relations.d.ts.map +1 -0
- package/dist/server/src/controllers/single-types.d.ts +11 -0
- package/dist/server/src/controllers/single-types.d.ts.map +1 -0
- package/dist/server/src/controllers/uid.d.ts +6 -0
- package/dist/server/src/controllers/uid.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/clone.d.ts +12 -0
- package/dist/server/src/controllers/utils/clone.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/document-status.d.ts +10 -0
- package/dist/server/src/controllers/utils/document-status.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/metadata.d.ts +23 -0
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts +11 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/index.d.ts +26 -0
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts +22 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/relations.d.ts +19 -0
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
- package/dist/server/src/destroy.d.ts +4 -0
- package/dist/server/src/destroy.d.ts.map +1 -0
- package/dist/server/src/history/constants.d.ts +3 -0
- package/dist/server/src/history/constants.d.ts.map +1 -0
- package/dist/server/src/history/controllers/history-version.d.ts +13 -0
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -0
- package/dist/server/src/history/controllers/index.d.ts +3 -0
- package/dist/server/src/history/controllers/index.d.ts.map +1 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts +4 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts.map +1 -0
- package/dist/server/src/history/index.d.ts +4 -0
- package/dist/server/src/history/index.d.ts.map +1 -0
- package/dist/server/src/history/models/history-version.d.ts +4 -0
- package/dist/server/src/history/models/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/history-version.d.ts +4 -0
- package/dist/server/src/history/routes/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/index.d.ts +10 -0
- package/dist/server/src/history/routes/index.d.ts.map +1 -0
- package/dist/server/src/history/services/history.d.ts +14 -0
- package/dist/server/src/history/services/history.d.ts.map +1 -0
- package/dist/server/src/history/services/index.d.ts +19 -0
- package/dist/server/src/history/services/index.d.ts.map +1 -0
- package/dist/server/src/history/services/lifecycles.d.ts +9 -0
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
- package/dist/server/src/history/services/utils.d.ts +40 -0
- package/dist/server/src/history/services/utils.d.ts.map +1 -0
- package/dist/server/src/history/utils.d.ts +5 -0
- package/dist/server/src/history/utils.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts +7 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +3 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +23 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +10 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage-query-utils.d.ts +28 -0
- package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage.d.ts +13 -0
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +12 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +384 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts +12 -0
- package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/collection-handlers.d.ts +69 -0
- package/dist/server/src/mcp/handlers/collection-handlers.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/constants.d.ts +4 -0
- package/dist/server/src/mcp/handlers/constants.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/index.d.ts +3 -0
- package/dist/server/src/mcp/handlers/index.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/single-type-handlers.d.ts +66 -0
- package/dist/server/src/mcp/handlers/single-type-handlers.d.ts.map +1 -0
- package/dist/server/src/mcp/permissions.d.ts +49 -0
- package/dist/server/src/mcp/permissions.d.ts.map +1 -0
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts +9 -0
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts.map +1 -0
- package/dist/server/src/mcp/sanitizers/shape-relations.d.ts +38 -0
- package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/blocks-schema.d.ts +8 -0
- package/dist/server/src/mcp/schemas/blocks-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/data-schema.d.ts +33 -0
- package/dist/server/src/mcp/schemas/data-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/filters-schema.d.ts +22 -0
- package/dist/server/src/mcp/schemas/filters-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/index.d.ts +7 -0
- package/dist/server/src/mcp/schemas/index.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/input-schemas.d.ts +10 -0
- package/dist/server/src/mcp/schemas/input-schemas.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/output-schemas.d.ts +18 -0
- package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/sort-schema.d.ts +24 -0
- package/dist/server/src/mcp/schemas/sort-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/types.d.ts +31 -0
- package/dist/server/src/mcp/types.d.ts.map +1 -0
- package/dist/server/src/mcp/utils.d.ts +41 -0
- package/dist/server/src/mcp/utils.d.ts.map +1 -0
- package/dist/server/src/middlewares/index.d.ts +3 -0
- package/dist/server/src/middlewares/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/routing.d.ts +4 -0
- package/dist/server/src/middlewares/routing.d.ts.map +1 -0
- package/dist/server/src/policies/hasPermissions.d.ts +7 -0
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/policies/index.d.ts +9 -0
- package/dist/server/src/policies/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/index.d.ts +3 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +18 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts +5 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/index.d.ts +10 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +17 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +31 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +12 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +5 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +4 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/admin.d.ts +41 -0
- package/dist/server/src/routes/admin.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +46 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/components.d.ts +38 -0
- package/dist/server/src/services/components.d.ts.map +1 -0
- package/dist/server/src/services/configuration.d.ts +20 -0
- package/dist/server/src/services/configuration.d.ts.map +1 -0
- package/dist/server/src/services/content-types.d.ts +18 -0
- package/dist/server/src/services/content-types.d.ts.map +1 -0
- package/dist/server/src/services/data-mapper.d.ts +21 -0
- package/dist/server/src/services/data-mapper.d.ts.map +1 -0
- package/dist/server/src/services/document-manager.d.ts +54 -0
- package/dist/server/src/services/document-manager.d.ts.map +1 -0
- package/dist/server/src/services/document-metadata.d.ts +87 -0
- package/dist/server/src/services/document-metadata.d.ts.map +1 -0
- package/dist/server/src/services/field-sizes.d.ts +19 -0
- package/dist/server/src/services/field-sizes.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +272 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/metrics.d.ts +9 -0
- package/dist/server/src/services/metrics.d.ts.map +1 -0
- package/dist/server/src/services/permission-checker.d.ts +46 -0
- package/dist/server/src/services/permission-checker.d.ts.map +1 -0
- package/dist/server/src/services/permission.d.ts +12 -0
- package/dist/server/src/services/permission.d.ts.map +1 -0
- package/dist/server/src/services/populate-builder.d.ts +39 -0
- package/dist/server/src/services/populate-builder.d.ts.map +1 -0
- package/dist/server/src/services/uid.d.ts +25 -0
- package/dist/server/src/services/uid.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts +17 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/index.d.ts +21 -0
- package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts +14 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -0
- package/dist/server/src/services/utils/count.d.ts +5 -0
- package/dist/server/src/services/utils/count.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft-relations.d.ts +19 -0
- package/dist/server/src/services/utils/draft-relations.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft.d.ts +12 -0
- package/dist/server/src/services/utils/draft.d.ts.map +1 -0
- package/dist/server/src/services/utils/populate.d.ts +48 -0
- package/dist/server/src/services/utils/populate.d.ts.map +1 -0
- package/dist/server/src/services/utils/store.d.ts +20 -0
- package/dist/server/src/services/utils/store.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +11 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts +5 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/validation/zod.d.ts +34 -0
- package/dist/server/src/validation/zod.d.ts.map +1 -0
- package/dist/server/utils/index.js +10 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +8 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/validation/policies/hasPermissions.js +12 -0
- package/dist/server/validation/policies/hasPermissions.js.map +1 -0
- package/dist/server/validation/policies/hasPermissions.mjs +10 -0
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -0
- package/dist/server/validation/zod.js +60 -0
- package/dist/server/validation/zod.js.map +1 -0
- package/dist/server/validation/zod.mjs +56 -0
- package/dist/server/validation/zod.mjs.map +1 -0
- package/dist/shared/contracts/collection-types.d.ts +339 -0
- package/dist/shared/contracts/collection-types.d.ts.map +1 -0
- package/dist/shared/contracts/collection-types.js +3 -0
- package/dist/shared/contracts/collection-types.js.map +1 -0
- package/dist/shared/contracts/collection-types.mjs +2 -0
- package/dist/shared/contracts/collection-types.mjs.map +1 -0
- package/dist/shared/contracts/components.d.ts +64 -0
- package/dist/shared/contracts/components.d.ts.map +1 -0
- package/dist/shared/contracts/components.js +3 -0
- package/dist/shared/contracts/components.js.map +1 -0
- package/dist/shared/contracts/components.mjs +2 -0
- package/dist/shared/contracts/components.mjs.map +1 -0
- package/dist/shared/contracts/content-types.d.ts +114 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -0
- package/dist/shared/contracts/content-types.js +3 -0
- package/dist/shared/contracts/content-types.js.map +1 -0
- package/dist/shared/contracts/content-types.mjs +2 -0
- package/dist/shared/contracts/content-types.mjs.map +1 -0
- package/dist/shared/contracts/history-versions.d.ts +91 -0
- package/dist/shared/contracts/history-versions.d.ts.map +1 -0
- package/dist/shared/contracts/history-versions.js +3 -0
- package/dist/shared/contracts/history-versions.js.map +1 -0
- package/dist/shared/contracts/history-versions.mjs +2 -0
- package/dist/shared/contracts/history-versions.mjs.map +1 -0
- package/dist/shared/contracts/homepage.d.ts +38 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/dist/shared/contracts/index.d.ts +10 -0
- package/dist/shared/contracts/index.d.ts.map +1 -0
- package/dist/shared/contracts/index.js +26 -0
- package/dist/shared/contracts/index.js.map +1 -0
- package/dist/shared/contracts/index.mjs +21 -0
- package/dist/shared/contracts/index.mjs.map +1 -0
- package/dist/shared/contracts/init.d.ts +23 -0
- package/dist/shared/contracts/init.d.ts.map +1 -0
- package/dist/shared/contracts/init.js +3 -0
- package/dist/shared/contracts/init.js.map +1 -0
- package/dist/shared/contracts/init.mjs +2 -0
- package/dist/shared/contracts/init.mjs.map +1 -0
- package/dist/shared/contracts/preview.d.ts +26 -0
- package/dist/shared/contracts/preview.d.ts.map +1 -0
- package/dist/shared/contracts/preview.js +3 -0
- package/dist/shared/contracts/preview.js.map +1 -0
- package/dist/shared/contracts/preview.mjs +2 -0
- package/dist/shared/contracts/preview.mjs.map +1 -0
- package/dist/shared/contracts/relations.d.ts +69 -0
- package/dist/shared/contracts/relations.d.ts.map +1 -0
- package/dist/shared/contracts/relations.js +3 -0
- package/dist/shared/contracts/relations.js.map +1 -0
- package/dist/shared/contracts/relations.mjs +2 -0
- package/dist/shared/contracts/relations.mjs.map +1 -0
- package/dist/shared/contracts/review-workflows.d.ts +77 -0
- package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
- package/dist/shared/contracts/review-workflows.js +3 -0
- package/dist/shared/contracts/review-workflows.js.map +1 -0
- package/dist/shared/contracts/review-workflows.mjs +2 -0
- package/dist/shared/contracts/review-workflows.mjs.map +1 -0
- package/dist/shared/contracts/single-types.d.ts +115 -0
- package/dist/shared/contracts/single-types.d.ts.map +1 -0
- package/dist/shared/contracts/single-types.js +3 -0
- package/dist/shared/contracts/single-types.js.map +1 -0
- package/dist/shared/contracts/single-types.mjs +2 -0
- package/dist/shared/contracts/single-types.mjs.map +1 -0
- package/dist/shared/contracts/uid.d.ts +47 -0
- package/dist/shared/contracts/uid.d.ts.map +1 -0
- package/dist/shared/contracts/uid.js +3 -0
- package/dist/shared/contracts/uid.js.map +1 -0
- package/dist/shared/contracts/uid.mjs +2 -0
- package/dist/shared/contracts/uid.mjs.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +8 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/index.mjs +3 -0
- package/dist/shared/index.mjs.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import { errors, async, setCreatorFields } from '@strapi/utils';
|
|
2
|
+
import { getService } from '../../utils/index.mjs';
|
|
3
|
+
import { getDocumentLocaleAndStatus } from '../../controllers/validation/dimensions.mjs';
|
|
4
|
+
import { formatDocumentWithMetadata } from '../../controllers/utils/metadata.mjs';
|
|
5
|
+
import { getPopulateForLocalizations } from '../../services/utils/populate.mjs';
|
|
6
|
+
import { MCP_NOT_FOUND_DOCUMENT } from './constants.mjs';
|
|
7
|
+
import { isContentTypeLocalized } from '../permissions.mjs';
|
|
8
|
+
import { shapeRelationsForMcp } from '../sanitizers/shape-relations.mjs';
|
|
9
|
+
import { ok, sanitizeFormatShape } from '../utils.mjs';
|
|
10
|
+
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Shared create-or-update logic mirroring single-types controller
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Core write logic shared by the single-type write handler.
|
|
16
|
+
* Creates the document when none exists; updates the existing draft otherwise.
|
|
17
|
+
* Enforces RBAC create/update permission and sanitizes input + output.
|
|
18
|
+
*/ const singleCreateOrUpdate = async (strapi, uid, context, args)=>{
|
|
19
|
+
const { userAbility, user } = context;
|
|
20
|
+
const { data, locale } = args;
|
|
21
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
22
|
+
const typedUid = uid;
|
|
23
|
+
const documentManager = getService('document-manager');
|
|
24
|
+
const permissionChecker = getService('permission-checker').create({
|
|
25
|
+
userAbility,
|
|
26
|
+
model: uid
|
|
27
|
+
});
|
|
28
|
+
if (permissionChecker.cannot.create() && permissionChecker.cannot.update()) {
|
|
29
|
+
throw new errors.ForbiddenError();
|
|
30
|
+
}
|
|
31
|
+
const sanitizedQuery = await permissionChecker.sanitizedQuery.update({
|
|
32
|
+
locale
|
|
33
|
+
});
|
|
34
|
+
const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({
|
|
35
|
+
locale
|
|
36
|
+
}, uid);
|
|
37
|
+
const populate = await getService('populate-builder')(typedUid).populateFromQuery(sanitizedQuery).populateDeep(Infinity).withPopulateOverride(getPopulateForLocalizations(typedUid)).build();
|
|
38
|
+
const draftFindQuery = {
|
|
39
|
+
...sanitizedQuery,
|
|
40
|
+
populate,
|
|
41
|
+
locale: resolvedLocale,
|
|
42
|
+
status: 'draft'
|
|
43
|
+
};
|
|
44
|
+
const [documentVersion, otherDocumentVersion] = await Promise.all([
|
|
45
|
+
documentManager.findMany(draftFindQuery, typedUid).then((docs)=>docs[0]),
|
|
46
|
+
strapi.db.query(typedUid).findOne({
|
|
47
|
+
select: [
|
|
48
|
+
'documentId'
|
|
49
|
+
]
|
|
50
|
+
})
|
|
51
|
+
]);
|
|
52
|
+
const documentId = otherDocumentVersion?.documentId;
|
|
53
|
+
if (documentVersion) {
|
|
54
|
+
if (permissionChecker.cannot.update(documentVersion)) {
|
|
55
|
+
throw new errors.ForbiddenError();
|
|
56
|
+
}
|
|
57
|
+
} else if (permissionChecker.cannot.create()) {
|
|
58
|
+
throw new errors.ForbiddenError();
|
|
59
|
+
}
|
|
60
|
+
const sanitizeInput = documentVersion ? permissionChecker.sanitizeUpdateInput(documentVersion) : permissionChecker.sanitizeCreateInput;
|
|
61
|
+
const isEdition = documentVersion !== null && documentVersion !== undefined;
|
|
62
|
+
const sanitizedData = setCreatorFields({
|
|
63
|
+
user,
|
|
64
|
+
isEdition
|
|
65
|
+
})(await sanitizeInput(data));
|
|
66
|
+
const formatted = await strapi.db.transaction(async ()=>{
|
|
67
|
+
let doc;
|
|
68
|
+
if (documentId === undefined) {
|
|
69
|
+
doc = await documentManager.create(typedUid, {
|
|
70
|
+
data: sanitizedData,
|
|
71
|
+
...sanitizedQuery,
|
|
72
|
+
locale: resolvedLocale
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
doc = await documentManager.update(documentId, typedUid, {
|
|
76
|
+
data: sanitizedData,
|
|
77
|
+
populate,
|
|
78
|
+
locale: resolvedLocale
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return sanitizeFormatShape(permissionChecker, typedUid, doc);
|
|
82
|
+
});
|
|
83
|
+
return ok(formatted);
|
|
84
|
+
};
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// Handler factories
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
/**
|
|
89
|
+
* Creates a handler for reading the single-type document.
|
|
90
|
+
* Returns available locale metadata when the requested locale version does not exist.
|
|
91
|
+
* Enforces RBAC read permission.
|
|
92
|
+
*/ const createSingleGetHandler = (uid)=>(strapi, context)=>async ({ args })=>{
|
|
93
|
+
const { userAbility } = context;
|
|
94
|
+
const { locale, status } = args;
|
|
95
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
96
|
+
const typedUid = uid;
|
|
97
|
+
const permissionChecker = getService('permission-checker').create({
|
|
98
|
+
userAbility,
|
|
99
|
+
model: uid
|
|
100
|
+
});
|
|
101
|
+
if (permissionChecker.cannot.read()) {
|
|
102
|
+
throw new errors.ForbiddenError();
|
|
103
|
+
}
|
|
104
|
+
const permissionQuery = await permissionChecker.sanitizedQuery.read({
|
|
105
|
+
locale,
|
|
106
|
+
status
|
|
107
|
+
});
|
|
108
|
+
const { locale: resolvedLocale, status: resolvedStatus } = await getDocumentLocaleAndStatus({
|
|
109
|
+
locale,
|
|
110
|
+
status
|
|
111
|
+
}, uid);
|
|
112
|
+
const populate = await getService('populate-builder')(typedUid).populateFromQuery(permissionQuery).populateDeep(Infinity).withPopulateOverride(getPopulateForLocalizations(typedUid)).build();
|
|
113
|
+
const versionFindQuery = {
|
|
114
|
+
...permissionQuery,
|
|
115
|
+
populate,
|
|
116
|
+
locale: resolvedLocale,
|
|
117
|
+
status: resolvedStatus
|
|
118
|
+
};
|
|
119
|
+
const version = await getService('document-manager').findMany(versionFindQuery, typedUid).then((docs)=>docs[0]);
|
|
120
|
+
if (!version) {
|
|
121
|
+
if (permissionChecker.cannot.create()) {
|
|
122
|
+
throw new errors.ForbiddenError();
|
|
123
|
+
}
|
|
124
|
+
const document = await strapi.db.query(typedUid).findOne({});
|
|
125
|
+
if (!document) {
|
|
126
|
+
throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);
|
|
127
|
+
}
|
|
128
|
+
const { meta } = await formatDocumentWithMetadata(permissionChecker, typedUid, {
|
|
129
|
+
documentId: document.documentId,
|
|
130
|
+
locale: resolvedLocale,
|
|
131
|
+
publishedAt: null
|
|
132
|
+
}, {
|
|
133
|
+
availableLocales: true,
|
|
134
|
+
availableStatus: false
|
|
135
|
+
});
|
|
136
|
+
return ok({
|
|
137
|
+
data: {},
|
|
138
|
+
meta
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
if (permissionChecker.cannot.read(version)) {
|
|
142
|
+
throw new errors.ForbiddenError();
|
|
143
|
+
}
|
|
144
|
+
const result = await sanitizeFormatShape(permissionChecker, typedUid, version);
|
|
145
|
+
return ok(result);
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Creates a handler for creating or updating the single-type document.
|
|
149
|
+
* Delegates to `singleCreateOrUpdate`; enforces RBAC create/update permission.
|
|
150
|
+
*/ const createSingleWriteHandler = (uid)=>(strapi, context)=>async ({ args })=>{
|
|
151
|
+
return singleCreateOrUpdate(strapi, uid, context, args);
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Creates a handler for deleting the single-type document (or a specific locale).
|
|
155
|
+
* Enforces RBAC delete permission on every locale version before deletion.
|
|
156
|
+
*/ const createSingleDeleteHandler = (uid)=>(strapi, context)=>async ({ args })=>{
|
|
157
|
+
const { userAbility } = context;
|
|
158
|
+
const { locale } = args;
|
|
159
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
160
|
+
const typedUid = uid;
|
|
161
|
+
const documentManager = getService('document-manager');
|
|
162
|
+
const permissionChecker = getService('permission-checker').create({
|
|
163
|
+
userAbility,
|
|
164
|
+
model: uid
|
|
165
|
+
});
|
|
166
|
+
if (permissionChecker.cannot.delete()) {
|
|
167
|
+
throw new errors.ForbiddenError();
|
|
168
|
+
}
|
|
169
|
+
const sanitizedQuery = await permissionChecker.sanitizedQuery.delete({
|
|
170
|
+
locale
|
|
171
|
+
});
|
|
172
|
+
const populate = await getService('populate-builder')(typedUid).populateFromQuery(sanitizedQuery).populateDeep(Infinity).withPopulateOverride(getPopulateForLocalizations(typedUid)).build();
|
|
173
|
+
const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({
|
|
174
|
+
locale
|
|
175
|
+
}, uid);
|
|
176
|
+
const isLocalized = isContentTypeLocalized(strapi, uid);
|
|
177
|
+
const localeForQuery = isLocalized === true ? resolvedLocale : undefined;
|
|
178
|
+
const documentLocales = await documentManager.findLocales(undefined, typedUid, {
|
|
179
|
+
populate,
|
|
180
|
+
locale: localeForQuery
|
|
181
|
+
});
|
|
182
|
+
if (documentLocales.length === 0) {
|
|
183
|
+
throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);
|
|
184
|
+
}
|
|
185
|
+
for (const document of documentLocales){
|
|
186
|
+
if (permissionChecker.cannot.delete(document)) {
|
|
187
|
+
throw new errors.ForbiddenError();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
const deletedEntity = await documentManager.delete(documentLocales[0].documentId, typedUid, {
|
|
191
|
+
locale: localeForQuery
|
|
192
|
+
});
|
|
193
|
+
// Delete returns `{ data }` without metadata — no status to compute, so sanitize + shape only.
|
|
194
|
+
const sanitizedResult = await permissionChecker.sanitizeOutput(deletedEntity);
|
|
195
|
+
const shapedResult = await shapeRelationsForMcp(typedUid, sanitizedResult);
|
|
196
|
+
return ok({
|
|
197
|
+
data: shapedResult
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Creates a handler for publishing the single-type document draft.
|
|
202
|
+
* Enforces RBAC publish permission; throws NotFound when the draft is missing.
|
|
203
|
+
*/ const createSinglePublishHandler = (uid)=>(strapi, context)=>async ({ args })=>{
|
|
204
|
+
const { userAbility } = context;
|
|
205
|
+
const { locale } = args;
|
|
206
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
207
|
+
const typedUid = uid;
|
|
208
|
+
const documentManager = getService('document-manager');
|
|
209
|
+
const permissionChecker = getService('permission-checker').create({
|
|
210
|
+
userAbility,
|
|
211
|
+
model: uid
|
|
212
|
+
});
|
|
213
|
+
if (permissionChecker.cannot.publish()) {
|
|
214
|
+
throw new errors.ForbiddenError();
|
|
215
|
+
}
|
|
216
|
+
const publishedDocument = await strapi.db.transaction(async ()=>{
|
|
217
|
+
const sanitizedQuery = await permissionChecker.sanitizedQuery.publish({
|
|
218
|
+
locale
|
|
219
|
+
});
|
|
220
|
+
const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({
|
|
221
|
+
locale
|
|
222
|
+
}, uid);
|
|
223
|
+
const publishFindQuery = {
|
|
224
|
+
...sanitizedQuery,
|
|
225
|
+
locale: resolvedLocale,
|
|
226
|
+
status: 'draft'
|
|
227
|
+
};
|
|
228
|
+
const document = await getService('document-manager').findMany(publishFindQuery, typedUid).then((docs)=>docs[0]);
|
|
229
|
+
if (!document) {
|
|
230
|
+
throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);
|
|
231
|
+
}
|
|
232
|
+
if (permissionChecker.cannot.publish(document)) {
|
|
233
|
+
throw new errors.ForbiddenError();
|
|
234
|
+
}
|
|
235
|
+
const publishResult = await documentManager.publish(document.documentId, typedUid, {
|
|
236
|
+
locale: resolvedLocale
|
|
237
|
+
});
|
|
238
|
+
return publishResult?.at(0);
|
|
239
|
+
});
|
|
240
|
+
const result = await sanitizeFormatShape(permissionChecker, typedUid, publishedDocument);
|
|
241
|
+
return ok(result);
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Creates a handler for unpublishing the single-type document.
|
|
245
|
+
* Optionally discards the draft in the same transaction when `discardDraft` is true.
|
|
246
|
+
* Enforces RBAC unpublish (and discard) permission.
|
|
247
|
+
*/ const createSingleUnpublishHandler = (uid)=>(strapi, context)=>async ({ args })=>{
|
|
248
|
+
const { userAbility } = context;
|
|
249
|
+
const { locale, discardDraft } = args;
|
|
250
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
251
|
+
const typedUid = uid;
|
|
252
|
+
const documentManager = getService('document-manager');
|
|
253
|
+
const permissionChecker = getService('permission-checker').create({
|
|
254
|
+
userAbility,
|
|
255
|
+
model: uid
|
|
256
|
+
});
|
|
257
|
+
if (permissionChecker.cannot.unpublish()) {
|
|
258
|
+
throw new errors.ForbiddenError();
|
|
259
|
+
}
|
|
260
|
+
if (discardDraft === true && permissionChecker.cannot.discard()) {
|
|
261
|
+
throw new errors.ForbiddenError();
|
|
262
|
+
}
|
|
263
|
+
const sanitizedQuery = await permissionChecker.sanitizedQuery.unpublish({
|
|
264
|
+
locale
|
|
265
|
+
});
|
|
266
|
+
const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({
|
|
267
|
+
locale
|
|
268
|
+
}, uid);
|
|
269
|
+
const unpublishFindQuery = {
|
|
270
|
+
...sanitizedQuery,
|
|
271
|
+
locale: resolvedLocale
|
|
272
|
+
};
|
|
273
|
+
const document = await getService('document-manager').findMany(unpublishFindQuery, typedUid).then((docs)=>docs[0]);
|
|
274
|
+
if (!document) {
|
|
275
|
+
throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);
|
|
276
|
+
}
|
|
277
|
+
if (permissionChecker.cannot.unpublish(document)) {
|
|
278
|
+
throw new errors.ForbiddenError();
|
|
279
|
+
}
|
|
280
|
+
if (discardDraft === true && permissionChecker.cannot.discard(document)) {
|
|
281
|
+
throw new errors.ForbiddenError();
|
|
282
|
+
}
|
|
283
|
+
const result = await strapi.db.transaction(async ()=>{
|
|
284
|
+
if (discardDraft === true) {
|
|
285
|
+
await documentManager.discardDraft(document.documentId, typedUid, {
|
|
286
|
+
locale: resolvedLocale
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
return async.pipe((doc)=>documentManager.unpublish(doc.documentId, typedUid, {
|
|
290
|
+
locale: resolvedLocale
|
|
291
|
+
}), (doc)=>sanitizeFormatShape(permissionChecker, typedUid, doc))(document);
|
|
292
|
+
});
|
|
293
|
+
return ok(result);
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Creates a handler for discarding the draft of the single-type document.
|
|
297
|
+
* Restores the published version as the draft. Enforces RBAC discard permission.
|
|
298
|
+
*/ const createSingleDiscardDraftHandler = (uid)=>(_strapi, context)=>async ({ args })=>{
|
|
299
|
+
const { userAbility } = context;
|
|
300
|
+
const { locale } = args;
|
|
301
|
+
// TODO: fix UID.SingleType assignability in @strapi/types
|
|
302
|
+
const typedUid = uid;
|
|
303
|
+
const documentManager = getService('document-manager');
|
|
304
|
+
const permissionChecker = getService('permission-checker').create({
|
|
305
|
+
userAbility,
|
|
306
|
+
model: uid
|
|
307
|
+
});
|
|
308
|
+
if (permissionChecker.cannot.discard()) {
|
|
309
|
+
throw new errors.ForbiddenError();
|
|
310
|
+
}
|
|
311
|
+
const sanitizedQuery = await permissionChecker.sanitizedQuery.discard({
|
|
312
|
+
locale
|
|
313
|
+
});
|
|
314
|
+
const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({
|
|
315
|
+
locale
|
|
316
|
+
}, uid);
|
|
317
|
+
const discardFindQuery = {
|
|
318
|
+
...sanitizedQuery,
|
|
319
|
+
locale: resolvedLocale,
|
|
320
|
+
status: 'published'
|
|
321
|
+
};
|
|
322
|
+
const document = await getService('document-manager').findMany(discardFindQuery, typedUid).then((docs)=>docs[0]);
|
|
323
|
+
if (!document) {
|
|
324
|
+
throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);
|
|
325
|
+
}
|
|
326
|
+
if (permissionChecker.cannot.discard(document)) {
|
|
327
|
+
throw new errors.ForbiddenError();
|
|
328
|
+
}
|
|
329
|
+
const discardedDocument = await async.pipe((doc)=>documentManager.discardDraft(doc.documentId, typedUid, {
|
|
330
|
+
locale: resolvedLocale
|
|
331
|
+
}), (doc)=>sanitizeFormatShape(permissionChecker, typedUid, doc))(document);
|
|
332
|
+
return ok(discardedDocument);
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
export { createSingleDeleteHandler, createSingleDiscardDraftHandler, createSingleGetHandler, createSinglePublishHandler, createSingleUnpublishHandler, createSingleWriteHandler, singleCreateOrUpdate };
|
|
336
|
+
//# sourceMappingURL=single-type-handlers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-type-handlers.mjs","sources":["../../../../server/src/mcp/handlers/single-type-handlers.ts"],"sourcesContent":["import { errors, async as asyncPipe, setCreatorFields } from '@strapi/utils';\r\nimport type { Core, Modules, UID } from '@strapi/types';\r\n\r\nimport { getService } from '../../utils';\r\nimport { getDocumentLocaleAndStatus } from '../../controllers/validation/dimensions';\r\nimport { formatDocumentWithMetadata } from '../../controllers/utils/metadata';\r\nimport { getPopulateForLocalizations } from '../../services/utils/populate';\r\nimport { MCP_NOT_FOUND_DOCUMENT } from './constants';\r\nimport { isContentTypeLocalized } from '../permissions';\r\nimport { shapeRelationsForMcp } from '../sanitizers/shape-relations';\r\nimport { ok, sanitizeFormatShape } from '../utils';\r\n\r\ntype McpDocumentQuery = {\r\n populate?: unknown;\r\n locale?: string;\r\n status?: string;\r\n filters?: unknown;\r\n sort?: unknown;\r\n pagination?: unknown;\r\n [key: string]: unknown;\r\n};\r\n\r\ntype McpFindManyParams = Parameters<Modules.Documents.ServiceInstance['findMany']>[0];\r\n\r\n// ---------------------------------------------------------------------------\r\n// Input arg schemas — used for type-safe narrowing from Record<string, unknown>\r\n// ---------------------------------------------------------------------------\r\n\r\ntype SingleLocaleArgs = { locale?: string };\r\ntype SingleGetArgs = SingleLocaleArgs & { status?: 'draft' | 'published' };\r\ntype SingleUnpublishArgs = SingleLocaleArgs & { discardDraft?: boolean };\r\ntype SingleWriteArgs = { data: Record<string, unknown>; locale?: string };\r\n\r\n// ---------------------------------------------------------------------------\r\n// Shared create-or-update logic mirroring single-types controller\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Core write logic shared by the single-type write handler.\r\n * Creates the document when none exists; updates the existing draft otherwise.\r\n * Enforces RBAC create/update permission and sanitizes input + output.\r\n */\r\nexport const singleCreateOrUpdate = async (\r\n strapi: Core.Strapi,\r\n uid: UID.SingleType,\r\n context: Modules.MCP.McpHandlerContext,\r\n args: SingleWriteArgs\r\n): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility, user } = context;\r\n const { data, locale } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const documentManager = getService('document-manager');\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.create() && permissionChecker.cannot.update()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const sanitizedQuery = await permissionChecker.sanitizedQuery.update({ locale });\r\n const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({ locale }, uid);\r\n\r\n const populate = await getService('populate-builder')(typedUid)\r\n .populateFromQuery(sanitizedQuery)\r\n .populateDeep(Infinity)\r\n .withPopulateOverride(getPopulateForLocalizations(typedUid))\r\n .build();\r\n\r\n const draftFindQuery: McpDocumentQuery = {\r\n ...sanitizedQuery,\r\n populate,\r\n locale: resolvedLocale,\r\n status: 'draft',\r\n };\r\n const [documentVersion, otherDocumentVersion] = await Promise.all([\r\n documentManager\r\n .findMany(draftFindQuery as McpFindManyParams, typedUid)\r\n .then((docs: any[]) => docs[0]),\r\n strapi.db.query(typedUid).findOne({ select: ['documentId'] }),\r\n ]);\r\n\r\n const documentId = otherDocumentVersion?.documentId;\r\n\r\n if (documentVersion) {\r\n if (permissionChecker.cannot.update(documentVersion)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n } else if (permissionChecker.cannot.create()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const sanitizeInput = documentVersion\r\n ? permissionChecker.sanitizeUpdateInput(documentVersion)\r\n : permissionChecker.sanitizeCreateInput;\r\n\r\n const isEdition = documentVersion !== null && documentVersion !== undefined;\r\n const sanitizedData = setCreatorFields({ user, isEdition })(await sanitizeInput(data)) as Record<\r\n string,\r\n unknown\r\n >;\r\n\r\n const formatted = await strapi.db.transaction(async () => {\r\n let doc: any;\r\n\r\n if (documentId === undefined) {\r\n doc = await documentManager.create(typedUid, {\r\n data: sanitizedData,\r\n ...sanitizedQuery,\r\n locale: resolvedLocale,\r\n });\r\n } else {\r\n doc = await documentManager.update(documentId, typedUid, {\r\n data: sanitizedData,\r\n populate,\r\n locale: resolvedLocale,\r\n });\r\n }\r\n\r\n return sanitizeFormatShape(permissionChecker, typedUid, doc);\r\n });\r\n\r\n return ok(formatted as Record<string, unknown>);\r\n};\r\n\r\n// ---------------------------------------------------------------------------\r\n// Handler factories\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Creates a handler for reading the single-type document.\r\n * Returns available locale metadata when the requested locale version does not exist.\r\n * Enforces RBAC read permission.\r\n */\r\nexport const createSingleGetHandler =\r\n (uid: UID.SingleType) =>\r\n (strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({ args }: { args: SingleGetArgs }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility } = context;\r\n const { locale, status } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.read()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const permissionQuery = await permissionChecker.sanitizedQuery.read({ locale, status });\r\n const { locale: resolvedLocale, status: resolvedStatus } = await getDocumentLocaleAndStatus(\r\n { locale, status },\r\n uid\r\n );\r\n\r\n const populate = await getService('populate-builder')(typedUid)\r\n .populateFromQuery(permissionQuery)\r\n .populateDeep(Infinity)\r\n .withPopulateOverride(getPopulateForLocalizations(typedUid))\r\n .build();\r\n\r\n const versionFindQuery: McpDocumentQuery = {\r\n ...permissionQuery,\r\n populate,\r\n locale: resolvedLocale,\r\n status: resolvedStatus,\r\n };\r\n const version = await getService('document-manager')\r\n .findMany(versionFindQuery as McpFindManyParams, typedUid)\r\n .then((docs: any[]) => docs[0]);\r\n\r\n if (!version) {\r\n if (permissionChecker.cannot.create()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const document = await strapi.db.query(typedUid).findOne({});\r\n\r\n if (!document) {\r\n throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);\r\n }\r\n\r\n const { meta } = await formatDocumentWithMetadata(\r\n permissionChecker,\r\n typedUid,\r\n {\r\n documentId: document.documentId,\r\n locale: resolvedLocale,\r\n publishedAt: null,\r\n } as Parameters<typeof formatDocumentWithMetadata>[2],\r\n { availableLocales: true, availableStatus: false }\r\n );\r\n\r\n return ok({ data: {}, meta } as Record<string, unknown>);\r\n }\r\n\r\n if (permissionChecker.cannot.read(version)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const result = await sanitizeFormatShape(permissionChecker, typedUid, version);\r\n\r\n return ok(result as Record<string, unknown>);\r\n };\r\n\r\n/**\r\n * Creates a handler for creating or updating the single-type document.\r\n * Delegates to `singleCreateOrUpdate`; enforces RBAC create/update permission.\r\n */\r\nexport const createSingleWriteHandler =\r\n (uid: UID.SingleType) =>\r\n (strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({\r\n args,\r\n }: {\r\n args: Record<string, unknown>;\r\n }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n return singleCreateOrUpdate(strapi, uid, context, args as SingleWriteArgs);\r\n };\r\n\r\n/**\r\n * Creates a handler for deleting the single-type document (or a specific locale).\r\n * Enforces RBAC delete permission on every locale version before deletion.\r\n */\r\nexport const createSingleDeleteHandler =\r\n (uid: UID.SingleType) =>\r\n (strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({ args }: { args: SingleLocaleArgs }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility } = context;\r\n const { locale } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const documentManager = getService('document-manager');\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.delete()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const sanitizedQuery = await permissionChecker.sanitizedQuery.delete({ locale });\r\n\r\n const populate = await getService('populate-builder')(typedUid)\r\n .populateFromQuery(sanitizedQuery)\r\n .populateDeep(Infinity)\r\n .withPopulateOverride(getPopulateForLocalizations(typedUid))\r\n .build();\r\n\r\n const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({ locale }, uid);\r\n\r\n const isLocalized = isContentTypeLocalized(strapi, uid);\r\n\r\n const localeForQuery = isLocalized === true ? resolvedLocale : undefined;\r\n\r\n const documentLocales = await documentManager.findLocales(undefined, typedUid, {\r\n populate,\r\n locale: localeForQuery,\r\n });\r\n\r\n if (documentLocales.length === 0) {\r\n throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);\r\n }\r\n\r\n for (const document of documentLocales) {\r\n if (permissionChecker.cannot.delete(document)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n }\r\n\r\n const deletedEntity = await documentManager.delete(documentLocales[0].documentId, typedUid, {\r\n locale: localeForQuery,\r\n });\r\n\r\n // Delete returns `{ data }` without metadata — no status to compute, so sanitize + shape only.\r\n const sanitizedResult = await permissionChecker.sanitizeOutput(deletedEntity);\r\n const shapedResult = await shapeRelationsForMcp(typedUid, sanitizedResult);\r\n\r\n return ok({ data: shapedResult } as Record<string, unknown>);\r\n };\r\n\r\n/**\r\n * Creates a handler for publishing the single-type document draft.\r\n * Enforces RBAC publish permission; throws NotFound when the draft is missing.\r\n */\r\nexport const createSinglePublishHandler =\r\n (uid: UID.SingleType) =>\r\n (strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({ args }: { args: SingleLocaleArgs }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility } = context;\r\n const { locale } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const documentManager = getService('document-manager');\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.publish()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const publishedDocument = await strapi.db.transaction(async () => {\r\n const sanitizedQuery = await permissionChecker.sanitizedQuery.publish({ locale });\r\n const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({ locale }, uid);\r\n\r\n const publishFindQuery: McpDocumentQuery = {\r\n ...sanitizedQuery,\r\n locale: resolvedLocale,\r\n status: 'draft',\r\n };\r\n const document = await getService('document-manager')\r\n .findMany(publishFindQuery as McpFindManyParams, typedUid)\r\n .then((docs: any[]) => docs[0]);\r\n\r\n if (!document) {\r\n throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);\r\n }\r\n\r\n if (permissionChecker.cannot.publish(document)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const publishResult = await documentManager.publish(document.documentId, typedUid, {\r\n locale: resolvedLocale,\r\n });\r\n\r\n return publishResult?.at(0);\r\n });\r\n\r\n const result = await sanitizeFormatShape(permissionChecker, typedUid, publishedDocument);\r\n\r\n return ok(result as Record<string, unknown>);\r\n };\r\n\r\n/**\r\n * Creates a handler for unpublishing the single-type document.\r\n * Optionally discards the draft in the same transaction when `discardDraft` is true.\r\n * Enforces RBAC unpublish (and discard) permission.\r\n */\r\nexport const createSingleUnpublishHandler =\r\n (uid: UID.SingleType) =>\r\n (strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({ args }: { args: SingleUnpublishArgs }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility } = context;\r\n const { locale, discardDraft } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const documentManager = getService('document-manager');\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.unpublish()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n if (discardDraft === true && permissionChecker.cannot.discard()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const sanitizedQuery = await permissionChecker.sanitizedQuery.unpublish({ locale });\r\n const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({ locale }, uid);\r\n\r\n const unpublishFindQuery: McpDocumentQuery = { ...sanitizedQuery, locale: resolvedLocale };\r\n const document = await getService('document-manager')\r\n .findMany(unpublishFindQuery as McpFindManyParams, typedUid)\r\n .then((docs: any[]) => docs[0]);\r\n\r\n if (!document) {\r\n throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);\r\n }\r\n\r\n if (permissionChecker.cannot.unpublish(document)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n if (discardDraft === true && permissionChecker.cannot.discard(document)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const result = await strapi.db.transaction(async () => {\r\n if (discardDraft === true) {\r\n await documentManager.discardDraft(document.documentId, typedUid, {\r\n locale: resolvedLocale,\r\n });\r\n }\r\n\r\n return asyncPipe.pipe(\r\n (doc: any) =>\r\n documentManager.unpublish(doc.documentId, typedUid, { locale: resolvedLocale }),\r\n (doc: unknown) => sanitizeFormatShape(permissionChecker, typedUid, doc)\r\n )(document);\r\n });\r\n\r\n return ok(result as Record<string, unknown>);\r\n };\r\n\r\n/**\r\n * Creates a handler for discarding the draft of the single-type document.\r\n * Restores the published version as the draft. Enforces RBAC discard permission.\r\n */\r\nexport const createSingleDiscardDraftHandler =\r\n (uid: UID.SingleType) =>\r\n (_strapi: Core.Strapi, context: Modules.MCP.McpHandlerContext) =>\r\n async ({ args }: { args: SingleLocaleArgs }): Promise<Modules.MCP.McpToolHandlerReturn> => {\r\n const { userAbility } = context;\r\n const { locale } = args;\r\n // TODO: fix UID.SingleType assignability in @strapi/types\r\n const typedUid = uid as UID.ContentType;\r\n\r\n const documentManager = getService('document-manager');\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility,\r\n model: uid as string,\r\n });\r\n\r\n if (permissionChecker.cannot.discard()) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const sanitizedQuery = await permissionChecker.sanitizedQuery.discard({ locale });\r\n const { locale: resolvedLocale } = await getDocumentLocaleAndStatus({ locale }, uid);\r\n\r\n const discardFindQuery: McpDocumentQuery = {\r\n ...sanitizedQuery,\r\n locale: resolvedLocale,\r\n status: 'published',\r\n };\r\n const document = await getService('document-manager')\r\n .findMany(discardFindQuery as McpFindManyParams, typedUid)\r\n .then((docs: any[]) => docs[0]);\r\n\r\n if (!document) {\r\n throw new errors.NotFoundError(MCP_NOT_FOUND_DOCUMENT);\r\n }\r\n\r\n if (permissionChecker.cannot.discard(document)) {\r\n throw new errors.ForbiddenError();\r\n }\r\n\r\n const discardedDocument = await asyncPipe.pipe(\r\n (doc: any) =>\r\n documentManager.discardDraft(doc.documentId, typedUid, { locale: resolvedLocale }),\r\n (doc: unknown) => sanitizeFormatShape(permissionChecker, typedUid, doc)\r\n )(document);\r\n\r\n return ok(discardedDocument as Record<string, unknown>);\r\n };\r\n"],"names":["singleCreateOrUpdate","strapi","uid","context","args","userAbility","user","data","locale","typedUid","documentManager","getService","permissionChecker","create","model","cannot","update","errors","ForbiddenError","sanitizedQuery","resolvedLocale","getDocumentLocaleAndStatus","populate","populateFromQuery","populateDeep","Infinity","withPopulateOverride","getPopulateForLocalizations","build","draftFindQuery","status","documentVersion","otherDocumentVersion","Promise","all","findMany","then","docs","db","query","findOne","select","documentId","sanitizeInput","sanitizeUpdateInput","sanitizeCreateInput","isEdition","undefined","sanitizedData","setCreatorFields","formatted","transaction","doc","sanitizeFormatShape","ok","createSingleGetHandler","read","permissionQuery","resolvedStatus","versionFindQuery","version","document","NotFoundError","MCP_NOT_FOUND_DOCUMENT","meta","formatDocumentWithMetadata","publishedAt","availableLocales","availableStatus","result","createSingleWriteHandler","createSingleDeleteHandler","delete","isLocalized","isContentTypeLocalized","localeForQuery","documentLocales","findLocales","length","deletedEntity","sanitizedResult","sanitizeOutput","shapedResult","shapeRelationsForMcp","createSinglePublishHandler","publish","publishedDocument","publishFindQuery","publishResult","at","createSingleUnpublishHandler","discardDraft","unpublish","discard","unpublishFindQuery","asyncPipe","pipe","createSingleDiscardDraftHandler","_strapi","discardFindQuery","discardedDocument"],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var strapiUtils = require('@strapi/utils');
|
|
4
|
+
var index = require('../utils/index.js');
|
|
5
|
+
|
|
6
|
+
/** Returns true if the content type identified by `uid` has the i18n `localized` plugin option enabled. */ const isContentTypeLocalized = (strapi, uid)=>{
|
|
7
|
+
const ct = strapi.contentTypes?.[uid];
|
|
8
|
+
if (ct === undefined) return false;
|
|
9
|
+
return ct.pluginOptions?.i18n?.localized === true;
|
|
10
|
+
};
|
|
11
|
+
const localeDefaultDescription = (defaultLocale, allowedLocales)=>{
|
|
12
|
+
if (defaultLocale !== null && allowedLocales.includes(defaultLocale)) {
|
|
13
|
+
return `Defaults to "${defaultLocale}".`;
|
|
14
|
+
}
|
|
15
|
+
return 'Defaults to the default locale.';
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Builds the base locale Zod schema for a derived MCP tool input.
|
|
19
|
+
* When `localeCodes` is provided, constrains the field to a `z.enum` of available codes
|
|
20
|
+
* with an optional default; otherwise falls back to a plain optional string.
|
|
21
|
+
*/ const buildLocaleSchema = (localeCodes, defaultLocale)=>{
|
|
22
|
+
if (localeCodes !== null && localeCodes.length > 0) {
|
|
23
|
+
let schema = strapiUtils.z.enum(localeCodes).optional();
|
|
24
|
+
if (defaultLocale !== null && localeCodes.includes(defaultLocale)) {
|
|
25
|
+
schema = schema.default(defaultLocale);
|
|
26
|
+
}
|
|
27
|
+
return schema.describe(`Locale code. Available: ${localeCodes.join(', ')}. ${localeDefaultDescription(defaultLocale, localeCodes)}`);
|
|
28
|
+
}
|
|
29
|
+
return strapiUtils.z.string().optional().describe('Locale code (e.g. "en", "fr"). Defaults to the default locale.');
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Narrows the base locale schema to only locales the session is permitted to access
|
|
33
|
+
* for the given action + uid combination.
|
|
34
|
+
*
|
|
35
|
+
* Returns the base schema unchanged when:
|
|
36
|
+
* - localeCodes is null (i18n not installed)
|
|
37
|
+
* - the content type is not localized
|
|
38
|
+
* - all installed locales are permitted for this action
|
|
39
|
+
*
|
|
40
|
+
* Returns z.never().optional() when no locales are permitted, keeping the tool
|
|
41
|
+
* registered but signalling no valid locale input.
|
|
42
|
+
*/ const resolvePermittedLocaleSchema = (strapi, context, action, uid, localeCodes, defaultLocale, baseLocaleSchema)=>{
|
|
43
|
+
if (localeCodes === null) return baseLocaleSchema;
|
|
44
|
+
const isLocalized = isContentTypeLocalized(strapi, uid);
|
|
45
|
+
if (isLocalized === false) {
|
|
46
|
+
return strapiUtils.z.string().optional().describe('This content type is not localized. Locale is ignored.');
|
|
47
|
+
}
|
|
48
|
+
const permissionChecker = index.getService('permission-checker').create({
|
|
49
|
+
userAbility: context.userAbility,
|
|
50
|
+
model: uid
|
|
51
|
+
});
|
|
52
|
+
const permitted = getPermittedLocales(permissionChecker, action, localeCodes);
|
|
53
|
+
if (permitted === null) return baseLocaleSchema;
|
|
54
|
+
if (permitted.length === 0) {
|
|
55
|
+
return strapiUtils.z.never().optional().describe('No locale access for this action.');
|
|
56
|
+
}
|
|
57
|
+
let schema = strapiUtils.z.enum(permitted).optional();
|
|
58
|
+
if (defaultLocale !== null && permitted.includes(defaultLocale)) {
|
|
59
|
+
schema = schema.default(defaultLocale);
|
|
60
|
+
}
|
|
61
|
+
return schema.describe(`Locale code. Permitted: ${permitted.join(', ')}. ${localeDefaultDescription(defaultLocale, permitted)}`);
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Recursively resolves leaf field paths for a component, matching the nested
|
|
65
|
+
* path format used by CASL rules (e.g. 'SEO.title', 'SEO.og.image').
|
|
66
|
+
*
|
|
67
|
+
* The admin RBAC system decomposes component attrs into nested paths and removes
|
|
68
|
+
* the parent key — so checking `ability.can(action, uid, 'SEO')` returns false
|
|
69
|
+
* even when the user has full access to the component's sub-fields.
|
|
70
|
+
*/ const getComponentLeafPaths = (strapi, componentUid, prefix, visited = new Set())=>{
|
|
71
|
+
if (visited.has(componentUid) === true) return [
|
|
72
|
+
prefix
|
|
73
|
+
];
|
|
74
|
+
const component = strapi.components[componentUid];
|
|
75
|
+
if (component === undefined) return [
|
|
76
|
+
prefix
|
|
77
|
+
];
|
|
78
|
+
visited.add(componentUid);
|
|
79
|
+
const paths = [];
|
|
80
|
+
for (const [key, attr] of Object.entries(component.attributes)){
|
|
81
|
+
if (key === 'id') {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const fieldPath = `${prefix}.${key}`;
|
|
85
|
+
if (attr.type === 'component' && attr.component !== undefined) {
|
|
86
|
+
paths.push(...getComponentLeafPaths(strapi, attr.component, fieldPath, visited));
|
|
87
|
+
} else {
|
|
88
|
+
paths.push(fieldPath);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
visited.delete(componentUid);
|
|
92
|
+
return paths.length > 0 ? paths : [
|
|
93
|
+
prefix
|
|
94
|
+
];
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Returns the subset of attribute keys the session may access for `action` on `uid`.
|
|
98
|
+
* Returns `null` when all fields are permitted (caller should skip field filtering).
|
|
99
|
+
* Component attributes are resolved to their nested leaf paths before checking CASL rules.
|
|
100
|
+
*/ const getPermittedFields = (strapi, userAbility, action, uid, attributes)=>{
|
|
101
|
+
const allKeys = Object.keys(attributes);
|
|
102
|
+
const permitted = allKeys.filter((key)=>{
|
|
103
|
+
if (userAbility.can(action, uid, key) === true) return true;
|
|
104
|
+
// Component attrs: CASL rules use nested paths (e.g. 'SEO.title').
|
|
105
|
+
// Check if at least one sub-field path is permitted.
|
|
106
|
+
const attr = attributes[key];
|
|
107
|
+
if (attr.type === 'component' && attr.component !== undefined) {
|
|
108
|
+
const leafPaths = getComponentLeafPaths(strapi, attr.component, key);
|
|
109
|
+
return leafPaths.some((path)=>userAbility.can(action, uid, path) === true);
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
});
|
|
113
|
+
if (permitted.length === allKeys.length) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return new Set(permitted);
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Filters `localeCodes` to only those the session may access for `action`.
|
|
120
|
+
* Returns `null` when all locales are permitted (caller should use the unfiltered base schema).
|
|
121
|
+
* Returns an empty tuple-like array when no locale is permitted.
|
|
122
|
+
*/ const getPermittedLocales = (permissionChecker, action, localeCodes)=>{
|
|
123
|
+
const permitted = localeCodes.filter((code)=>permissionChecker.cannot(action, {
|
|
124
|
+
locale: code
|
|
125
|
+
}) === false);
|
|
126
|
+
if (permitted.length === localeCodes.length) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return permitted.length > 0 ? permitted : [];
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
exports.buildLocaleSchema = buildLocaleSchema;
|
|
133
|
+
exports.getComponentLeafPaths = getComponentLeafPaths;
|
|
134
|
+
exports.getPermittedFields = getPermittedFields;
|
|
135
|
+
exports.getPermittedLocales = getPermittedLocales;
|
|
136
|
+
exports.isContentTypeLocalized = isContentTypeLocalized;
|
|
137
|
+
exports.resolvePermittedLocaleSchema = resolvePermittedLocaleSchema;
|
|
138
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sources":["../../../server/src/mcp/permissions.ts"],"sourcesContent":["import { z } from '@strapi/utils';\r\nimport type { Core, Modules, Struct, UID } from '@strapi/types';\r\n\r\nimport { getService } from '../utils';\r\nimport type { ContentManagerModelForMcp } from './types';\r\n\r\n/** Returns true if the content type identified by `uid` has the i18n `localized` plugin option enabled. */\r\nexport const isContentTypeLocalized = (strapi: Core.Strapi, uid: string): boolean => {\r\n const ct = strapi.contentTypes?.[uid as UID.ContentType];\r\n if (ct === undefined) return false;\r\n return (\r\n (ct as { pluginOptions?: { i18n?: { localized?: boolean } } }).pluginOptions?.i18n\r\n ?.localized === true\r\n );\r\n};\r\n\r\nconst localeDefaultDescription = (\r\n defaultLocale: string | null,\r\n allowedLocales: readonly string[]\r\n): string => {\r\n if (defaultLocale !== null && allowedLocales.includes(defaultLocale)) {\r\n return `Defaults to \"${defaultLocale}\".`;\r\n }\r\n\r\n return 'Defaults to the default locale.';\r\n};\r\n\r\n/**\r\n * Builds the base locale Zod schema for a derived MCP tool input.\r\n * When `localeCodes` is provided, constrains the field to a `z.enum` of available codes\r\n * with an optional default; otherwise falls back to a plain optional string.\r\n */\r\nexport const buildLocaleSchema = (\r\n localeCodes: [string, ...string[]] | null,\r\n defaultLocale: string | null\r\n): z.ZodTypeAny => {\r\n if (localeCodes !== null && localeCodes.length > 0) {\r\n let schema: z.ZodTypeAny = z.enum(localeCodes).optional();\r\n\r\n if (defaultLocale !== null && localeCodes.includes(defaultLocale)) {\r\n schema = schema.default(defaultLocale);\r\n }\r\n\r\n return schema.describe(\r\n `Locale code. Available: ${localeCodes.join(', ')}. ${localeDefaultDescription(defaultLocale, localeCodes)}`\r\n );\r\n }\r\n\r\n return z\r\n .string()\r\n .optional()\r\n .describe('Locale code (e.g. \"en\", \"fr\"). Defaults to the default locale.');\r\n};\r\n\r\n/**\r\n * Narrows the base locale schema to only locales the session is permitted to access\r\n * for the given action + uid combination.\r\n *\r\n * Returns the base schema unchanged when:\r\n * - localeCodes is null (i18n not installed)\r\n * - the content type is not localized\r\n * - all installed locales are permitted for this action\r\n *\r\n * Returns z.never().optional() when no locales are permitted, keeping the tool\r\n * registered but signalling no valid locale input.\r\n */\r\nexport const resolvePermittedLocaleSchema = (\r\n strapi: Core.Strapi,\r\n context: Modules.MCP.McpHandlerContext,\r\n action: string,\r\n uid: string,\r\n localeCodes: [string, ...string[]] | null,\r\n defaultLocale: string | null,\r\n baseLocaleSchema: z.ZodTypeAny\r\n): z.ZodTypeAny => {\r\n if (localeCodes === null) return baseLocaleSchema;\r\n\r\n const isLocalized = isContentTypeLocalized(strapi, uid);\r\n if (isLocalized === false) {\r\n return z.string().optional().describe('This content type is not localized. Locale is ignored.');\r\n }\r\n\r\n const permissionChecker = getService('permission-checker').create({\r\n userAbility: context.userAbility,\r\n model: uid,\r\n });\r\n const permitted = getPermittedLocales(permissionChecker, action, localeCodes);\r\n if (permitted === null) return baseLocaleSchema;\r\n if (permitted.length === 0) {\r\n return z.never().optional().describe('No locale access for this action.');\r\n }\r\n\r\n let schema: z.ZodTypeAny = z.enum(permitted).optional();\r\n\r\n if (defaultLocale !== null && permitted.includes(defaultLocale)) {\r\n schema = schema.default(defaultLocale);\r\n }\r\n\r\n return schema.describe(\r\n `Locale code. Permitted: ${permitted.join(', ')}. ${localeDefaultDescription(defaultLocale, permitted)}`\r\n );\r\n};\r\n\r\n/**\r\n * Recursively resolves leaf field paths for a component, matching the nested\r\n * path format used by CASL rules (e.g. 'SEO.title', 'SEO.og.image').\r\n *\r\n * The admin RBAC system decomposes component attrs into nested paths and removes\r\n * the parent key — so checking `ability.can(action, uid, 'SEO')` returns false\r\n * even when the user has full access to the component's sub-fields.\r\n */\r\nexport const getComponentLeafPaths = (\r\n strapi: Core.Strapi,\r\n componentUid: string,\r\n prefix: string,\r\n visited: Set<string> = new Set()\r\n): string[] => {\r\n if (visited.has(componentUid) === true) return [prefix];\r\n\r\n type ComponentEntry = { attributes: Record<string, { type: string; component?: string }> };\r\n const component = (strapi.components as unknown as Record<string, ComponentEntry | undefined>)[\r\n componentUid\r\n ];\r\n if (component === undefined) return [prefix];\r\n\r\n visited.add(componentUid);\r\n const paths: string[] = [];\r\n\r\n for (const [key, attr] of Object.entries(component.attributes)) {\r\n if (key === 'id') {\r\n // skip system id field — it is not a user-facing permission path\r\n // eslint-disable-next-line no-continue\r\n continue;\r\n }\r\n const fieldPath = `${prefix}.${key}`;\r\n\r\n if (attr.type === 'component' && attr.component !== undefined) {\r\n paths.push(...getComponentLeafPaths(strapi, attr.component, fieldPath, visited));\r\n } else {\r\n paths.push(fieldPath);\r\n }\r\n }\r\n\r\n visited.delete(componentUid);\r\n\r\n return paths.length > 0 ? paths : [prefix];\r\n};\r\n\r\n/**\r\n * Returns the subset of attribute keys the session may access for `action` on `uid`.\r\n * Returns `null` when all fields are permitted (caller should skip field filtering).\r\n * Component attributes are resolved to their nested leaf paths before checking CASL rules.\r\n */\r\nexport const getPermittedFields = (\r\n strapi: Core.Strapi,\r\n userAbility: Modules.MCP.McpHandlerContext['userAbility'],\r\n action: string,\r\n uid: string,\r\n attributes: Struct.SchemaAttributes\r\n): Set<string> | null => {\r\n const allKeys = Object.keys(attributes);\r\n const permitted = allKeys.filter((key) => {\r\n if (userAbility.can(action, uid, key) === true) return true;\r\n\r\n // Component attrs: CASL rules use nested paths (e.g. 'SEO.title').\r\n // Check if at least one sub-field path is permitted.\r\n const attr = attributes[key] as { type: string; component?: string };\r\n if (attr.type === 'component' && attr.component !== undefined) {\r\n const leafPaths = getComponentLeafPaths(strapi, attr.component, key);\r\n return leafPaths.some((path) => userAbility.can(action, uid, path) === true);\r\n }\r\n\r\n return false;\r\n });\r\n\r\n if (permitted.length === allKeys.length) {\r\n return null;\r\n }\r\n\r\n return new Set(permitted);\r\n};\r\n\r\n/**\r\n * Filters `localeCodes` to only those the session may access for `action`.\r\n * Returns `null` when all locales are permitted (caller should use the unfiltered base schema).\r\n * Returns an empty tuple-like array when no locale is permitted.\r\n */\r\nexport const getPermittedLocales = (\r\n permissionChecker: { cannot: (action: string, entity?: unknown) => boolean },\r\n action: string,\r\n localeCodes: [string, ...string[]]\r\n): [string, ...string[]] | null => {\r\n const permitted = localeCodes.filter(\r\n (code) => permissionChecker.cannot(action, { locale: code }) === false\r\n );\r\n\r\n if (permitted.length === localeCodes.length) {\r\n return null;\r\n }\r\n\r\n return permitted.length > 0\r\n ? (permitted as [string, ...string[]])\r\n : ([] as unknown as [string, ...string[]]);\r\n};\r\n\r\n// Re-export for use in handler files (avoids needing to import from permissions in each handler)\r\nexport type { ContentManagerModelForMcp };\r\n"],"names":["isContentTypeLocalized","strapi","uid","ct","contentTypes","undefined","pluginOptions","i18n","localized","localeDefaultDescription","defaultLocale","allowedLocales","includes","buildLocaleSchema","localeCodes","length","schema","z","enum","optional","default","describe","join","string","resolvePermittedLocaleSchema","context","action","baseLocaleSchema","isLocalized","permissionChecker","getService","create","userAbility","model","permitted","getPermittedLocales","never","getComponentLeafPaths","componentUid","prefix","visited","Set","has","component","components","add","paths","key","attr","Object","entries","attributes","fieldPath","type","push","delete","getPermittedFields","allKeys","keys","filter","can","leafPaths","some","path","code","cannot","locale"],"mappings":"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"}
|