@strapi/upload 5.12.1 → 5.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AssetCard/AssetCard.js +59 -0
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/AssetCard.mjs +57 -0
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AssetCardBase.js +130 -0
- package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -0
- package/dist/admin/components/AssetCard/AssetCardBase.mjs +128 -0
- package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.js +40 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.mjs +38 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AudioPreview.js +17 -0
- package/dist/admin/components/AssetCard/AudioPreview.js.map +1 -0
- package/dist/admin/components/AssetCard/AudioPreview.mjs +15 -0
- package/dist/admin/components/AssetCard/AudioPreview.mjs.map +1 -0
- package/dist/admin/components/AssetCard/DocAssetCard.js +61 -0
- package/dist/admin/components/AssetCard/DocAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/DocAssetCard.mjs +59 -0
- package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.js +37 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs +35 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.js +152 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +131 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.js +72 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs +51 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/VideoPreview.js +50 -0
- package/dist/admin/components/AssetCard/VideoPreview.js.map +1 -0
- package/dist/admin/components/AssetCard/VideoPreview.mjs +48 -0
- package/dist/admin/components/AssetCard/VideoPreview.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/AssetDialog.js +321 -0
- package/dist/admin/components/AssetDialog/AssetDialog.js.map +1 -0
- package/dist/admin/components/AssetDialog/AssetDialog.mjs +299 -0
- package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +313 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +311 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +70 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +49 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js +58 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs +56 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +55 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +33 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +378 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +376 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +102 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +81 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js +14 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs +12 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/DialogFooter.js +31 -0
- package/dist/admin/components/AssetDialog/DialogFooter.js.map +1 -0
- package/dist/admin/components/AssetDialog/DialogFooter.mjs +29 -0
- package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +60 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +58 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
- package/dist/admin/components/AssetGridList/AssetGridList.js +72 -0
- package/dist/admin/components/AssetGridList/AssetGridList.js.map +1 -0
- package/dist/admin/components/AssetGridList/AssetGridList.mjs +70 -0
- package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +1 -0
- package/dist/admin/components/AssetGridList/Draggable.js +65 -0
- package/dist/admin/components/AssetGridList/Draggable.js.map +1 -0
- package/dist/admin/components/AssetGridList/Draggable.mjs +44 -0
- package/dist/admin/components/AssetGridList/Draggable.mjs.map +1 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js +49 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs +47 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +89 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +68 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +154 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +152 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
- package/dist/admin/components/ContextInfo/ContextInfo.js +44 -0
- package/dist/admin/components/ContextInfo/ContextInfo.js.map +1 -0
- package/dist/admin/components/ContextInfo/ContextInfo.mjs +42 -0
- package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +1 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +43 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +41 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.js +20 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.mjs +18 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js +403 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +380 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +127 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +106 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +111 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +109 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +260 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +239 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js +75 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs +68 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js +27 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs +25 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +79 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +58 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +336 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +313 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +29 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +27 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js +18 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs +16 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js +31 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs +29 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.js +53 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.mjs +51 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
- package/dist/admin/components/FilterList/FilterList.js +74 -0
- package/dist/admin/components/FilterList/FilterList.js.map +1 -0
- package/dist/admin/components/FilterList/FilterList.mjs +72 -0
- package/dist/admin/components/FilterList/FilterList.mjs.map +1 -0
- package/dist/admin/components/FilterList/FilterTag.js +50 -0
- package/dist/admin/components/FilterList/FilterTag.js.map +1 -0
- package/dist/admin/components/FilterList/FilterTag.mjs +48 -0
- package/dist/admin/components/FilterList/FilterTag.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/FilterPopover.js +275 -0
- package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -0
- package/dist/admin/components/FilterPopover/FilterPopover.mjs +254 -0
- package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.js +39 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.js.map +1 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.mjs +37 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.js +114 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +1 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.mjs +112 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js +125 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs +104 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js +26 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs +24 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +40 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +38 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +20 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +18 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.js +12 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +1 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.mjs +9 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
- package/dist/admin/components/FolderGridList/FolderGridList.js +29 -0
- package/dist/admin/components/FolderGridList/FolderGridList.js.map +1 -0
- package/dist/admin/components/FolderGridList/FolderGridList.mjs +27 -0
- package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js +71 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs +50 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +78 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +76 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +52 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +50 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js +112 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs +91 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +116 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +95 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +216 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +195 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
- package/dist/admin/components/SelectTree/Option.js +70 -0
- package/dist/admin/components/SelectTree/Option.js.map +1 -0
- package/dist/admin/components/SelectTree/Option.mjs +68 -0
- package/dist/admin/components/SelectTree/Option.mjs.map +1 -0
- package/dist/admin/components/SelectTree/SelectTree.js +276 -0
- package/dist/admin/components/SelectTree/SelectTree.js.map +1 -0
- package/dist/admin/components/SelectTree/SelectTree.mjs +255 -0
- package/dist/admin/components/SelectTree/SelectTree.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.js +19 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs +17 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.js +24 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.mjs +22 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.js +12 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs +10 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
- package/dist/admin/components/SortPicker/SortPicker.js +39 -0
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -0
- package/dist/admin/components/SortPicker/SortPicker.mjs +37 -0
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -0
- package/dist/admin/components/TableList/CellContent.js +76 -0
- package/dist/admin/components/TableList/CellContent.js.map +1 -0
- package/dist/admin/components/TableList/CellContent.mjs +74 -0
- package/dist/admin/components/TableList/CellContent.mjs.map +1 -0
- package/dist/admin/components/TableList/PreviewCell.js +82 -0
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -0
- package/dist/admin/components/TableList/PreviewCell.mjs +80 -0
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -0
- package/dist/admin/components/TableList/TableList.js +99 -0
- package/dist/admin/components/TableList/TableList.js.map +1 -0
- package/dist/admin/components/TableList/TableList.mjs +97 -0
- package/dist/admin/components/TableList/TableList.mjs.map +1 -0
- package/dist/admin/components/TableList/TableRows.js +101 -0
- package/dist/admin/components/TableList/TableRows.js.map +1 -0
- package/dist/admin/components/TableList/TableRows.mjs +99 -0
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +84 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +82 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +203 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +182 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +127 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +106 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +206 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +185 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js +129 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs +108 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
- package/dist/admin/components/UploadProgress/UploadProgress.js +88 -0
- package/dist/admin/components/UploadProgress/UploadProgress.js.map +1 -0
- package/dist/admin/components/UploadProgress/UploadProgress.mjs +86 -0
- package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +1 -0
- package/dist/admin/constants.js +205 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +198 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/hooks/useAssets.js +124 -0
- package/dist/admin/hooks/useAssets.js.map +1 -0
- package/dist/admin/hooks/useAssets.mjs +103 -0
- package/dist/admin/hooks/useAssets.mjs.map +1 -0
- package/dist/admin/hooks/useBulkMove.js +79 -0
- package/dist/admin/hooks/useBulkMove.js.map +1 -0
- package/dist/admin/hooks/useBulkMove.mjs +77 -0
- package/dist/admin/hooks/useBulkMove.mjs.map +1 -0
- package/dist/admin/hooks/useBulkRemove.js +79 -0
- package/dist/admin/hooks/useBulkRemove.js.map +1 -0
- package/dist/admin/hooks/useBulkRemove.mjs +77 -0
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -0
- package/dist/admin/hooks/useConfig.js +57 -0
- package/dist/admin/hooks/useConfig.js.map +1 -0
- package/dist/admin/hooks/useConfig.mjs +55 -0
- package/dist/admin/hooks/useConfig.mjs.map +1 -0
- package/dist/admin/hooks/useCropImg.js +96 -0
- package/dist/admin/hooks/useCropImg.js.map +1 -0
- package/dist/admin/hooks/useCropImg.mjs +75 -0
- package/dist/admin/hooks/useCropImg.mjs.map +1 -0
- package/dist/admin/hooks/useEditAsset.js +114 -0
- package/dist/admin/hooks/useEditAsset.js.map +1 -0
- package/dist/admin/hooks/useEditAsset.mjs +93 -0
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -0
- package/dist/admin/hooks/useEditFolder.js +44 -0
- package/dist/admin/hooks/useEditFolder.js.map +1 -0
- package/dist/admin/hooks/useEditFolder.mjs +42 -0
- package/dist/admin/hooks/useEditFolder.mjs.map +1 -0
- package/dist/admin/hooks/useFolder.js +58 -0
- package/dist/admin/hooks/useFolder.js.map +1 -0
- package/dist/admin/hooks/useFolder.mjs +56 -0
- package/dist/admin/hooks/useFolder.mjs.map +1 -0
- package/dist/admin/hooks/useFolderStructure.js +53 -0
- package/dist/admin/hooks/useFolderStructure.js.map +1 -0
- package/dist/admin/hooks/useFolderStructure.mjs +51 -0
- package/dist/admin/hooks/useFolderStructure.mjs.map +1 -0
- package/dist/admin/hooks/useFolders.js +107 -0
- package/dist/admin/hooks/useFolders.js.map +1 -0
- package/dist/admin/hooks/useFolders.mjs +86 -0
- package/dist/admin/hooks/useFolders.mjs.map +1 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.js +16 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs +14 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -0
- package/dist/admin/hooks/useModalQueryParams.js +138 -0
- package/dist/admin/hooks/useModalQueryParams.js.map +1 -0
- package/dist/admin/hooks/useModalQueryParams.mjs +117 -0
- package/dist/admin/hooks/useModalQueryParams.mjs.map +1 -0
- package/dist/admin/hooks/usePersistentState.js +31 -0
- package/dist/admin/hooks/usePersistentState.js.map +1 -0
- package/dist/admin/hooks/usePersistentState.mjs +29 -0
- package/dist/admin/hooks/usePersistentState.mjs.map +1 -0
- package/dist/admin/hooks/useRemoveAsset.js +53 -0
- package/dist/admin/hooks/useRemoveAsset.js.map +1 -0
- package/dist/admin/hooks/useRemoveAsset.mjs +51 -0
- package/dist/admin/hooks/useRemoveAsset.mjs.map +1 -0
- package/dist/admin/hooks/useSelectionState.js +85 -0
- package/dist/admin/hooks/useSelectionState.js.map +1 -0
- package/dist/admin/hooks/useSelectionState.mjs +64 -0
- package/dist/admin/hooks/useSelectionState.mjs.map +1 -0
- package/dist/admin/hooks/useUpload.js +86 -0
- package/dist/admin/hooks/useUpload.js.map +1 -0
- package/dist/admin/hooks/useUpload.mjs +65 -0
- package/dist/admin/hooks/useUpload.mjs.map +1 -0
- package/dist/admin/hooks/utils/renameKeys.js +12 -0
- package/dist/admin/hooks/utils/renameKeys.js.map +1 -0
- package/dist/admin/hooks/utils/renameKeys.mjs +10 -0
- package/dist/admin/hooks/utils/renameKeys.mjs.map +1 -0
- package/dist/admin/index.js +104 -22
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +105 -21
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +161 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +143 -0
- package/dist/admin/package.json.mjs.map +1 -0
- package/dist/admin/pages/App/App.js +94 -0
- package/dist/admin/pages/App/App.js.map +1 -0
- package/dist/admin/pages/App/App.mjs +73 -0
- package/dist/admin/pages/App/App.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +142 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +121 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +108 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +106 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.js +16 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs +13 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.js +17 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.mjs +14 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js +40 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs +38 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js +453 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs +432 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.js +49 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.mjs +47 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.js +38 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.mjs +36 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.js +61 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.mjs +40 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.js +66 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.mjs +64 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.js +94 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.mjs +73 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.js +76 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs +74 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs.map +1 -0
- package/dist/admin/{chunks/SettingsPage-DcdF16oj.js → pages/SettingsPage/SettingsPage.js} +18 -67
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -0
- package/dist/admin/{chunks/SettingsPage-kY2dZHnP.mjs → pages/SettingsPage/SettingsPage.mjs} +6 -55
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -0
- package/dist/admin/pages/SettingsPage/init.js +8 -0
- package/dist/admin/pages/SettingsPage/init.js.map +1 -0
- package/dist/admin/pages/SettingsPage/init.mjs +6 -0
- package/dist/admin/pages/SettingsPage/init.mjs.map +1 -0
- package/dist/admin/pages/SettingsPage/reducer.js +43 -0
- package/dist/admin/pages/SettingsPage/reducer.js.map +1 -0
- package/dist/admin/pages/SettingsPage/reducer.mjs +40 -0
- package/dist/admin/pages/SettingsPage/reducer.mjs.map +1 -0
- package/dist/admin/pluginId.js +8 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +6 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/{chunks/ca-pCOhKIn8.js → translations/ca.json.js} +2 -2
- package/dist/admin/translations/ca.json.js.map +1 -0
- package/dist/admin/{chunks/ca-Bi4qskZD.mjs → translations/ca.json.mjs} +1 -1
- package/dist/admin/translations/ca.json.mjs.map +1 -0
- package/dist/admin/{chunks/de-DUjKLmOP.js → translations/de.json.js} +2 -2
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/{chunks/de-BlbX8Dl_.mjs → translations/de.json.mjs} +1 -1
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/{chunks/dk-DSsspA0e.js → translations/dk.json.js} +2 -2
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/{chunks/dk-C2ydE6A7.mjs → translations/dk.json.mjs} +1 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/{chunks/en-UjETkewz.js → translations/en.json.js} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-Bw_Cb2IV.mjs → translations/en.json.mjs} +1 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/es-qAL8YcZz.js → translations/es.json.js} +2 -2
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/{chunks/es-CiEgbw0k.mjs → translations/es.json.mjs} +1 -1
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/{chunks/fr-BL0Uyj6j.js → translations/fr.json.js} +2 -2
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/{chunks/fr-CwRt2FJu.mjs → translations/fr.json.mjs} +1 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/{chunks/he-BAmhVpfZ.js → translations/he.json.js} +2 -2
- package/dist/admin/translations/he.json.js.map +1 -0
- package/dist/admin/{chunks/he-DdpYNQdt.mjs → translations/he.json.mjs} +1 -1
- package/dist/admin/translations/he.json.mjs.map +1 -0
- package/dist/admin/{chunks/it-_NQZYepl.js → translations/it.json.js} +2 -2
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/{chunks/it-Be4kgSNB.mjs → translations/it.json.mjs} +1 -1
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/{chunks/ja-B75QiyXf.js → translations/ja.json.js} +2 -2
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/{chunks/ja-U1NhT0bU.mjs → translations/ja.json.mjs} +1 -1
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/{chunks/ko-BOvUcJqv.js → translations/ko.json.js} +2 -2
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/{chunks/ko-BciqXefq.mjs → translations/ko.json.mjs} +1 -1
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/{chunks/ms-B7Zl6Lm9.js → translations/ms.json.js} +2 -2
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/{chunks/ms-D-8McNeg.mjs → translations/ms.json.mjs} +1 -1
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/{chunks/pl-cYDYHOEf.js → translations/pl.json.js} +2 -2
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/{chunks/pl-DdUYocl5.mjs → translations/pl.json.mjs} +1 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-BR-D1u_azCM.js → translations/pt-BR.json.js} +2 -2
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/{chunks/pt-BR-Demjoq41.mjs → translations/pt-BR.json.mjs} +1 -1
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-L2DZeTPL.js → translations/pt.json.js} +2 -2
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/{chunks/pt-D8is2LpS.mjs → translations/pt.json.mjs} +1 -1
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/{chunks/ru-Uxbk_WWv.js → translations/ru.json.js} +2 -2
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/{chunks/ru-CGgHRTey.mjs → translations/ru.json.mjs} +1 -1
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/{chunks/sk-BlLP5HAX.js → translations/sk.json.js} +2 -2
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/{chunks/sk-xtSwaPXq.mjs → translations/sk.json.mjs} +1 -1
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/{chunks/th-DNxPLegS.js → translations/th.json.js} +2 -2
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/{chunks/th-BOpLVfmg.mjs → translations/th.json.mjs} +1 -1
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/{chunks/tr-DWgXG75k.js → translations/tr.json.js} +2 -2
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/{chunks/tr-BmAPh-f1.mjs → translations/tr.json.mjs} +1 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-Cfm1dM3v.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-DPZD6U8g.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-Hans-B8qxMQIl.js → translations/zh-Hans.json.js} +2 -2
- package/dist/admin/{chunks/ca-Bi4qskZD.mjs.map → translations/zh-Hans.json.js.map} +1 -1
- package/dist/admin/{chunks/zh-Hans-B1GabBRx.mjs → translations/zh-Hans.json.mjs} +1 -1
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-MemsyMV6.js → translations/zh.json.js} +2 -2
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/{chunks/zh-BIl0qgBy.mjs → translations/zh.json.mjs} +1 -1
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/appendSearchParamsToUrl.js +17 -0
- package/dist/admin/utils/appendSearchParamsToUrl.js.map +1 -0
- package/dist/admin/utils/appendSearchParamsToUrl.mjs +15 -0
- package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +1 -0
- package/dist/admin/utils/containsAssetFilter.js +18 -0
- package/dist/admin/utils/containsAssetFilter.js.map +1 -0
- package/dist/admin/utils/containsAssetFilter.mjs +16 -0
- package/dist/admin/utils/containsAssetFilter.mjs.map +1 -0
- package/dist/admin/utils/createAssetUrl.js +14 -0
- package/dist/admin/utils/createAssetUrl.js.map +1 -0
- package/dist/admin/utils/createAssetUrl.mjs +12 -0
- package/dist/admin/utils/createAssetUrl.mjs.map +1 -0
- package/dist/admin/utils/displayedFilters.js +52 -0
- package/dist/admin/utils/displayedFilters.js.map +1 -0
- package/dist/admin/utils/displayedFilters.mjs +50 -0
- package/dist/admin/utils/displayedFilters.mjs.map +1 -0
- package/dist/admin/utils/downloadFile.js +13 -0
- package/dist/admin/utils/downloadFile.js.map +1 -0
- package/dist/admin/utils/downloadFile.mjs +11 -0
- package/dist/admin/utils/downloadFile.mjs.map +1 -0
- package/dist/admin/utils/findRecursiveFolderByValue.js +17 -0
- package/dist/admin/utils/findRecursiveFolderByValue.js.map +1 -0
- package/dist/admin/utils/findRecursiveFolderByValue.mjs +15 -0
- package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +1 -0
- package/dist/admin/utils/formatBytes.js +17 -0
- package/dist/admin/utils/formatBytes.js.map +1 -0
- package/dist/admin/utils/formatBytes.mjs +15 -0
- package/dist/admin/utils/formatBytes.mjs.map +1 -0
- package/dist/admin/utils/formatDuration.js +15 -0
- package/dist/admin/utils/formatDuration.js.map +1 -0
- package/dist/admin/utils/formatDuration.mjs +13 -0
- package/dist/admin/utils/formatDuration.mjs.map +1 -0
- package/dist/admin/utils/getAPIInnerErrors.js +26 -0
- package/dist/admin/utils/getAPIInnerErrors.js.map +1 -0
- package/dist/admin/utils/getAPIInnerErrors.mjs +24 -0
- package/dist/admin/utils/getAPIInnerErrors.mjs.map +1 -0
- package/dist/admin/utils/getAllowedFiles.js +25 -0
- package/dist/admin/utils/getAllowedFiles.js.map +1 -0
- package/dist/admin/utils/getAllowedFiles.mjs +23 -0
- package/dist/admin/utils/getAllowedFiles.mjs.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataCM.js +36 -0
- package/dist/admin/utils/getBreadcrumbDataCM.js.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataCM.mjs +34 -0
- package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataML.js +40 -0
- package/dist/admin/utils/getBreadcrumbDataML.js.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataML.mjs +38 -0
- package/dist/admin/utils/getBreadcrumbDataML.mjs.map +1 -0
- package/dist/admin/utils/getFileExtension.js +6 -0
- package/dist/admin/utils/getFileExtension.js.map +1 -0
- package/dist/admin/utils/getFileExtension.mjs +4 -0
- package/dist/admin/utils/getFileExtension.mjs.map +1 -0
- package/dist/admin/utils/getFolderParents.js +26 -0
- package/dist/admin/utils/getFolderParents.js.map +1 -0
- package/dist/admin/utils/getFolderParents.mjs +24 -0
- package/dist/admin/utils/getFolderParents.mjs.map +1 -0
- package/dist/admin/utils/getFolderURL.js +20 -0
- package/dist/admin/utils/getFolderURL.js.map +1 -0
- package/dist/admin/utils/getFolderURL.mjs +18 -0
- package/dist/admin/utils/getFolderURL.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/moveElement.js +16 -0
- package/dist/admin/utils/moveElement.js.map +1 -0
- package/dist/admin/utils/moveElement.mjs +14 -0
- package/dist/admin/utils/moveElement.mjs.map +1 -0
- package/dist/admin/utils/normalizeAPIError.js +55 -0
- package/dist/admin/utils/normalizeAPIError.js.map +1 -0
- package/dist/admin/utils/normalizeAPIError.mjs +53 -0
- package/dist/admin/utils/normalizeAPIError.mjs.map +1 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js +8 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs +6 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +14 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +12 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/admin/utils/rawFileToAsset.js +21 -0
- package/dist/admin/utils/rawFileToAsset.js.map +1 -0
- package/dist/admin/utils/rawFileToAsset.mjs +19 -0
- package/dist/admin/utils/rawFileToAsset.mjs.map +1 -0
- package/dist/admin/utils/toSingularTypes.js +11 -0
- package/dist/admin/utils/toSingularTypes.js.map +1 -0
- package/dist/admin/utils/toSingularTypes.mjs +9 -0
- package/dist/admin/utils/toSingularTypes.mjs.map +1 -0
- package/dist/admin/utils/typeFromMime.js +19 -0
- package/dist/admin/utils/typeFromMime.js.map +1 -0
- package/dist/admin/utils/typeFromMime.mjs +17 -0
- package/dist/admin/utils/typeFromMime.mjs.map +1 -0
- package/dist/admin/utils/urlYupSchema.js +72 -0
- package/dist/admin/utils/urlYupSchema.js.map +1 -0
- package/dist/admin/utils/urlYupSchema.mjs +51 -0
- package/dist/admin/utils/urlYupSchema.mjs.map +1 -0
- package/dist/admin/utils/urlsToAssets.js +39 -0
- package/dist/admin/utils/urlsToAssets.js.map +1 -0
- package/dist/admin/utils/urlsToAssets.mjs +37 -0
- package/dist/admin/utils/urlsToAssets.mjs.map +1 -0
- package/dist/server/bootstrap.js +98 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +96 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config.js +14 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +12 -0
- package/dist/server/config.mjs.map +1 -0
- package/dist/server/constants.js +35 -0
- package/dist/server/constants.js.map +1 -0
- package/dist/server/constants.mjs +28 -0
- package/dist/server/constants.mjs.map +1 -0
- package/dist/server/content-types/file.js +155 -0
- package/dist/server/content-types/file.js.map +1 -0
- package/dist/server/content-types/file.mjs +153 -0
- package/dist/server/content-types/file.mjs.map +1 -0
- package/dist/server/content-types/folder.js +78 -0
- package/dist/server/content-types/folder.js.map +1 -0
- package/dist/server/content-types/folder.mjs +76 -0
- package/dist/server/content-types/folder.mjs.map +1 -0
- package/dist/server/content-types/index.js +12 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +10 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/controllers/admin-file.js +61 -0
- package/dist/server/controllers/admin-file.js.map +1 -0
- package/dist/server/controllers/admin-file.mjs +59 -0
- package/dist/server/controllers/admin-file.mjs.map +1 -0
- package/dist/server/controllers/admin-folder-file.js +189 -0
- package/dist/server/controllers/admin-folder-file.js.map +1 -0
- package/dist/server/controllers/admin-folder-file.mjs +187 -0
- package/dist/server/controllers/admin-folder-file.mjs.map +1 -0
- package/dist/server/controllers/admin-folder.js +104 -0
- package/dist/server/controllers/admin-folder.js.map +1 -0
- package/dist/server/controllers/admin-folder.mjs +102 -0
- package/dist/server/controllers/admin-folder.mjs.map +1 -0
- package/dist/server/controllers/admin-settings.js +32 -0
- package/dist/server/controllers/admin-settings.js.map +1 -0
- package/dist/server/controllers/admin-settings.mjs +30 -0
- package/dist/server/controllers/admin-settings.mjs.map +1 -0
- package/dist/server/controllers/admin-upload.js +88 -0
- package/dist/server/controllers/admin-upload.js.map +1 -0
- package/dist/server/controllers/admin-upload.mjs +86 -0
- package/dist/server/controllers/admin-upload.mjs.map +1 -0
- package/dist/server/controllers/content-api.js +122 -0
- package/dist/server/controllers/content-api.js.map +1 -0
- package/dist/server/controllers/content-api.mjs +120 -0
- package/dist/server/controllers/content-api.mjs.map +1 -0
- package/dist/server/controllers/index.js +22 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +20 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js +38 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs +36 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs.map +1 -0
- package/dist/server/controllers/utils/folders.js +6 -0
- package/dist/server/controllers/utils/folders.js.map +1 -0
- package/dist/server/controllers/utils/folders.mjs +4 -0
- package/dist/server/controllers/utils/folders.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/configureView.js +13 -0
- package/dist/server/controllers/validation/admin/configureView.js.map +1 -0
- package/dist/server/controllers/validation/admin/configureView.mjs +11 -0
- package/dist/server/controllers/validation/admin/configureView.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/folder-file.js +88 -0
- package/dist/server/controllers/validation/admin/folder-file.js.map +1 -0
- package/dist/server/controllers/validation/admin/folder-file.mjs +85 -0
- package/dist/server/controllers/validation/admin/folder-file.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/folder.js +69 -0
- package/dist/server/controllers/validation/admin/folder.js.map +1 -0
- package/dist/server/controllers/validation/admin/folder.mjs +66 -0
- package/dist/server/controllers/validation/admin/folder.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/settings.js +13 -0
- package/dist/server/controllers/validation/admin/settings.js.map +1 -0
- package/dist/server/controllers/validation/admin/settings.mjs +11 -0
- package/dist/server/controllers/validation/admin/settings.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/upload.js +35 -0
- package/dist/server/controllers/validation/admin/upload.js.map +1 -0
- package/dist/server/controllers/validation/admin/upload.mjs +33 -0
- package/dist/server/controllers/validation/admin/upload.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/utils.js +17 -0
- package/dist/server/controllers/validation/admin/utils.js.map +1 -0
- package/dist/server/controllers/validation/admin/utils.mjs +15 -0
- package/dist/server/controllers/validation/admin/utils.mjs.map +1 -0
- package/dist/server/controllers/validation/content-api/upload.js +24 -0
- package/dist/server/controllers/validation/content-api/upload.js.map +1 -0
- package/dist/server/controllers/validation/content-api/upload.mjs +22 -0
- package/dist/server/controllers/validation/content-api/upload.mjs.map +1 -0
- package/dist/server/controllers/view-configuration.js +28 -0
- package/dist/server/controllers/view-configuration.js.map +1 -0
- package/dist/server/controllers/view-configuration.mjs +26 -0
- package/dist/server/controllers/view-configuration.mjs.map +1 -0
- package/dist/server/documentation/content-api.json.js +290 -0
- package/dist/server/documentation/content-api.json.js.map +1 -0
- package/dist/server/documentation/content-api.json.mjs +284 -0
- package/dist/server/documentation/content-api.json.mjs.map +1 -0
- package/dist/server/{chunks/graphql-CwNPX8zo.js → graphql.js} +3 -16
- package/dist/server/graphql.js.map +1 -0
- package/dist/server/{chunks/graphql-K9HaGS9d.mjs → graphql.mjs} +2 -15
- package/dist/server/graphql.mjs.map +1 -0
- package/dist/server/index.js +17 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +19 -14
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/upload.js +38 -0
- package/dist/server/middlewares/upload.js.map +1 -0
- package/dist/server/middlewares/upload.mjs +36 -0
- package/dist/server/middlewares/upload.mjs.map +1 -0
- package/dist/server/register.js +88 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +86 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +236 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +234 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/content-api.js +30 -0
- package/dist/server/routes/content-api.js.map +1 -0
- package/dist/server/routes/content-api.mjs +28 -0
- package/dist/server/routes/content-api.mjs.map +1 -0
- package/dist/server/routes/index.js +14 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +12 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/routes/view-configuration.js +40 -0
- package/dist/server/routes/view-configuration.js.map +1 -0
- package/dist/server/routes/view-configuration.mjs +38 -0
- package/dist/server/routes/view-configuration.mjs.map +1 -0
- package/dist/server/services/api-upload-folder.js +52 -0
- package/dist/server/services/api-upload-folder.js.map +1 -0
- package/dist/server/services/api-upload-folder.mjs +50 -0
- package/dist/server/services/api-upload-folder.mjs.map +1 -0
- package/dist/server/services/extensions/index.js +40 -0
- package/dist/server/services/extensions/index.js.map +1 -0
- package/dist/server/services/extensions/index.mjs +38 -0
- package/dist/server/services/extensions/index.mjs.map +1 -0
- package/dist/server/services/extensions/utils.js +53 -0
- package/dist/server/services/extensions/utils.js.map +1 -0
- package/dist/server/services/extensions/utils.mjs +51 -0
- package/dist/server/services/extensions/utils.mjs.map +1 -0
- package/dist/server/services/file.js +57 -0
- package/dist/server/services/file.js.map +1 -0
- package/dist/server/services/file.mjs +55 -0
- package/dist/server/services/file.mjs.map +1 -0
- package/dist/server/services/folder.js +275 -0
- package/dist/server/services/folder.js.map +1 -0
- package/dist/server/services/folder.mjs +273 -0
- package/dist/server/services/folder.mjs.map +1 -0
- package/dist/server/services/image-manipulation.js +255 -0
- package/dist/server/services/image-manipulation.js.map +1 -0
- package/dist/server/services/image-manipulation.mjs +253 -0
- package/dist/server/services/image-manipulation.mjs.map +1 -0
- package/dist/server/services/index.js +26 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +24 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics.js +19 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/metrics.mjs +17 -0
- package/dist/server/services/metrics.mjs.map +1 -0
- package/dist/server/services/provider.js +33 -0
- package/dist/server/services/provider.js.map +1 -0
- package/dist/server/services/provider.mjs +31 -0
- package/dist/server/services/provider.mjs.map +1 -0
- package/dist/server/services/upload.js +445 -0
- package/dist/server/services/upload.js.map +1 -0
- package/dist/server/services/upload.mjs +443 -0
- package/dist/server/services/upload.mjs.map +1 -0
- package/dist/server/services/weekly-metrics.js +127 -0
- package/dist/server/services/weekly-metrics.js.map +1 -0
- package/dist/server/services/weekly-metrics.mjs +125 -0
- package/dist/server/services/weekly-metrics.mjs.map +1 -0
- package/dist/server/utils/cron.js +6 -0
- package/dist/server/utils/cron.js.map +1 -0
- package/dist/server/utils/cron.mjs +4 -0
- package/dist/server/utils/cron.mjs.map +1 -0
- package/dist/server/utils/index.js +8 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +6 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/package.json +5 -5
- package/dist/admin/chunks/App-G8sLZSN0.js +0 -993
- package/dist/admin/chunks/App-G8sLZSN0.js.map +0 -1
- package/dist/admin/chunks/App-h5xGw9X8.mjs +0 -972
- package/dist/admin/chunks/App-h5xGw9X8.mjs.map +0 -1
- package/dist/admin/chunks/ConfigureTheView-CO72K73d.mjs +0 -276
- package/dist/admin/chunks/ConfigureTheView-CO72K73d.mjs.map +0 -1
- package/dist/admin/chunks/ConfigureTheView-D9XLMDtA.js +0 -297
- package/dist/admin/chunks/ConfigureTheView-D9XLMDtA.js.map +0 -1
- package/dist/admin/chunks/SettingsPage-DcdF16oj.js.map +0 -1
- package/dist/admin/chunks/SettingsPage-kY2dZHnP.mjs.map +0 -1
- package/dist/admin/chunks/ca-pCOhKIn8.js.map +0 -1
- package/dist/admin/chunks/de-BlbX8Dl_.mjs.map +0 -1
- package/dist/admin/chunks/de-DUjKLmOP.js.map +0 -1
- package/dist/admin/chunks/dk-C2ydE6A7.mjs.map +0 -1
- package/dist/admin/chunks/dk-DSsspA0e.js.map +0 -1
- package/dist/admin/chunks/en-Bw_Cb2IV.mjs.map +0 -1
- package/dist/admin/chunks/en-UjETkewz.js.map +0 -1
- package/dist/admin/chunks/es-CiEgbw0k.mjs.map +0 -1
- package/dist/admin/chunks/es-qAL8YcZz.js.map +0 -1
- package/dist/admin/chunks/fr-BL0Uyj6j.js.map +0 -1
- package/dist/admin/chunks/fr-CwRt2FJu.mjs.map +0 -1
- package/dist/admin/chunks/he-BAmhVpfZ.js.map +0 -1
- package/dist/admin/chunks/he-DdpYNQdt.mjs.map +0 -1
- package/dist/admin/chunks/index-BUqiOq3Y.mjs +0 -7349
- package/dist/admin/chunks/index-BUqiOq3Y.mjs.map +0 -1
- package/dist/admin/chunks/index-DDQjAhM2.js +0 -7406
- package/dist/admin/chunks/index-DDQjAhM2.js.map +0 -1
- package/dist/admin/chunks/it-Be4kgSNB.mjs.map +0 -1
- package/dist/admin/chunks/it-_NQZYepl.js.map +0 -1
- package/dist/admin/chunks/ja-B75QiyXf.js.map +0 -1
- package/dist/admin/chunks/ja-U1NhT0bU.mjs.map +0 -1
- package/dist/admin/chunks/ko-BOvUcJqv.js.map +0 -1
- package/dist/admin/chunks/ko-BciqXefq.mjs.map +0 -1
- package/dist/admin/chunks/ms-B7Zl6Lm9.js.map +0 -1
- package/dist/admin/chunks/ms-D-8McNeg.mjs.map +0 -1
- package/dist/admin/chunks/pl-DdUYocl5.mjs.map +0 -1
- package/dist/admin/chunks/pl-cYDYHOEf.js.map +0 -1
- package/dist/admin/chunks/pt-BR-D1u_azCM.js.map +0 -1
- package/dist/admin/chunks/pt-BR-Demjoq41.mjs.map +0 -1
- package/dist/admin/chunks/pt-D8is2LpS.mjs.map +0 -1
- package/dist/admin/chunks/pt-L2DZeTPL.js.map +0 -1
- package/dist/admin/chunks/ru-CGgHRTey.mjs.map +0 -1
- package/dist/admin/chunks/ru-Uxbk_WWv.js.map +0 -1
- package/dist/admin/chunks/sk-BlLP5HAX.js.map +0 -1
- package/dist/admin/chunks/sk-xtSwaPXq.mjs.map +0 -1
- package/dist/admin/chunks/th-BOpLVfmg.mjs.map +0 -1
- package/dist/admin/chunks/th-DNxPLegS.js.map +0 -1
- package/dist/admin/chunks/tr-BmAPh-f1.mjs.map +0 -1
- package/dist/admin/chunks/tr-DWgXG75k.js.map +0 -1
- package/dist/admin/chunks/uk-Cfm1dM3v.js.map +0 -1
- package/dist/admin/chunks/uk-DPZD6U8g.mjs.map +0 -1
- package/dist/admin/chunks/zh-BIl0qgBy.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-B1GabBRx.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-B8qxMQIl.js.map +0 -1
- package/dist/admin/chunks/zh-MemsyMV6.js.map +0 -1
- package/dist/server/chunks/graphql-CwNPX8zo.js.map +0 -1
- package/dist/server/chunks/graphql-K9HaGS9d.mjs.map +0 -1
- package/dist/server/chunks/index-BzVus140.mjs +0 -3161
- package/dist/server/chunks/index-BzVus140.mjs.map +0 -1
- package/dist/server/chunks/index-D2QOphAI.js +0 -3164
- package/dist/server/chunks/index-D2QOphAI.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-folder.js","sources":["../../../server/src/controllers/admin-folder.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\n\nimport type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { FOLDER_MODEL_UID } from '../constants';\nimport { validateCreateFolder, validateUpdateFolder } from './validation/admin/folder';\n\nexport default {\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await permissionsManager.validateQuery(ctx.query);\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n const { results } = await strapi.db.query(FOLDER_MODEL_UID).findPage(\n strapi.get('query-params').transform(\n FOLDER_MODEL_UID,\n defaultsDeep(\n {\n filters: { id },\n populate: {\n children: {\n count: true,\n },\n files: {\n count: true,\n },\n },\n },\n query\n )\n )\n );\n\n if (results.length === 0) {\n return ctx.notFound('folder not found');\n }\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(results[0]),\n };\n },\n\n async find(ctx: Context) {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await permissionsManager.validateQuery(ctx.query);\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n const results = await strapi.db.query(FOLDER_MODEL_UID).findMany(\n strapi.get('query-params').transform(\n FOLDER_MODEL_UID,\n defaultsDeep(\n {\n populate: {\n children: {\n count: true,\n },\n files: {\n count: true,\n },\n },\n },\n query\n )\n )\n );\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(results),\n };\n },\n async create(ctx: Context) {\n const { user } = ctx.state;\n const { body } = ctx.request;\n\n await validateCreateFolder(body);\n\n const folderService = getService('folder');\n\n const folder = await folderService.create(body, { user });\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n ctx.created({\n data: await permissionsManager.sanitizeOutput(folder),\n });\n },\n\n async update(ctx: Context) {\n const { id } = ctx.params;\n const { user } = ctx.state;\n const { body } = ctx.request;\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await validateUpdateFolder(id)(body);\n\n const folderService = getService('folder');\n\n const updatedFolder = await folderService.update(id, body, { user });\n\n if (!updatedFolder) {\n return ctx.notFound('folder not found');\n }\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(updatedFolder),\n };\n },\n\n async getStructure(ctx: Context) {\n const { getStructure } = getService('folder');\n\n const structure = await getStructure();\n\n ctx.body = {\n data: structure,\n };\n },\n};\n"],"names":["findOne","ctx","id","params","permissionsManager","strapi","service","createPermissionsManager","ability","state","userAbility","model","FOLDER_MODEL_UID","validateQuery","query","sanitizeQuery","results","db","findPage","get","transform","defaultsDeep","filters","populate","children","count","files","length","notFound","body","data","sanitizeOutput","find","findMany","create","user","request","validateCreateFolder","folderService","getService","folder","created","update","validateUpdateFolder","updatedFolder","getStructure","structure"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { defaultsDeep } from 'lodash/fp';
|
|
2
|
+
import { getService } from '../utils/index.mjs';
|
|
3
|
+
import { FOLDER_MODEL_UID } from '../constants.mjs';
|
|
4
|
+
import { validateCreateFolder, validateUpdateFolder } from './validation/admin/folder.mjs';
|
|
5
|
+
|
|
6
|
+
var adminFolder = {
|
|
7
|
+
async findOne (ctx) {
|
|
8
|
+
const { id } = ctx.params;
|
|
9
|
+
const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
|
|
10
|
+
ability: ctx.state.userAbility,
|
|
11
|
+
model: FOLDER_MODEL_UID
|
|
12
|
+
});
|
|
13
|
+
await permissionsManager.validateQuery(ctx.query);
|
|
14
|
+
const query = await permissionsManager.sanitizeQuery(ctx.query);
|
|
15
|
+
const { results } = await strapi.db.query(FOLDER_MODEL_UID).findPage(strapi.get('query-params').transform(FOLDER_MODEL_UID, defaultsDeep({
|
|
16
|
+
filters: {
|
|
17
|
+
id
|
|
18
|
+
},
|
|
19
|
+
populate: {
|
|
20
|
+
children: {
|
|
21
|
+
count: true
|
|
22
|
+
},
|
|
23
|
+
files: {
|
|
24
|
+
count: true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}, query)));
|
|
28
|
+
if (results.length === 0) {
|
|
29
|
+
return ctx.notFound('folder not found');
|
|
30
|
+
}
|
|
31
|
+
ctx.body = {
|
|
32
|
+
data: await permissionsManager.sanitizeOutput(results[0])
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
async find (ctx) {
|
|
36
|
+
const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
|
|
37
|
+
ability: ctx.state.userAbility,
|
|
38
|
+
model: FOLDER_MODEL_UID
|
|
39
|
+
});
|
|
40
|
+
await permissionsManager.validateQuery(ctx.query);
|
|
41
|
+
const query = await permissionsManager.sanitizeQuery(ctx.query);
|
|
42
|
+
const results = await strapi.db.query(FOLDER_MODEL_UID).findMany(strapi.get('query-params').transform(FOLDER_MODEL_UID, defaultsDeep({
|
|
43
|
+
populate: {
|
|
44
|
+
children: {
|
|
45
|
+
count: true
|
|
46
|
+
},
|
|
47
|
+
files: {
|
|
48
|
+
count: true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, query)));
|
|
52
|
+
ctx.body = {
|
|
53
|
+
data: await permissionsManager.sanitizeOutput(results)
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
async create (ctx) {
|
|
57
|
+
const { user } = ctx.state;
|
|
58
|
+
const { body } = ctx.request;
|
|
59
|
+
await validateCreateFolder(body);
|
|
60
|
+
const folderService = getService('folder');
|
|
61
|
+
const folder = await folderService.create(body, {
|
|
62
|
+
user
|
|
63
|
+
});
|
|
64
|
+
const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
|
|
65
|
+
ability: ctx.state.userAbility,
|
|
66
|
+
model: FOLDER_MODEL_UID
|
|
67
|
+
});
|
|
68
|
+
ctx.created({
|
|
69
|
+
data: await permissionsManager.sanitizeOutput(folder)
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
async update (ctx) {
|
|
73
|
+
const { id } = ctx.params;
|
|
74
|
+
const { user } = ctx.state;
|
|
75
|
+
const { body } = ctx.request;
|
|
76
|
+
const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
|
|
77
|
+
ability: ctx.state.userAbility,
|
|
78
|
+
model: FOLDER_MODEL_UID
|
|
79
|
+
});
|
|
80
|
+
await validateUpdateFolder(id)(body);
|
|
81
|
+
const folderService = getService('folder');
|
|
82
|
+
const updatedFolder = await folderService.update(id, body, {
|
|
83
|
+
user
|
|
84
|
+
});
|
|
85
|
+
if (!updatedFolder) {
|
|
86
|
+
return ctx.notFound('folder not found');
|
|
87
|
+
}
|
|
88
|
+
ctx.body = {
|
|
89
|
+
data: await permissionsManager.sanitizeOutput(updatedFolder)
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
async getStructure (ctx) {
|
|
93
|
+
const { getStructure } = getService('folder');
|
|
94
|
+
const structure = await getStructure();
|
|
95
|
+
ctx.body = {
|
|
96
|
+
data: structure
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export { adminFolder as default };
|
|
102
|
+
//# sourceMappingURL=admin-folder.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-folder.mjs","sources":["../../../server/src/controllers/admin-folder.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\n\nimport type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { FOLDER_MODEL_UID } from '../constants';\nimport { validateCreateFolder, validateUpdateFolder } from './validation/admin/folder';\n\nexport default {\n async findOne(ctx: Context) {\n const { id } = ctx.params;\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await permissionsManager.validateQuery(ctx.query);\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n const { results } = await strapi.db.query(FOLDER_MODEL_UID).findPage(\n strapi.get('query-params').transform(\n FOLDER_MODEL_UID,\n defaultsDeep(\n {\n filters: { id },\n populate: {\n children: {\n count: true,\n },\n files: {\n count: true,\n },\n },\n },\n query\n )\n )\n );\n\n if (results.length === 0) {\n return ctx.notFound('folder not found');\n }\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(results[0]),\n };\n },\n\n async find(ctx: Context) {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await permissionsManager.validateQuery(ctx.query);\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n const results = await strapi.db.query(FOLDER_MODEL_UID).findMany(\n strapi.get('query-params').transform(\n FOLDER_MODEL_UID,\n defaultsDeep(\n {\n populate: {\n children: {\n count: true,\n },\n files: {\n count: true,\n },\n },\n },\n query\n )\n )\n );\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(results),\n };\n },\n async create(ctx: Context) {\n const { user } = ctx.state;\n const { body } = ctx.request;\n\n await validateCreateFolder(body);\n\n const folderService = getService('folder');\n\n const folder = await folderService.create(body, { user });\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n ctx.created({\n data: await permissionsManager.sanitizeOutput(folder),\n });\n },\n\n async update(ctx: Context) {\n const { id } = ctx.params;\n const { user } = ctx.state;\n const { body } = ctx.request;\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: FOLDER_MODEL_UID,\n });\n\n await validateUpdateFolder(id)(body);\n\n const folderService = getService('folder');\n\n const updatedFolder = await folderService.update(id, body, { user });\n\n if (!updatedFolder) {\n return ctx.notFound('folder not found');\n }\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(updatedFolder),\n };\n },\n\n async getStructure(ctx: Context) {\n const { getStructure } = getService('folder');\n\n const structure = await getStructure();\n\n ctx.body = {\n data: structure,\n };\n },\n};\n"],"names":["findOne","ctx","id","params","permissionsManager","strapi","service","createPermissionsManager","ability","state","userAbility","model","FOLDER_MODEL_UID","validateQuery","query","sanitizeQuery","results","db","findPage","get","transform","defaultsDeep","filters","populate","children","count","files","length","notFound","body","data","sanitizeOutput","find","findMany","create","user","request","validateCreateFolder","folderService","getService","folder","created","update","validateUpdateFolder","updatedFolder","getStructure","structure"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('../utils/index.js');
|
|
4
|
+
var constants = require('../constants.js');
|
|
5
|
+
var settings = require('./validation/admin/settings.js');
|
|
6
|
+
|
|
7
|
+
var adminSettings = {
|
|
8
|
+
async updateSettings (ctx) {
|
|
9
|
+
const { request: { body }, state: { userAbility } } = ctx;
|
|
10
|
+
if (userAbility.cannot(constants.ACTIONS.readSettings, constants.FILE_MODEL_UID)) {
|
|
11
|
+
return ctx.forbidden();
|
|
12
|
+
}
|
|
13
|
+
const data = await settings(body);
|
|
14
|
+
await index.getService('upload').setSettings(data);
|
|
15
|
+
ctx.body = {
|
|
16
|
+
data
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
async getSettings (ctx) {
|
|
20
|
+
const { state: { userAbility } } = ctx;
|
|
21
|
+
if (userAbility.cannot(constants.ACTIONS.readSettings, constants.FILE_MODEL_UID)) {
|
|
22
|
+
return ctx.forbidden();
|
|
23
|
+
}
|
|
24
|
+
const data = await index.getService('upload').getSettings();
|
|
25
|
+
ctx.body = {
|
|
26
|
+
data
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
module.exports = adminSettings;
|
|
32
|
+
//# sourceMappingURL=admin-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-settings.js","sources":["../../../server/src/controllers/admin-settings.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { ACTIONS, FILE_MODEL_UID } from '../constants';\nimport validateSettings from './validation/admin/settings';\n\nexport default {\n async updateSettings(ctx: Context) {\n const {\n request: { body },\n state: { userAbility },\n } = ctx;\n\n if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n return ctx.forbidden();\n }\n\n const data = await validateSettings(body);\n\n await getService('upload').setSettings(data);\n\n ctx.body = { data };\n },\n\n async getSettings(ctx: Context) {\n const {\n state: { userAbility },\n } = ctx;\n\n if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n return ctx.forbidden();\n }\n\n const data = await getService('upload').getSettings();\n\n ctx.body = { data };\n },\n};\n"],"names":["updateSettings","ctx","request","body","state","userAbility","cannot","ACTIONS","readSettings","FILE_MODEL_UID","forbidden","data","validateSettings","getService","setSettings","getSettings"],"mappings":";;;;;;AAMA,oBAAe;AACb,IAAA,MAAMA,gBAAeC,GAAY,EAAA;QAC/B,MAAM,EACJC,OAAS,EAAA,EAAEC,IAAI,EAAE,EACjBC,KAAAA,EAAO,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,iBAAQC,CAAAA,YAAY,EAAEC,wBAAiB,CAAA,EAAA;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB;QAEA,MAAMC,IAAAA,GAAO,MAAMC,QAAiBT,CAAAA,IAAAA,CAAAA;QAEpC,MAAMU,gBAAAA,CAAW,QAAUC,CAAAA,CAAAA,WAAW,CAACH,IAAAA,CAAAA;AAEvCV,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB,KAAA;AAEA,IAAA,MAAMI,aAAYd,GAAY,EAAA;AAC5B,QAAA,MAAM,EACJG,KAAO,EAAA,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,iBAAQC,CAAAA,YAAY,EAAEC,wBAAiB,CAAA,EAAA;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB;AAEA,QAAA,MAAMC,IAAO,GAAA,MAAME,gBAAW,CAAA,QAAA,CAAA,CAAUE,WAAW,EAAA;AAEnDd,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getService } from '../utils/index.mjs';
|
|
2
|
+
import { ACTIONS, FILE_MODEL_UID } from '../constants.mjs';
|
|
3
|
+
import validateSettings from './validation/admin/settings.mjs';
|
|
4
|
+
|
|
5
|
+
var adminSettings = {
|
|
6
|
+
async updateSettings (ctx) {
|
|
7
|
+
const { request: { body }, state: { userAbility } } = ctx;
|
|
8
|
+
if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {
|
|
9
|
+
return ctx.forbidden();
|
|
10
|
+
}
|
|
11
|
+
const data = await validateSettings(body);
|
|
12
|
+
await getService('upload').setSettings(data);
|
|
13
|
+
ctx.body = {
|
|
14
|
+
data
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
async getSettings (ctx) {
|
|
18
|
+
const { state: { userAbility } } = ctx;
|
|
19
|
+
if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {
|
|
20
|
+
return ctx.forbidden();
|
|
21
|
+
}
|
|
22
|
+
const data = await getService('upload').getSettings();
|
|
23
|
+
ctx.body = {
|
|
24
|
+
data
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { adminSettings as default };
|
|
30
|
+
//# sourceMappingURL=admin-settings.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-settings.mjs","sources":["../../../server/src/controllers/admin-settings.ts"],"sourcesContent":["import type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { ACTIONS, FILE_MODEL_UID } from '../constants';\nimport validateSettings from './validation/admin/settings';\n\nexport default {\n async updateSettings(ctx: Context) {\n const {\n request: { body },\n state: { userAbility },\n } = ctx;\n\n if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n return ctx.forbidden();\n }\n\n const data = await validateSettings(body);\n\n await getService('upload').setSettings(data);\n\n ctx.body = { data };\n },\n\n async getSettings(ctx: Context) {\n const {\n state: { userAbility },\n } = ctx;\n\n if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {\n return ctx.forbidden();\n }\n\n const data = await getService('upload').getSettings();\n\n ctx.body = { data };\n },\n};\n"],"names":["updateSettings","ctx","request","body","state","userAbility","cannot","ACTIONS","readSettings","FILE_MODEL_UID","forbidden","data","validateSettings","getService","setSettings","getSettings"],"mappings":";;;;AAMA,oBAAe;AACb,IAAA,MAAMA,gBAAeC,GAAY,EAAA;QAC/B,MAAM,EACJC,OAAS,EAAA,EAAEC,IAAI,EAAE,EACjBC,KAAAA,EAAO,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,OAAQC,CAAAA,YAAY,EAAEC,cAAiB,CAAA,EAAA;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB;QAEA,MAAMC,IAAAA,GAAO,MAAMC,gBAAiBT,CAAAA,IAAAA,CAAAA;QAEpC,MAAMU,UAAAA,CAAW,QAAUC,CAAAA,CAAAA,WAAW,CAACH,IAAAA,CAAAA;AAEvCV,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB,KAAA;AAEA,IAAA,MAAMI,aAAYd,GAAY,EAAA;AAC5B,QAAA,MAAM,EACJG,KAAO,EAAA,EAAEC,WAAW,EAAE,EACvB,GAAGJ,GAAAA;AAEJ,QAAA,IAAII,YAAYC,MAAM,CAACC,OAAQC,CAAAA,YAAY,EAAEC,cAAiB,CAAA,EAAA;AAC5D,YAAA,OAAOR,IAAIS,SAAS,EAAA;AACtB;AAEA,QAAA,MAAMC,IAAO,GAAA,MAAME,UAAW,CAAA,QAAA,CAAA,CAAUE,WAAW,EAAA;AAEnDd,QAAAA,GAAAA,CAAIE,IAAI,GAAG;AAAEQ,YAAAA;AAAK,SAAA;AACpB;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _ = require('lodash');
|
|
4
|
+
var utils = require('@strapi/utils');
|
|
5
|
+
var index = require('../utils/index.js');
|
|
6
|
+
var constants = require('../constants.js');
|
|
7
|
+
var upload = require('./validation/admin/upload.js');
|
|
8
|
+
var findEntityAndCheckPermissions = require('./utils/find-entity-and-check-permissions.js');
|
|
9
|
+
|
|
10
|
+
var adminUpload = {
|
|
11
|
+
async updateFileInfo (ctx) {
|
|
12
|
+
const { state: { userAbility, user }, query: { id }, request: { body } } = ctx;
|
|
13
|
+
if (typeof id !== 'string') {
|
|
14
|
+
throw new utils.errors.ValidationError('File id is required');
|
|
15
|
+
}
|
|
16
|
+
const uploadService = index.getService('upload');
|
|
17
|
+
const { pm } = await findEntityAndCheckPermissions.findEntityAndCheckPermissions(userAbility, constants.ACTIONS.update, constants.FILE_MODEL_UID, id);
|
|
18
|
+
const data = await upload.validateUploadBody(body);
|
|
19
|
+
const file = await uploadService.updateFileInfo(id, data.fileInfo, {
|
|
20
|
+
user
|
|
21
|
+
});
|
|
22
|
+
ctx.body = await pm.sanitizeOutput(file, {
|
|
23
|
+
action: constants.ACTIONS.read
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
async replaceFile (ctx) {
|
|
27
|
+
const { state: { userAbility, user }, query: { id }, request: { body, files: { files } = {} } } = ctx;
|
|
28
|
+
if (typeof id !== 'string') {
|
|
29
|
+
throw new utils.errors.ValidationError('File id is required');
|
|
30
|
+
}
|
|
31
|
+
const uploadService = index.getService('upload');
|
|
32
|
+
const { pm } = await findEntityAndCheckPermissions.findEntityAndCheckPermissions(userAbility, constants.ACTIONS.update, constants.FILE_MODEL_UID, id);
|
|
33
|
+
if (Array.isArray(files)) {
|
|
34
|
+
throw new utils.errors.ApplicationError('Cannot replace a file with multiple ones');
|
|
35
|
+
}
|
|
36
|
+
const data = await upload.validateUploadBody(body);
|
|
37
|
+
const replacedFile = await uploadService.replace(id, {
|
|
38
|
+
data,
|
|
39
|
+
file: files
|
|
40
|
+
}, {
|
|
41
|
+
user
|
|
42
|
+
});
|
|
43
|
+
// Sign file urls for private providers
|
|
44
|
+
const signedFile = await index.getService('file').signFileUrls(replacedFile);
|
|
45
|
+
ctx.body = await pm.sanitizeOutput(signedFile, {
|
|
46
|
+
action: constants.ACTIONS.read
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
async uploadFiles (ctx) {
|
|
50
|
+
const { state: { userAbility, user }, request: { body, files: { files } = {} } } = ctx;
|
|
51
|
+
const uploadService = index.getService('upload');
|
|
52
|
+
const pm = strapi.service('admin::permission').createPermissionsManager({
|
|
53
|
+
ability: userAbility,
|
|
54
|
+
action: constants.ACTIONS.create,
|
|
55
|
+
model: constants.FILE_MODEL_UID
|
|
56
|
+
});
|
|
57
|
+
if (!pm.isAllowed) {
|
|
58
|
+
return ctx.forbidden();
|
|
59
|
+
}
|
|
60
|
+
const data = await upload.validateUploadBody(body);
|
|
61
|
+
const uploadedFiles = await uploadService.upload({
|
|
62
|
+
data,
|
|
63
|
+
files
|
|
64
|
+
}, {
|
|
65
|
+
user
|
|
66
|
+
});
|
|
67
|
+
// Sign file urls for private providers
|
|
68
|
+
const signedFiles = await utils.async.map(uploadedFiles, index.getService('file').signFileUrls);
|
|
69
|
+
ctx.body = await pm.sanitizeOutput(signedFiles, {
|
|
70
|
+
action: constants.ACTIONS.read
|
|
71
|
+
});
|
|
72
|
+
ctx.status = 201;
|
|
73
|
+
},
|
|
74
|
+
// TODO: split into multiple endpoints
|
|
75
|
+
async upload (ctx) {
|
|
76
|
+
const { query: { id }, request: { files: { files } = {} } } = ctx;
|
|
77
|
+
if (_.isEmpty(files) || !Array.isArray(files) && files.size === 0) {
|
|
78
|
+
if (id) {
|
|
79
|
+
return this.updateFileInfo(ctx);
|
|
80
|
+
}
|
|
81
|
+
throw new utils.errors.ApplicationError('Files are empty');
|
|
82
|
+
}
|
|
83
|
+
await (id ? this.replaceFile : this.uploadFiles)(ctx);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
module.exports = adminUpload;
|
|
88
|
+
//# sourceMappingURL=admin-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-upload.js","sources":["../../../server/src/controllers/admin-upload.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors, async } from '@strapi/utils';\n\nimport type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { ACTIONS, FILE_MODEL_UID } from '../constants';\nimport { validateUploadBody } from './validation/admin/upload';\nimport { findEntityAndCheckPermissions } from './utils/find-entity-and-check-permissions';\nimport { FileInfo } from '../types';\n\nexport default {\n async updateFileInfo(ctx: Context) {\n const {\n state: { userAbility, user },\n query: { id },\n request: { body },\n } = ctx;\n\n if (typeof id !== 'string') {\n throw new errors.ValidationError('File id is required');\n }\n\n const uploadService = getService('upload');\n const { pm } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.update,\n FILE_MODEL_UID,\n id\n );\n\n const data = await validateUploadBody(body);\n\n const file = await uploadService.updateFileInfo(id, data.fileInfo as any, { user });\n\n ctx.body = await pm.sanitizeOutput(file, { action: ACTIONS.read });\n },\n\n async replaceFile(ctx: Context) {\n const {\n state: { userAbility, user },\n query: { id },\n request: { body, files: { files } = {} },\n } = ctx;\n\n if (typeof id !== 'string') {\n throw new errors.ValidationError('File id is required');\n }\n\n const uploadService = getService('upload');\n const { pm } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.update,\n FILE_MODEL_UID,\n id\n );\n\n if (Array.isArray(files)) {\n throw new errors.ApplicationError('Cannot replace a file with multiple ones');\n }\n\n const data = (await validateUploadBody(body)) as { fileInfo: FileInfo };\n const replacedFile = await uploadService.replace(id, { data, file: files }, { user });\n\n // Sign file urls for private providers\n const signedFile = await getService('file').signFileUrls(replacedFile);\n\n ctx.body = await pm.sanitizeOutput(signedFile, { action: ACTIONS.read });\n },\n\n async uploadFiles(ctx: Context) {\n const {\n state: { userAbility, user },\n request: { body, files: { files } = {} },\n } = ctx;\n\n const uploadService = getService('upload');\n const pm = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n action: ACTIONS.create,\n model: FILE_MODEL_UID,\n });\n\n if (!pm.isAllowed) {\n return ctx.forbidden();\n }\n\n const data = await validateUploadBody(body);\n const uploadedFiles = await uploadService.upload({ data, files }, { user });\n\n // Sign file urls for private providers\n const signedFiles = await async.map(uploadedFiles, getService('file').signFileUrls);\n\n ctx.body = await pm.sanitizeOutput(signedFiles, { action: ACTIONS.read });\n ctx.status = 201;\n },\n\n // TODO: split into multiple endpoints\n async upload(ctx: Context) {\n const {\n query: { id },\n request: { files: { files } = {} },\n } = ctx;\n\n if (_.isEmpty(files) || (!Array.isArray(files) && files.size === 0)) {\n if (id) {\n return this.updateFileInfo(ctx);\n }\n\n throw new errors.ApplicationError('Files are empty');\n }\n\n await (id ? this.replaceFile : this.uploadFiles)(ctx);\n },\n};\n"],"names":["updateFileInfo","ctx","state","userAbility","user","query","id","request","body","errors","ValidationError","uploadService","getService","pm","findEntityAndCheckPermissions","ACTIONS","update","FILE_MODEL_UID","data","validateUploadBody","file","fileInfo","sanitizeOutput","action","read","replaceFile","files","Array","isArray","ApplicationError","replacedFile","replace","signedFile","signFileUrls","uploadFiles","strapi","service","createPermissionsManager","ability","create","model","isAllowed","forbidden","uploadedFiles","upload","signedFiles","async","map","status","_","isEmpty","size"],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import { errors, async } from '@strapi/utils';
|
|
3
|
+
import { getService } from '../utils/index.mjs';
|
|
4
|
+
import { ACTIONS, FILE_MODEL_UID } from '../constants.mjs';
|
|
5
|
+
import { validateUploadBody } from './validation/admin/upload.mjs';
|
|
6
|
+
import { findEntityAndCheckPermissions } from './utils/find-entity-and-check-permissions.mjs';
|
|
7
|
+
|
|
8
|
+
var adminUpload = {
|
|
9
|
+
async updateFileInfo (ctx) {
|
|
10
|
+
const { state: { userAbility, user }, query: { id }, request: { body } } = ctx;
|
|
11
|
+
if (typeof id !== 'string') {
|
|
12
|
+
throw new errors.ValidationError('File id is required');
|
|
13
|
+
}
|
|
14
|
+
const uploadService = getService('upload');
|
|
15
|
+
const { pm } = await findEntityAndCheckPermissions(userAbility, ACTIONS.update, FILE_MODEL_UID, id);
|
|
16
|
+
const data = await validateUploadBody(body);
|
|
17
|
+
const file = await uploadService.updateFileInfo(id, data.fileInfo, {
|
|
18
|
+
user
|
|
19
|
+
});
|
|
20
|
+
ctx.body = await pm.sanitizeOutput(file, {
|
|
21
|
+
action: ACTIONS.read
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
async replaceFile (ctx) {
|
|
25
|
+
const { state: { userAbility, user }, query: { id }, request: { body, files: { files } = {} } } = ctx;
|
|
26
|
+
if (typeof id !== 'string') {
|
|
27
|
+
throw new errors.ValidationError('File id is required');
|
|
28
|
+
}
|
|
29
|
+
const uploadService = getService('upload');
|
|
30
|
+
const { pm } = await findEntityAndCheckPermissions(userAbility, ACTIONS.update, FILE_MODEL_UID, id);
|
|
31
|
+
if (Array.isArray(files)) {
|
|
32
|
+
throw new errors.ApplicationError('Cannot replace a file with multiple ones');
|
|
33
|
+
}
|
|
34
|
+
const data = await validateUploadBody(body);
|
|
35
|
+
const replacedFile = await uploadService.replace(id, {
|
|
36
|
+
data,
|
|
37
|
+
file: files
|
|
38
|
+
}, {
|
|
39
|
+
user
|
|
40
|
+
});
|
|
41
|
+
// Sign file urls for private providers
|
|
42
|
+
const signedFile = await getService('file').signFileUrls(replacedFile);
|
|
43
|
+
ctx.body = await pm.sanitizeOutput(signedFile, {
|
|
44
|
+
action: ACTIONS.read
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
async uploadFiles (ctx) {
|
|
48
|
+
const { state: { userAbility, user }, request: { body, files: { files } = {} } } = ctx;
|
|
49
|
+
const uploadService = getService('upload');
|
|
50
|
+
const pm = strapi.service('admin::permission').createPermissionsManager({
|
|
51
|
+
ability: userAbility,
|
|
52
|
+
action: ACTIONS.create,
|
|
53
|
+
model: FILE_MODEL_UID
|
|
54
|
+
});
|
|
55
|
+
if (!pm.isAllowed) {
|
|
56
|
+
return ctx.forbidden();
|
|
57
|
+
}
|
|
58
|
+
const data = await validateUploadBody(body);
|
|
59
|
+
const uploadedFiles = await uploadService.upload({
|
|
60
|
+
data,
|
|
61
|
+
files
|
|
62
|
+
}, {
|
|
63
|
+
user
|
|
64
|
+
});
|
|
65
|
+
// Sign file urls for private providers
|
|
66
|
+
const signedFiles = await async.map(uploadedFiles, getService('file').signFileUrls);
|
|
67
|
+
ctx.body = await pm.sanitizeOutput(signedFiles, {
|
|
68
|
+
action: ACTIONS.read
|
|
69
|
+
});
|
|
70
|
+
ctx.status = 201;
|
|
71
|
+
},
|
|
72
|
+
// TODO: split into multiple endpoints
|
|
73
|
+
async upload (ctx) {
|
|
74
|
+
const { query: { id }, request: { files: { files } = {} } } = ctx;
|
|
75
|
+
if (_.isEmpty(files) || !Array.isArray(files) && files.size === 0) {
|
|
76
|
+
if (id) {
|
|
77
|
+
return this.updateFileInfo(ctx);
|
|
78
|
+
}
|
|
79
|
+
throw new errors.ApplicationError('Files are empty');
|
|
80
|
+
}
|
|
81
|
+
await (id ? this.replaceFile : this.uploadFiles)(ctx);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { adminUpload as default };
|
|
86
|
+
//# sourceMappingURL=admin-upload.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-upload.mjs","sources":["../../../server/src/controllers/admin-upload.ts"],"sourcesContent":["import _ from 'lodash';\nimport { errors, async } from '@strapi/utils';\n\nimport type { Context } from 'koa';\n\nimport { getService } from '../utils';\nimport { ACTIONS, FILE_MODEL_UID } from '../constants';\nimport { validateUploadBody } from './validation/admin/upload';\nimport { findEntityAndCheckPermissions } from './utils/find-entity-and-check-permissions';\nimport { FileInfo } from '../types';\n\nexport default {\n async updateFileInfo(ctx: Context) {\n const {\n state: { userAbility, user },\n query: { id },\n request: { body },\n } = ctx;\n\n if (typeof id !== 'string') {\n throw new errors.ValidationError('File id is required');\n }\n\n const uploadService = getService('upload');\n const { pm } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.update,\n FILE_MODEL_UID,\n id\n );\n\n const data = await validateUploadBody(body);\n\n const file = await uploadService.updateFileInfo(id, data.fileInfo as any, { user });\n\n ctx.body = await pm.sanitizeOutput(file, { action: ACTIONS.read });\n },\n\n async replaceFile(ctx: Context) {\n const {\n state: { userAbility, user },\n query: { id },\n request: { body, files: { files } = {} },\n } = ctx;\n\n if (typeof id !== 'string') {\n throw new errors.ValidationError('File id is required');\n }\n\n const uploadService = getService('upload');\n const { pm } = await findEntityAndCheckPermissions(\n userAbility,\n ACTIONS.update,\n FILE_MODEL_UID,\n id\n );\n\n if (Array.isArray(files)) {\n throw new errors.ApplicationError('Cannot replace a file with multiple ones');\n }\n\n const data = (await validateUploadBody(body)) as { fileInfo: FileInfo };\n const replacedFile = await uploadService.replace(id, { data, file: files }, { user });\n\n // Sign file urls for private providers\n const signedFile = await getService('file').signFileUrls(replacedFile);\n\n ctx.body = await pm.sanitizeOutput(signedFile, { action: ACTIONS.read });\n },\n\n async uploadFiles(ctx: Context) {\n const {\n state: { userAbility, user },\n request: { body, files: { files } = {} },\n } = ctx;\n\n const uploadService = getService('upload');\n const pm = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n action: ACTIONS.create,\n model: FILE_MODEL_UID,\n });\n\n if (!pm.isAllowed) {\n return ctx.forbidden();\n }\n\n const data = await validateUploadBody(body);\n const uploadedFiles = await uploadService.upload({ data, files }, { user });\n\n // Sign file urls for private providers\n const signedFiles = await async.map(uploadedFiles, getService('file').signFileUrls);\n\n ctx.body = await pm.sanitizeOutput(signedFiles, { action: ACTIONS.read });\n ctx.status = 201;\n },\n\n // TODO: split into multiple endpoints\n async upload(ctx: Context) {\n const {\n query: { id },\n request: { files: { files } = {} },\n } = ctx;\n\n if (_.isEmpty(files) || (!Array.isArray(files) && files.size === 0)) {\n if (id) {\n return this.updateFileInfo(ctx);\n }\n\n throw new errors.ApplicationError('Files are empty');\n }\n\n await (id ? this.replaceFile : this.uploadFiles)(ctx);\n },\n};\n"],"names":["updateFileInfo","ctx","state","userAbility","user","query","id","request","body","errors","ValidationError","uploadService","getService","pm","findEntityAndCheckPermissions","ACTIONS","update","FILE_MODEL_UID","data","validateUploadBody","file","fileInfo","sanitizeOutput","action","read","replaceFile","files","Array","isArray","ApplicationError","replacedFile","replace","signedFile","signFileUrls","uploadFiles","strapi","service","createPermissionsManager","ability","create","model","isAllowed","forbidden","uploadedFiles","upload","signedFiles","async","map","status","_","isEmpty","size"],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _ = require('lodash');
|
|
4
|
+
var utils = require('@strapi/utils');
|
|
5
|
+
var index = require('../utils/index.js');
|
|
6
|
+
var constants = require('../constants.js');
|
|
7
|
+
var upload = require('./validation/content-api/upload.js');
|
|
8
|
+
|
|
9
|
+
const { ValidationError } = utils.errors;
|
|
10
|
+
var contentApi = (({ strapi })=>{
|
|
11
|
+
const sanitizeOutput = async (data, ctx)=>{
|
|
12
|
+
const schema = strapi.getModel(constants.FILE_MODEL_UID);
|
|
13
|
+
const { auth } = ctx.state;
|
|
14
|
+
return strapi.contentAPI.sanitize.output(data, schema, {
|
|
15
|
+
auth
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
const validateQuery = async (data, ctx)=>{
|
|
19
|
+
const schema = strapi.getModel(constants.FILE_MODEL_UID);
|
|
20
|
+
const { auth } = ctx.state;
|
|
21
|
+
return strapi.contentAPI.validate.query(data, schema, {
|
|
22
|
+
auth
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const sanitizeQuery = async (data, ctx)=>{
|
|
26
|
+
const schema = strapi.getModel(constants.FILE_MODEL_UID);
|
|
27
|
+
const { auth } = ctx.state;
|
|
28
|
+
return strapi.contentAPI.sanitize.query(data, schema, {
|
|
29
|
+
auth
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
async find (ctx) {
|
|
34
|
+
await validateQuery(ctx.query, ctx);
|
|
35
|
+
const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);
|
|
36
|
+
const files = await index.getService('upload').findMany(sanitizedQuery);
|
|
37
|
+
ctx.body = await sanitizeOutput(files, ctx);
|
|
38
|
+
},
|
|
39
|
+
async findOne (ctx) {
|
|
40
|
+
const { params: { id } } = ctx;
|
|
41
|
+
await validateQuery(ctx.query, ctx);
|
|
42
|
+
const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);
|
|
43
|
+
const file = await index.getService('upload').findOne(id, sanitizedQuery.populate);
|
|
44
|
+
if (!file) {
|
|
45
|
+
return ctx.notFound('file.notFound');
|
|
46
|
+
}
|
|
47
|
+
ctx.body = await sanitizeOutput(file, ctx);
|
|
48
|
+
},
|
|
49
|
+
async destroy (ctx) {
|
|
50
|
+
const { params: { id } } = ctx;
|
|
51
|
+
const file = await index.getService('upload').findOne(id);
|
|
52
|
+
if (!file) {
|
|
53
|
+
return ctx.notFound('file.notFound');
|
|
54
|
+
}
|
|
55
|
+
await index.getService('upload').remove(file);
|
|
56
|
+
ctx.body = await sanitizeOutput(file, ctx);
|
|
57
|
+
},
|
|
58
|
+
async updateFileInfo (ctx) {
|
|
59
|
+
const { query: { id }, request: { body } } = ctx;
|
|
60
|
+
const data = await upload.validateUploadBody(body);
|
|
61
|
+
if (!id || typeof id !== 'string' && typeof id !== 'number') {
|
|
62
|
+
throw new ValidationError('File id is required and must be a single value');
|
|
63
|
+
}
|
|
64
|
+
const result = await index.getService('upload').updateFileInfo(id, data.fileInfo);
|
|
65
|
+
ctx.body = await sanitizeOutput(result, ctx);
|
|
66
|
+
},
|
|
67
|
+
async replaceFile (ctx) {
|
|
68
|
+
const { query: { id }, request: { body, files: { files } = {} } } = ctx;
|
|
69
|
+
// cannot replace with more than one file
|
|
70
|
+
if (Array.isArray(files)) {
|
|
71
|
+
throw new ValidationError('Cannot replace a file with multiple ones');
|
|
72
|
+
}
|
|
73
|
+
if (!id || typeof id !== 'string' && typeof id !== 'number') {
|
|
74
|
+
throw new ValidationError('File id is required and must be a single value');
|
|
75
|
+
}
|
|
76
|
+
const data = await upload.validateUploadBody(body);
|
|
77
|
+
const replacedFiles = await index.getService('upload').replace(id, {
|
|
78
|
+
data,
|
|
79
|
+
file: files
|
|
80
|
+
});
|
|
81
|
+
ctx.body = await sanitizeOutput(replacedFiles, ctx);
|
|
82
|
+
},
|
|
83
|
+
async uploadFiles (ctx) {
|
|
84
|
+
const { request: { body, files: { files } = {} } } = ctx;
|
|
85
|
+
const data = await upload.validateUploadBody(body, Array.isArray(files));
|
|
86
|
+
const apiUploadFolderService = index.getService('api-upload-folder');
|
|
87
|
+
const apiUploadFolder = await apiUploadFolderService.getAPIUploadFolder();
|
|
88
|
+
if (Array.isArray(files)) {
|
|
89
|
+
data.fileInfo = data.fileInfo || [];
|
|
90
|
+
data.fileInfo = files.map((_f, i)=>({
|
|
91
|
+
...data.fileInfo[i],
|
|
92
|
+
folder: apiUploadFolder.id
|
|
93
|
+
}));
|
|
94
|
+
} else {
|
|
95
|
+
data.fileInfo = {
|
|
96
|
+
...data.fileInfo,
|
|
97
|
+
folder: apiUploadFolder.id
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const uploadedFiles = await index.getService('upload').upload({
|
|
101
|
+
data,
|
|
102
|
+
files
|
|
103
|
+
});
|
|
104
|
+
ctx.body = await sanitizeOutput(uploadedFiles, ctx);
|
|
105
|
+
ctx.status = 201;
|
|
106
|
+
},
|
|
107
|
+
// TODO: split into multiple endpoints
|
|
108
|
+
async upload (ctx) {
|
|
109
|
+
const { query: { id }, request: { files: { files } = {} } } = ctx;
|
|
110
|
+
if (_.isEmpty(files) || !Array.isArray(files) && files.size === 0) {
|
|
111
|
+
if (id) {
|
|
112
|
+
return this.updateFileInfo(ctx);
|
|
113
|
+
}
|
|
114
|
+
throw new ValidationError('Files are empty');
|
|
115
|
+
}
|
|
116
|
+
await (id ? this.replaceFile : this.uploadFiles)(ctx);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
module.exports = contentApi;
|
|
122
|
+
//# sourceMappingURL=content-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-api.js","sources":["../../../server/src/controllers/content-api.ts"],"sourcesContent":["import _ from 'lodash';\nimport utils from '@strapi/utils';\n\nimport type { Context } from 'koa';\nimport type { Core } from '@strapi/types';\n\nimport { getService } from '../utils';\nimport { FILE_MODEL_UID } from '../constants';\nimport { validateUploadBody } from './validation/content-api/upload';\nimport { FileInfo } from '../types';\n\nconst { ValidationError } = utils.errors;\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const sanitizeOutput = async (data: unknown | unknown[], ctx: Context) => {\n const schema = strapi.getModel(FILE_MODEL_UID);\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.output(data, schema, { auth });\n };\n\n const validateQuery = async (data: Record<string, unknown>, ctx: Context) => {\n const schema = strapi.getModel(FILE_MODEL_UID);\n const { auth } = ctx.state;\n\n return strapi.contentAPI.validate.query(data, schema, { auth });\n };\n\n const sanitizeQuery = async (data: Record<string, unknown>, ctx: Context) => {\n const schema = strapi.getModel(FILE_MODEL_UID);\n const { auth } = ctx.state;\n\n return strapi.contentAPI.sanitize.query(data, schema, { auth });\n };\n\n return {\n async find(ctx: Context) {\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n const files = await getService('upload').findMany(sanitizedQuery);\n\n ctx.body = await sanitizeOutput(files, ctx);\n },\n\n async findOne(ctx: Context) {\n const {\n params: { id },\n } = ctx;\n\n await validateQuery(ctx.query, ctx);\n const sanitizedQuery = await sanitizeQuery(ctx.query, ctx);\n\n const file = await getService('upload').findOne(id, sanitizedQuery.populate!);\n\n if (!file) {\n return ctx.notFound('file.notFound');\n }\n\n ctx.body = await sanitizeOutput(file, ctx);\n },\n\n async destroy(ctx: Context) {\n const {\n params: { id },\n } = ctx;\n\n const file = await getService('upload').findOne(id);\n\n if (!file) {\n return ctx.notFound('file.notFound');\n }\n\n await getService('upload').remove(file);\n\n ctx.body = await sanitizeOutput(file, ctx);\n },\n\n async updateFileInfo(ctx: Context) {\n const {\n query: { id },\n request: { body },\n } = ctx;\n const data = await validateUploadBody(body);\n\n if (!id || (typeof id !== 'string' && typeof id !== 'number')) {\n throw new ValidationError('File id is required and must be a single value');\n }\n\n const result = await getService('upload').updateFileInfo(id, data.fileInfo as any);\n\n ctx.body = await sanitizeOutput(result, ctx);\n },\n\n async replaceFile(ctx: Context) {\n const {\n query: { id },\n request: { body, files: { files } = {} },\n } = ctx;\n\n // cannot replace with more than one file\n if (Array.isArray(files)) {\n throw new ValidationError('Cannot replace a file with multiple ones');\n }\n\n if (!id || (typeof id !== 'string' && typeof id !== 'number')) {\n throw new ValidationError('File id is required and must be a single value');\n }\n\n const data = (await validateUploadBody(body)) as { fileInfo: FileInfo };\n\n const replacedFiles = await getService('upload').replace(id, { data, file: files });\n\n ctx.body = await sanitizeOutput(replacedFiles, ctx);\n },\n\n async uploadFiles(ctx: Context) {\n const {\n request: { body, files: { files } = {} },\n } = ctx;\n\n const data: any = await validateUploadBody(body, Array.isArray(files));\n\n const apiUploadFolderService = getService('api-upload-folder');\n\n const apiUploadFolder = await apiUploadFolderService.getAPIUploadFolder();\n\n if (Array.isArray(files)) {\n data.fileInfo = data.fileInfo || [];\n data.fileInfo = files.map((_f, i) => ({ ...data.fileInfo[i], folder: apiUploadFolder.id }));\n } else {\n data.fileInfo = { ...data.fileInfo, folder: apiUploadFolder.id };\n }\n\n const uploadedFiles = await getService('upload').upload({\n data,\n files,\n });\n\n ctx.body = await sanitizeOutput(uploadedFiles as any, ctx);\n ctx.status = 201;\n },\n\n // TODO: split into multiple endpoints\n async upload(ctx: Context) {\n const {\n query: { id },\n request: { files: { files } = {} },\n } = ctx;\n\n if (_.isEmpty(files) || (!Array.isArray(files) && files.size === 0)) {\n if (id) {\n return this.updateFileInfo(ctx);\n }\n\n throw new ValidationError('Files are empty');\n }\n\n await (id ? this.replaceFile : this.uploadFiles)(ctx);\n },\n };\n};\n"],"names":["ValidationError","utils","errors","strapi","sanitizeOutput","data","ctx","schema","getModel","FILE_MODEL_UID","auth","state","contentAPI","sanitize","output","validateQuery","validate","query","sanitizeQuery","find","sanitizedQuery","files","getService","findMany","body","findOne","params","id","file","populate","notFound","destroy","remove","updateFileInfo","request","validateUploadBody","result","fileInfo","replaceFile","Array","isArray","replacedFiles","replace","uploadFiles","apiUploadFolderService","apiUploadFolder","getAPIUploadFolder","map","_f","i","folder","uploadedFiles","upload","status","_","isEmpty","size"],"mappings":"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"}
|