@webiny/api-file-manager 0.0.0-unstable.b6408e0dea → 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
package/README.md
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
# @webiny/api-file-manager
|
|
2
|
-
[](https://www.npmjs.com/package/@webiny/api-file-manager)
|
|
3
|
-
[](https://www.npmjs.com/package/@webiny/api-file-manager)
|
|
4
|
-
[](https://github.com/prettier/prettier)
|
|
5
|
-
[](http://makeapullrequest.com)
|
|
6
2
|
|
|
7
|
-
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
npm install --save @webiny/api-file-manager
|
|
12
|
-
```
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
package/constants.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ROOT_FOLDER = "root";
|
package/constants.js
ADDED
package/constants.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"names":["ROOT_FOLDER"],"mappings":"AAAO,MAAMA,cAAc"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AssetContentsReader, AssetOutputStrategy } from "../../delivery/index.js";
|
|
2
|
+
type Setter<T> = (arg: T | undefined) => T;
|
|
3
|
+
export interface AssetData {
|
|
4
|
+
id: string;
|
|
5
|
+
tenant: string;
|
|
6
|
+
key: string;
|
|
7
|
+
size: number;
|
|
8
|
+
contentType: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class Asset {
|
|
11
|
+
protected readonly props: AssetData;
|
|
12
|
+
private outputStrategy;
|
|
13
|
+
private contentsReader;
|
|
14
|
+
static create(props: AssetData): Asset;
|
|
15
|
+
private constructor();
|
|
16
|
+
clone(): Asset;
|
|
17
|
+
withProps(props: Partial<AssetData>): Asset;
|
|
18
|
+
getId(): string;
|
|
19
|
+
getTenant(): string;
|
|
20
|
+
getKey(): string;
|
|
21
|
+
getSize(): number;
|
|
22
|
+
getContentType(): string;
|
|
23
|
+
getExtension(): string;
|
|
24
|
+
getContents(): Promise<Buffer<ArrayBufferLike>>;
|
|
25
|
+
setContentsReader(reader: AssetContentsReader): void;
|
|
26
|
+
output(): Promise<import("~/delivery/index.js").AssetReply>;
|
|
27
|
+
setOutputStrategy(setter: Setter<AssetOutputStrategy> | AssetOutputStrategy): void;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
class Asset {
|
|
2
|
+
static create(props) {
|
|
3
|
+
return new Asset(props);
|
|
4
|
+
}
|
|
5
|
+
constructor(props){
|
|
6
|
+
this.props = props;
|
|
7
|
+
}
|
|
8
|
+
clone() {
|
|
9
|
+
return this.withProps(structuredClone(this.props));
|
|
10
|
+
}
|
|
11
|
+
withProps(props) {
|
|
12
|
+
const newAsset = Asset.create({
|
|
13
|
+
...this.props,
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
newAsset.contentsReader = this.contentsReader;
|
|
17
|
+
newAsset.outputStrategy = this.outputStrategy;
|
|
18
|
+
return newAsset;
|
|
19
|
+
}
|
|
20
|
+
getId() {
|
|
21
|
+
return this.props.id;
|
|
22
|
+
}
|
|
23
|
+
getTenant() {
|
|
24
|
+
return this.props.tenant;
|
|
25
|
+
}
|
|
26
|
+
getKey() {
|
|
27
|
+
return this.props.key;
|
|
28
|
+
}
|
|
29
|
+
getSize() {
|
|
30
|
+
return this.props.size;
|
|
31
|
+
}
|
|
32
|
+
getContentType() {
|
|
33
|
+
return this.props.contentType;
|
|
34
|
+
}
|
|
35
|
+
getExtension() {
|
|
36
|
+
return this.getKey().split(".").pop() ?? "";
|
|
37
|
+
}
|
|
38
|
+
getContents() {
|
|
39
|
+
if (!this.contentsReader) throw Error("Asset contents reader was not configured!");
|
|
40
|
+
return this.contentsReader.read(this);
|
|
41
|
+
}
|
|
42
|
+
setContentsReader(reader) {
|
|
43
|
+
this.contentsReader = reader;
|
|
44
|
+
}
|
|
45
|
+
output() {
|
|
46
|
+
if (!this.outputStrategy) throw Error("Asset output strategy was not configured!");
|
|
47
|
+
return this.outputStrategy.output(this);
|
|
48
|
+
}
|
|
49
|
+
setOutputStrategy(setter) {
|
|
50
|
+
if ("function" == typeof setter) this.outputStrategy = setter(this.outputStrategy);
|
|
51
|
+
else this.outputStrategy = setter;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export { Asset };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=Asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery/AssetDelivery/Asset.js","sources":["../../../src/delivery/AssetDelivery/Asset.ts"],"sourcesContent":["import type { AssetContentsReader, AssetOutputStrategy } from \"~/delivery/index.js\";\n\ntype Setter<T> = (arg: T | undefined) => T;\n\nexport interface AssetData {\n id: string;\n tenant: string;\n key: string;\n size: number;\n contentType: string;\n}\nexport class Asset {\n protected readonly props: AssetData;\n private outputStrategy: AssetOutputStrategy | undefined;\n private contentsReader: AssetContentsReader | undefined;\n\n public static create(props: AssetData) {\n return new Asset(props);\n }\n\n private constructor(props: AssetData) {\n this.props = props;\n }\n\n public clone() {\n return this.withProps(structuredClone(this.props));\n }\n\n public withProps(props: Partial<AssetData>) {\n const newAsset = Asset.create({ ...this.props, ...props });\n newAsset.contentsReader = this.contentsReader;\n newAsset.outputStrategy = this.outputStrategy;\n return newAsset;\n }\n\n public getId() {\n return this.props.id;\n }\n\n public getTenant() {\n return this.props.tenant;\n }\n\n public getKey() {\n return this.props.key;\n }\n\n public getSize() {\n return this.props.size;\n }\n\n public getContentType() {\n return this.props.contentType;\n }\n\n public getExtension() {\n return this.getKey().split(\".\").pop() ?? \"\";\n }\n\n public getContents() {\n if (!this.contentsReader) {\n throw Error(`Asset contents reader was not configured!`);\n }\n return this.contentsReader.read(this);\n }\n\n public setContentsReader(reader: AssetContentsReader) {\n this.contentsReader = reader;\n }\n\n public output() {\n if (!this.outputStrategy) {\n throw Error(`Asset output strategy was not configured!`);\n }\n\n return this.outputStrategy.output(this);\n }\n\n public setOutputStrategy(setter: Setter<AssetOutputStrategy> | AssetOutputStrategy) {\n if (typeof setter === \"function\") {\n this.outputStrategy = setter(this.outputStrategy);\n } else {\n this.outputStrategy = setter;\n }\n }\n}\n"],"names":["Asset","props","structuredClone","newAsset","Error","reader","setter"],"mappings":"AAWO,MAAMA;IAKT,OAAc,OAAOC,KAAgB,EAAE;QACnC,OAAO,IAAID,MAAMC;IACrB;IAEA,YAAoBA,KAAgB,CAAE;QAClC,IAAI,CAAC,KAAK,GAAGA;IACjB;IAEO,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAACC,gBAAgB,IAAI,CAAC,KAAK;IACpD;IAEO,UAAUD,KAAyB,EAAE;QACxC,MAAME,WAAWH,MAAM,MAAM,CAAC;YAAE,GAAG,IAAI,CAAC,KAAK;YAAE,GAAGC,KAAK;QAAC;QACxDE,SAAS,cAAc,GAAG,IAAI,CAAC,cAAc;QAC7CA,SAAS,cAAc,GAAG,IAAI,CAAC,cAAc;QAC7C,OAAOA;IACX;IAEO,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;IACxB;IAEO,YAAY;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;IAC5B;IAEO,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG;IACzB;IAEO,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;IAC1B;IAEO,iBAAiB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;IACjC;IAEO,eAAe;QAClB,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;IAC7C;IAEO,cAAc;QACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EACpB,MAAMC,MAAM;QAEhB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;IACxC;IAEO,kBAAkBC,MAA2B,EAAE;QAClD,IAAI,CAAC,cAAc,GAAGA;IAC1B;IAEO,SAAS;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EACpB,MAAMD,MAAM;QAGhB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;IAC1C;IAEO,kBAAkBE,MAAyD,EAAE;QAChF,IAAI,AAAkB,cAAlB,OAAOA,QACP,IAAI,CAAC,cAAc,GAAGA,OAAO,IAAI,CAAC,cAAc;aAEhD,IAAI,CAAC,cAAc,GAAGA;IAE9B;AACJ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
2
|
+
export interface AssetRequestOptions {
|
|
3
|
+
original?: boolean;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
6
|
+
export type AssetRequestContext<T extends GenericRecord = GenericRecord> = T & {
|
|
7
|
+
/**
|
|
8
|
+
* Asset request URL.
|
|
9
|
+
*/
|
|
10
|
+
url: string;
|
|
11
|
+
};
|
|
12
|
+
export interface AssetRequestData<TOptions> {
|
|
13
|
+
key: string;
|
|
14
|
+
context: AssetRequestContext;
|
|
15
|
+
options: TOptions;
|
|
16
|
+
}
|
|
17
|
+
export declare class AssetRequest<TOptions extends AssetRequestOptions = AssetRequestOptions> {
|
|
18
|
+
private readonly data;
|
|
19
|
+
static create<TOptions extends AssetRequestOptions = AssetRequestOptions>(data: AssetRequestData<TOptions>): AssetRequest<TOptions>;
|
|
20
|
+
private constructor();
|
|
21
|
+
getKey(): string;
|
|
22
|
+
getOptions(): TOptions;
|
|
23
|
+
setOptions(options: TOptions): void;
|
|
24
|
+
getContext<T extends GenericRecord = GenericRecord>(): AssetRequestContext<T>;
|
|
25
|
+
getExtension(): string | undefined;
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class AssetRequest {
|
|
2
|
+
static create(data) {
|
|
3
|
+
return new AssetRequest(data);
|
|
4
|
+
}
|
|
5
|
+
constructor(data){
|
|
6
|
+
this.data = data;
|
|
7
|
+
}
|
|
8
|
+
getKey() {
|
|
9
|
+
return this.data.key;
|
|
10
|
+
}
|
|
11
|
+
getOptions() {
|
|
12
|
+
return this.data.options;
|
|
13
|
+
}
|
|
14
|
+
setOptions(options) {
|
|
15
|
+
this.data.options = options;
|
|
16
|
+
}
|
|
17
|
+
getContext() {
|
|
18
|
+
return this.data.context;
|
|
19
|
+
}
|
|
20
|
+
getExtension() {
|
|
21
|
+
return this.data.key.split(".").pop();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export { AssetRequest };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=AssetRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery/AssetDelivery/AssetRequest.js","sources":["../../../src/delivery/AssetDelivery/AssetRequest.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface AssetRequestOptions {\n original?: boolean;\n [key: string]: unknown;\n}\n\nexport type AssetRequestContext<T extends GenericRecord = GenericRecord> = T & {\n /**\n * Asset request URL.\n */\n url: string;\n};\n\nexport interface AssetRequestData<TOptions> {\n key: string;\n context: AssetRequestContext;\n options: TOptions;\n}\nexport class AssetRequest<TOptions extends AssetRequestOptions = AssetRequestOptions> {\n private readonly data: AssetRequestData<TOptions>;\n\n public static create<TOptions extends AssetRequestOptions = AssetRequestOptions>(\n data: AssetRequestData<TOptions>\n ) {\n return new AssetRequest(data);\n }\n\n private constructor(data: AssetRequestData<TOptions>) {\n this.data = data;\n }\n\n public getKey() {\n return this.data.key;\n }\n\n public getOptions(): TOptions {\n return this.data.options;\n }\n\n public setOptions(options: TOptions) {\n this.data.options = options;\n }\n\n public getContext<T extends GenericRecord = GenericRecord>() {\n return this.data.context as AssetRequestContext<T>;\n }\n\n public getExtension() {\n return this.data.key.split(\".\").pop();\n }\n}\n"],"names":["AssetRequest","data","options"],"mappings":"AAmBO,MAAMA;IAGT,OAAc,OACVC,IAAgC,EAClC;QACE,OAAO,IAAID,aAAaC;IAC5B;IAEA,YAAoBA,IAAgC,CAAE;QAClD,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEO,SAAS;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG;IACxB;IAEO,aAAuB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;IAC5B;IAEO,WAAWC,OAAiB,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAGA;IACxB;IAEO,aAAsD;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;IAC5B;IAEO,eAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;IACvC;AACJ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
2
|
+
interface HeadersSetter {
|
|
3
|
+
(headers: ResponseHeaders): ResponseHeaders;
|
|
4
|
+
}
|
|
5
|
+
interface AssetReplyParams {
|
|
6
|
+
code: number;
|
|
7
|
+
headers?: ResponseHeaders;
|
|
8
|
+
body?: AssetReplyBody;
|
|
9
|
+
}
|
|
10
|
+
interface AssetReplyBody {
|
|
11
|
+
(): Promise<unknown> | unknown;
|
|
12
|
+
}
|
|
13
|
+
export declare class AssetReply {
|
|
14
|
+
private headers;
|
|
15
|
+
private code;
|
|
16
|
+
private body;
|
|
17
|
+
static create(params?: AssetReplyParams): AssetReply;
|
|
18
|
+
protected constructor(params?: AssetReplyParams);
|
|
19
|
+
setHeaders(cb: HeadersSetter): void;
|
|
20
|
+
getHeaders(): ResponseHeaders;
|
|
21
|
+
setCode(code: number): void;
|
|
22
|
+
getCode(): number;
|
|
23
|
+
setBody(body: AssetReplyBody): void;
|
|
24
|
+
getBody(): unknown;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
2
|
+
const defaultBody = ()=>"";
|
|
3
|
+
class AssetReply {
|
|
4
|
+
static create(params = {
|
|
5
|
+
code: 200
|
|
6
|
+
}) {
|
|
7
|
+
return new AssetReply(params);
|
|
8
|
+
}
|
|
9
|
+
constructor(params = {
|
|
10
|
+
code: 200
|
|
11
|
+
}){
|
|
12
|
+
this.code = params.code;
|
|
13
|
+
this.headers = params.headers || ResponseHeaders.create();
|
|
14
|
+
this.body = params.body || defaultBody;
|
|
15
|
+
}
|
|
16
|
+
setHeaders(cb) {
|
|
17
|
+
this.headers = cb(this.headers);
|
|
18
|
+
}
|
|
19
|
+
getHeaders() {
|
|
20
|
+
return this.headers;
|
|
21
|
+
}
|
|
22
|
+
setCode(code) {
|
|
23
|
+
this.code = code;
|
|
24
|
+
}
|
|
25
|
+
getCode() {
|
|
26
|
+
return this.code;
|
|
27
|
+
}
|
|
28
|
+
setBody(body) {
|
|
29
|
+
this.body = body;
|
|
30
|
+
}
|
|
31
|
+
getBody() {
|
|
32
|
+
return this.body();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export { AssetReply };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=AssetReply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery/AssetDelivery/abstractions/AssetReply.js","sources":["../../../../src/delivery/AssetDelivery/abstractions/AssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\n\ninterface HeadersSetter {\n (headers: ResponseHeaders): ResponseHeaders;\n}\n\ninterface AssetReplyParams {\n code: number;\n headers?: ResponseHeaders;\n body?: AssetReplyBody;\n}\n\ninterface AssetReplyBody {\n (): Promise<unknown> | unknown;\n}\n\nconst defaultBody = () => \"\";\n\nexport class AssetReply {\n private headers: ResponseHeaders;\n private code: number;\n private body: AssetReplyBody;\n\n public static create(params: AssetReplyParams = { code: 200 }) {\n return new AssetReply(params);\n }\n\n protected constructor(params: AssetReplyParams = { code: 200 }) {\n this.code = params.code;\n this.headers = params.headers || ResponseHeaders.create();\n this.body = params.body || defaultBody;\n }\n\n public setHeaders(cb: HeadersSetter) {\n this.headers = cb(this.headers);\n }\n\n public getHeaders() {\n return this.headers;\n }\n\n public setCode(code: number) {\n this.code = code;\n }\n\n public getCode() {\n return this.code;\n }\n\n public setBody(body: AssetReplyBody) {\n this.body = body;\n }\n\n public getBody() {\n return this.body();\n }\n}\n"],"names":["defaultBody","AssetReply","params","ResponseHeaders","cb","code","body"],"mappings":";AAgBA,MAAMA,cAAc,IAAM;AAEnB,MAAMC;IAKT,OAAc,OAAOC,SAA2B;QAAE,MAAM;IAAI,CAAC,EAAE;QAC3D,OAAO,IAAID,WAAWC;IAC1B;IAEA,YAAsBA,SAA2B;QAAE,MAAM;IAAI,CAAC,CAAE;QAC5D,IAAI,CAAC,IAAI,GAAGA,OAAO,IAAI;QACvB,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO,IAAIC,gBAAgB,MAAM;QACvD,IAAI,CAAC,IAAI,GAAGD,OAAO,IAAI,IAAIF;IAC/B;IAEO,WAAWI,EAAiB,EAAE;QACjC,IAAI,CAAC,OAAO,GAAGA,GAAG,IAAI,CAAC,OAAO;IAClC;IAEO,aAAa;QAChB,OAAO,IAAI,CAAC,OAAO;IACvB;IAEO,QAAQC,IAAY,EAAE;QACzB,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEO,UAAU;QACb,OAAO,IAAI,CAAC,IAAI;IACpB;IAEO,QAAQC,IAAoB,EAAE;QACjC,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEO,UAAU;QACb,OAAO,IAAI,CAAC,IAAI;IACpB;AACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const createAssetDeliveryPluginLoader = (cb)=>{
|
|
2
|
+
if ("asset-delivery" === process.env.WEBINY_FUNCTION_TYPE) return ()=>cb();
|
|
3
|
+
return ()=>Promise.resolve([]);
|
|
4
|
+
};
|
|
5
|
+
export { createAssetDeliveryPluginLoader };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=createAssetDeliveryPluginLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery/AssetDelivery/createAssetDeliveryPluginLoader.js","sources":["../../../src/delivery/AssetDelivery/createAssetDeliveryPluginLoader.ts"],"sourcesContent":["import type { PluginFactory } from \"@webiny/plugins/types.js\";\n\nexport const createAssetDeliveryPluginLoader = (cb: PluginFactory): PluginFactory => {\n if (process.env.WEBINY_FUNCTION_TYPE === \"asset-delivery\") {\n return () => cb();\n }\n\n return () => Promise.resolve([]);\n};\n"],"names":["createAssetDeliveryPluginLoader","cb","process","Promise"],"mappings":"AAEO,MAAMA,kCAAkC,CAACC;IAC5C,IAAIC,AAAqC,qBAArCA,QAAQ,GAAG,CAAC,oBAAoB,EAChC,OAAO,IAAMD;IAGjB,OAAO,IAAME,QAAQ,OAAO,CAAC,EAAE;AACnC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./AssetDelivery/Asset.js";
|
|
2
|
+
export * from "./AssetDelivery/AssetRequest.js";
|
|
3
|
+
export * from "./AssetDelivery/abstractions/AssetReply.js";
|
|
4
|
+
export * from "./AssetDelivery/createAssetDeliveryPluginLoader.js";
|
|
5
|
+
export type { IAssetResolver as AssetResolver } from "../features/assetDelivery/abstractions/AssetResolver.js";
|
|
6
|
+
export type { IAssetOutputStrategy as AssetOutputStrategy } from "../features/assetDelivery/abstractions/AssetOutputStrategy.js";
|
|
7
|
+
export type { IAssetContentsReader as AssetContentsReader } from "../features/assetDelivery/abstractions/AssetContentsReader.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const setupAssetDelivery: () => import("@webiny/handler").ModifyFastifyPlugin[];
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ResponseHeaders, createHandlerOnRequest, createModifyFastifyPlugin, createRoute } from "@webiny/handler";
|
|
2
|
+
import { AssetRequestResolver } from "../features/assetDelivery/abstractions/AssetRequestResolver.js";
|
|
3
|
+
import { AssetResolver } from "../features/assetDelivery/abstractions/AssetResolver.js";
|
|
4
|
+
import { AssetProcessor } from "../features/assetDelivery/abstractions/AssetProcessor.js";
|
|
5
|
+
import { AssetOutputStrategy } from "../features/assetDelivery/abstractions/AssetOutputStrategy.js";
|
|
6
|
+
const noCacheHeaders = ResponseHeaders.create({
|
|
7
|
+
"content-type": "application/json",
|
|
8
|
+
"cache-control": "no-cache, no-store, must-revalidate"
|
|
9
|
+
});
|
|
10
|
+
function assertAssetRequestWasResolved(request) {
|
|
11
|
+
if (void 0 === request) throw new Error("Not an AssetRequest!");
|
|
12
|
+
}
|
|
13
|
+
function assertAssetWasResolved(asset) {
|
|
14
|
+
if (void 0 === asset) throw new Error("Not an Asset!");
|
|
15
|
+
}
|
|
16
|
+
const setupAssetDelivery = ()=>{
|
|
17
|
+
const outputAsset = async (reply, asset)=>{
|
|
18
|
+
const assetReply = await asset.output();
|
|
19
|
+
const headers = assetReply.getHeaders();
|
|
20
|
+
headers.set("x-webiny-base64-encoded", "true");
|
|
21
|
+
reply.code(assetReply.getCode());
|
|
22
|
+
reply.headers(headers.getHeaders());
|
|
23
|
+
return reply.send(await assetReply.getBody());
|
|
24
|
+
};
|
|
25
|
+
return [
|
|
26
|
+
createModifyFastifyPlugin((app)=>{
|
|
27
|
+
const container = app.webiny.container;
|
|
28
|
+
let resolvedRequest;
|
|
29
|
+
let resolvedAsset;
|
|
30
|
+
const handlerOnRequest = createHandlerOnRequest(async (request, reply)=>{
|
|
31
|
+
const requestResolver = container.resolve(AssetRequestResolver);
|
|
32
|
+
resolvedRequest = await requestResolver.resolve(request);
|
|
33
|
+
if (!resolvedRequest) {
|
|
34
|
+
reply.code(404).headers(noCacheHeaders.getHeaders()).send({
|
|
35
|
+
error: "Unable to resolve the request!"
|
|
36
|
+
}).hijack();
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const assetResolver = container.resolve(AssetResolver);
|
|
40
|
+
resolvedAsset = await assetResolver.resolve(resolvedRequest);
|
|
41
|
+
if (!resolvedAsset) {
|
|
42
|
+
reply.code(404).headers(noCacheHeaders.getHeaders()).send({
|
|
43
|
+
error: "Asset not found!"
|
|
44
|
+
}).hijack();
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
request.headers = {
|
|
48
|
+
...request.headers,
|
|
49
|
+
"x-tenant": resolvedAsset.getTenant()
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
const deliveryRoute = createRoute(({ onGet, context })=>{
|
|
53
|
+
onGet("*", async (_, reply)=>{
|
|
54
|
+
assertAssetRequestWasResolved(resolvedRequest);
|
|
55
|
+
assertAssetWasResolved(resolvedAsset);
|
|
56
|
+
const outputStrategy = context.container.resolve(AssetOutputStrategy);
|
|
57
|
+
resolvedAsset.setOutputStrategy(outputStrategy);
|
|
58
|
+
const assetProcessor = context.container.resolve(AssetProcessor);
|
|
59
|
+
const processedAsset = await assetProcessor.process(resolvedRequest, resolvedAsset);
|
|
60
|
+
console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);
|
|
61
|
+
return outputAsset(reply, processedAsset);
|
|
62
|
+
}, {
|
|
63
|
+
override: true
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
app.webiny.plugins.register(handlerOnRequest, deliveryRoute);
|
|
67
|
+
})
|
|
68
|
+
];
|
|
69
|
+
};
|
|
70
|
+
export { setupAssetDelivery };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=setupAssetDelivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery/setupAssetDelivery.js","sources":["../../src/delivery/setupAssetDelivery.ts"],"sourcesContent":["import {\n createHandlerOnRequest,\n createModifyFastifyPlugin,\n createRoute,\n ResponseHeaders\n} from \"@webiny/handler\";\nimport type { Asset, AssetRequest } from \"./index.js\";\nimport type { Reply } from \"@webiny/handler/types.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { AssetRequestResolver } from \"~/features/assetDelivery/abstractions/AssetRequestResolver.js\";\nimport { AssetResolver } from \"~/features/assetDelivery/abstractions/AssetResolver.js\";\nimport { AssetProcessor } from \"~/features/assetDelivery/abstractions/AssetProcessor.js\";\nimport { AssetOutputStrategy } from \"~/features/assetDelivery/abstractions/AssetOutputStrategy.js\";\n\nconst noCacheHeaders = ResponseHeaders.create({\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache, no-store, must-revalidate\"\n});\n\nfunction assertAssetRequestWasResolved(request: any): asserts request is AssetRequest {\n if (request === undefined) {\n throw new Error(\"Not an AssetRequest!\");\n }\n}\n\nfunction assertAssetWasResolved(asset: Asset | undefined): asserts asset is Asset {\n if (asset === undefined) {\n throw new Error(\"Not an Asset!\");\n }\n}\n\nexport const setupAssetDelivery = () => {\n const outputAsset = async (reply: Reply, asset: Asset) => {\n const assetReply = await asset.output();\n const headers = assetReply.getHeaders();\n\n headers.set(\"x-webiny-base64-encoded\", \"true\");\n\n reply.code(assetReply.getCode());\n reply.headers(headers.getHeaders());\n return reply.send(await assetReply.getBody());\n };\n\n return [\n createModifyFastifyPlugin(app => {\n const container = app.webiny.container;\n\n let resolvedRequest: AssetRequest | undefined;\n let resolvedAsset: Asset | undefined;\n\n const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {\n const requestResolver = container.resolve(AssetRequestResolver);\n resolvedRequest = await requestResolver.resolve(request);\n\n if (!resolvedRequest) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Unable to resolve the request!\" })\n .hijack();\n\n return false;\n }\n\n const assetResolver = container.resolve(AssetResolver);\n resolvedAsset = await assetResolver.resolve(resolvedRequest);\n\n if (!resolvedAsset) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Asset not found!\" })\n .hijack();\n\n return false;\n }\n\n request.headers = {\n ...request.headers,\n \"x-tenant\": resolvedAsset.getTenant()\n };\n\n return;\n });\n\n const deliveryRoute = createRoute<ApiCoreContext>(({ onGet, context }) => {\n onGet(\n \"*\",\n async (_, reply) => {\n assertAssetRequestWasResolved(resolvedRequest);\n assertAssetWasResolved(resolvedAsset);\n\n const outputStrategy = context.container.resolve(AssetOutputStrategy);\n resolvedAsset.setOutputStrategy(outputStrategy);\n\n const assetProcessor = context.container.resolve(AssetProcessor);\n const processedAsset = await assetProcessor.process(\n resolvedRequest,\n resolvedAsset\n );\n\n console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);\n return outputAsset(reply, processedAsset);\n },\n { override: true }\n );\n });\n\n app.webiny.plugins.register(handlerOnRequest, deliveryRoute);\n })\n ];\n};\n"],"names":["noCacheHeaders","ResponseHeaders","assertAssetRequestWasResolved","request","undefined","Error","assertAssetWasResolved","asset","setupAssetDelivery","outputAsset","reply","assetReply","headers","createModifyFastifyPlugin","app","container","resolvedRequest","resolvedAsset","handlerOnRequest","createHandlerOnRequest","requestResolver","AssetRequestResolver","assetResolver","AssetResolver","deliveryRoute","createRoute","onGet","context","_","outputStrategy","AssetOutputStrategy","assetProcessor","AssetProcessor","processedAsset","console"],"mappings":";;;;;AAcA,MAAMA,iBAAiBC,gBAAgB,MAAM,CAAC;IAC1C,gBAAgB;IAChB,iBAAiB;AACrB;AAEA,SAASC,8BAA8BC,OAAY;IAC/C,IAAIA,AAAYC,WAAZD,SACA,MAAM,IAAIE,MAAM;AAExB;AAEA,SAASC,uBAAuBC,KAAwB;IACpD,IAAIA,AAAUH,WAAVG,OACA,MAAM,IAAIF,MAAM;AAExB;AAEO,MAAMG,qBAAqB;IAC9B,MAAMC,cAAc,OAAOC,OAAcH;QACrC,MAAMI,aAAa,MAAMJ,MAAM,MAAM;QACrC,MAAMK,UAAUD,WAAW,UAAU;QAErCC,QAAQ,GAAG,CAAC,2BAA2B;QAEvCF,MAAM,IAAI,CAACC,WAAW,OAAO;QAC7BD,MAAM,OAAO,CAACE,QAAQ,UAAU;QAChC,OAAOF,MAAM,IAAI,CAAC,MAAMC,WAAW,OAAO;IAC9C;IAEA,OAAO;QACHE,0BAA0BC,CAAAA;YACtB,MAAMC,YAAYD,IAAI,MAAM,CAAC,SAAS;YAEtC,IAAIE;YACJ,IAAIC;YAEJ,MAAMC,mBAAmBC,uBAAuB,OAAOhB,SAASO;gBAC5D,MAAMU,kBAAkBL,UAAU,OAAO,CAACM;gBAC1CL,kBAAkB,MAAMI,gBAAgB,OAAO,CAACjB;gBAEhD,IAAI,CAACa,iBAAiB;oBAClBN,MACK,IAAI,CAAC,KACL,OAAO,CAACV,eAAe,UAAU,IACjC,IAAI,CAAC;wBAAE,OAAO;oBAAiC,GAC/C,MAAM;oBAEX,OAAO;gBACX;gBAEA,MAAMsB,gBAAgBP,UAAU,OAAO,CAACQ;gBACxCN,gBAAgB,MAAMK,cAAc,OAAO,CAACN;gBAE5C,IAAI,CAACC,eAAe;oBAChBP,MACK,IAAI,CAAC,KACL,OAAO,CAACV,eAAe,UAAU,IACjC,IAAI,CAAC;wBAAE,OAAO;oBAAmB,GACjC,MAAM;oBAEX,OAAO;gBACX;gBAEAG,QAAQ,OAAO,GAAG;oBACd,GAAGA,QAAQ,OAAO;oBAClB,YAAYc,cAAc,SAAS;gBACvC;YAGJ;YAEA,MAAMO,gBAAgBC,YAA4B,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAE;gBACjED,MACI,KACA,OAAOE,GAAGlB;oBACNR,8BAA8Bc;oBAC9BV,uBAAuBW;oBAEvB,MAAMY,iBAAiBF,QAAQ,SAAS,CAAC,OAAO,CAACG;oBACjDb,cAAc,iBAAiB,CAACY;oBAEhC,MAAME,iBAAiBJ,QAAQ,SAAS,CAAC,OAAO,CAACK;oBACjD,MAAMC,iBAAiB,MAAMF,eAAe,OAAO,CAC/Cf,iBACAC;oBAGJiB,QAAQ,GAAG,CAAC,CAAC,oBAAoB,EAAED,eAAe,OAAO,GAAG,QAAQ,CAAC;oBACrE,OAAOxB,YAAYC,OAAOuB;gBAC9B,GACA;oBAAE,UAAU;gBAAK;YAEzB;YAEAnB,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAACI,kBAAkBM;QAClD;KACH;AACL"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
/**
|
|
3
|
+
* FileModel abstraction - represents the fmFile CMS model.
|
|
4
|
+
* This will be registered via container.registerInstance in the composite feature.
|
|
5
|
+
*/
|
|
6
|
+
export declare const FileModel: import("@webiny/di").Abstraction<CmsModel>;
|
|
7
|
+
export declare namespace FileModel {
|
|
8
|
+
type Interface = CmsModel;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain/file/abstractions.js","sources":["../../../src/domain/file/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FileModel abstraction - represents the fmFile CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FileModel = createAbstraction<CmsModel>(\"FileModel\");\n\nexport namespace FileModel {\n export type Interface = CmsModel;\n}\n"],"names":["FileModel","createAbstraction"],"mappings":";AAOO,MAAMA,YAAYC,kBAA4B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { BaseError } from "@webiny/feature/api";
|
|
2
|
+
export declare class FilePersistenceError extends BaseError {
|
|
3
|
+
readonly code: "FileManager/File/PersistenceError";
|
|
4
|
+
constructor(error: Error);
|
|
5
|
+
}
|
|
6
|
+
export declare class FileNotFoundError extends BaseError<{
|
|
7
|
+
id: string;
|
|
8
|
+
}> {
|
|
9
|
+
readonly code: "FileManager/File/NotFoundError";
|
|
10
|
+
constructor(id: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class FileNotAuthorizedError extends BaseError {
|
|
13
|
+
readonly code: "FileManager/File/NotAuthorizedError";
|
|
14
|
+
constructor();
|
|
15
|
+
}
|
|
16
|
+
export declare class FileListError extends BaseError {
|
|
17
|
+
readonly code: "FileManager/File/ListError";
|
|
18
|
+
constructor(error: Error);
|
|
19
|
+
}
|
|
20
|
+
export declare class FileCreateError extends BaseError {
|
|
21
|
+
readonly code: "FileManager/File/CreateError";
|
|
22
|
+
constructor(error: Error);
|
|
23
|
+
}
|
|
24
|
+
export declare class FileUpdateError extends BaseError {
|
|
25
|
+
readonly code: "FileManager/File/UpdateError";
|
|
26
|
+
constructor(error: Error);
|
|
27
|
+
}
|
|
28
|
+
export declare class FileDeleteError extends BaseError {
|
|
29
|
+
readonly code: "FileManager/File/DeleteError";
|
|
30
|
+
constructor(error: Error);
|
|
31
|
+
}
|
|
32
|
+
export declare class FileAlreadyExistsError extends BaseError<{
|
|
33
|
+
key: string;
|
|
34
|
+
}> {
|
|
35
|
+
readonly code: "FileManager/File/AlreadyExistsError";
|
|
36
|
+
constructor(data: {
|
|
37
|
+
key: string;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export declare class InvalidFileSizeError extends BaseError<{
|
|
41
|
+
size: number;
|
|
42
|
+
minSize: number;
|
|
43
|
+
maxSize: number;
|
|
44
|
+
}> {
|
|
45
|
+
readonly code: "FileManager/File/InvalidFileSizeError";
|
|
46
|
+
constructor(data: {
|
|
47
|
+
size: number;
|
|
48
|
+
minSize: number;
|
|
49
|
+
maxSize: number;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export declare class InvalidFileTypeError extends BaseError<{
|
|
53
|
+
type: string;
|
|
54
|
+
}> {
|
|
55
|
+
readonly code: "FileManager/File/InvalidFileTypeError";
|
|
56
|
+
constructor(data: {
|
|
57
|
+
type: string;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { BaseError } from "@webiny/feature/api";
|
|
2
|
+
class FilePersistenceError extends BaseError {
|
|
3
|
+
constructor(error){
|
|
4
|
+
super({
|
|
5
|
+
message: error.message
|
|
6
|
+
}), this.code = "FileManager/File/PersistenceError";
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
class FileNotFoundError extends BaseError {
|
|
10
|
+
constructor(id){
|
|
11
|
+
super({
|
|
12
|
+
message: `File with ID "${id}" not found.`,
|
|
13
|
+
data: {
|
|
14
|
+
id
|
|
15
|
+
}
|
|
16
|
+
}), this.code = "FileManager/File/NotFoundError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
class FileNotAuthorizedError extends BaseError {
|
|
20
|
+
constructor(){
|
|
21
|
+
super({
|
|
22
|
+
message: "Not authorized."
|
|
23
|
+
}), this.code = "FileManager/File/NotAuthorizedError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class FileListError extends BaseError {
|
|
27
|
+
constructor(error){
|
|
28
|
+
super({
|
|
29
|
+
message: `Error listing files: ${error.message}`
|
|
30
|
+
}), this.code = "FileManager/File/ListError";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class FileCreateError extends BaseError {
|
|
34
|
+
constructor(error){
|
|
35
|
+
super({
|
|
36
|
+
message: `Error creating file: ${error.message}`
|
|
37
|
+
}), this.code = "FileManager/File/CreateError";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class FileUpdateError extends BaseError {
|
|
41
|
+
constructor(error){
|
|
42
|
+
super({
|
|
43
|
+
message: `Error updating file: ${error.message}`
|
|
44
|
+
}), this.code = "FileManager/File/UpdateError";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class FileDeleteError extends BaseError {
|
|
48
|
+
constructor(error){
|
|
49
|
+
super({
|
|
50
|
+
message: `Error deleting file: ${error.message}`
|
|
51
|
+
}), this.code = "FileManager/File/DeleteError";
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class FileAlreadyExistsError extends BaseError {
|
|
55
|
+
constructor(data){
|
|
56
|
+
super({
|
|
57
|
+
message: `File with key "${data.key}" already exists.`,
|
|
58
|
+
data
|
|
59
|
+
}), this.code = "FileManager/File/AlreadyExistsError";
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
class InvalidFileSizeError extends BaseError {
|
|
63
|
+
constructor(data){
|
|
64
|
+
super({
|
|
65
|
+
message: `File size ${data.size} bytes is outside allowed range (${data.minSize}-${data.maxSize} bytes).`,
|
|
66
|
+
data
|
|
67
|
+
}), this.code = "FileManager/File/InvalidFileSizeError";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class InvalidFileTypeError extends BaseError {
|
|
71
|
+
constructor(data){
|
|
72
|
+
super({
|
|
73
|
+
message: `File type "${data.type}" is not allowed.`,
|
|
74
|
+
data
|
|
75
|
+
}), this.code = "FileManager/File/InvalidFileTypeError";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export { FileAlreadyExistsError, FileCreateError, FileDeleteError, FileListError, FileNotAuthorizedError, FileNotFoundError, FilePersistenceError, FileUpdateError, InvalidFileSizeError, InvalidFileTypeError };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain/file/errors.js","sources":["../../../src/domain/file/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class FilePersistenceError extends BaseError {\n override readonly code = \"FileManager/File/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message\n });\n }\n}\n\nexport class FileNotFoundError extends BaseError<{ id: string }> {\n override readonly code = \"FileManager/File/NotFoundError\" as const;\n\n constructor(id: string) {\n super({\n message: `File with ID \"${id}\" not found.`,\n data: { id }\n });\n }\n}\n\nexport class FileNotAuthorizedError extends BaseError {\n override readonly code = \"FileManager/File/NotAuthorizedError\" as const;\n\n constructor() {\n super({\n message: `Not authorized.`\n });\n }\n}\n\nexport class FileListError extends BaseError {\n override readonly code = \"FileManager/File/ListError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error listing files: ${error.message}`\n });\n }\n}\n\nexport class FileCreateError extends BaseError {\n override readonly code = \"FileManager/File/CreateError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error creating file: ${error.message}`\n });\n }\n}\n\nexport class FileUpdateError extends BaseError {\n override readonly code = \"FileManager/File/UpdateError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error updating file: ${error.message}`\n });\n }\n}\n\nexport class FileDeleteError extends BaseError {\n override readonly code = \"FileManager/File/DeleteError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error deleting file: ${error.message}`\n });\n }\n}\n\nexport class FileAlreadyExistsError extends BaseError<{ key: string }> {\n override readonly code = \"FileManager/File/AlreadyExistsError\" as const;\n\n constructor(data: { key: string }) {\n super({\n message: `File with key \"${data.key}\" already exists.`,\n data\n });\n }\n}\n\nexport class InvalidFileSizeError extends BaseError<{\n size: number;\n minSize: number;\n maxSize: number;\n}> {\n override readonly code = \"FileManager/File/InvalidFileSizeError\" as const;\n\n constructor(data: { size: number; minSize: number; maxSize: number }) {\n super({\n message: `File size ${data.size} bytes is outside allowed range (${data.minSize}-${data.maxSize} bytes).`,\n data\n });\n }\n}\n\nexport class InvalidFileTypeError extends BaseError<{ type: string }> {\n override readonly code = \"FileManager/File/InvalidFileTypeError\" as const;\n\n constructor(data: { type: string }) {\n super({\n message: `File type \"${data.type}\" is not allowed.`,\n data\n });\n }\n}\n"],"names":["FilePersistenceError","BaseError","error","FileNotFoundError","id","FileNotAuthorizedError","FileListError","FileCreateError","FileUpdateError","FileDeleteError","FileAlreadyExistsError","data","InvalidFileSizeError","InvalidFileTypeError"],"mappings":";AAEO,MAAMA,6BAA6BC;IAGtC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAASA,MAAM,OAAO;QAC1B,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMC,0BAA0BF;IAGnC,YAAYG,EAAU,CAAE;QACpB,KAAK,CAAC;YACF,SAAS,CAAC,cAAc,EAAEA,GAAG,YAAY,CAAC;YAC1C,MAAM;gBAAEA;YAAG;QACf,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,+BAA+BJ;IAGxC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMK,sBAAsBL;IAG/B,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,qBAAqB,EAAEA,MAAM,OAAO,EAAE;QACpD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMK,wBAAwBN;IAGjC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,qBAAqB,EAAEA,MAAM,OAAO,EAAE;QACpD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMM,wBAAwBP;IAGjC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,qBAAqB,EAAEA,MAAM,OAAO,EAAE;QACpD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMO,wBAAwBR;IAGjC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,SAAS,CAAC,qBAAqB,EAAEA,MAAM,OAAO,EAAE;QACpD,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMQ,+BAA+BT;IAGxC,YAAYU,IAAqB,CAAE;QAC/B,KAAK,CAAC;YACF,SAAS,CAAC,eAAe,EAAEA,KAAK,GAAG,CAAC,iBAAiB,CAAC;YACtDA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,6BAA6BX;IAOtC,YAAYU,IAAwD,CAAE;QAClE,KAAK,CAAC;YACF,SAAS,CAAC,UAAU,EAAEA,KAAK,IAAI,CAAC,iCAAiC,EAAEA,KAAK,OAAO,CAAC,CAAC,EAAEA,KAAK,OAAO,CAAC,QAAQ,CAAC;YACzGA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAME,6BAA6BZ;IAGtC,YAAYU,IAAsB,CAAE;QAChC,KAAK,CAAC;YACF,SAAS,CAAC,WAAW,EAAEA,KAAK,IAAI,CAAC,iBAAiB,CAAC;YACnDA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
|
|
2
|
+
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
3
|
+
export declare const FILE_MODEL_ID: string;
|
|
4
|
+
declare class FilePrivateModelImpl implements ModelFactory.Interface {
|
|
5
|
+
private wcp;
|
|
6
|
+
constructor(wcp: WcpContext.Interface);
|
|
7
|
+
execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PrivateModelBuilder[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare const FileModel: typeof FilePrivateModelImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|