@webiny/api-file-manager 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b6d7105cee
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/README.md +7 -13
- package/constants.d.ts +1 -0
- package/constants.js +4 -0
- package/constants.js.map +1 -0
- package/delivery/AssetDelivery/Asset.d.ts +29 -0
- package/delivery/AssetDelivery/Asset.js +56 -0
- package/delivery/AssetDelivery/Asset.js.map +1 -0
- package/delivery/AssetDelivery/AssetRequest.d.ts +26 -0
- package/delivery/AssetDelivery/AssetRequest.js +26 -0
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +26 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js +37 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +7 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
- package/delivery/index.d.ts +7 -0
- package/delivery/index.js +4 -0
- package/delivery/setupAssetDelivery.d.ts +1 -0
- package/delivery/setupAssetDelivery.js +72 -0
- package/delivery/setupAssetDelivery.js.map +1 -0
- package/domain/file/abstractions.d.ts +9 -0
- package/domain/file/abstractions.js +5 -0
- package/domain/file/abstractions.js.map +1 -0
- package/domain/file/errors.d.ts +59 -0
- package/domain/file/errors.js +80 -0
- package/domain/file/errors.js.map +1 -0
- package/domain/file/file.model.d.ts +12 -0
- package/domain/file/file.model.js +69 -0
- package/domain/file/file.model.js.map +1 -0
- package/domain/file/types.d.ts +53 -0
- package/domain/identity/Identity.d.ts +9 -0
- package/domain/identity/Identity.js +12 -0
- package/domain/identity/Identity.js.map +1 -0
- package/domain/permissionsSchema.d.ts +16 -0
- package/domain/permissionsSchema.js +30 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/domain/settings/constants.d.ts +1 -0
- package/domain/settings/constants.js +4 -0
- package/domain/settings/constants.js.map +1 -0
- package/domain/settings/errors.d.ts +18 -0
- package/domain/settings/errors.js +28 -0
- package/domain/settings/errors.js.map +1 -0
- package/domain/settings/types.d.ts +10 -0
- package/domain/settings/types.js +0 -0
- package/domain/settings/validation.d.ts +6 -0
- package/domain/settings/validation.js +27 -0
- package/domain/settings/validation.js.map +1 -0
- package/exports/api/file-manager/assetDelivery.d.ts +18 -0
- package/exports/api/file-manager/assetDelivery.js +15 -0
- package/exports/api/file-manager/file.d.ts +13 -0
- package/exports/api/file-manager/file.js +13 -0
- package/exports/api/file-manager/permissions.d.ts +1 -0
- package/exports/api/file-manager/permissions.js +1 -0
- package/exports/api/file-manager/settings.d.ts +3 -0
- package/exports/api/file-manager/settings.js +3 -0
- package/features/FileManagerFeature.d.ts +4 -0
- package/features/FileManagerFeature.js +43 -0
- package/features/FileManagerFeature.js.map +1 -0
- 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/AssetRequest/AssetRequest.d.ts +8 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
- package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
- package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
- package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
- package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
- package/features/assetDelivery/AssetRequest/index.js +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js +33 -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.d.ts +5 -0
- package/features/assetDelivery/NullAssetReply.js +17 -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/AssetAuthorizer.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +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/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/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 +38 -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 +12 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +34 -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 +66 -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 +10 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +24 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +10 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +24 -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 +7 -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 +15 -0
- package/features/file/CreateFile/CreateFileRepository.js +32 -0
- package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
- package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
- package/features/file/CreateFile/CreateFileUseCase.js +83 -0
- package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
- package/features/file/CreateFile/abstractions.d.ts +60 -0
- package/features/file/CreateFile/abstractions.js +6 -0
- package/features/file/CreateFile/abstractions.js.map +1 -0
- package/features/file/CreateFile/events.d.ts +31 -0
- package/features/file/CreateFile/events.js +23 -0
- package/features/file/CreateFile/events.js.map +1 -0
- package/features/file/CreateFile/feature.d.ts +4 -0
- package/features/file/CreateFile/feature.js +13 -0
- package/features/file/CreateFile/feature.js.map +1 -0
- package/features/file/CreateFile/index.d.ts +2 -0
- package/features/file/CreateFile/index.js +2 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +22 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +73 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
- package/features/file/CreateFilesInBatch/abstractions.d.ts +42 -0
- package/features/file/CreateFilesInBatch/abstractions.js +6 -0
- package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
- package/features/file/CreateFilesInBatch/events.d.ts +31 -0
- package/features/file/CreateFilesInBatch/events.js +23 -0
- package/features/file/CreateFilesInBatch/events.js.map +1 -0
- package/features/file/CreateFilesInBatch/feature.d.ts +4 -0
- package/features/file/CreateFilesInBatch/feature.js +13 -0
- package/features/file/CreateFilesInBatch/feature.js.map +1 -0
- package/features/file/CreateFilesInBatch/index.d.ts +1 -0
- package/features/file/CreateFilesInBatch/index.js +1 -0
- package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
- package/features/file/DeleteFile/DeleteFileRepository.js +31 -0
- package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
- package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
- package/features/file/DeleteFile/DeleteFileUseCase.js +43 -0
- package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
- package/features/file/DeleteFile/abstractions.d.ts +39 -0
- package/features/file/DeleteFile/abstractions.js +6 -0
- package/features/file/DeleteFile/abstractions.js.map +1 -0
- package/features/file/DeleteFile/events.d.ts +29 -0
- package/features/file/DeleteFile/events.js +23 -0
- package/features/file/DeleteFile/events.js.map +1 -0
- package/features/file/DeleteFile/feature.d.ts +4 -0
- package/features/file/DeleteFile/feature.js +13 -0
- package/features/file/DeleteFile/feature.js.map +1 -0
- package/features/file/DeleteFile/index.d.ts +2 -0
- package/features/file/DeleteFile/index.js +2 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
- package/features/file/FileUrlGenerator/abstractions.js +5 -0
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +11 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +1 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFile/GetFileRepository.d.ts +15 -0
- package/features/file/GetFile/GetFileRepository.js +33 -0
- package/features/file/GetFile/GetFileRepository.js.map +1 -0
- package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
- package/features/file/GetFile/GetFileUseCase.js +29 -0
- package/features/file/GetFile/GetFileUseCase.js.map +1 -0
- package/features/file/GetFile/abstractions.d.ts +40 -0
- package/features/file/GetFile/abstractions.js +6 -0
- package/features/file/GetFile/abstractions.js.map +1 -0
- package/features/file/GetFile/feature.d.ts +4 -0
- package/features/file/GetFile/feature.js +13 -0
- package/features/file/GetFile/feature.js.map +1 -0
- package/features/file/GetFile/index.d.ts +1 -0
- package/features/file/GetFile/index.js +1 -0
- 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 +18 -0
- package/features/file/ListFiles/ListFilesRepository.js +53 -0
- package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
- package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
- package/features/file/ListFiles/ListFilesUseCase.js +44 -0
- package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
- package/features/file/ListFiles/abstractions.d.ts +49 -0
- package/features/file/ListFiles/abstractions.js +6 -0
- package/features/file/ListFiles/abstractions.js.map +1 -0
- package/features/file/ListFiles/feature.d.ts +4 -0
- package/features/file/ListFiles/feature.js +13 -0
- package/features/file/ListFiles/feature.js.map +1 -0
- package/features/file/ListFiles/index.d.ts +1 -0
- package/features/file/ListFiles/index.js +1 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
- package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
- package/features/file/ListImagesByTagTool/feature.js +11 -0
- package/features/file/ListImagesByTagTool/feature.js.map +1 -0
- package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
- package/features/file/ListTags/ListTagsRepository.js +42 -0
- package/features/file/ListTags/ListTagsRepository.js.map +1 -0
- package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
- package/features/file/ListTags/ListTagsUseCase.js +31 -0
- package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
- package/features/file/ListTags/abstractions.d.ts +45 -0
- package/features/file/ListTags/abstractions.js +6 -0
- package/features/file/ListTags/abstractions.js.map +1 -0
- package/features/file/ListTags/feature.d.ts +4 -0
- package/features/file/ListTags/feature.js +13 -0
- package/features/file/ListTags/feature.js.map +1 -0
- package/features/file/ListTags/index.d.ts +1 -0
- package/features/file/ListTags/index.js +1 -0
- package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
- package/features/file/UpdateFile/UpdateFileRepository.js +37 -0
- package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
- package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
- package/features/file/UpdateFile/UpdateFileUseCase.js +71 -0
- package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
- package/features/file/UpdateFile/abstractions.d.ts +56 -0
- package/features/file/UpdateFile/abstractions.js +6 -0
- package/features/file/UpdateFile/abstractions.js.map +1 -0
- package/features/file/UpdateFile/events.d.ts +34 -0
- package/features/file/UpdateFile/events.js +23 -0
- package/features/file/UpdateFile/events.js.map +1 -0
- package/features/file/UpdateFile/feature.d.ts +4 -0
- package/features/file/UpdateFile/feature.js +13 -0
- package/features/file/UpdateFile/feature.js.map +1 -0
- package/features/file/UpdateFile/index.d.ts +2 -0
- package/features/file/UpdateFile/index.js +2 -0
- package/features/file/shared/EntryToFileMapper.d.ts +5 -0
- package/features/file/shared/EntryToFileMapper.js +28 -0
- package/features/file/shared/EntryToFileMapper.js.map +1 -0
- package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
- package/features/file/shared/FileInputToEntryInputMapper.js +32 -0
- package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
- package/features/file/shared/FileToEntryMapper.d.ts +5 -0
- package/features/file/shared/FileToEntryMapper.js +31 -0
- package/features/file/shared/FileToEntryMapper.js.map +1 -0
- package/features/permissions/abstractions.d.ts +21 -0
- package/features/permissions/abstractions.js +6 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +4 -0
- package/features/permissions/feature.js +7 -0
- package/features/permissions/feature.js.map +1 -0
- package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
- package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
- package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
- package/features/settings/GetSettings/abstractions.d.ts +18 -0
- package/features/settings/GetSettings/abstractions.js +5 -0
- package/features/settings/GetSettings/abstractions.js.map +1 -0
- package/features/settings/GetSettings/feature.d.ts +4 -0
- package/features/settings/GetSettings/feature.js +11 -0
- package/features/settings/GetSettings/feature.js.map +1 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js +36 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
- package/features/settings/SettingsInstaller/feature.d.ts +4 -0
- package/features/settings/SettingsInstaller/feature.js +11 -0
- package/features/settings/SettingsInstaller/feature.js.map +1 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +55 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
- package/features/settings/UpdateSettings/abstractions.d.ts +23 -0
- package/features/settings/UpdateSettings/abstractions.js +5 -0
- package/features/settings/UpdateSettings/abstractions.js.map +1 -0
- package/features/settings/UpdateSettings/events.d.ts +34 -0
- package/features/settings/UpdateSettings/events.js +23 -0
- package/features/settings/UpdateSettings/events.js.map +1 -0
- package/features/settings/UpdateSettings/feature.d.ts +4 -0
- package/features/settings/UpdateSettings/feature.js +11 -0
- package/features/settings/UpdateSettings/feature.js.map +1 -0
- package/features/settings/UpdateSettings/index.d.ts +2 -0
- package/features/settings/UpdateSettings/index.js +2 -0
- package/features/shared/abstractions.d.ts +1 -0
- package/features/shared/abstractions.js +1 -0
- 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 +25 -0
- package/graphql/FmGraphQLSchema.js +450 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
- package/graphql/FmUploadGraphQLSchema.js +229 -0
- package/graphql/FmUploadGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -5
- package/index.js +41 -66
- package/index.js.map +1 -1
- package/package.json +40 -40
- package/types.d.ts +2 -355
- package/types.js +1 -27
- package/createFileManager/checkBasePermissions.d.ts +0 -5
- package/createFileManager/checkBasePermissions.js +0 -24
- package/createFileManager/checkBasePermissions.js.map +0 -1
- package/createFileManager/files.crud.d.ts +0 -3
- package/createFileManager/files.crud.js +0 -318
- package/createFileManager/files.crud.js.map +0 -1
- package/createFileManager/filevalidation.disabled.js +0 -55
- package/createFileManager/filevalidation.disabled.js.map +0 -1
- package/createFileManager/index.d.ts +0 -13
- package/createFileManager/index.js +0 -20
- package/createFileManager/index.js.map +0 -1
- package/createFileManager/settings.crud.d.ts +0 -3
- package/createFileManager/settings.crud.js +0 -91
- package/createFileManager/settings.crud.js.map +0 -1
- package/createFileManager/system.crud.d.ts +0 -3
- package/createFileManager/system.crud.js +0 -86
- package/createFileManager/system.crud.js.map +0 -1
- package/graphql/index.d.ts +0 -3
- package/graphql/index.js +0 -288
- package/graphql/index.js.map +0 -1
- package/handlers/download/byAlias.d.ts +0 -6
- package/handlers/download/byAlias.js +0 -89
- package/handlers/download/byAlias.js.map +0 -1
- package/handlers/download/byExactKey.d.ts +0 -2
- package/handlers/download/byExactKey.js +0 -57
- package/handlers/download/byExactKey.js.map +0 -1
- package/handlers/download/extractFileInformation.d.ts +0 -9
- package/handlers/download/extractFileInformation.js +0 -20
- package/handlers/download/extractFileInformation.js.map +0 -1
- package/handlers/download/getS3Object.d.ts +0 -10
- package/handlers/download/getS3Object.js +0 -57
- package/handlers/download/getS3Object.js.map +0 -1
- package/handlers/download/index.d.ts +0 -2
- package/handlers/download/index.js +0 -27
- package/handlers/download/index.js.map +0 -1
- package/handlers/manage/index.d.ts +0 -5
- package/handlers/manage/index.js +0 -55
- package/handlers/manage/index.js.map +0 -1
- package/handlers/transform/index.d.ts +0 -2
- package/handlers/transform/index.js +0 -89
- package/handlers/transform/index.js.map +0 -1
- package/handlers/transform/legacyUtils.d.ts +0 -17
- package/handlers/transform/legacyUtils.js +0 -42
- package/handlers/transform/legacyUtils.js.map +0 -1
- package/handlers/transform/loaders/imageLoader.d.ts +0 -30
- package/handlers/transform/loaders/imageLoader.js +0 -94
- package/handlers/transform/loaders/imageLoader.js.map +0 -1
- package/handlers/transform/loaders/index.d.ts +0 -8
- package/handlers/transform/loaders/index.js +0 -10
- package/handlers/transform/loaders/index.js.map +0 -1
- package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
- package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
- package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
- package/handlers/transform/managers/imageManager.d.ts +0 -15
- package/handlers/transform/managers/imageManager.js +0 -74
- package/handlers/transform/managers/imageManager.js.map +0 -1
- package/handlers/transform/managers/index.d.ts +0 -5
- package/handlers/transform/managers/index.js +0 -10
- package/handlers/transform/managers/index.js.map +0 -1
- package/handlers/transform/optimizeImage.d.ts +0 -3
- package/handlers/transform/optimizeImage.js +0 -42
- package/handlers/transform/optimizeImage.js.map +0 -1
- package/handlers/transform/transformImage.d.ts +0 -10
- package/handlers/transform/transformImage.js +0 -25
- package/handlers/transform/transformImage.js.map +0 -1
- package/handlers/transform/utils.d.ts +0 -12
- package/handlers/transform/utils.js +0 -36
- package/handlers/transform/utils.js.map +0 -1
- package/handlers/types.d.ts +0 -8
- package/handlers/types.js +0 -5
- package/handlers/types.js.map +0 -1
- package/handlers/utils/getEnvironment.d.ts +0 -5
- package/handlers/utils/getEnvironment.js +0 -11
- package/handlers/utils/getEnvironment.js.map +0 -1
- package/handlers/utils/getObjectParams.d.ts +0 -9
- package/handlers/utils/getObjectParams.js +0 -21
- package/handlers/utils/getObjectParams.js.map +0 -1
- package/handlers/utils/index.d.ts +0 -2
- package/handlers/utils/index.js +0 -20
- package/handlers/utils/index.js.map +0 -1
- package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
- package/plugins/FilePhysicalStoragePlugin.js +0 -31
- package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
- package/plugins/FileStorageTransformPlugin.d.ts +0 -34
- package/plugins/FileStorageTransformPlugin.js +0 -40
- package/plugins/FileStorageTransformPlugin.js.map +0 -1
- package/plugins/crud/files/validation.d.ts +0 -3
- package/plugins/crud/files/validation.js +0 -41
- package/plugins/crud/files/validation.js.map +0 -1
- package/plugins/crud/files.crud.d.ts +0 -4
- package/plugins/crud/files.crud.js +0 -431
- package/plugins/crud/files.crud.js.map +0 -1
- package/plugins/crud/settings.crud.d.ts +0 -5
- package/plugins/crud/settings.crud.js +0 -116
- package/plugins/crud/settings.crud.js.map +0 -1
- package/plugins/crud/system.crud.d.ts +0 -4
- package/plugins/crud/system.crud.js +0 -153
- package/plugins/crud/system.crud.js.map +0 -1
- package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
- package/plugins/crud/utils/checkBasePermissions.js +0 -33
- package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
- package/plugins/crud/utils/createFileModel.d.ts +0 -5
- package/plugins/crud/utils/createFileModel.js +0 -77
- package/plugins/crud/utils/createFileModel.js.map +0 -1
- package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
- package/plugins/crud/utils/lifecycleEvents.js +0 -38
- package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
- package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
- package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
- package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
- package/plugins/definitions/FilePlugin.d.ts +0 -136
- package/plugins/definitions/FilePlugin.js +0 -70
- package/plugins/definitions/FilePlugin.js.map +0 -1
- package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
- package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
- package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/definitions/InstallationPlugin.d.ts +0 -19
- package/plugins/definitions/InstallationPlugin.js +0 -42
- package/plugins/definitions/InstallationPlugin.js.map +0 -1
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/graphql.d.ts +0 -4
- package/plugins/graphql.js +0 -290
- package/plugins/graphql.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -27
- package/plugins/index.js.map +0 -1
- package/plugins/storage/FileStorage.d.ts +0 -30
- package/plugins/storage/FileStorage.js +0 -103
- package/plugins/storage/FileStorage.js.map +0 -1
- package/plugins/storage/index.d.ts +0 -4
- package/plugins/storage/index.js +0 -26
- package/plugins/storage/index.js.map +0 -1
- package/storage/FileStorage.d.ts +0 -32
- package/storage/FileStorage.js +0 -86
- package/storage/FileStorage.js.map +0 -1
- package/types/file.d.ts +0 -33
- package/types/file.js +0 -5
- package/types/file.js.map +0 -1
- package/types/file.lifecycle.d.ts +0 -40
- package/types/file.lifecycle.js +0 -5
- package/types/file.lifecycle.js.map +0 -1
- package/types.js.map +0 -1
- package/utils.d.ts +0 -4
- package/utils.js +0 -16
- package/utils.js.map +0 -1
- /package/{createFileManager/filevalidation.disabled.d.ts → domain/file/types.js} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CreateFilesInBatchRepository } from "./CreateFilesInBatchRepository.js";
|
|
3
|
+
import { CreateFilesInBatchUseCase } from "./CreateFilesInBatchUseCase.js";
|
|
4
|
+
const CreateFilesInBatchFeature = createFeature({
|
|
5
|
+
name: "FileManager/CreateFilesInBatch",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(CreateFilesInBatchUseCase);
|
|
8
|
+
container.register(CreateFilesInBatchRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { CreateFilesInBatchFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/CreateFilesInBatch/feature.js","sources":["../../../../src/features/file/CreateFilesInBatch/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateFilesInBatchRepository } from \"./CreateFilesInBatchRepository.js\";\nimport { CreateFilesInBatchUseCase } from \"./CreateFilesInBatchUseCase.js\";\n\nexport const CreateFilesInBatchFeature = createFeature({\n name: \"FileManager/CreateFilesInBatch\",\n register(container) {\n container.register(CreateFilesInBatchUseCase);\n container.register(CreateFilesInBatchRepository).inSingletonScope();\n }\n});\n"],"names":["CreateFilesInBatchFeature","createFeature","container","CreateFilesInBatchUseCase","CreateFilesInBatchRepository"],"mappings":";;;AAIO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,8BAA8B,gBAAgB;IACrE;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreateFilesInBatchUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreateFilesInBatchUseCase } from "./abstractions.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
+
import { DeleteFileRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
4
|
+
import { FileModel } from "../../../domain/file/abstractions.js";
|
|
5
|
+
import { File } from "../../../domain/file/types.js";
|
|
6
|
+
declare class DeleteFileRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
7
|
+
private deleteEntry;
|
|
8
|
+
private fileModel;
|
|
9
|
+
constructor(deleteEntry: DeleteEntryUseCase.Interface, fileModel: FileModel.Interface);
|
|
10
|
+
delete(file: File): Promise<Result<void, RepositoryAbstraction.Error>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const DeleteFileRepository: typeof DeleteFileRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteFileRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
|
|
3
|
+
import { DeleteFileRepository } from "./abstractions.js";
|
|
4
|
+
import { FileModel } from "../../../domain/file/abstractions.js";
|
|
5
|
+
import { FileNotFoundError, FilePersistenceError } from "../../../domain/file/errors.js";
|
|
6
|
+
class DeleteFileRepositoryImpl {
|
|
7
|
+
constructor(deleteEntry, fileModel){
|
|
8
|
+
this.deleteEntry = deleteEntry;
|
|
9
|
+
this.fileModel = fileModel;
|
|
10
|
+
}
|
|
11
|
+
async delete(file) {
|
|
12
|
+
const entryId = `${file.id}#0001`;
|
|
13
|
+
const result = await this.deleteEntry.execute(this.fileModel, entryId);
|
|
14
|
+
if (result.isFail()) {
|
|
15
|
+
const error = result.error;
|
|
16
|
+
if ("Cms/Entry/NotFound" === error.code) return Result.fail(new FileNotFoundError(file.id));
|
|
17
|
+
return Result.fail(new FilePersistenceError(result.error));
|
|
18
|
+
}
|
|
19
|
+
return Result.ok();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const DeleteFileRepository_DeleteFileRepository = DeleteFileRepository.createImplementation({
|
|
23
|
+
implementation: DeleteFileRepositoryImpl,
|
|
24
|
+
dependencies: [
|
|
25
|
+
DeleteEntryUseCase,
|
|
26
|
+
FileModel
|
|
27
|
+
]
|
|
28
|
+
});
|
|
29
|
+
export { DeleteFileRepository_DeleteFileRepository as DeleteFileRepository };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=DeleteFileRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/DeleteFile/DeleteFileRepository.js","sources":["../../../../src/features/file/DeleteFile/DeleteFileRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { DeleteFileRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { FileModel } from \"~/domain/file/abstractions.js\";\nimport { FileNotFoundError, FilePersistenceError } from \"~/domain/file/errors.js\";\nimport { File } from \"~/domain/file/types.js\";\n\nclass DeleteFileRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private fileModel: FileModel.Interface\n ) {}\n\n async delete(file: File): Promise<Result<void, RepositoryAbstraction.Error>> {\n // Files are not versioned, so we're always deleting the same revision\n const entryId = `${file.id}#0001`;\n\n const result = await this.deleteEntry.execute(this.fileModel, entryId);\n\n if (result.isFail()) {\n const error = result.error;\n if (error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new FileNotFoundError(file.id));\n }\n return Result.fail(new FilePersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteFileRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteFileRepositoryImpl,\n dependencies: [DeleteEntryUseCase, FileModel]\n});\n"],"names":["DeleteFileRepositoryImpl","deleteEntry","fileModel","file","entryId","result","error","Result","FileNotFoundError","FilePersistenceError","DeleteFileRepository","RepositoryAbstraction","DeleteEntryUseCase","FileModel"],"mappings":";;;;;AAOA,MAAMA;IACF,YACYC,WAAyC,EACzCC,SAA8B,CACxC;aAFUD,WAAW,GAAXA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,OAAOC,IAAU,EAAsD;QAEzE,MAAMC,UAAU,GAAGD,KAAK,EAAE,CAAC,KAAK,CAAC;QAEjC,MAAME,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAED;QAE9D,IAAIC,OAAO,MAAM,IAAI;YACjB,MAAMC,QAAQD,OAAO,KAAK;YAC1B,IAAIC,AAAe,yBAAfA,MAAM,IAAI,EACV,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBL,KAAK,EAAE;YAEpD,OAAOI,OAAO,IAAI,CAAC,IAAIE,qBAAqBJ,OAAO,KAAK;QAC5D;QAEA,OAAOE,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAA0C,CAAC;IAC3E,gBAAgBX;IAChB,cAAc;QAACY;QAAoBC;KAAU;AACjD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFileUseCase as UseCaseAbstraction, DeleteFileRepository } from "./abstractions.js";
|
|
3
|
+
import { GetFileUseCase } from "../GetFile/abstractions.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
import { FmPermissions } from "../../../features/shared/abstractions.js";
|
|
6
|
+
declare class DeleteFileUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
7
|
+
private permissions;
|
|
8
|
+
private getFile;
|
|
9
|
+
private repository;
|
|
10
|
+
private eventPublisher;
|
|
11
|
+
constructor(permissions: FmPermissions.Interface, getFile: GetFileUseCase.Interface, repository: DeleteFileRepository.Interface, eventPublisher: EventPublisher.Interface);
|
|
12
|
+
execute(id: string): Promise<Result<void, UseCaseAbstraction.Error>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const DeleteFileUseCase: typeof DeleteFileUseCaseImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteFileUseCase>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFileRepository, DeleteFileUseCase } from "./abstractions.js";
|
|
3
|
+
import { GetFileUseCase } from "../GetFile/abstractions.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
6
|
+
import { FileAfterDeleteEvent, FileBeforeDeleteEvent } from "./events.js";
|
|
7
|
+
import { FmPermissions } from "../../shared/abstractions.js";
|
|
8
|
+
class DeleteFileUseCaseImpl {
|
|
9
|
+
constructor(permissions, getFile, repository, eventPublisher){
|
|
10
|
+
this.permissions = permissions;
|
|
11
|
+
this.getFile = getFile;
|
|
12
|
+
this.repository = repository;
|
|
13
|
+
this.eventPublisher = eventPublisher;
|
|
14
|
+
}
|
|
15
|
+
async execute(id) {
|
|
16
|
+
const hasPermission = await this.permissions.canDelete("file");
|
|
17
|
+
if (!hasPermission) return Result.fail(new FileNotAuthorizedError());
|
|
18
|
+
const getResult = await this.getFile.execute(id);
|
|
19
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
20
|
+
const file = getResult.value;
|
|
21
|
+
await this.eventPublisher.publish(new FileBeforeDeleteEvent({
|
|
22
|
+
file
|
|
23
|
+
}));
|
|
24
|
+
const result = await this.repository.delete(file);
|
|
25
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
26
|
+
await this.eventPublisher.publish(new FileAfterDeleteEvent({
|
|
27
|
+
file
|
|
28
|
+
}));
|
|
29
|
+
return Result.ok();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const DeleteFileUseCase_DeleteFileUseCase = DeleteFileUseCase.createImplementation({
|
|
33
|
+
implementation: DeleteFileUseCaseImpl,
|
|
34
|
+
dependencies: [
|
|
35
|
+
FmPermissions,
|
|
36
|
+
GetFileUseCase,
|
|
37
|
+
DeleteFileRepository,
|
|
38
|
+
EventPublisher
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
export { DeleteFileUseCase_DeleteFileUseCase as DeleteFileUseCase };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=DeleteFileUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/DeleteFile/DeleteFileUseCase.js","sources":["../../../../src/features/file/DeleteFile/DeleteFileUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteFileUseCase as UseCaseAbstraction, DeleteFileRepository } from \"./abstractions.js\";\nimport { GetFileUseCase } from \"../GetFile/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FileBeforeDeleteEvent, FileAfterDeleteEvent } from \"./events.js\";\nimport { FmPermissions } from \"~/features/shared/abstractions.js\";\n\nclass DeleteFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: FmPermissions.Interface,\n private getFile: GetFileUseCase.Interface,\n private repository: DeleteFileRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(id: string): Promise<Result<void, UseCaseAbstraction.Error>> {\n const hasPermission = await this.permissions.canDelete(\"file\");\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n // Get file (includes ownership check)\n const getResult = await this.getFile.execute(id);\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const file = getResult.value;\n\n await this.eventPublisher.publish(new FileBeforeDeleteEvent({ file }));\n\n const result = await this.repository.delete(file);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(new FileAfterDeleteEvent({ file }));\n\n return Result.ok();\n }\n}\n\nexport const DeleteFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: DeleteFileUseCaseImpl,\n dependencies: [FmPermissions, GetFileUseCase, DeleteFileRepository, EventPublisher]\n});\n"],"names":["DeleteFileUseCaseImpl","permissions","getFile","repository","eventPublisher","id","hasPermission","Result","FileNotAuthorizedError","getResult","file","FileBeforeDeleteEvent","result","FileAfterDeleteEvent","DeleteFileUseCase","UseCaseAbstraction","FmPermissions","GetFileUseCase","DeleteFileRepository","EventPublisher"],"mappings":";;;;;;;AAQA,MAAMA;IACF,YACYC,WAAoC,EACpCC,OAAiC,EACjCC,UAA0C,EAC1CC,cAAwC,CAClD;aAJUH,WAAW,GAAXA;aACAC,OAAO,GAAPA;aACAC,UAAU,GAAVA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAmD;QACvE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACvD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACJ;QAC7C,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAACE,UAAU,KAAK;QAGtC,MAAMC,OAAOD,UAAU,KAAK;QAE5B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIE,sBAAsB;YAAED;QAAK;QAEnE,MAAME,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACF;QAE5C,IAAIE,OAAO,MAAM,IACb,OAAOL,OAAO,IAAI,CAACK,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,qBAAqB;YAAEH;QAAK;QAElE,OAAOH,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMO,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBf;IAChB,cAAc;QAACgB;QAAeC;QAAgBC;QAAsBC;KAAe;AACvF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import { type FilePersistenceError, type FileNotFoundError, FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
3
|
+
import { File } from "../../../domain/file/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* DeleteFile repository interface
|
|
6
|
+
*/
|
|
7
|
+
export interface IDeleteFileRepository {
|
|
8
|
+
delete(file: File): Promise<Result<void, RepositoryError>>;
|
|
9
|
+
}
|
|
10
|
+
export interface IDeleteFileRepositoryErrors {
|
|
11
|
+
notFound: FileNotFoundError;
|
|
12
|
+
persistence: FilePersistenceError;
|
|
13
|
+
}
|
|
14
|
+
type RepositoryError = IDeleteFileRepositoryErrors[keyof IDeleteFileRepositoryErrors];
|
|
15
|
+
/** Persist file deletion. */
|
|
16
|
+
export declare const DeleteFileRepository: import("@webiny/di").Abstraction<IDeleteFileRepository>;
|
|
17
|
+
export declare namespace DeleteFileRepository {
|
|
18
|
+
type Interface = IDeleteFileRepository;
|
|
19
|
+
type Error = RepositoryError;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* DeleteFile use case interface
|
|
23
|
+
*/
|
|
24
|
+
export interface IDeleteFileUseCase {
|
|
25
|
+
execute(id: string): Promise<Result<void, UseCaseError>>;
|
|
26
|
+
}
|
|
27
|
+
export interface IDeleteFileUseCaseErrors {
|
|
28
|
+
notAuthorized: FileNotAuthorizedError;
|
|
29
|
+
notFound: FileNotFoundError;
|
|
30
|
+
persistence: FilePersistenceError;
|
|
31
|
+
}
|
|
32
|
+
type UseCaseError = IDeleteFileUseCaseErrors[keyof IDeleteFileUseCaseErrors];
|
|
33
|
+
/** Delete a file. */
|
|
34
|
+
export declare const DeleteFileUseCase: import("@webiny/di").Abstraction<IDeleteFileUseCase>;
|
|
35
|
+
export declare namespace DeleteFileUseCase {
|
|
36
|
+
type Interface = IDeleteFileUseCase;
|
|
37
|
+
type Error = UseCaseError;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const DeleteFileRepository = createAbstraction("DeleteFileRepository");
|
|
3
|
+
const DeleteFileUseCase = createAbstraction("DeleteFileUseCase");
|
|
4
|
+
export { DeleteFileRepository, DeleteFileUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/DeleteFile/abstractions.js","sources":["../../../../src/features/file/DeleteFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\nimport { File } from \"~/domain/file/types.js\";\n\n/**\n * DeleteFile repository interface\n */\nexport interface IDeleteFileRepository {\n delete(file: File): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteFileRepositoryErrors {\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IDeleteFileRepositoryErrors[keyof IDeleteFileRepositoryErrors];\n\n/** Persist file deletion. */\nexport const DeleteFileRepository =\n createAbstraction<IDeleteFileRepository>(\"DeleteFileRepository\");\n\nexport namespace DeleteFileRepository {\n export type Interface = IDeleteFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * DeleteFile use case interface\n */\nexport interface IDeleteFileUseCase {\n execute(id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IDeleteFileUseCaseErrors[keyof IDeleteFileUseCaseErrors];\n\n/** Delete a file. */\nexport const DeleteFileUseCase = createAbstraction<IDeleteFileUseCase>(\"DeleteFileUseCase\");\n\nexport namespace DeleteFileUseCase {\n export type Interface = IDeleteFileUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["DeleteFileRepository","createAbstraction","DeleteFileUseCase"],"mappings":";AAwBO,MAAMA,uBACTC,kBAAyC;AAuBtC,MAAMC,oBAAoBD,kBAAsC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import type { File } from "../../../domain/file/types.js";
|
|
4
|
+
export interface FileBeforeDeletePayload {
|
|
5
|
+
file: File;
|
|
6
|
+
}
|
|
7
|
+
export declare class FileBeforeDeleteEvent extends DomainEvent<FileBeforeDeletePayload> {
|
|
8
|
+
eventType: "FileManager/File/BeforeDelete";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileBeforeDeleteEvent>>;
|
|
10
|
+
}
|
|
11
|
+
/** Hook into file lifecycle before a file is deleted. */
|
|
12
|
+
export declare const FileBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileBeforeDeleteEvent>>;
|
|
13
|
+
export declare namespace FileBeforeDeleteEventHandler {
|
|
14
|
+
type Interface = IEventHandler<FileBeforeDeleteEvent>;
|
|
15
|
+
type Event = FileBeforeDeleteEvent;
|
|
16
|
+
}
|
|
17
|
+
export interface FileAfterDeletePayload {
|
|
18
|
+
file: File;
|
|
19
|
+
}
|
|
20
|
+
export declare class FileAfterDeleteEvent extends DomainEvent<FileAfterDeletePayload> {
|
|
21
|
+
eventType: "FileManager/File/AfterDelete";
|
|
22
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileAfterDeleteEvent>>;
|
|
23
|
+
}
|
|
24
|
+
/** Hook into file lifecycle after a file is deleted. */
|
|
25
|
+
export declare const FileAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileAfterDeleteEvent>>;
|
|
26
|
+
export declare namespace FileAfterDeleteEventHandler {
|
|
27
|
+
type Interface = IEventHandler<FileAfterDeleteEvent>;
|
|
28
|
+
type Event = FileAfterDeleteEvent;
|
|
29
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
class FileBeforeDeleteEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return FileBeforeDeleteEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "FileManager/File/BeforeDelete";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const FileBeforeDeleteEventHandler = createAbstraction("FileBeforeDeleteEventHandler");
|
|
12
|
+
class FileAfterDeleteEvent extends DomainEvent {
|
|
13
|
+
getHandlerAbstraction() {
|
|
14
|
+
return FileAfterDeleteEventHandler;
|
|
15
|
+
}
|
|
16
|
+
constructor(...args){
|
|
17
|
+
super(...args), this.eventType = "FileManager/File/AfterDelete";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const FileAfterDeleteEventHandler = createAbstraction("FileAfterDeleteEventHandler");
|
|
21
|
+
export { FileAfterDeleteEvent, FileAfterDeleteEventHandler, FileBeforeDeleteEvent, FileBeforeDeleteEventHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/DeleteFile/events.js","sources":["../../../../src/features/file/DeleteFile/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { File } from \"~/domain/file/types.js\";\n\n// ============================================================================\n// FileBeforeDelete Event\n// ============================================================================\n\nexport interface FileBeforeDeletePayload {\n file: File;\n}\n\nexport class FileBeforeDeleteEvent extends DomainEvent<FileBeforeDeletePayload> {\n eventType = \"FileManager/File/BeforeDelete\" as const;\n\n getHandlerAbstraction() {\n return FileBeforeDeleteEventHandler;\n }\n}\n\n/** Hook into file lifecycle before a file is deleted. */\nexport const FileBeforeDeleteEventHandler = createAbstraction<IEventHandler<FileBeforeDeleteEvent>>(\n \"FileBeforeDeleteEventHandler\"\n);\n\nexport namespace FileBeforeDeleteEventHandler {\n export type Interface = IEventHandler<FileBeforeDeleteEvent>;\n export type Event = FileBeforeDeleteEvent;\n}\n\n// ============================================================================\n// FileAfterDelete Event\n// ============================================================================\n\nexport interface FileAfterDeletePayload {\n file: File;\n}\n\nexport class FileAfterDeleteEvent extends DomainEvent<FileAfterDeletePayload> {\n eventType = \"FileManager/File/AfterDelete\" as const;\n\n getHandlerAbstraction() {\n return FileAfterDeleteEventHandler;\n }\n}\n\n/** Hook into file lifecycle after a file is deleted. */\nexport const FileAfterDeleteEventHandler = createAbstraction<IEventHandler<FileAfterDeleteEvent>>(\n \"FileAfterDeleteEventHandler\"\n);\n\nexport namespace FileAfterDeleteEventHandler {\n export type Interface = IEventHandler<FileAfterDeleteEvent>;\n export type Event = FileAfterDeleteEvent;\n}\n"],"names":["FileBeforeDeleteEvent","DomainEvent","FileBeforeDeleteEventHandler","createAbstraction","FileAfterDeleteEvent","FileAfterDeleteEventHandler"],"mappings":";;AAaO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,+BAA+BC,kBACxC;AAgBG,MAAMC,6BAA6BH;IAGtC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,8BAA8BF,kBACvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteFileRepository } from "./DeleteFileRepository.js";
|
|
3
|
+
import { DeleteFileUseCase } from "./DeleteFileUseCase.js";
|
|
4
|
+
const DeleteFileFeature = createFeature({
|
|
5
|
+
name: "FileManager/DeleteFile",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(DeleteFileUseCase);
|
|
8
|
+
container.register(DeleteFileRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { DeleteFileFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/DeleteFile/feature.js","sources":["../../../../src/features/file/DeleteFile/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteFileRepository } from \"./DeleteFileRepository.js\";\nimport { DeleteFileUseCase } from \"./DeleteFileUseCase.js\";\n\nexport const DeleteFileFeature = createFeature({\n name: \"FileManager/DeleteFile\",\n register(container) {\n container.register(DeleteFileUseCase);\n container.register(DeleteFileRepository).inSingletonScope();\n }\n});\n"],"names":["DeleteFileFeature","createFeature","container","DeleteFileUseCase","DeleteFileRepository"],"mappings":";;;AAIO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,sBAAsB,gBAAgB;IAC7D;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FileUrlGenerator as Abstraction } from "./abstractions.js";
|
|
2
|
+
import { GetSettingsUseCase } from "../../../features/settings/GetSettings/abstractions.js";
|
|
3
|
+
import type { File } from "../../../domain/file/types.js";
|
|
4
|
+
declare class FileUrlGeneratorImpl implements Abstraction.Interface {
|
|
5
|
+
private readonly getSettings;
|
|
6
|
+
private srcPrefix;
|
|
7
|
+
constructor(getSettings: GetSettingsUseCase.Interface);
|
|
8
|
+
generateUrl(file: File): Promise<string>;
|
|
9
|
+
private getPrefix;
|
|
10
|
+
private fetchPrefix;
|
|
11
|
+
}
|
|
12
|
+
export declare const FileUrlGenerator: typeof FileUrlGeneratorImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IFileUrlGenerator>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FileUrlGenerator } from "./abstractions.js";
|
|
2
|
+
import { GetSettingsUseCase } from "../../settings/GetSettings/abstractions.js";
|
|
3
|
+
class FileUrlGeneratorImpl {
|
|
4
|
+
constructor(getSettings){
|
|
5
|
+
this.getSettings = getSettings;
|
|
6
|
+
}
|
|
7
|
+
async generateUrl(file) {
|
|
8
|
+
const prefix = await this.getPrefix();
|
|
9
|
+
return prefix + file.key;
|
|
10
|
+
}
|
|
11
|
+
async getPrefix() {
|
|
12
|
+
if (void 0 === this.srcPrefix) this.srcPrefix = this.fetchPrefix();
|
|
13
|
+
return this.srcPrefix;
|
|
14
|
+
}
|
|
15
|
+
async fetchPrefix() {
|
|
16
|
+
const result = await this.getSettings.execute();
|
|
17
|
+
if (result.isFail()) {
|
|
18
|
+
console.error("Failed to fetch settings:", result.error);
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
const settings = result.value;
|
|
22
|
+
return settings?.srcPrefix || "";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const FileUrlGenerator_FileUrlGenerator = FileUrlGenerator.createImplementation({
|
|
26
|
+
implementation: FileUrlGeneratorImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
GetSettingsUseCase
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
export { FileUrlGenerator_FileUrlGenerator as FileUrlGenerator };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=FileUrlGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/FileUrlGenerator/FileUrlGenerator.js","sources":["../../../../src/features/file/FileUrlGenerator/FileUrlGenerator.ts"],"sourcesContent":["import { FileUrlGenerator as Abstraction } from \"./abstractions.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport type { File } from \"~/domain/file/types.js\";\n\nclass FileUrlGeneratorImpl implements Abstraction.Interface {\n private srcPrefix: Promise<string> | undefined;\n\n public constructor(private readonly getSettings: GetSettingsUseCase.Interface) {}\n\n public async generateUrl(file: File): Promise<string> {\n const prefix = await this.getPrefix();\n return prefix + file.key;\n }\n\n private async getPrefix(): Promise<string> {\n if (this.srcPrefix === undefined) {\n this.srcPrefix = this.fetchPrefix();\n }\n return this.srcPrefix;\n }\n\n private async fetchPrefix(): Promise<string> {\n const result = await this.getSettings.execute();\n if (result.isFail()) {\n console.error(\"Failed to fetch settings:\", result.error);\n return \"\";\n }\n const settings = result.value;\n return settings?.srcPrefix || \"\";\n }\n}\n\nexport const FileUrlGenerator = Abstraction.createImplementation({\n implementation: FileUrlGeneratorImpl,\n dependencies: [GetSettingsUseCase]\n});\n"],"names":["FileUrlGeneratorImpl","getSettings","file","prefix","undefined","result","console","settings","FileUrlGenerator","Abstraction","GetSettingsUseCase"],"mappings":";;AAIA,MAAMA;IAGF,YAAoCC,WAAyC,CAAE;aAA3CA,WAAW,GAAXA;IAA4C;IAEhF,MAAa,YAAYC,IAAU,EAAmB;QAClD,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS;QACnC,OAAOA,SAASD,KAAK,GAAG;IAC5B;IAEA,MAAc,YAA6B;QACvC,IAAI,AAAmBE,WAAnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW;QAErC,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,MAAc,cAA+B;QACzC,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QAC7C,IAAIA,OAAO,MAAM,IAAI;YACjBC,QAAQ,KAAK,CAAC,6BAA6BD,OAAO,KAAK;YACvD,OAAO;QACX;QACA,MAAME,WAAWF,OAAO,KAAK;QAC7B,OAAOE,UAAU,aAAa;IAClC;AACJ;AAEO,MAAMC,oCAAmBC,iBAAAA,oBAAgC,CAAC;IAC7D,gBAAgBT;IAChB,cAAc;QAACU;KAAmB;AACtC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { File } from "../../../domain/file/types.js";
|
|
2
|
+
export interface IFileUrlGenerator {
|
|
3
|
+
generateUrl(file: File): Promise<string>;
|
|
4
|
+
}
|
|
5
|
+
export declare const FileUrlGenerator: import("@webiny/di").Abstraction<IFileUrlGenerator>;
|
|
6
|
+
export declare namespace FileUrlGenerator {
|
|
7
|
+
type Interface = IFileUrlGenerator;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/FileUrlGenerator/abstractions.js","sources":["../../../../src/features/file/FileUrlGenerator/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport interface IFileUrlGenerator {\n generateUrl(file: File): Promise<string>;\n}\n\n/* Generate URLs for uploaded files. */\nexport const FileUrlGenerator = createAbstraction<IFileUrlGenerator>(\n \"FileManager/FileUrlGenerator\"\n);\n\nexport namespace FileUrlGenerator {\n export type Interface = IFileUrlGenerator;\n}\n"],"names":["FileUrlGenerator","createAbstraction"],"mappings":";AAQO,MAAMA,mBAAmBC,kBAC5B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { FileUrlGenerator } from "./FileUrlGenerator.js";
|
|
3
|
+
const FileUrlGeneratorFeature = createFeature({
|
|
4
|
+
name: "FileManager/FileUrlGenerator",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(FileUrlGenerator).inSingletonScope();
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { FileUrlGeneratorFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/FileUrlGenerator/feature.js","sources":["../../../../src/features/file/FileUrlGenerator/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { FileUrlGenerator } from \"./FileUrlGenerator.js\";\n\nexport const FileUrlGeneratorFeature = createFeature({\n name: \"FileManager/FileUrlGenerator\",\n register(container) {\n container.register(FileUrlGenerator).inSingletonScope();\n }\n});\n"],"names":["FileUrlGeneratorFeature","createFeature","container","FileUrlGenerator"],"mappings":";;AAGO,MAAMA,0BAA0BC,cAAc;IACjD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,kBAAkB,gBAAgB;IACzD;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileUrlGenerator } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileUrlGenerator } from "./abstractions.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
3
|
+
import { GetFileRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
4
|
+
import { FileModel } from "../../../domain/file/abstractions.js";
|
|
5
|
+
import type { File } from "../../../domain/file/types.js";
|
|
6
|
+
declare class GetFileRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
7
|
+
private getEntryById;
|
|
8
|
+
private fileModel;
|
|
9
|
+
constructor(getEntryById: GetEntryByIdUseCase.Interface, fileModel: FileModel.Interface);
|
|
10
|
+
execute(id: string): Promise<Result<File, RepositoryAbstraction.Error>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const GetFileRepository: typeof GetFileRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
|
|
3
|
+
import { GetFileRepository } from "./abstractions.js";
|
|
4
|
+
import { FileModel } from "../../../domain/file/abstractions.js";
|
|
5
|
+
import { FileNotAuthorizedError, FileNotFoundError, FilePersistenceError } from "../../../domain/file/errors.js";
|
|
6
|
+
import { EntryToFileMapper } from "../shared/EntryToFileMapper.js";
|
|
7
|
+
class GetFileRepositoryImpl {
|
|
8
|
+
constructor(getEntryById, fileModel){
|
|
9
|
+
this.getEntryById = getEntryById;
|
|
10
|
+
this.fileModel = fileModel;
|
|
11
|
+
}
|
|
12
|
+
async execute(id) {
|
|
13
|
+
const result = await this.getEntryById.execute(this.fileModel, `${id}#0001`);
|
|
14
|
+
if (result.isFail()) {
|
|
15
|
+
const error = result.error;
|
|
16
|
+
if ("Cms/Entry/NotFound" === error.code) return Result.fail(new FileNotFoundError(id));
|
|
17
|
+
if ("Cms/Entry/NotAuthorized" === error.code) return Result.fail(new FileNotAuthorizedError());
|
|
18
|
+
return Result.fail(new FilePersistenceError(result.error));
|
|
19
|
+
}
|
|
20
|
+
const file = EntryToFileMapper.toFile(result.value);
|
|
21
|
+
return Result.ok(file);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const GetFileRepository_GetFileRepository = GetFileRepository.createImplementation({
|
|
25
|
+
implementation: GetFileRepositoryImpl,
|
|
26
|
+
dependencies: [
|
|
27
|
+
GetEntryByIdUseCase,
|
|
28
|
+
FileModel
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
export { GetFileRepository_GetFileRepository as GetFileRepository };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=GetFileRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/GetFile/GetFileRepository.js","sources":["../../../../src/features/file/GetFile/GetFileRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { GetFileRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { FileModel } from \"~/domain/file/abstractions.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport {\n FileNotAuthorizedError,\n FileNotFoundError,\n FilePersistenceError\n} from \"~/domain/file/errors.js\";\nimport { EntryToFileMapper } from \"../shared/EntryToFileMapper.js\";\n\nclass GetFileRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private fileModel: FileModel.Interface\n ) {}\n\n async execute(id: string): Promise<Result<File, RepositoryAbstraction.Error>> {\n const result = await this.getEntryById.execute(this.fileModel, `${id}#0001`);\n\n if (result.isFail()) {\n const error = result.error;\n\n if (error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new FileNotFoundError(id));\n }\n\n if (error.code === \"Cms/Entry/NotAuthorized\") {\n return Result.fail(new FileNotAuthorizedError());\n }\n return Result.fail(new FilePersistenceError(result.error));\n }\n\n const file = EntryToFileMapper.toFile(result.value);\n\n return Result.ok(file);\n }\n}\n\nexport const GetFileRepository = RepositoryAbstraction.createImplementation({\n implementation: GetFileRepositoryImpl,\n dependencies: [GetEntryByIdUseCase, FileModel]\n});\n"],"names":["GetFileRepositoryImpl","getEntryById","fileModel","id","result","error","Result","FileNotFoundError","FileNotAuthorizedError","FilePersistenceError","file","EntryToFileMapper","GetFileRepository","RepositoryAbstraction","GetEntryByIdUseCase","FileModel"],"mappings":";;;;;;AAYA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,SAA8B,CACxC;aAFUD,YAAY,GAAZA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAsD;QAC1E,MAAMC,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAGD,GAAG,KAAK,CAAC;QAE3E,IAAIC,OAAO,MAAM,IAAI;YACjB,MAAMC,QAAQD,OAAO,KAAK;YAE1B,IAAIC,AAAe,yBAAfA,MAAM,IAAI,EACV,OAAOC,OAAO,IAAI,CAAC,IAAIC,kBAAkBJ;YAG7C,IAAIE,AAAe,8BAAfA,MAAM,IAAI,EACV,OAAOC,OAAO,IAAI,CAAC,IAAIE;YAE3B,OAAOF,OAAO,IAAI,CAAC,IAAIG,qBAAqBL,OAAO,KAAK;QAC5D;QAEA,MAAMM,OAAOC,kBAAkB,MAAM,CAACP,OAAO,KAAK;QAElD,OAAOE,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAME,sCAAoBC,kBAAAA,oBAA0C,CAAC;IACxE,gBAAgBb;IAChB,cAAc;QAACc;QAAqBC;KAAU;AAClD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetFileUseCase as UseCaseAbstraction, GetFileRepository } from "./abstractions.js";
|
|
3
|
+
import type { File } from "../../../domain/file/types.js";
|
|
4
|
+
import { FmPermissions } from "../../../features/shared/abstractions.js";
|
|
5
|
+
declare class GetFileUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(permissions: FmPermissions.Interface, repository: GetFileRepository.Interface);
|
|
9
|
+
execute(id: string): Promise<Result<File, UseCaseAbstraction.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetFileUseCase: typeof GetFileUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetFileRepository, GetFileUseCase } from "./abstractions.js";
|
|
3
|
+
import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
4
|
+
import { FmPermissions } from "../../shared/abstractions.js";
|
|
5
|
+
class GetFileUseCaseImpl {
|
|
6
|
+
constructor(permissions, repository){
|
|
7
|
+
this.permissions = permissions;
|
|
8
|
+
this.repository = repository;
|
|
9
|
+
}
|
|
10
|
+
async execute(id) {
|
|
11
|
+
const hasPermission = await this.permissions.canRead("file");
|
|
12
|
+
if (!hasPermission) return Result.fail(new FileNotAuthorizedError());
|
|
13
|
+
const result = await this.repository.execute(id);
|
|
14
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
15
|
+
const file = result.value;
|
|
16
|
+
if (!await this.permissions.canAccess("file", file)) return Result.fail(new FileNotAuthorizedError());
|
|
17
|
+
return Result.ok(file);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const GetFileUseCase_GetFileUseCase = GetFileUseCase.createImplementation({
|
|
21
|
+
implementation: GetFileUseCaseImpl,
|
|
22
|
+
dependencies: [
|
|
23
|
+
FmPermissions,
|
|
24
|
+
GetFileRepository
|
|
25
|
+
]
|
|
26
|
+
});
|
|
27
|
+
export { GetFileUseCase_GetFileUseCase as GetFileUseCase };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=GetFileUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/GetFile/GetFileUseCase.js","sources":["../../../../src/features/file/GetFile/GetFileUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetFileUseCase as UseCaseAbstraction, GetFileRepository } from \"./abstractions.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FmPermissions } from \"~/features/shared/abstractions.js\";\n\nclass GetFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: FmPermissions.Interface,\n private repository: GetFileRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<File, UseCaseAbstraction.Error>> {\n const hasPermission = await this.permissions.canRead(\"file\");\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n const result = await this.repository.execute(id);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const file = result.value;\n\n if (!(await this.permissions.canAccess(\"file\", file))) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n return Result.ok(file);\n }\n}\n\nexport const GetFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetFileUseCaseImpl,\n dependencies: [FmPermissions, GetFileRepository]\n});\n"],"names":["GetFileUseCaseImpl","permissions","repository","id","hasPermission","Result","FileNotAuthorizedError","result","file","GetFileUseCase","UseCaseAbstraction","FmPermissions","GetFileRepository"],"mappings":";;;;AAMA,MAAMA;IACF,YACYC,WAAoC,EACpCC,UAAuC,CACjD;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAmD;QACvE,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACJ;QAE7C,IAAII,OAAO,MAAM,IACb,OAAOF,OAAO,IAAI,CAACE,OAAO,KAAK;QAGnC,MAAMC,OAAOD,OAAO,KAAK;QAEzB,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQC,OAC3C,OAAOH,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAOD,OAAO,EAAE,CAACG;IACrB;AACJ;AAEO,MAAMC,gCAAiBC,eAAAA,oBAAuC,CAAC;IAClE,gBAAgBV;IAChB,cAAc;QAACW;QAAeC;KAAkB;AACpD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { File } from "../../../domain/file/types.js";
|
|
3
|
+
import { type FilePersistenceError, type FileNotFoundError, FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* GetFile repository interface
|
|
6
|
+
*/
|
|
7
|
+
export interface IGetFileRepository {
|
|
8
|
+
execute(id: string): Promise<Result<File, RepositoryError>>;
|
|
9
|
+
}
|
|
10
|
+
export interface IGetFileRepositoryErrors {
|
|
11
|
+
notFound: FileNotFoundError;
|
|
12
|
+
notAuthorized: FileNotAuthorizedError;
|
|
13
|
+
persistence: FilePersistenceError;
|
|
14
|
+
}
|
|
15
|
+
type RepositoryError = IGetFileRepositoryErrors[keyof IGetFileRepositoryErrors];
|
|
16
|
+
/** Fetch a file from storage. */
|
|
17
|
+
export declare const GetFileRepository: import("@webiny/di").Abstraction<IGetFileRepository>;
|
|
18
|
+
export declare namespace GetFileRepository {
|
|
19
|
+
type Interface = IGetFileRepository;
|
|
20
|
+
type Error = RepositoryError;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* GetFile use case interface
|
|
24
|
+
*/
|
|
25
|
+
export interface IGetFileUseCase {
|
|
26
|
+
execute(id: string): Promise<Result<File, UseCaseError>>;
|
|
27
|
+
}
|
|
28
|
+
export interface IGetFileUseCaseErrors {
|
|
29
|
+
notAuthorized: FileNotAuthorizedError;
|
|
30
|
+
notFound: FileNotFoundError;
|
|
31
|
+
persistence: FilePersistenceError;
|
|
32
|
+
}
|
|
33
|
+
type UseCaseError = IGetFileUseCaseErrors[keyof IGetFileUseCaseErrors];
|
|
34
|
+
/** Retrieve a file by ID. */
|
|
35
|
+
export declare const GetFileUseCase: import("@webiny/di").Abstraction<IGetFileUseCase>;
|
|
36
|
+
export declare namespace GetFileUseCase {
|
|
37
|
+
type Interface = IGetFileUseCase;
|
|
38
|
+
type Error = UseCaseError;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const GetFileRepository = createAbstraction("GetFileRepository");
|
|
3
|
+
const GetFileUseCase = createAbstraction("GetFileUseCase");
|
|
4
|
+
export { GetFileRepository, GetFileUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/GetFile/abstractions.js","sources":["../../../../src/features/file/GetFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { File } from \"~/domain/file/types.js\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\n\n/**\n * GetFile repository interface\n */\nexport interface IGetFileRepository {\n execute(id: string): Promise<Result<File, RepositoryError>>;\n}\n\nexport interface IGetFileRepositoryErrors {\n notFound: FileNotFoundError;\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IGetFileRepositoryErrors[keyof IGetFileRepositoryErrors];\n\n/** Fetch a file from storage. */\nexport const GetFileRepository = createAbstraction<IGetFileRepository>(\"GetFileRepository\");\n\nexport namespace GetFileRepository {\n export type Interface = IGetFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFile use case interface\n */\nexport interface IGetFileUseCase {\n execute(id: string): Promise<Result<File, UseCaseError>>;\n}\n\nexport interface IGetFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IGetFileUseCaseErrors[keyof IGetFileUseCaseErrors];\n\n/** Retrieve a file by ID. */\nexport const GetFileUseCase = createAbstraction<IGetFileUseCase>(\"GetFileUseCase\");\n\nexport namespace GetFileUseCase {\n export type Interface = IGetFileUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["GetFileRepository","createAbstraction","GetFileUseCase"],"mappings":";AAyBO,MAAMA,oBAAoBC,kBAAsC;AAuBhE,MAAMC,iBAAiBD,kBAAmC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetFileRepository } from "./GetFileRepository.js";
|
|
3
|
+
import { GetFileUseCase } from "./GetFileUseCase.js";
|
|
4
|
+
const GetFileFeature = createFeature({
|
|
5
|
+
name: "FileManager/GetFile",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GetFileUseCase);
|
|
8
|
+
container.register(GetFileRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { GetFileFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|