@webiny/api-file-manager 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.eb81deee7e
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/FileManagerAppFeature.d.ts +5 -0
- package/FileManagerAppFeature.js +21 -0
- package/FileManagerAppFeature.js.map +1 -0
- package/contants.js +2 -1
- package/contants.js.map +1 -1
- package/delivery/AssetDelivery/Asset.js +50 -56
- package/delivery/AssetDelivery/Asset.js.map +1 -1
- package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
- package/delivery/AssetDelivery/AssetRequest.js +20 -19
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
- package/delivery/AssetDeliveryRoute.d.ts +24 -0
- package/delivery/AssetDeliveryRoute.js +69 -0
- package/delivery/AssetDeliveryRoute.js.map +1 -0
- package/delivery/index.d.ts +3 -12
- package/delivery/index.js +2 -8
- package/delivery/setupAssetDelivery.d.ts +1 -2
- package/delivery/setupAssetDelivery.js +2 -112
- package/delivery/setupAssetDelivery.js.map +1 -1
- package/domain/file/abstractions.d.ts +13 -5
- package/domain/file/abstractions.js +2 -5
- package/domain/file/abstractions.js.map +1 -1
- package/domain/file/errors.js +67 -76
- package/domain/file/errors.js.map +1 -1
- package/domain/file/file.model.d.ts +3 -3
- package/domain/file/file.model.js +63 -50
- package/domain/file/file.model.js.map +1 -1
- package/domain/file/types.js +0 -3
- package/domain/identity/Identity.js +9 -8
- package/domain/identity/Identity.js.map +1 -1
- package/domain/permissionsSchema.js +26 -15
- package/domain/permissionsSchema.js.map +1 -1
- package/domain/settings/constants.js +2 -1
- package/domain/settings/constants.js.map +1 -1
- package/domain/settings/errors.js +22 -24
- package/domain/settings/errors.js.map +1 -1
- package/domain/settings/types.js +0 -3
- package/domain/settings/validation.js +19 -28
- package/domain/settings/validation.js.map +1 -1
- package/exports/api/file-manager/assetDelivery.d.ts +10 -0
- package/exports/api/file-manager/assetDelivery.js +8 -0
- package/exports/api/file-manager/file.d.ts +2 -1
- package/exports/api/file-manager/file.js +2 -3
- package/exports/api/file-manager/permissions.js +0 -2
- package/exports/api/file-manager/settings.js +0 -2
- package/features/FileManagerFeature.js +22 -15
- package/features/FileManagerFeature.js.map +1 -1
- package/features/assetDelivery/Asset/Asset.d.ts +8 -0
- package/features/assetDelivery/Asset/Asset.js +14 -0
- package/features/assetDelivery/Asset/Asset.js.map +1 -0
- package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
- package/features/assetDelivery/Asset/abstractions.js +5 -0
- package/features/assetDelivery/Asset/abstractions.js.map +1 -0
- package/features/assetDelivery/Asset/index.d.ts +1 -0
- package/features/assetDelivery/Asset/index.js +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js +29 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
- package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
- package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
- package/features/assetDelivery/NullAssetReply.js +14 -0
- package/features/assetDelivery/NullAssetReply.js.map +1 -0
- package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
- package/features/assetDelivery/NullAssetResolver.js +13 -0
- package/features/assetDelivery/NullAssetResolver.js.map +1 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
- package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
- package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
- package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
- package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
- package/features/assetDelivery/ObjectKey/index.js +1 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
- package/features/assetDelivery/StreamAssetReply/index.js +1 -0
- package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
- package/features/assetDelivery/abstractions/AssetType.js +5 -0
- package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
- package/features/assetDelivery/abstractions.d.ts +65 -0
- package/features/assetDelivery/abstractions.js +11 -0
- package/features/assetDelivery/abstractions.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/SharpTransformer.d.ts +18 -0
- package/features/assetDelivery/assetTypes/image/SharpTransformer.js +47 -0
- package/features/assetDelivery/assetTypes/image/SharpTransformer.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
- package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/index.js +4 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/utils.js +47 -0
- package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
- package/features/assetDelivery/feature.d.ts +4 -0
- package/features/assetDelivery/feature.js +35 -0
- package/features/assetDelivery/feature.js.map +1 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
- package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
- package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +65 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
- package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
- package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
- package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +9 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +9 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
- package/features/assetDelivery/transformation/index.d.ts +5 -0
- package/features/assetDelivery/transformation/index.js +4 -0
- package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
- package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
- package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
- package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
- package/features/extractMetadata/ExtractMetadataInput.js +0 -0
- package/features/file/CreateFile/CreateFileRepository.d.ts +3 -3
- package/features/file/CreateFile/CreateFileRepository.js +22 -19
- package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
- package/features/file/CreateFile/CreateFileUseCase.js +68 -75
- package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
- package/features/file/CreateFile/abstractions.js +3 -14
- package/features/file/CreateFile/abstractions.js.map +1 -1
- package/features/file/CreateFile/events.js +17 -26
- package/features/file/CreateFile/events.js.map +1 -1
- package/features/file/CreateFile/feature.js +7 -6
- package/features/file/CreateFile/feature.js.map +1 -1
- package/features/file/CreateFile/index.js +0 -2
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +59 -70
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
- package/features/file/CreateFilesInBatch/abstractions.js +3 -14
- package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
- package/features/file/CreateFilesInBatch/events.js +17 -26
- package/features/file/CreateFilesInBatch/events.js.map +1 -1
- package/features/file/CreateFilesInBatch/feature.js +7 -6
- package/features/file/CreateFilesInBatch/feature.js.map +1 -1
- package/features/file/CreateFilesInBatch/index.js +0 -2
- package/features/file/DeleteFile/DeleteFileRepository.d.ts +3 -3
- package/features/file/DeleteFile/DeleteFileRepository.js +23 -21
- package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
- package/features/file/DeleteFile/DeleteFileUseCase.js +31 -33
- package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
- package/features/file/DeleteFile/abstractions.js +3 -14
- package/features/file/DeleteFile/abstractions.js.map +1 -1
- package/features/file/DeleteFile/events.js +17 -26
- package/features/file/DeleteFile/events.js.map +1 -1
- package/features/file/DeleteFile/feature.js +7 -6
- package/features/file/DeleteFile/feature.js.map +1 -1
- package/features/file/DeleteFile/index.js +1 -3
- package/features/file/FileModelProvider.d.ts +31 -0
- package/features/file/FileModelProvider.js +22 -0
- package/features/file/FileModelProvider.js.map +1 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +12 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +19 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.d.ts +13 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js +28 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +15 -4
- package/features/file/FileUrlGenerator/abstractions.js +3 -2
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +13 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +2 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFile/GetFileRepository.d.ts +3 -3
- package/features/file/GetFile/GetFileRepository.js +24 -23
- package/features/file/GetFile/GetFileRepository.js.map +1 -1
- package/features/file/GetFile/GetFileUseCase.js +19 -21
- package/features/file/GetFile/GetFileUseCase.js.map +1 -1
- package/features/file/GetFile/abstractions.js +3 -14
- package/features/file/GetFile/abstractions.js.map +1 -1
- package/features/file/GetFile/feature.js +7 -6
- package/features/file/GetFile/feature.js.map +1 -1
- package/features/file/GetFile/index.js +0 -2
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
- package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
- package/features/file/GetFileByUrl/abstractions.js +5 -0
- package/features/file/GetFileByUrl/abstractions.js.map +1 -0
- package/features/file/GetFileByUrl/feature.d.ts +4 -0
- package/features/file/GetFileByUrl/feature.js +11 -0
- package/features/file/GetFileByUrl/feature.js.map +1 -0
- package/features/file/GetFileByUrl/index.d.ts +1 -0
- package/features/file/GetFileByUrl/index.js +1 -0
- package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
- package/features/file/GetFileContentsById/abstractions.js +5 -0
- package/features/file/GetFileContentsById/abstractions.js.map +1 -0
- package/features/file/GetFileContentsById/index.d.ts +1 -0
- package/features/file/GetFileContentsById/index.js +1 -0
- package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
- package/features/file/GetFileContentsByKey/abstractions.js +5 -0
- package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
- package/features/file/GetFileContentsByKey/index.d.ts +1 -0
- package/features/file/GetFileContentsByKey/index.js +1 -0
- package/features/file/ListFiles/ListFilesRepository.d.ts +3 -3
- package/features/file/ListFiles/ListFilesRepository.js +44 -41
- package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
- package/features/file/ListFiles/ListFilesUseCase.js +33 -34
- package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
- package/features/file/ListFiles/abstractions.js +3 -14
- package/features/file/ListFiles/abstractions.js.map +1 -1
- package/features/file/ListFiles/feature.js +7 -6
- package/features/file/ListFiles/feature.js.map +1 -1
- package/features/file/ListFiles/index.js +0 -2
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +15 -5
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +46 -29
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
- package/features/file/ListImagesByTagTool/feature.js +6 -5
- package/features/file/ListImagesByTagTool/feature.js.map +1 -1
- package/features/file/ListTags/ListTagsRepository.d.ts +3 -3
- package/features/file/ListTags/ListTagsRepository.js +33 -37
- package/features/file/ListTags/ListTagsRepository.js.map +1 -1
- package/features/file/ListTags/ListTagsUseCase.js +21 -21
- package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
- package/features/file/ListTags/abstractions.js +3 -14
- package/features/file/ListTags/abstractions.js.map +1 -1
- package/features/file/ListTags/feature.js +7 -6
- package/features/file/ListTags/feature.js.map +1 -1
- package/features/file/ListTags/index.js +0 -2
- package/features/file/UpdateFile/UpdateFileRepository.d.ts +3 -3
- package/features/file/UpdateFile/UpdateFileRepository.js +28 -29
- package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
- package/features/file/UpdateFile/UpdateFileUseCase.js +57 -65
- package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
- package/features/file/UpdateFile/abstractions.js +3 -14
- package/features/file/UpdateFile/abstractions.js.map +1 -1
- package/features/file/UpdateFile/events.js +17 -26
- package/features/file/UpdateFile/events.js.map +1 -1
- package/features/file/UpdateFile/feature.js +7 -6
- package/features/file/UpdateFile/feature.js.map +1 -1
- package/features/file/UpdateFile/index.js +1 -3
- package/features/file/shared/EntryToFileMapper.js +25 -24
- package/features/file/shared/EntryToFileMapper.js.map +1 -1
- package/features/file/shared/FileInputToEntryInputMapper.js +29 -28
- package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
- package/features/file/shared/FileToEntryMapper.js +28 -27
- package/features/file/shared/FileToEntryMapper.js.map +1 -1
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
- package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
- package/features/settings/GetSettings/abstractions.js +2 -7
- package/features/settings/GetSettings/abstractions.js.map +1 -1
- package/features/settings/GetSettings/feature.js +6 -5
- package/features/settings/GetSettings/feature.js.map +1 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +3 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.js +29 -25
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
- package/features/settings/SettingsInstaller/feature.js +6 -5
- package/features/settings/SettingsInstaller/feature.js.map +1 -1
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +41 -48
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
- package/features/settings/UpdateSettings/abstractions.js +2 -7
- package/features/settings/UpdateSettings/abstractions.js.map +1 -1
- package/features/settings/UpdateSettings/events.js +17 -26
- package/features/settings/UpdateSettings/events.js.map +1 -1
- package/features/settings/UpdateSettings/feature.js +6 -5
- package/features/settings/UpdateSettings/feature.js.map +1 -1
- package/features/settings/UpdateSettings/index.js +0 -2
- package/features/shared/abstractions.js +0 -2
- package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CompleteMultiPartUpload/index.js +1 -0
- package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CreateMultiPartUpload/index.js +1 -0
- package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
- package/features/upload/GetUploadPayload/abstractions.js +5 -0
- package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
- package/features/upload/GetUploadPayload/index.d.ts +1 -0
- package/features/upload/GetUploadPayload/index.js +1 -0
- package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
- package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
- package/features/upload/ReadFileMetadata/abstractions.js +5 -0
- package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
- package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
- package/features/upload/ReadFileMetadata/feature.js +11 -0
- package/features/upload/ReadFileMetadata/feature.js.map +1 -0
- package/features/upload/ReadFileMetadata/index.d.ts +1 -0
- package/features/upload/ReadFileMetadata/index.js +1 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
- package/features/upload/WriteFileMetadata/abstractions.js +5 -0
- package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
- package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
- package/features/upload/WriteFileMetadata/feature.js +17 -0
- package/features/upload/WriteFileMetadata/feature.js.map +1 -0
- package/features/upload/index.d.ts +17 -0
- package/features/upload/index.js +10 -0
- package/features/upload/types.d.ts +28 -0
- package/features/upload/types.js +0 -0
- package/features/upload/utils/FileExtension.d.ts +6 -0
- package/features/upload/utils/FileExtension.js +16 -0
- package/features/upload/utils/FileExtension.js.map +1 -0
- package/features/upload/utils/FileKey.d.ts +11 -0
- package/features/upload/utils/FileKey.js +33 -0
- package/features/upload/utils/FileKey.js.map +1 -0
- package/features/upload/utils/FileNormalizer.d.ts +13 -0
- package/features/upload/utils/FileNormalizer.js +41 -0
- package/features/upload/utils/FileNormalizer.js.map +1 -0
- package/features/upload/utils/FileUploadModifier.d.ts +30 -0
- package/features/upload/utils/FileUploadModifier.js +39 -0
- package/features/upload/utils/FileUploadModifier.js.map +1 -0
- package/features/upload/utils/checkPermissions.d.ts +5 -0
- package/features/upload/utils/checkPermissions.js +22 -0
- package/features/upload/utils/checkPermissions.js.map +1 -0
- package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
- package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
- package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
- package/features/upload/utils/mimeTypes.d.ts +1 -0
- package/features/upload/utils/mimeTypes.js +9 -0
- package/features/upload/utils/mimeTypes.js.map +1 -0
- package/graphql/FmGraphQLSchema.d.ts +24 -0
- package/graphql/FmGraphQLSchema.js +458 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -6
- package/index.js +11 -33
- package/index.js.map +1 -1
- package/package.json +28 -21
- package/types.d.ts +1 -1
- package/types.js +1 -3
- package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +0 -65
- package/delivery/AssetDelivery/AssetDeliveryConfig.js +0 -94
- package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +0 -1
- package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +0 -6
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js +0 -30
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +0 -4
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js +0 -8
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/NullAssetReply.js +0 -13
- package/delivery/AssetDelivery/NullAssetReply.js.map +0 -1
- package/delivery/AssetDelivery/NullAssetResolver.d.ts +0 -5
- package/delivery/AssetDelivery/NullAssetResolver.js +0 -7
- package/delivery/AssetDelivery/NullAssetResolver.js.map +0 -1
- package/delivery/AssetDelivery/NullRequestResolver.d.ts +0 -4
- package/delivery/AssetDelivery/NullRequestResolver.js +0 -7
- package/delivery/AssetDelivery/NullRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +0 -8
- package/delivery/AssetDelivery/SetCacheControlHeaders.js +0 -18
- package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +0 -1
- package/delivery/AssetDelivery/SetResponseHeaders.d.ts +0 -18
- package/delivery/AssetDelivery/SetResponseHeaders.js +0 -18
- package/delivery/AssetDelivery/SetResponseHeaders.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +0 -4
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +0 -4
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +0 -4
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +0 -5
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +0 -4
- package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +0 -4
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +0 -4
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +0 -4
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +0 -19
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +0 -4
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +0 -8
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +0 -8
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +0 -20
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +0 -6
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js +0 -21
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +0 -8
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +0 -30
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +0 -13
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +0 -63
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +0 -6
- package/delivery/AssetDelivery/privateFiles/PublicCache.js +0 -21
- package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +0 -7
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +0 -20
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +0 -7
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +0 -20
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +0 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +0 -4
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +0 -7
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +0 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -4
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -7
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +0 -6
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +0 -19
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +0 -1
- package/delivery/index.js.map +0 -1
- package/domain/file/types.js.map +0 -1
- package/domain/settings/types.js.map +0 -1
- package/exports/api/file-manager/file.js.map +0 -1
- package/exports/api/file-manager/permissions.js.map +0 -1
- package/exports/api/file-manager/settings.js.map +0 -1
- package/features/file/CreateFile/index.js.map +0 -1
- package/features/file/CreateFilesInBatch/index.js.map +0 -1
- package/features/file/DeleteFile/index.js.map +0 -1
- package/features/file/GetFile/index.js.map +0 -1
- package/features/file/GetFileContents/abstractions.d.ts +0 -20
- package/features/file/GetFileContents/abstractions.js +0 -4
- package/features/file/GetFileContents/abstractions.js.map +0 -1
- package/features/file/GetFileContents/index.d.ts +0 -1
- package/features/file/GetFileContents/index.js +0 -3
- package/features/file/GetFileContents/index.js.map +0 -1
- package/features/file/ListFiles/index.js.map +0 -1
- package/features/file/ListTags/index.js.map +0 -1
- package/features/file/UpdateFile/index.js.map +0 -1
- package/features/settings/UpdateSettings/index.js.map +0 -1
- package/features/shared/abstractions.js.map +0 -1
- package/graphql/baseSchema.d.ts +0 -3
- package/graphql/baseSchema.js +0 -103
- package/graphql/baseSchema.js.map +0 -1
- package/graphql/createFilesTypeDefs.d.ts +0 -8
- package/graphql/createFilesTypeDefs.js +0 -199
- package/graphql/createFilesTypeDefs.js.map +0 -1
- package/graphql/filesSchema.d.ts +0 -4
- package/graphql/filesSchema.js +0 -116
- package/graphql/filesSchema.js.map +0 -1
- package/graphql/getFileByUrl.d.ts +0 -3
- package/graphql/getFileByUrl.js +0 -69
- package/graphql/getFileByUrl.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -54
- package/graphql/index.js.map +0 -1
- package/graphql/utils.d.ts +0 -11
- package/graphql/utils.js +0 -17
- package/graphql/utils.js.map +0 -1
- package/modelModifier/CmsModelModifier.d.ts +0 -26
- package/modelModifier/CmsModelModifier.js +0 -54
- package/modelModifier/CmsModelModifier.js.map +0 -1
- package/types.js.map +0 -1
- /package/{delivery/AssetDelivery → features/assetDelivery}/NullAssetReply.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreateMultiPartUploadUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreateMultiPartUploadUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FileData } from "../../../features/upload/types.js";
|
|
2
|
+
import type { UploadPayloadResponse } from "../../../features/upload/types.js";
|
|
3
|
+
import type { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
4
|
+
export interface IGetUploadPayloadUseCase {
|
|
5
|
+
execute(file: FileData, settings: FileManagerSettings): Promise<UploadPayloadResponse>;
|
|
6
|
+
}
|
|
7
|
+
export declare const GetUploadPayloadUseCase: import("@webiny/di").Abstraction<IGetUploadPayloadUseCase>;
|
|
8
|
+
export declare namespace GetUploadPayloadUseCase {
|
|
9
|
+
type Interface = IGetUploadPayloadUseCase;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/GetUploadPayload/abstractions.js","sources":["../../../../src/features/upload/GetUploadPayload/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FileData } from \"~/features/upload/types.js\";\nimport type { UploadPayloadResponse } from \"~/features/upload/types.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\n\nexport interface IGetUploadPayloadUseCase {\n execute(file: FileData, settings: FileManagerSettings): Promise<UploadPayloadResponse>;\n}\n\nexport const GetUploadPayloadUseCase =\n createAbstraction<IGetUploadPayloadUseCase>(\"GetUploadPayloadUseCase\");\n\nexport namespace GetUploadPayloadUseCase {\n export type Interface = IGetUploadPayloadUseCase;\n}\n"],"names":["GetUploadPayloadUseCase","createAbstraction"],"mappings":";AASO,MAAMA,0BACTC,kBAA4C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GetUploadPayloadUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GetUploadPayloadUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
2
|
+
import { type IMetadataReader, type AssetMetadata } from "./abstractions.js";
|
|
3
|
+
declare class MetadataReaderImpl implements IMetadataReader {
|
|
4
|
+
private readonly keyValueStore;
|
|
5
|
+
constructor(keyValueStore: GlobalKeyValueStore.Interface);
|
|
6
|
+
read(fileId: string): Promise<AssetMetadata | undefined>;
|
|
7
|
+
}
|
|
8
|
+
export declare const MetadataReader: typeof MetadataReaderImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<IMetadataReader>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
2
|
+
import { MetadataReader } from "./abstractions.js";
|
|
3
|
+
class MetadataReaderImpl {
|
|
4
|
+
constructor(keyValueStore){
|
|
5
|
+
this.keyValueStore = keyValueStore;
|
|
6
|
+
}
|
|
7
|
+
async read(fileId) {
|
|
8
|
+
const result = await this.keyValueStore.get(`FileManager/File/${fileId}/Metadata`);
|
|
9
|
+
if (result.isFail()) return;
|
|
10
|
+
return result.value;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const MetadataReader_MetadataReader = MetadataReader.createImplementation({
|
|
14
|
+
implementation: MetadataReaderImpl,
|
|
15
|
+
dependencies: [
|
|
16
|
+
GlobalKeyValueStore
|
|
17
|
+
]
|
|
18
|
+
});
|
|
19
|
+
export { MetadataReader_MetadataReader as MetadataReader };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=MetadataReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/ReadFileMetadata/MetadataReader.js","sources":["../../../../src/features/upload/ReadFileMetadata/MetadataReader.ts"],"sourcesContent":["import { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\nimport {\n MetadataReader as MetadataReaderAbstraction,\n type IMetadataReader,\n type AssetMetadata\n} from \"./abstractions.js\";\n\nclass MetadataReaderImpl implements IMetadataReader {\n private readonly keyValueStore: GlobalKeyValueStore.Interface;\n\n public constructor(keyValueStore: GlobalKeyValueStore.Interface) {\n this.keyValueStore = keyValueStore;\n }\n\n public async read(fileId: string): Promise<AssetMetadata | undefined> {\n const result = await this.keyValueStore.get<AssetMetadata>(\n `FileManager/File/${fileId}/Metadata`\n );\n\n if (result.isFail()) {\n return undefined;\n }\n\n return result.value;\n }\n}\n\nexport const MetadataReader = MetadataReaderAbstraction.createImplementation({\n implementation: MetadataReaderImpl,\n dependencies: [GlobalKeyValueStore]\n});\n"],"names":["MetadataReaderImpl","keyValueStore","fileId","result","MetadataReader","MetadataReaderAbstraction","GlobalKeyValueStore"],"mappings":";;AAOA,MAAMA;IAGF,YAAmBC,aAA4C,CAAE;QAC7D,IAAI,CAAC,aAAa,GAAGA;IACzB;IAEA,MAAa,KAAKC,MAAc,EAAsC;QAClE,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CACvC,CAAC,iBAAiB,EAAED,OAAO,SAAS,CAAC;QAGzC,IAAIC,OAAO,MAAM,IACb;QAGJ,OAAOA,OAAO,KAAK;IACvB;AACJ;AAEO,MAAMC,gCAAiBC,eAAAA,oBAA8C,CAAC;IACzE,gBAAgBL;IAChB,cAAc;QAACM;KAAoB;AACvC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AssetMetadata {
|
|
2
|
+
id: string;
|
|
3
|
+
tenant: string;
|
|
4
|
+
size: number;
|
|
5
|
+
contentType: string;
|
|
6
|
+
bucketKey: string;
|
|
7
|
+
}
|
|
8
|
+
export interface IMetadataReader {
|
|
9
|
+
read(fileId: string): Promise<AssetMetadata | undefined>;
|
|
10
|
+
}
|
|
11
|
+
export declare const MetadataReader: import("@webiny/di").Abstraction<IMetadataReader>;
|
|
12
|
+
export declare namespace MetadataReader {
|
|
13
|
+
type Interface = IMetadataReader;
|
|
14
|
+
type Metadata = AssetMetadata;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/ReadFileMetadata/abstractions.js","sources":["../../../../src/features/upload/ReadFileMetadata/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface AssetMetadata {\n id: string;\n tenant: string;\n size: number;\n contentType: string;\n bucketKey: string;\n}\n\nexport interface IMetadataReader {\n read(fileId: string): Promise<AssetMetadata | undefined>;\n}\n\nexport const MetadataReader = createAbstraction<IMetadataReader>(\n \"FileManager/Upload/MetadataReader\"\n);\n\nexport namespace MetadataReader {\n export type Interface = IMetadataReader;\n export type Metadata = AssetMetadata;\n}\n"],"names":["MetadataReader","createAbstraction"],"mappings":";AAcO,MAAMA,iBAAiBC,kBAC1B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { MetadataReader } from "./MetadataReader.js";
|
|
3
|
+
const ReadFileMetadataFeature = createFeature({
|
|
4
|
+
name: "FileManager/ReadFileMetadata",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(MetadataReader);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { ReadFileMetadataFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/ReadFileMetadata/feature.js","sources":["../../../../src/features/upload/ReadFileMetadata/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MetadataReader } from \"./MetadataReader.js\";\n\nexport const ReadFileMetadataFeature = createFeature({\n name: \"FileManager/ReadFileMetadata\",\n register(container) {\n container.register(MetadataReader);\n }\n});\n"],"names":["ReadFileMetadataFeature","createFeature","container","MetadataReader"],"mappings":";;AAGO,MAAMA,0BAA0BC,cAAc;IACjD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MetadataReader } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MetadataReader } from "./abstractions.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
2
|
+
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
3
|
+
import { MetadataWriter as MetadataWriterAbstraction } from "./abstractions.js";
|
|
4
|
+
declare class MetadataWriterImpl implements MetadataWriterAbstraction.Interface {
|
|
5
|
+
private readonly tenantContext;
|
|
6
|
+
private readonly keyValueStore;
|
|
7
|
+
constructor(tenantContext: TenantContext.Interface, keyValueStore: GlobalKeyValueStore.Interface);
|
|
8
|
+
write(files: MetadataWriterAbstraction.File[]): Promise<void>;
|
|
9
|
+
private getMetadata;
|
|
10
|
+
}
|
|
11
|
+
export declare const MetadataWriter: typeof MetadataWriterImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IMetadataWriter>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
2
|
+
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
3
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
4
|
+
class MetadataWriterImpl {
|
|
5
|
+
constructor(tenantContext, keyValueStore){
|
|
6
|
+
this.tenantContext = tenantContext;
|
|
7
|
+
this.keyValueStore = keyValueStore;
|
|
8
|
+
}
|
|
9
|
+
async write(files) {
|
|
10
|
+
const writers = files.map(async (file)=>{
|
|
11
|
+
const metadata = this.getMetadata(file);
|
|
12
|
+
await this.keyValueStore.set(`FileManager/File/${file.id}/Metadata`, metadata);
|
|
13
|
+
});
|
|
14
|
+
await Promise.all(writers);
|
|
15
|
+
}
|
|
16
|
+
getMetadata(file) {
|
|
17
|
+
const tenant = this.tenantContext.getTenant();
|
|
18
|
+
return {
|
|
19
|
+
id: file.id,
|
|
20
|
+
bucketKey: `tenants/${tenant.id}/files/${file.key}`,
|
|
21
|
+
tenant: tenant.id,
|
|
22
|
+
size: file.size,
|
|
23
|
+
contentType: file.type
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const MetadataWriter_MetadataWriter = MetadataWriter.createImplementation({
|
|
28
|
+
implementation: MetadataWriterImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
TenantContext,
|
|
31
|
+
GlobalKeyValueStore
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { MetadataWriter_MetadataWriter as MetadataWriter };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=MetadataWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/MetadataWriter.js","sources":["../../../../src/features/upload/WriteFileMetadata/MetadataWriter.ts"],"sourcesContent":["import { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\nimport { MetadataWriter as MetadataWriterAbstraction } from \"./abstractions.js\";\n\nclass MetadataWriterImpl implements MetadataWriterAbstraction.Interface {\n private readonly tenantContext: TenantContext.Interface;\n private readonly keyValueStore: GlobalKeyValueStore.Interface;\n\n public constructor(\n tenantContext: TenantContext.Interface,\n keyValueStore: GlobalKeyValueStore.Interface\n ) {\n this.tenantContext = tenantContext;\n this.keyValueStore = keyValueStore;\n }\n\n public async write(files: MetadataWriterAbstraction.File[]) {\n const writers = files.map(async file => {\n const metadata = this.getMetadata(file);\n await this.keyValueStore.set(`FileManager/File/${file.id}/Metadata`, metadata);\n });\n\n await Promise.all(writers);\n }\n\n private getMetadata(file: MetadataWriterAbstraction.File) {\n const tenant = this.tenantContext.getTenant();\n return {\n id: file.id,\n bucketKey: `tenants/${tenant.id}/files/${file.key}`,\n tenant: tenant.id,\n size: file.size,\n contentType: file.type\n };\n }\n}\n\nexport const MetadataWriter = MetadataWriterAbstraction.createImplementation({\n implementation: MetadataWriterImpl,\n dependencies: [TenantContext, GlobalKeyValueStore]\n});\n"],"names":["MetadataWriterImpl","tenantContext","keyValueStore","files","writers","file","metadata","Promise","tenant","MetadataWriter","MetadataWriterAbstraction","TenantContext","GlobalKeyValueStore"],"mappings":";;;AAIA,MAAMA;IAIF,YACIC,aAAsC,EACtCC,aAA4C,CAC9C;QACE,IAAI,CAAC,aAAa,GAAGD;QACrB,IAAI,CAAC,aAAa,GAAGC;IACzB;IAEA,MAAa,MAAMC,KAAuC,EAAE;QACxD,MAAMC,UAAUD,MAAM,GAAG,CAAC,OAAME;YAC5B,MAAMC,WAAW,IAAI,CAAC,WAAW,CAACD;YAClC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAEA,KAAK,EAAE,CAAC,SAAS,CAAC,EAAEC;QACzE;QAEA,MAAMC,QAAQ,GAAG,CAACH;IACtB;IAEQ,YAAYC,IAAoC,EAAE;QACtD,MAAMG,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS;QAC3C,OAAO;YACH,IAAIH,KAAK,EAAE;YACX,WAAW,CAAC,QAAQ,EAAEG,OAAO,EAAE,CAAC,OAAO,EAAEH,KAAK,GAAG,EAAE;YACnD,QAAQG,OAAO,EAAE;YACjB,MAAMH,KAAK,IAAI;YACf,aAAaA,KAAK,IAAI;QAC1B;IACJ;AACJ;AAEO,MAAMI,gCAAiBC,eAAAA,oBAA8C,CAAC;IACzE,gBAAgBV;IAChB,cAAc;QAACW;QAAeC;KAAoB;AACtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileAfterBatchCreateEventHandler } from "../../../features/file/CreateFilesInBatch/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
declare class WriteMetadataAfterBatchCreateHandlerImpl implements FileAfterBatchCreateEventHandler.Interface {
|
|
4
|
+
private readonly metadataWriter;
|
|
5
|
+
constructor(metadataWriter: MetadataWriter.Interface);
|
|
6
|
+
handle(event: FileAfterBatchCreateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WriteMetadataAfterBatchCreateHandler: typeof WriteMetadataAfterBatchCreateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("~/features/file/CreateFilesInBatch/events.js").FileAfterBatchCreateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FileAfterBatchCreateEventHandler } from "../../file/CreateFilesInBatch/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
class WriteMetadataAfterBatchCreateHandlerImpl {
|
|
4
|
+
constructor(metadataWriter){
|
|
5
|
+
this.metadataWriter = metadataWriter;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { files } = event.payload;
|
|
9
|
+
await this.metadataWriter.write(files);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const WriteMetadataAfterBatchCreateHandler = FileAfterBatchCreateEventHandler.createImplementation({
|
|
13
|
+
implementation: WriteMetadataAfterBatchCreateHandlerImpl,
|
|
14
|
+
dependencies: [
|
|
15
|
+
MetadataWriter
|
|
16
|
+
]
|
|
17
|
+
});
|
|
18
|
+
export { WriteMetadataAfterBatchCreateHandler };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=WriteMetadataAfterBatchCreateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js","sources":["../../../../src/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.ts"],"sourcesContent":["import { FileAfterBatchCreateEventHandler } from \"~/features/file/CreateFilesInBatch/events.js\";\nimport { MetadataWriter } from \"./abstractions.js\";\n\nclass WriteMetadataAfterBatchCreateHandlerImpl\n implements FileAfterBatchCreateEventHandler.Interface\n{\n private readonly metadataWriter: MetadataWriter.Interface;\n\n public constructor(metadataWriter: MetadataWriter.Interface) {\n this.metadataWriter = metadataWriter;\n }\n\n public async handle(event: FileAfterBatchCreateEventHandler.Event): Promise<void> {\n const { files } = event.payload;\n await this.metadataWriter.write(files);\n }\n}\n\nexport const WriteMetadataAfterBatchCreateHandler =\n FileAfterBatchCreateEventHandler.createImplementation({\n implementation: WriteMetadataAfterBatchCreateHandlerImpl,\n dependencies: [MetadataWriter]\n });\n"],"names":["WriteMetadataAfterBatchCreateHandlerImpl","metadataWriter","event","files","WriteMetadataAfterBatchCreateHandler","FileAfterBatchCreateEventHandler","MetadataWriter"],"mappings":";;AAGA,MAAMA;IAKF,YAAmBC,cAAwC,CAAE;QACzD,IAAI,CAAC,cAAc,GAAGA;IAC1B;IAEA,MAAa,OAAOC,KAA6C,EAAiB;QAC9E,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAACC;IACpC;AACJ;AAEO,MAAMC,uCACTC,iCAAiC,oBAAoB,CAAC;IAClD,gBAAgBL;IAChB,cAAc;QAACM;KAAe;AAClC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileAfterCreateEventHandler } from "../../../features/file/CreateFile/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
declare class WriteMetadataAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {
|
|
4
|
+
private readonly metadataWriter;
|
|
5
|
+
constructor(metadataWriter: MetadataWriter.Interface);
|
|
6
|
+
handle(event: FileAfterCreateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WriteMetadataAfterCreateHandler: typeof WriteMetadataAfterCreateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("~/features/file/CreateFile/events.js").FileAfterCreateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FileAfterCreateEventHandler } from "../../file/CreateFile/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
class WriteMetadataAfterCreateHandlerImpl {
|
|
4
|
+
constructor(metadataWriter){
|
|
5
|
+
this.metadataWriter = metadataWriter;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { file } = event.payload;
|
|
9
|
+
await this.metadataWriter.write([
|
|
10
|
+
file
|
|
11
|
+
]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const WriteMetadataAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({
|
|
15
|
+
implementation: WriteMetadataAfterCreateHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
MetadataWriter
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { WriteMetadataAfterCreateHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=WriteMetadataAfterCreateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js","sources":["../../../../src/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"~/features/file/CreateFile/events.js\";\nimport { MetadataWriter } from \"./abstractions.js\";\n\nclass WriteMetadataAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {\n private readonly metadataWriter: MetadataWriter.Interface;\n\n public constructor(metadataWriter: MetadataWriter.Interface) {\n this.metadataWriter = metadataWriter;\n }\n\n public async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n await this.metadataWriter.write([file]);\n }\n}\n\nexport const WriteMetadataAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({\n implementation: WriteMetadataAfterCreateHandlerImpl,\n dependencies: [MetadataWriter]\n});\n"],"names":["WriteMetadataAfterCreateHandlerImpl","metadataWriter","event","file","WriteMetadataAfterCreateHandler","FileAfterCreateEventHandler","MetadataWriter"],"mappings":";;AAGA,MAAMA;IAGF,YAAmBC,cAAwC,CAAE;QACzD,IAAI,CAAC,cAAc,GAAGA;IAC1B;IAEA,MAAa,OAAOC,KAAwC,EAAiB;QACzE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAACC;SAAK;IAC1C;AACJ;AAEO,MAAMC,kCAAkCC,4BAA4B,oBAAoB,CAAC;IAC5F,gBAAgBL;IAChB,cAAc;QAACM;KAAe;AAClC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileAfterUpdateEventHandler } from "../../../features/file/UpdateFile/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
declare class WriteMetadataAfterUpdateHandlerImpl implements FileAfterUpdateEventHandler.Interface {
|
|
4
|
+
private readonly metadataWriter;
|
|
5
|
+
constructor(metadataWriter: MetadataWriter.Interface);
|
|
6
|
+
handle(event: FileAfterUpdateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const WriteMetadataAfterUpdateHandler: typeof WriteMetadataAfterUpdateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("~/features/file/UpdateFile/events.js").FileAfterUpdateEvent>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FileAfterUpdateEventHandler } from "../../file/UpdateFile/events.js";
|
|
2
|
+
import { MetadataWriter } from "./abstractions.js";
|
|
3
|
+
class WriteMetadataAfterUpdateHandlerImpl {
|
|
4
|
+
constructor(metadataWriter){
|
|
5
|
+
this.metadataWriter = metadataWriter;
|
|
6
|
+
}
|
|
7
|
+
async handle(event) {
|
|
8
|
+
const { file } = event.payload;
|
|
9
|
+
await this.metadataWriter.write([
|
|
10
|
+
file
|
|
11
|
+
]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const WriteMetadataAfterUpdateHandler = FileAfterUpdateEventHandler.createImplementation({
|
|
15
|
+
implementation: WriteMetadataAfterUpdateHandlerImpl,
|
|
16
|
+
dependencies: [
|
|
17
|
+
MetadataWriter
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
export { WriteMetadataAfterUpdateHandler };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=WriteMetadataAfterUpdateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js","sources":["../../../../src/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.ts"],"sourcesContent":["import { FileAfterUpdateEventHandler } from \"~/features/file/UpdateFile/events.js\";\nimport { MetadataWriter } from \"./abstractions.js\";\n\nclass WriteMetadataAfterUpdateHandlerImpl implements FileAfterUpdateEventHandler.Interface {\n private readonly metadataWriter: MetadataWriter.Interface;\n\n public constructor(metadataWriter: MetadataWriter.Interface) {\n this.metadataWriter = metadataWriter;\n }\n\n public async handle(event: FileAfterUpdateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n // Re-write the delivery metadata so changes (e.g. the image crop) propagate\n // to the asset-delivery pipeline.\n await this.metadataWriter.write([file]);\n }\n}\n\nexport const WriteMetadataAfterUpdateHandler = FileAfterUpdateEventHandler.createImplementation({\n implementation: WriteMetadataAfterUpdateHandlerImpl,\n dependencies: [MetadataWriter]\n});\n"],"names":["WriteMetadataAfterUpdateHandlerImpl","metadataWriter","event","file","WriteMetadataAfterUpdateHandler","FileAfterUpdateEventHandler","MetadataWriter"],"mappings":";;AAGA,MAAMA;IAGF,YAAmBC,cAAwC,CAAE;QACzD,IAAI,CAAC,cAAc,GAAGA;IAC1B;IAEA,MAAa,OAAOC,KAAwC,EAAiB;QACzE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAG9B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAACC;SAAK;IAC1C;AACJ;AAEO,MAAMC,kCAAkCC,4BAA4B,oBAAoB,CAAC;IAC5F,gBAAgBL;IAChB,cAAc;QAACM;KAAe;AAClC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { File as IFile } from "../../../domain/file/types.js";
|
|
2
|
+
export interface IMetadataWriter {
|
|
3
|
+
write(files: IFile[]): Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export declare const MetadataWriter: import("@webiny/di").Abstraction<IMetadataWriter>;
|
|
6
|
+
export declare namespace MetadataWriter {
|
|
7
|
+
type Interface = IMetadataWriter;
|
|
8
|
+
type File = IFile;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/abstractions.js","sources":["../../../../src/features/upload/WriteFileMetadata/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { File as IFile } from \"~/domain/file/types.js\";\n\nexport interface IMetadataWriter {\n write(files: IFile[]): Promise<void>;\n}\n\nexport const MetadataWriter = createAbstraction<IMetadataWriter>(\n \"FileManager/Upload/MetadataWriter\"\n);\n\nexport namespace MetadataWriter {\n export type Interface = IMetadataWriter;\n export type File = IFile;\n}\n"],"names":["MetadataWriter","createAbstraction"],"mappings":";AAOO,MAAMA,iBAAiBC,kBAC1B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { MetadataWriter } from "./MetadataWriter.js";
|
|
3
|
+
import { WriteMetadataAfterCreateHandler } from "./WriteMetadataAfterCreateHandler.js";
|
|
4
|
+
import { WriteMetadataAfterBatchCreateHandler } from "./WriteMetadataAfterBatchCreateHandler.js";
|
|
5
|
+
import { WriteMetadataAfterUpdateHandler } from "./WriteMetadataAfterUpdateHandler.js";
|
|
6
|
+
const WriteFileMetadataFeature = createFeature({
|
|
7
|
+
name: "FileManager/WriteFileMetadata",
|
|
8
|
+
register (container) {
|
|
9
|
+
container.register(MetadataWriter);
|
|
10
|
+
container.register(WriteMetadataAfterCreateHandler);
|
|
11
|
+
container.register(WriteMetadataAfterBatchCreateHandler);
|
|
12
|
+
container.register(WriteMetadataAfterUpdateHandler);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
export { WriteFileMetadataFeature };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/WriteFileMetadata/feature.js","sources":["../../../../src/features/upload/WriteFileMetadata/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MetadataWriter } from \"./MetadataWriter.js\";\nimport { WriteMetadataAfterCreateHandler } from \"./WriteMetadataAfterCreateHandler.js\";\nimport { WriteMetadataAfterBatchCreateHandler } from \"./WriteMetadataAfterBatchCreateHandler.js\";\nimport { WriteMetadataAfterUpdateHandler } from \"./WriteMetadataAfterUpdateHandler.js\";\n\nexport const WriteFileMetadataFeature = createFeature({\n name: \"FileManager/WriteFileMetadata\",\n register(container) {\n container.register(MetadataWriter);\n container.register(WriteMetadataAfterCreateHandler);\n container.register(WriteMetadataAfterBatchCreateHandler);\n container.register(WriteMetadataAfterUpdateHandler);\n }\n});\n"],"names":["WriteFileMetadataFeature","createFeature","container","MetadataWriter","WriteMetadataAfterCreateHandler","WriteMetadataAfterBatchCreateHandler","WriteMetadataAfterUpdateHandler"],"mappings":";;;;;AAMO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;IACvB;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type { PresignedPostPayloadData } from "./types.js";
|
|
2
|
+
export type { FileData } from "./types.js";
|
|
3
|
+
export type { UploadPayloadResponse } from "./types.js";
|
|
4
|
+
export type { MultiPartUploadFilePart } from "./types.js";
|
|
5
|
+
export type { CreateMultiPartUploadResult } from "./types.js";
|
|
6
|
+
export { checkPermissions } from "./utils/checkPermissions.js";
|
|
7
|
+
export { FileKey } from "./utils/FileKey.js";
|
|
8
|
+
export { FileExtension } from "./utils/FileExtension.js";
|
|
9
|
+
export { mimeTypes } from "./utils/mimeTypes.js";
|
|
10
|
+
export { FileNormalizer } from "./utils/FileNormalizer.js";
|
|
11
|
+
export { createFileUploadModifier } from "./utils/FileUploadModifier.js";
|
|
12
|
+
export { FileUploadModifierPlugin } from "./utils/FileUploadModifier.js";
|
|
13
|
+
export { createModifierFromPlugins } from "./utils/FileUploadModifier.js";
|
|
14
|
+
export { createFileNormalizerFromContext } from "./utils/createFileNormalizerFromContext.js";
|
|
15
|
+
export { GetUploadPayloadUseCase } from "./GetUploadPayload/index.js";
|
|
16
|
+
export { CreateMultiPartUploadUseCase } from "./CreateMultiPartUpload/index.js";
|
|
17
|
+
export { CompleteMultiPartUploadUseCase } from "./CompleteMultiPartUpload/index.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { checkPermissions } from "./utils/checkPermissions.js";
|
|
2
|
+
export { FileKey } from "./utils/FileKey.js";
|
|
3
|
+
export { FileExtension } from "./utils/FileExtension.js";
|
|
4
|
+
export { mimeTypes } from "./utils/mimeTypes.js";
|
|
5
|
+
export { FileNormalizer } from "./utils/FileNormalizer.js";
|
|
6
|
+
export { FileUploadModifierPlugin, createFileUploadModifier, createModifierFromPlugins } from "./utils/FileUploadModifier.js";
|
|
7
|
+
export { createFileNormalizerFromContext } from "./utils/createFileNormalizerFromContext.js";
|
|
8
|
+
export { GetUploadPayloadUseCase } from "./GetUploadPayload/index.js";
|
|
9
|
+
export { CreateMultiPartUploadUseCase } from "./CreateMultiPartUpload/index.js";
|
|
10
|
+
export { CompleteMultiPartUploadUseCase } from "./CompleteMultiPartUpload/index.js";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface PresignedPostPayloadData {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
size: number;
|
|
5
|
+
id?: string;
|
|
6
|
+
key?: string;
|
|
7
|
+
keyPrefix?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface FileData {
|
|
10
|
+
id: string;
|
|
11
|
+
key: string;
|
|
12
|
+
name: string;
|
|
13
|
+
size: number;
|
|
14
|
+
type: string;
|
|
15
|
+
}
|
|
16
|
+
export interface UploadPayloadResponse {
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
file: FileData;
|
|
19
|
+
}
|
|
20
|
+
export interface MultiPartUploadFilePart {
|
|
21
|
+
partNumber: number;
|
|
22
|
+
url: string;
|
|
23
|
+
}
|
|
24
|
+
export interface CreateMultiPartUploadResult {
|
|
25
|
+
file: FileData;
|
|
26
|
+
uploadId: string;
|
|
27
|
+
parts: MultiPartUploadFilePart[];
|
|
28
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { mimeTypes as external_mimeTypes_js_mimeTypes } from "./mimeTypes.js";
|
|
2
|
+
class FileExtension {
|
|
3
|
+
constructor(data){
|
|
4
|
+
this.data = data;
|
|
5
|
+
}
|
|
6
|
+
getValue() {
|
|
7
|
+
const name = (this.data.key || this.data.name).toLowerCase();
|
|
8
|
+
const maybeExt = name.split(".").pop();
|
|
9
|
+
const extensions = external_mimeTypes_js_mimeTypes[this.data.type];
|
|
10
|
+
if (extensions && !extensions.includes(maybeExt)) return extensions[0];
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export { FileExtension };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=FileExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/FileExtension.js","sources":["../../../../src/features/upload/utils/FileExtension.ts"],"sourcesContent":["import { mimeTypes } from \"./mimeTypes.js\";\nimport type { PresignedPostPayloadData } from \"~/features/upload/types.js\";\n\nexport class FileExtension {\n private data: PresignedPostPayloadData;\n\n constructor(data: PresignedPostPayloadData) {\n this.data = data;\n }\n\n getValue() {\n const name = (this.data.key || this.data.name).toLowerCase();\n\n const maybeExt = name.split(\".\").pop() as string;\n const extensions = mimeTypes[this.data.type];\n if (extensions && !extensions.includes(maybeExt)) {\n return extensions[0];\n }\n\n return \"\";\n }\n}\n"],"names":["FileExtension","data","name","maybeExt","extensions","mimeTypes"],"mappings":";AAGO,MAAMA;IAGT,YAAYC,IAA8B,CAAE;QACxC,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,WAAW;QACP,MAAMC,OAAQ,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAG,EAAG,WAAW;QAE1D,MAAMC,WAAWD,KAAK,KAAK,CAAC,KAAK,GAAG;QACpC,MAAME,aAAaC,+BAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAID,cAAc,CAACA,WAAW,QAAQ,CAACD,WACnC,OAAOC,UAAU,CAAC,EAAE;QAGxB,OAAO;IACX;AACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PresignedPostPayloadData } from "../../../features/upload/types.js";
|
|
2
|
+
export declare class FileKey {
|
|
3
|
+
private data;
|
|
4
|
+
private extension;
|
|
5
|
+
private key;
|
|
6
|
+
constructor(data: PresignedPostPayloadData);
|
|
7
|
+
getExtension(): string;
|
|
8
|
+
setKey(key: string): this;
|
|
9
|
+
toString(): string;
|
|
10
|
+
private getSanitizedKey;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import sanitize_filename from "sanitize-filename";
|
|
2
|
+
import { FileExtension } from "./FileExtension.js";
|
|
3
|
+
class FileKey {
|
|
4
|
+
constructor(data){
|
|
5
|
+
this.data = data;
|
|
6
|
+
this.extension = new FileExtension(data);
|
|
7
|
+
this.key = this.getSanitizedKey();
|
|
8
|
+
}
|
|
9
|
+
getExtension() {
|
|
10
|
+
return this.extension.getValue();
|
|
11
|
+
}
|
|
12
|
+
setKey(key) {
|
|
13
|
+
this.key = key;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
toString() {
|
|
17
|
+
return [
|
|
18
|
+
this.data.keyPrefix,
|
|
19
|
+
this.data.id,
|
|
20
|
+
this.key
|
|
21
|
+
].filter(Boolean).join("/");
|
|
22
|
+
}
|
|
23
|
+
getSanitizedKey() {
|
|
24
|
+
const key = sanitize_filename(this.data.key || this.data.name).replace(/\s/g, "");
|
|
25
|
+
return [
|
|
26
|
+
key,
|
|
27
|
+
this.getExtension()
|
|
28
|
+
].filter(Boolean).join(".");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export { FileKey };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=FileKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/FileKey.js","sources":["../../../../src/features/upload/utils/FileKey.ts"],"sourcesContent":["import sanitizeFilename from \"sanitize-filename\";\nimport type { PresignedPostPayloadData } from \"~/features/upload/types.js\";\nimport { FileExtension } from \"./FileExtension.js\";\n\nexport class FileKey {\n private data: PresignedPostPayloadData;\n private extension: FileExtension;\n private key: string;\n\n constructor(data: PresignedPostPayloadData) {\n this.data = data;\n this.extension = new FileExtension(data);\n this.key = this.getSanitizedKey();\n }\n\n getExtension() {\n return this.extension.getValue();\n }\n\n setKey(key: string) {\n this.key = key;\n return this;\n }\n\n toString() {\n return [this.data.keyPrefix, this.data.id, this.key].filter(Boolean).join(\"/\");\n }\n\n private getSanitizedKey() {\n const key = sanitizeFilename(this.data.key || this.data.name).replace(/\\s/g, \"\");\n\n return [key, this.getExtension()].filter(Boolean).join(\".\");\n }\n}\n"],"names":["FileKey","data","FileExtension","key","Boolean","sanitizeFilename"],"mappings":";;AAIO,MAAMA;IAKT,YAAYC,IAA8B,CAAE;QACxC,IAAI,CAAC,IAAI,GAAGA;QACZ,IAAI,CAAC,SAAS,GAAG,IAAIC,cAAcD;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe;IACnC;IAEA,eAAe;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ;IAClC;IAEA,OAAOE,GAAW,EAAE;QAChB,IAAI,CAAC,GAAG,GAAGA;QACX,OAAO,IAAI;IACf;IAEA,WAAW;QACP,OAAO;YAAC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG;SAAC,CAAC,MAAM,CAACC,SAAS,IAAI,CAAC;IAC9E;IAEQ,kBAAkB;QACtB,MAAMD,MAAME,kBAAiB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO;QAE7E,OAAO;YAACF;YAAK,IAAI,CAAC,YAAY;SAAG,CAAC,MAAM,CAACC,SAAS,IAAI,CAAC;IAC3D;AACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FileData, PresignedPostPayloadData } from "../../../features/upload/types.js";
|
|
2
|
+
import type { FileModifier } from "./FileUploadModifier.js";
|
|
3
|
+
export interface FileToSign {
|
|
4
|
+
name: string;
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
size: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class FileNormalizer {
|
|
10
|
+
private readonly modifier;
|
|
11
|
+
constructor(modifier?: FileModifier);
|
|
12
|
+
normalizeFile(payload: PresignedPostPayloadData): Promise<FileData>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { mdbid } from "@webiny/utils";
|
|
2
|
+
import { FileKey } from "./FileKey.js";
|
|
3
|
+
import { mimeTypes as external_mimeTypes_js_mimeTypes } from "./mimeTypes.js";
|
|
4
|
+
const extensionToMime = new Map();
|
|
5
|
+
for (const [mime, extensions] of Object.entries(external_mimeTypes_js_mimeTypes))for (const ext of extensions)if (!extensionToMime.has(ext)) extensionToMime.set(ext, mime);
|
|
6
|
+
function resolveTypeFromName(name) {
|
|
7
|
+
const ext = name.slice(name.lastIndexOf(".") + 1).toLowerCase();
|
|
8
|
+
return extensionToMime.get(ext) || "application/octet-stream";
|
|
9
|
+
}
|
|
10
|
+
class FileNormalizer {
|
|
11
|
+
constructor(modifier){
|
|
12
|
+
this.modifier = modifier;
|
|
13
|
+
}
|
|
14
|
+
async normalizeFile(payload) {
|
|
15
|
+
const data = {
|
|
16
|
+
...payload,
|
|
17
|
+
id: payload.id || mdbid(),
|
|
18
|
+
type: payload.type || resolveTypeFromName(payload.name)
|
|
19
|
+
};
|
|
20
|
+
const key = new FileKey(data);
|
|
21
|
+
const defaultKey = key.toString();
|
|
22
|
+
const file = {
|
|
23
|
+
name: data.name,
|
|
24
|
+
type: data.type,
|
|
25
|
+
key: defaultKey,
|
|
26
|
+
size: data.size
|
|
27
|
+
};
|
|
28
|
+
if (this.modifier) Object.assign(file, await this.modifier(file));
|
|
29
|
+
if (defaultKey !== file.key) key.setKey(file.key);
|
|
30
|
+
return {
|
|
31
|
+
id: data.id,
|
|
32
|
+
key: key.toString(),
|
|
33
|
+
name: file.name,
|
|
34
|
+
size: file.size,
|
|
35
|
+
type: file.type
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export { FileNormalizer };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=FileNormalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/FileNormalizer.js","sources":["../../../../src/features/upload/utils/FileNormalizer.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\nimport type { FileData, PresignedPostPayloadData } from \"~/features/upload/types.js\";\nimport { FileKey } from \"./FileKey.js\";\nimport { mimeTypes } from \"./mimeTypes.js\";\nimport type { FileModifier } from \"./FileUploadModifier.js\";\n\nexport interface FileToSign {\n name: string;\n key: string;\n type: string;\n size: number;\n}\n\nconst extensionToMime = new Map<string, string>();\nfor (const [mime, extensions] of Object.entries(mimeTypes)) {\n for (const ext of extensions) {\n if (!extensionToMime.has(ext)) {\n extensionToMime.set(ext, mime);\n }\n }\n}\n\nfunction resolveTypeFromName(name: string): string {\n const ext = name.slice(name.lastIndexOf(\".\") + 1).toLowerCase();\n return extensionToMime.get(ext) || \"application/octet-stream\";\n}\n\n/*\n * FileNormalizer normalizes file data, before it's signed for upload.\n * It generates a unique file id, and makes sure that the file key includes the unique id.\n */\nexport class FileNormalizer {\n private readonly modifier: FileModifier | undefined;\n\n constructor(modifier?: FileModifier) {\n this.modifier = modifier;\n }\n\n async normalizeFile(payload: PresignedPostPayloadData): Promise<FileData> {\n const data = {\n ...payload,\n id: payload.id || mdbid(),\n type: payload.type || resolveTypeFromName(payload.name)\n };\n\n const key = new FileKey(data);\n const defaultKey = key.toString();\n\n const file: FileToSign = {\n name: data.name,\n type: data.type,\n key: defaultKey,\n size: data.size\n };\n\n if (this.modifier) {\n Object.assign(file, await this.modifier(file));\n }\n\n if (defaultKey !== file.key) {\n key.setKey(file.key);\n }\n\n return {\n id: data.id,\n key: key.toString(),\n name: file.name,\n size: file.size,\n type: file.type\n };\n }\n}\n"],"names":["extensionToMime","Map","mime","extensions","Object","mimeTypes","ext","resolveTypeFromName","name","FileNormalizer","modifier","payload","data","mdbid","key","FileKey","defaultKey","file"],"mappings":";;;AAaA,MAAMA,kBAAkB,IAAIC;AAC5B,KAAK,MAAM,CAACC,MAAMC,WAAW,IAAIC,OAAO,OAAO,CAACC,iCAC5C,KAAK,MAAMC,OAAOH,WACd,IAAI,CAACH,gBAAgB,GAAG,CAACM,MACrBN,gBAAgB,GAAG,CAACM,KAAKJ;AAKrC,SAASK,oBAAoBC,IAAY;IACrC,MAAMF,MAAME,KAAK,KAAK,CAACA,KAAK,WAAW,CAAC,OAAO,GAAG,WAAW;IAC7D,OAAOR,gBAAgB,GAAG,CAACM,QAAQ;AACvC;AAMO,MAAMG;IAGT,YAAYC,QAAuB,CAAE;QACjC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAM,cAAcC,OAAiC,EAAqB;QACtE,MAAMC,OAAO;YACT,GAAGD,OAAO;YACV,IAAIA,QAAQ,EAAE,IAAIE;YAClB,MAAMF,QAAQ,IAAI,IAAIJ,oBAAoBI,QAAQ,IAAI;QAC1D;QAEA,MAAMG,MAAM,IAAIC,QAAQH;QACxB,MAAMI,aAAaF,IAAI,QAAQ;QAE/B,MAAMG,OAAmB;YACrB,MAAML,KAAK,IAAI;YACf,MAAMA,KAAK,IAAI;YACf,KAAKI;YACL,MAAMJ,KAAK,IAAI;QACnB;QAEA,IAAI,IAAI,CAAC,QAAQ,EACbR,OAAO,MAAM,CAACa,MAAM,MAAM,IAAI,CAAC,QAAQ,CAACA;QAG5C,IAAID,eAAeC,KAAK,GAAG,EACvBH,IAAI,MAAM,CAACG,KAAK,GAAG;QAGvB,OAAO;YACH,IAAIL,KAAK,EAAE;YACX,KAAKE,IAAI,QAAQ;YACjB,MAAMG,KAAK,IAAI;YACf,MAAMA,KAAK,IAAI;YACf,MAAMA,KAAK,IAAI;QACnB;IACJ;AACJ"}
|