@webiny/api-file-manager 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b9b64acb6d
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/contants.d.ts +1 -0
- package/contants.js +3 -0
- package/contants.js.map +1 -0
- package/delivery/AssetDelivery/Asset.d.ts +28 -0
- package/delivery/AssetDelivery/Asset.js +59 -0
- package/delivery/AssetDelivery/Asset.js.map +1 -0
- package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +65 -0
- package/delivery/AssetDelivery/AssetDeliveryConfig.js +94 -0
- package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
- package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
- package/delivery/AssetDelivery/AssetRequest.js +22 -0
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
- package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js +30 -0
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
- package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js +8 -0
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
- package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
- package/delivery/AssetDelivery/NullAssetReply.js +13 -0
- package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
- package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
- package/delivery/AssetDelivery/NullAssetResolver.js +7 -0
- package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
- package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
- package/delivery/AssetDelivery/NullRequestResolver.js +7 -0
- package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
- package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
- package/delivery/AssetDelivery/SetCacheControlHeaders.js +18 -0
- package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
- package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
- package/delivery/AssetDelivery/SetResponseHeaders.js +18 -0
- package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +4 -0
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js +31 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
- package/delivery/AssetDelivery/abstractions/AssetResolver.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +3 -0
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +8 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +3 -0
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +19 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +8 -0
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +8 -0
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +20 -0
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +6 -0
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js +21 -0
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +8 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +30 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +63 -0
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +6 -0
- package/delivery/AssetDelivery/privateFiles/PublicCache.js +21 -0
- package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +7 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +20 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +7 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +20 -0
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +7 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +7 -0
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +19 -0
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
- package/delivery/index.d.ts +16 -0
- package/delivery/index.js +12 -0
- package/delivery/index.js.map +1 -0
- package/delivery/setupAssetDelivery.d.ts +2 -0
- package/delivery/setupAssetDelivery.js +114 -0
- package/delivery/setupAssetDelivery.js.map +1 -0
- package/domain/file/abstractions.d.ts +9 -0
- package/domain/file/abstractions.js +8 -0
- package/domain/file/abstractions.js.map +1 -0
- package/domain/file/errors.d.ts +59 -0
- package/domain/file/errors.js +89 -0
- package/domain/file/errors.js.map +1 -0
- package/domain/file/file.model.d.ts +12 -0
- package/domain/file/file.model.js +56 -0
- package/domain/file/file.model.js.map +1 -0
- package/domain/file/types.d.ts +51 -0
- package/domain/file/types.js +3 -0
- package/domain/file/types.js.map +1 -0
- package/domain/identity/Identity.d.ts +9 -0
- package/domain/identity/Identity.js +11 -0
- package/domain/identity/Identity.js.map +1 -0
- package/domain/settings/constants.d.ts +1 -0
- package/domain/settings/constants.js +3 -0
- package/domain/settings/constants.js.map +1 -0
- package/domain/settings/errors.d.ts +18 -0
- package/domain/settings/errors.js +30 -0
- package/domain/settings/errors.js.map +1 -0
- package/domain/settings/types.d.ts +10 -0
- package/domain/settings/types.js +3 -0
- package/domain/settings/types.js.map +1 -0
- package/domain/settings/validation.d.ts +14 -0
- package/domain/settings/validation.js +36 -0
- package/domain/settings/validation.js.map +1 -0
- package/features/FileManagerFeature.d.ts +1 -0
- package/features/FileManagerFeature.js +28 -0
- package/features/FileManagerFeature.js.map +1 -0
- package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
- package/features/file/CreateFile/CreateFileRepository.js +30 -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 +89 -0
- package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
- package/features/file/CreateFile/abstractions.d.ts +57 -0
- package/features/file/CreateFile/abstractions.js +15 -0
- package/features/file/CreateFile/abstractions.js.map +1 -0
- package/features/file/CreateFile/events.d.ts +29 -0
- package/features/file/CreateFile/events.js +28 -0
- package/features/file/CreateFile/events.js.map +1 -0
- package/features/file/CreateFile/feature.d.ts +1 -0
- package/features/file/CreateFile/feature.js +12 -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 +4 -0
- package/features/file/CreateFile/index.js.map +1 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +24 -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 +84 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
- package/features/file/CreateFilesInBatch/abstractions.d.ts +40 -0
- package/features/file/CreateFilesInBatch/abstractions.js +15 -0
- package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
- package/features/file/CreateFilesInBatch/events.d.ts +29 -0
- package/features/file/CreateFilesInBatch/events.js +28 -0
- package/features/file/CreateFilesInBatch/events.js.map +1 -0
- package/features/file/CreateFilesInBatch/feature.d.ts +1 -0
- package/features/file/CreateFilesInBatch/feature.js +12 -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 +3 -0
- package/features/file/CreateFilesInBatch/index.js.map +1 -0
- package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
- package/features/file/DeleteFile/DeleteFileRepository.js +30 -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 +45 -0
- package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
- package/features/file/DeleteFile/abstractions.d.ts +37 -0
- package/features/file/DeleteFile/abstractions.js +15 -0
- package/features/file/DeleteFile/abstractions.js.map +1 -0
- package/features/file/DeleteFile/events.d.ts +27 -0
- package/features/file/DeleteFile/events.js +28 -0
- package/features/file/DeleteFile/events.js.map +1 -0
- package/features/file/DeleteFile/feature.d.ts +1 -0
- package/features/file/DeleteFile/feature.js +12 -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 +4 -0
- package/features/file/DeleteFile/index.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
- package/features/file/FileUrlGenerator/abstractions.js +4 -0
- package/features/file/FileUrlGenerator/abstractions.js.map +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 +31 -0
- package/features/file/GetFile/GetFileUseCase.js.map +1 -0
- package/features/file/GetFile/abstractions.d.ts +38 -0
- package/features/file/GetFile/abstractions.js +15 -0
- package/features/file/GetFile/abstractions.js.map +1 -0
- package/features/file/GetFile/feature.d.ts +1 -0
- package/features/file/GetFile/feature.js +12 -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 +3 -0
- package/features/file/GetFile/index.js.map +1 -0
- package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
- package/features/file/ListFiles/ListFilesRepository.js +51 -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 +45 -0
- package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
- package/features/file/ListFiles/abstractions.d.ts +47 -0
- package/features/file/ListFiles/abstractions.js +15 -0
- package/features/file/ListFiles/abstractions.js.map +1 -0
- package/features/file/ListFiles/feature.d.ts +1 -0
- package/features/file/ListFiles/feature.js +12 -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 +3 -0
- package/features/file/ListFiles/index.js.map +1 -0
- package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
- package/features/file/ListTags/ListTagsRepository.js +47 -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 +43 -0
- package/features/file/ListTags/abstractions.js +15 -0
- package/features/file/ListTags/abstractions.js.map +1 -0
- package/features/file/ListTags/feature.d.ts +1 -0
- package/features/file/ListTags/feature.js +12 -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 +3 -0
- package/features/file/ListTags/index.js.map +1 -0
- package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
- package/features/file/UpdateFile/UpdateFileRepository.js +39 -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 +78 -0
- package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
- package/features/file/UpdateFile/abstractions.d.ts +53 -0
- package/features/file/UpdateFile/abstractions.js +15 -0
- package/features/file/UpdateFile/abstractions.js.map +1 -0
- package/features/file/UpdateFile/events.d.ts +32 -0
- package/features/file/UpdateFile/events.js +28 -0
- package/features/file/UpdateFile/events.js.map +1 -0
- package/features/file/UpdateFile/feature.d.ts +1 -0
- package/features/file/UpdateFile/feature.js +12 -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 +4 -0
- package/features/file/UpdateFile/index.js.map +1 -0
- package/features/file/shared/EntryToFileMapper.d.ts +5 -0
- package/features/file/shared/EntryToFileMapper.js +26 -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 +30 -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 +29 -0
- package/features/file/shared/FileToEntryMapper.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 +17 -0
- package/features/settings/GetSettings/abstractions.js +9 -0
- package/features/settings/GetSettings/abstractions.js.map +1 -0
- package/features/settings/GetSettings/feature.d.ts +1 -0
- package/features/settings/GetSettings/feature.js +10 -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 +35 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
- package/features/settings/SettingsInstaller/feature.d.ts +1 -0
- package/features/settings/SettingsInstaller/feature.js +10 -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 +62 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
- package/features/settings/UpdateSettings/abstractions.d.ts +22 -0
- package/features/settings/UpdateSettings/abstractions.js +9 -0
- package/features/settings/UpdateSettings/abstractions.js.map +1 -0
- package/features/settings/UpdateSettings/events.d.ts +32 -0
- package/features/settings/UpdateSettings/events.js +28 -0
- package/features/settings/UpdateSettings/events.js.map +1 -0
- package/features/settings/UpdateSettings/feature.d.ts +1 -0
- package/features/settings/UpdateSettings/feature.js +10 -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 +4 -0
- package/features/settings/UpdateSettings/index.js.map +1 -0
- package/features/shared/abstractions.d.ts +1 -0
- package/features/shared/abstractions.js +3 -0
- package/features/shared/abstractions.js.map +1 -0
- package/graphql/baseSchema.d.ts +3 -0
- package/graphql/baseSchema.js +103 -0
- package/graphql/baseSchema.js.map +1 -0
- package/graphql/createFilesTypeDefs.d.ts +7 -0
- package/graphql/createFilesTypeDefs.js +199 -0
- package/graphql/createFilesTypeDefs.js.map +1 -0
- package/graphql/filesSchema.d.ts +4 -0
- package/graphql/filesSchema.js +116 -0
- package/graphql/filesSchema.js.map +1 -0
- package/graphql/getFileByUrl.d.ts +3 -0
- package/graphql/getFileByUrl.js +69 -0
- package/graphql/getFileByUrl.js.map +1 -0
- package/graphql/index.d.ts +3 -2
- package/graphql/index.js +51 -286
- package/graphql/index.js.map +1 -1
- package/graphql/utils.d.ts +11 -0
- package/graphql/utils.js +17 -0
- package/graphql/utils.js.map +1 -0
- package/index.d.ts +6 -5
- package/index.js +32 -63
- package/index.js.map +1 -1
- package/modelModifier/CmsModelModifier.d.ts +26 -0
- package/modelModifier/CmsModelModifier.js +54 -0
- package/modelModifier/CmsModelModifier.js.map +1 -0
- package/package.json +26 -37
- package/permissions/schema.d.ts +73 -0
- package/permissions/schema.js +20 -0
- package/permissions/schema.js.map +1 -0
- package/types.d.ts +1 -355
- package/types.js +2 -26
- package/types.js.map +1 -1
- 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.d.ts +0 -0
- 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/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/utils.d.ts +0 -4
- package/utils.js +0 -16
- package/utils.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
constructor(params?: AssetReplyParams);
|
|
18
|
+
setHeaders(cb: HeadersSetter): void;
|
|
19
|
+
getHeaders(): ResponseHeaders;
|
|
20
|
+
setCode(code: number): void;
|
|
21
|
+
getCode(): number;
|
|
22
|
+
setBody(body: AssetReplyBody): void;
|
|
23
|
+
getBody(): unknown;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
2
|
+
const defaultBody = () => "";
|
|
3
|
+
export class AssetReply {
|
|
4
|
+
constructor(params = {
|
|
5
|
+
code: 200
|
|
6
|
+
}) {
|
|
7
|
+
this.code = params.code;
|
|
8
|
+
this.headers = params.headers || ResponseHeaders.create();
|
|
9
|
+
this.body = params.body || defaultBody;
|
|
10
|
+
}
|
|
11
|
+
setHeaders(cb) {
|
|
12
|
+
this.headers = cb(this.headers);
|
|
13
|
+
}
|
|
14
|
+
getHeaders() {
|
|
15
|
+
return this.headers;
|
|
16
|
+
}
|
|
17
|
+
setCode(code) {
|
|
18
|
+
this.code = code;
|
|
19
|
+
}
|
|
20
|
+
getCode() {
|
|
21
|
+
return this.code;
|
|
22
|
+
}
|
|
23
|
+
setBody(body) {
|
|
24
|
+
this.body = body;
|
|
25
|
+
}
|
|
26
|
+
getBody() {
|
|
27
|
+
return this.body();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=AssetReply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ResponseHeaders","defaultBody","AssetReply","constructor","params","code","headers","create","body","setHeaders","cb","getHeaders","setCode","getCode","setBody","getBody"],"sources":["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 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 setHeaders(cb: HeadersSetter) {\n this.headers = cb(this.headers);\n }\n\n getHeaders() {\n return this.headers;\n }\n\n setCode(code: number) {\n this.code = code;\n }\n\n getCode() {\n return this.code;\n }\n\n setBody(body: AssetReplyBody) {\n this.body = body;\n }\n\n getBody() {\n return this.body();\n }\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,iBAAiB;AAgBjD,MAAMC,WAAW,GAAGA,CAAA,KAAM,EAAE;AAE5B,OAAO,MAAMC,UAAU,CAAC;EAKpBC,WAAWA,CAACC,MAAwB,GAAG;IAAEC,IAAI,EAAE;EAAI,CAAC,EAAE;IAClD,IAAI,CAACA,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAIN,eAAe,CAACO,MAAM,CAAC,CAAC;IACzD,IAAI,CAACC,IAAI,GAAGJ,MAAM,CAACI,IAAI,IAAIP,WAAW;EAC1C;EAEAQ,UAAUA,CAACC,EAAiB,EAAE;IAC1B,IAAI,CAACJ,OAAO,GAAGI,EAAE,CAAC,IAAI,CAACJ,OAAO,CAAC;EACnC;EAEAK,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACL,OAAO;EACvB;EAEAM,OAAOA,CAACP,IAAY,EAAE;IAClB,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAQ,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACR,IAAI;EACpB;EAEAS,OAAOA,CAACN,IAAoB,EAAE;IAC1B,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAO,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACP,IAAI,CAAC,CAAC;EACtB;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["AssetRequestResolver.ts"],"sourcesContent":["import type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["AssetResolver.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["AssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAssetDeliveryPluginLoader","cb","process","env","WEBINY_FUNCTION_TYPE","Promise","resolve"],"sources":["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"],"mappings":"AAEA,OAAO,MAAMA,+BAA+B,GAAIC,EAAiB,IAAoB;EACjF,IAAIC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,gBAAgB,EAAE;IACvD,OAAO,MAAMH,EAAE,CAAC,CAAC;EACrB;EAEA,OAAO,MAAMI,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;AACpC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["AssetAuthorizer.ts"],"sourcesContent":["import { File } from \"~/domain/file/types.js\";\n\nexport interface AssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
2
|
+
import { AssetReply } from "../../index.js";
|
|
3
|
+
export class NotAuthorizedAssetReply extends AssetReply {
|
|
4
|
+
constructor() {
|
|
5
|
+
super({
|
|
6
|
+
code: 403,
|
|
7
|
+
headers: ResponseHeaders.create({
|
|
8
|
+
"cache-control": "no-store",
|
|
9
|
+
"content-type": "application/json; charset=utf-8"
|
|
10
|
+
}),
|
|
11
|
+
body: () => ({
|
|
12
|
+
error: "Not authorized!",
|
|
13
|
+
code: "NOT_AUTHORIZED"
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=NotAuthorizedAssetReply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ResponseHeaders","AssetReply","NotAuthorizedAssetReply","constructor","code","headers","create","body","error"],"sources":["NotAuthorizedAssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\nimport { AssetReply } from \"~/delivery/index.js\";\n\nexport class NotAuthorizedAssetReply extends AssetReply {\n constructor() {\n super({\n code: 403,\n headers: ResponseHeaders.create({\n \"cache-control\": \"no-store\",\n \"content-type\": \"application/json; charset=utf-8\"\n }),\n body: () => ({ error: \"Not authorized!\", code: \"NOT_AUTHORIZED\" })\n });\n }\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,UAAU;AAEnB,OAAO,MAAMC,uBAAuB,SAASD,UAAU,CAAC;EACpDE,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEL,eAAe,CAACM,MAAM,CAAC;QAC5B,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE;MACpB,CAAC,CAAC;MACFC,IAAI,EAAEA,CAAA,MAAO;QAAEC,KAAK,EAAE,iBAAiB;QAAEJ,IAAI,EAAE;MAAiB,CAAC;IACrE,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NotAuthorizedAssetReply","NotAuthorizedOutputStrategy","output"],"sources":["NotAuthorizedOutputStrategy.ts"],"sourcesContent":["import type { AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\nimport { NotAuthorizedAssetReply } from \"./NotAuthorizedAssetReply.js\";\n\nexport class NotAuthorizedOutputStrategy implements AssetOutputStrategy {\n async output(): Promise<AssetReply> {\n return new NotAuthorizedAssetReply();\n }\n}\n"],"mappings":"AACA,SAASA,uBAAuB;AAEhC,OAAO,MAAMC,2BAA2B,CAAgC;EACpE,MAAMC,MAAMA,CAAA,EAAwB;IAChC,OAAO,IAAIF,uBAAuB,CAAC,CAAC;EACxC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { File } from "../../../domain/file/types.js";
|
|
2
|
+
import type { AssetAuthorizer } from "./AssetAuthorizer.js";
|
|
3
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
4
|
+
export declare class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {
|
|
5
|
+
private context;
|
|
6
|
+
constructor(context: ApiCoreContext);
|
|
7
|
+
authorize(file: File): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Error from "@webiny/error";
|
|
2
|
+
export class PrivateAuthenticatedAuthorizer {
|
|
3
|
+
constructor(context) {
|
|
4
|
+
this.context = context;
|
|
5
|
+
}
|
|
6
|
+
async authorize(file) {
|
|
7
|
+
if (file.accessControl && file.accessControl.type === "private-authenticated") {
|
|
8
|
+
// Make sure there's a valid identity!
|
|
9
|
+
const identity = this.context.security.getIdentity();
|
|
10
|
+
if (!identity) {
|
|
11
|
+
throw new Error({
|
|
12
|
+
code: "NOT_AUTHORIZED",
|
|
13
|
+
message: "You're not authorized to access this asset!"
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=PrivateAuthenticatedAuthorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Error","PrivateAuthenticatedAuthorizer","constructor","context","authorize","file","accessControl","type","identity","security","getIdentity","code","message"],"sources":["PrivateAuthenticatedAuthorizer.ts"],"sourcesContent":["import Error from \"@webiny/error\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { AssetAuthorizer } from \"./AssetAuthorizer.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {\n private context: ApiCoreContext;\n\n constructor(context: ApiCoreContext) {\n this.context = context;\n }\n\n async authorize(file: File) {\n if (file.accessControl && file.accessControl.type === \"private-authenticated\") {\n // Make sure there's a valid identity!\n const identity = this.context.security.getIdentity();\n\n if (!identity) {\n throw new Error({\n code: \"NOT_AUTHORIZED\",\n message: \"You're not authorized to access this asset!\"\n });\n }\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,eAAe;AAKjC,OAAO,MAAMC,8BAA8B,CAA4B;EAGnEC,WAAWA,CAACC,OAAuB,EAAE;IACjC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,SAASA,CAACC,IAAU,EAAE;IACxB,IAAIA,IAAI,CAACC,aAAa,IAAID,IAAI,CAACC,aAAa,CAACC,IAAI,KAAK,uBAAuB,EAAE;MAC3E;MACA,MAAMC,QAAQ,GAAG,IAAI,CAACL,OAAO,CAACM,QAAQ,CAACC,WAAW,CAAC,CAAC;MAEpD,IAAI,CAACF,QAAQ,EAAE;QACX,MAAM,IAAIR,KAAK,CAAC;UACZW,IAAI,EAAE,gBAAgB;UACtBC,OAAO,EAAE;QACb,CAAC,CAAC;MACN;IACJ;EACJ;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Asset, AssetOutputStrategy, AssetReply } from "../../../delivery/index.js";
|
|
2
|
+
export declare class PrivateCache implements AssetOutputStrategy {
|
|
3
|
+
private strategy;
|
|
4
|
+
constructor(strategy: AssetOutputStrategy);
|
|
5
|
+
output(asset: Asset): Promise<AssetReply>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { parse, stringify } from "cache-control-parser";
|
|
2
|
+
export class PrivateCache {
|
|
3
|
+
constructor(strategy) {
|
|
4
|
+
this.strategy = strategy;
|
|
5
|
+
}
|
|
6
|
+
async output(asset) {
|
|
7
|
+
const reply = await this.strategy.output(asset);
|
|
8
|
+
reply.setHeaders(headers => {
|
|
9
|
+
headers.set("cache-control", (value = "") => {
|
|
10
|
+
const cacheControl = parse(value);
|
|
11
|
+
cacheControl["private"] = true;
|
|
12
|
+
cacheControl["public"] = false;
|
|
13
|
+
return stringify(cacheControl);
|
|
14
|
+
});
|
|
15
|
+
return headers;
|
|
16
|
+
});
|
|
17
|
+
return reply;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=PrivateCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parse","stringify","PrivateCache","constructor","strategy","output","asset","reply","setHeaders","headers","set","value","cacheControl"],"sources":["PrivateCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\n\nexport class PrivateCache implements AssetOutputStrategy {\n private strategy: AssetOutputStrategy;\n\n constructor(strategy: AssetOutputStrategy) {\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n headers.set(\"cache-control\", (value = \"\") => {\n const cacheControl = parse(value);\n cacheControl[\"private\"] = true;\n cacheControl[\"public\"] = false;\n return stringify(cacheControl);\n });\n return headers;\n });\n\n return reply;\n }\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,SAAS,QAAQ,sBAAsB;AAGvD,OAAO,MAAMC,YAAY,CAAgC;EAGrDC,WAAWA,CAACC,QAA6B,EAAE;IACvC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CC,KAAK,CAACC,UAAU,CAACC,OAAO,IAAI;MACxBA,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE,KAAK;QACzC,MAAMC,YAAY,GAAGZ,KAAK,CAACW,KAAK,CAAC;QACjCC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI;QAC9BA,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK;QAC9B,OAAOX,SAAS,CAACW,YAAY,CAAC;MAClC,CAAC,CAAC;MACF,OAAOH,OAAO;IAClB,CAAC,CAAC;IAEF,OAAOF,KAAK;EAChB;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AssetRequestResolver } from "../../../delivery/index.js";
|
|
2
|
+
import { AssetRequest } from "../../../delivery/index.js";
|
|
3
|
+
import type { Request } from "@webiny/handler/types.js";
|
|
4
|
+
export declare class PrivateFileAssetRequestResolver implements AssetRequestResolver {
|
|
5
|
+
private readonly resolver;
|
|
6
|
+
constructor(resolver: AssetRequestResolver);
|
|
7
|
+
resolve(request: Request): Promise<AssetRequest | undefined>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AssetRequest } from "../../index.js";
|
|
2
|
+
export class PrivateFileAssetRequestResolver {
|
|
3
|
+
constructor(resolver) {
|
|
4
|
+
this.resolver = resolver;
|
|
5
|
+
}
|
|
6
|
+
async resolve(request) {
|
|
7
|
+
// Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300
|
|
8
|
+
if (!request.url.startsWith("/private/")) {
|
|
9
|
+
return this.resolver.resolve(request);
|
|
10
|
+
}
|
|
11
|
+
const params = request.params ?? {};
|
|
12
|
+
const query = request.query ?? {};
|
|
13
|
+
|
|
14
|
+
// Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },
|
|
15
|
+
const path = params["*"];
|
|
16
|
+
return new AssetRequest({
|
|
17
|
+
key: decodeURI(path).replace("/private/", ""),
|
|
18
|
+
context: {
|
|
19
|
+
url: request.url,
|
|
20
|
+
private: true
|
|
21
|
+
},
|
|
22
|
+
options: {
|
|
23
|
+
...query,
|
|
24
|
+
width: query.width ? parseInt(query.width) : undefined
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=PrivateFileAssetRequestResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AssetRequest","PrivateFileAssetRequestResolver","constructor","resolver","resolve","request","url","startsWith","params","query","path","key","decodeURI","replace","context","private","options","width","parseInt","undefined"],"sources":["PrivateFileAssetRequestResolver.ts"],"sourcesContent":["import type { AssetRequestResolver } from \"~/delivery/index.js\";\nimport { AssetRequest } from \"~/delivery/index.js\";\nimport type { Request } from \"@webiny/handler/types.js\";\n\nexport class PrivateFileAssetRequestResolver implements AssetRequestResolver {\n private readonly resolver: AssetRequestResolver;\n\n constructor(resolver: AssetRequestResolver) {\n this.resolver = resolver;\n }\n\n async resolve(request: Request): Promise<AssetRequest | undefined> {\n // Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300\n if (!request.url.startsWith(\"/private/\")) {\n return this.resolver.resolve(request);\n }\n\n const params = (request.params ?? {}) as Record<string, any>;\n const query = (request.query ?? {}) as Record<string, any>;\n\n // Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },\n const path = params[\"*\"];\n\n return new AssetRequest({\n key: decodeURI(path).replace(\"/private/\", \"\"),\n context: {\n url: request.url,\n private: true\n },\n options: {\n ...query,\n width: query.width ? parseInt(query.width) : undefined\n }\n });\n }\n}\n"],"mappings":"AACA,SAASA,YAAY;AAGrB,OAAO,MAAMC,+BAA+B,CAAiC;EAGzEC,WAAWA,CAACC,QAA8B,EAAE;IACxC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,OAAOA,CAACC,OAAgB,EAAqC;IAC/D;IACA,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;MACtC,OAAO,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC;IACzC;IAEA,MAAMG,MAAM,GAAIH,OAAO,CAACG,MAAM,IAAI,CAAC,CAAyB;IAC5D,MAAMC,KAAK,GAAIJ,OAAO,CAACI,KAAK,IAAI,CAAC,CAAyB;;IAE1D;IACA,MAAMC,IAAI,GAAGF,MAAM,CAAC,GAAG,CAAC;IAExB,OAAO,IAAIR,YAAY,CAAC;MACpBW,GAAG,EAAEC,SAAS,CAACF,IAAI,CAAC,CAACG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MAC7CC,OAAO,EAAE;QACLR,GAAG,EAAED,OAAO,CAACC,GAAG;QAChBS,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACL,GAAGP,KAAK;QACRQ,KAAK,EAAER,KAAK,CAACQ,KAAK,GAAGC,QAAQ,CAACT,KAAK,CAACQ,KAAK,CAAC,GAAGE;MACjD;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
|
+
import type { Asset, AssetProcessor, AssetRequest } from "../../../delivery/index.js";
|
|
3
|
+
import type { AssetAuthorizer } from "./AssetAuthorizer.js";
|
|
4
|
+
export declare class PrivateFilesAssetProcessor implements AssetProcessor {
|
|
5
|
+
private readonly context;
|
|
6
|
+
private assetProcessor;
|
|
7
|
+
private assetAuthorizer;
|
|
8
|
+
constructor(context: ApiCoreContext, assetAuthorizer: AssetAuthorizer, assetProcessor: AssetProcessor);
|
|
9
|
+
process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
10
|
+
private isPrivate;
|
|
11
|
+
private requestedViaPrivateEndpoint;
|
|
12
|
+
private requestedViaPublicEndpoint;
|
|
13
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { NotAuthorizedOutputStrategy } from "./NotAuthorizedOutputStrategy.js";
|
|
2
|
+
import { RedirectToPublicUrlOutputStrategy } from "./RedirectToPublicUrlOutputStrategy.js";
|
|
3
|
+
import { RedirectToPrivateUrlOutputStrategy } from "./RedirectToPrivateUrlOutputStrategy.js";
|
|
4
|
+
import { PrivateCache } from "./PrivateCache.js";
|
|
5
|
+
import { PublicCache } from "./PublicCache.js";
|
|
6
|
+
import { GetFileUseCase } from "../../../features/file/GetFile/index.js";
|
|
7
|
+
export class PrivateFilesAssetProcessor {
|
|
8
|
+
constructor(context, assetAuthorizer, assetProcessor) {
|
|
9
|
+
this.assetAuthorizer = assetAuthorizer;
|
|
10
|
+
this.context = context;
|
|
11
|
+
this.assetProcessor = assetProcessor;
|
|
12
|
+
}
|
|
13
|
+
async process(assetRequest, asset) {
|
|
14
|
+
const id = asset.getId();
|
|
15
|
+
const {
|
|
16
|
+
security
|
|
17
|
+
} = this.context;
|
|
18
|
+
const getFile = this.context.container.resolve(GetFileUseCase);
|
|
19
|
+
|
|
20
|
+
// Get file from File Manager by `id`.
|
|
21
|
+
const file = await security.withoutAuthorization(async () => {
|
|
22
|
+
const fileResult = await getFile.execute(id);
|
|
23
|
+
if (fileResult.isFail()) {
|
|
24
|
+
throw fileResult.error;
|
|
25
|
+
}
|
|
26
|
+
return fileResult.value;
|
|
27
|
+
});
|
|
28
|
+
const isPrivateFile = this.isPrivate(file);
|
|
29
|
+
if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {
|
|
30
|
+
asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));
|
|
31
|
+
return asset;
|
|
32
|
+
}
|
|
33
|
+
if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {
|
|
34
|
+
asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));
|
|
35
|
+
return asset;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
await this.assetAuthorizer.authorize(file);
|
|
39
|
+
} catch {
|
|
40
|
+
asset.setOutputStrategy(new NotAuthorizedOutputStrategy());
|
|
41
|
+
return asset;
|
|
42
|
+
}
|
|
43
|
+
const processedAsset = await this.assetProcessor.process(assetRequest, asset);
|
|
44
|
+
processedAsset.setOutputStrategy(strategy => {
|
|
45
|
+
if (!strategy) {
|
|
46
|
+
throw Error(`No asset output strategy is configured!`);
|
|
47
|
+
}
|
|
48
|
+
return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);
|
|
49
|
+
});
|
|
50
|
+
return processedAsset;
|
|
51
|
+
}
|
|
52
|
+
isPrivate(file) {
|
|
53
|
+
return file.accessControl && file.accessControl.type.startsWith("private-");
|
|
54
|
+
}
|
|
55
|
+
requestedViaPrivateEndpoint(assetRequest) {
|
|
56
|
+
return assetRequest.getContext().private;
|
|
57
|
+
}
|
|
58
|
+
requestedViaPublicEndpoint(assetRequest) {
|
|
59
|
+
return !this.requestedViaPrivateEndpoint(assetRequest);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=PrivateFilesAssetProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NotAuthorizedOutputStrategy","RedirectToPublicUrlOutputStrategy","RedirectToPrivateUrlOutputStrategy","PrivateCache","PublicCache","GetFileUseCase","PrivateFilesAssetProcessor","constructor","context","assetAuthorizer","assetProcessor","process","assetRequest","asset","id","getId","security","getFile","container","resolve","file","withoutAuthorization","fileResult","execute","isFail","error","value","isPrivateFile","isPrivate","requestedViaPrivateEndpoint","setOutputStrategy","requestedViaPublicEndpoint","authorize","processedAsset","strategy","Error","accessControl","type","startsWith","getContext","private"],"sources":["PrivateFilesAssetProcessor.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { Asset, AssetProcessor, AssetRequest } from \"~/delivery/index.js\";\nimport type { AssetAuthorizer } from \"./AssetAuthorizer.js\";\nimport { NotAuthorizedOutputStrategy } from \"./NotAuthorizedOutputStrategy.js\";\nimport { RedirectToPublicUrlOutputStrategy } from \"./RedirectToPublicUrlOutputStrategy.js\";\nimport { RedirectToPrivateUrlOutputStrategy } from \"./RedirectToPrivateUrlOutputStrategy.js\";\nimport { PrivateCache } from \"./PrivateCache.js\";\nimport { PublicCache } from \"./PublicCache.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/index.js\";\n\ninterface MaybePrivate {\n private?: boolean;\n}\n\nexport class PrivateFilesAssetProcessor implements AssetProcessor {\n private readonly context: ApiCoreContext;\n private assetProcessor: AssetProcessor;\n private assetAuthorizer: AssetAuthorizer;\n\n constructor(\n context: ApiCoreContext,\n assetAuthorizer: AssetAuthorizer,\n assetProcessor: AssetProcessor\n ) {\n this.assetAuthorizer = assetAuthorizer;\n this.context = context;\n this.assetProcessor = assetProcessor;\n }\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n const id = asset.getId();\n const { security } = this.context;\n const getFile = this.context.container.resolve(GetFileUseCase);\n\n // Get file from File Manager by `id`.\n const file = await security.withoutAuthorization(async () => {\n const fileResult = await getFile.execute(id);\n if (fileResult.isFail()) {\n throw fileResult.error;\n }\n return fileResult.value;\n });\n\n const isPrivateFile = this.isPrivate(file);\n\n if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n try {\n await this.assetAuthorizer.authorize(file);\n } catch {\n asset.setOutputStrategy(new NotAuthorizedOutputStrategy());\n\n return asset;\n }\n\n const processedAsset = await this.assetProcessor.process(assetRequest, asset);\n\n processedAsset.setOutputStrategy(strategy => {\n if (!strategy) {\n throw Error(`No asset output strategy is configured!`);\n }\n return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);\n });\n\n return processedAsset;\n }\n\n private isPrivate(file: File) {\n return file.accessControl && file.accessControl.type.startsWith(\"private-\");\n }\n\n private requestedViaPrivateEndpoint(assetRequest: AssetRequest) {\n return assetRequest.getContext<MaybePrivate>().private;\n }\n\n private requestedViaPublicEndpoint(assetRequest: AssetRequest) {\n return !this.requestedViaPrivateEndpoint(assetRequest);\n }\n}\n"],"mappings":"AAIA,SAASA,2BAA2B;AACpC,SAASC,iCAAiC;AAC1C,SAASC,kCAAkC;AAC3C,SAASC,YAAY;AACrB,SAASC,WAAW;AACpB,SAASC,cAAc;AAMvB,OAAO,MAAMC,0BAA0B,CAA2B;EAK9DC,WAAWA,CACPC,OAAuB,EACvBC,eAAgC,EAChCC,cAA8B,EAChC;IACE,IAAI,CAACD,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IACpE,MAAMC,EAAE,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;IACxB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACR,OAAO;IACjC,MAAMS,OAAO,GAAG,IAAI,CAACT,OAAO,CAACU,SAAS,CAACC,OAAO,CAACd,cAAc,CAAC;;IAE9D;IACA,MAAMe,IAAI,GAAG,MAAMJ,QAAQ,CAACK,oBAAoB,CAAC,YAAY;MACzD,MAAMC,UAAU,GAAG,MAAML,OAAO,CAACM,OAAO,CAACT,EAAE,CAAC;MAC5C,IAAIQ,UAAU,CAACE,MAAM,CAAC,CAAC,EAAE;QACrB,MAAMF,UAAU,CAACG,KAAK;MAC1B;MACA,OAAOH,UAAU,CAACI,KAAK;IAC3B,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAG,IAAI,CAACC,SAAS,CAACR,IAAI,CAAC;IAE1C,IAAI,CAACO,aAAa,IAAI,IAAI,CAACE,2BAA2B,CAACjB,YAAY,CAAC,EAAE;MAClEC,KAAK,CAACiB,iBAAiB,CAAC,IAAI7B,iCAAiC,CAACW,YAAY,CAAC,CAAC;MAC5E,OAAOC,KAAK;IAChB;IAEA,IAAIc,aAAa,IAAI,IAAI,CAACI,0BAA0B,CAACnB,YAAY,CAAC,EAAE;MAChEC,KAAK,CAACiB,iBAAiB,CAAC,IAAI5B,kCAAkC,CAACU,YAAY,CAAC,CAAC;MAC7E,OAAOC,KAAK;IAChB;IAEA,IAAI;MACA,MAAM,IAAI,CAACJ,eAAe,CAACuB,SAAS,CAACZ,IAAI,CAAC;IAC9C,CAAC,CAAC,MAAM;MACJP,KAAK,CAACiB,iBAAiB,CAAC,IAAI9B,2BAA2B,CAAC,CAAC,CAAC;MAE1D,OAAOa,KAAK;IAChB;IAEA,MAAMoB,cAAc,GAAG,MAAM,IAAI,CAACvB,cAAc,CAACC,OAAO,CAACC,YAAY,EAAEC,KAAK,CAAC;IAE7EoB,cAAc,CAACH,iBAAiB,CAACI,QAAQ,IAAI;MACzC,IAAI,CAACA,QAAQ,EAAE;QACX,MAAMC,KAAK,CAAC,yCAAyC,CAAC;MAC1D;MACA,OAAOR,aAAa,GAAG,IAAIxB,YAAY,CAAC+B,QAAQ,CAAC,GAAG,IAAI9B,WAAW,CAAC8B,QAAQ,CAAC;IACjF,CAAC,CAAC;IAEF,OAAOD,cAAc;EACzB;EAEQL,SAASA,CAACR,IAAU,EAAE;IAC1B,OAAOA,IAAI,CAACgB,aAAa,IAAIhB,IAAI,CAACgB,aAAa,CAACC,IAAI,CAACC,UAAU,CAAC,UAAU,CAAC;EAC/E;EAEQT,2BAA2BA,CAACjB,YAA0B,EAAE;IAC5D,OAAOA,YAAY,CAAC2B,UAAU,CAAe,CAAC,CAACC,OAAO;EAC1D;EAEQT,0BAA0BA,CAACnB,YAA0B,EAAE;IAC3D,OAAO,CAAC,IAAI,CAACiB,2BAA2B,CAACjB,YAAY,CAAC;EAC1D;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Asset, AssetOutputStrategy, AssetReply } from "../../../delivery/index.js";
|
|
2
|
+
export declare class PublicCache implements AssetOutputStrategy {
|
|
3
|
+
private strategy;
|
|
4
|
+
constructor(strategy: AssetOutputStrategy);
|
|
5
|
+
output(asset: Asset): Promise<AssetReply>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { parse, stringify } from "cache-control-parser";
|
|
2
|
+
export class PublicCache {
|
|
3
|
+
constructor(strategy) {
|
|
4
|
+
this.strategy = strategy;
|
|
5
|
+
}
|
|
6
|
+
async output(asset) {
|
|
7
|
+
const reply = await this.strategy.output(asset);
|
|
8
|
+
reply.setHeaders(headers => {
|
|
9
|
+
headers.set("cache-control", (value = "") => {
|
|
10
|
+
const cacheControl = parse(value);
|
|
11
|
+
cacheControl["private"] = false;
|
|
12
|
+
cacheControl["public"] = true;
|
|
13
|
+
return stringify(cacheControl);
|
|
14
|
+
});
|
|
15
|
+
return headers;
|
|
16
|
+
});
|
|
17
|
+
return reply;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=PublicCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parse","stringify","PublicCache","constructor","strategy","output","asset","reply","setHeaders","headers","set","value","cacheControl"],"sources":["PublicCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\n\nexport class PublicCache implements AssetOutputStrategy {\n private strategy: AssetOutputStrategy;\n\n constructor(strategy: AssetOutputStrategy) {\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n headers.set(\"cache-control\", (value = \"\") => {\n const cacheControl = parse(value);\n cacheControl[\"private\"] = false;\n cacheControl[\"public\"] = true;\n return stringify(cacheControl);\n });\n return headers;\n });\n\n return reply;\n }\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,SAAS,QAAQ,sBAAsB;AAGvD,OAAO,MAAMC,WAAW,CAAgC;EAGpDC,WAAWA,CAACC,QAA6B,EAAE;IACvC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CC,KAAK,CAACC,UAAU,CAACC,OAAO,IAAI;MACxBA,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE,KAAK;QACzC,MAAMC,YAAY,GAAGZ,KAAK,CAACW,KAAK,CAAC;QACjCC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK;QAC/BA,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;QAC7B,OAAOX,SAAS,CAACW,YAAY,CAAC;MAClC,CAAC,CAAC;MACF,OAAOH,OAAO;IAClB,CAAC,CAAC;IAEF,OAAOF,KAAK;EAChB;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Asset, AssetOutputStrategy, AssetRequest } from "../../../delivery/index.js";
|
|
2
|
+
import { AssetReply } from "../../../delivery/index.js";
|
|
3
|
+
export declare class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy {
|
|
4
|
+
private assetRequest;
|
|
5
|
+
constructor(assetRequest: AssetRequest);
|
|
6
|
+
output(asset: Asset): Promise<AssetReply>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AssetReply } from "../../index.js";
|
|
2
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
3
|
+
export class RedirectToPrivateUrlOutputStrategy {
|
|
4
|
+
constructor(assetRequest) {
|
|
5
|
+
this.assetRequest = assetRequest;
|
|
6
|
+
}
|
|
7
|
+
async output(asset) {
|
|
8
|
+
const requestUrl = this.assetRequest.getContext().url;
|
|
9
|
+
return new AssetReply({
|
|
10
|
+
code: 301,
|
|
11
|
+
headers: ResponseHeaders.create({
|
|
12
|
+
location: requestUrl.replace("/files/", "/private/"),
|
|
13
|
+
"content-type": asset.getContentType(),
|
|
14
|
+
"cache-control": `public, max-age=${86400 * 30}`
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=RedirectToPrivateUrlOutputStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AssetReply","ResponseHeaders","RedirectToPrivateUrlOutputStrategy","constructor","assetRequest","output","asset","requestUrl","getContext","url","code","headers","create","location","replace","getContentType"],"sources":["RedirectToPrivateUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset, AssetOutputStrategy, AssetRequest } from \"~/delivery/index.js\";\nimport { AssetReply } from \"~/delivery/index.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/files/\", \"/private/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,eAAe,QAAQ,iBAAiB;AAEjD,OAAO,MAAMC,kCAAkC,CAAgC;EAG3EC,WAAWA,CAACC,YAA0B,EAAE;IACpC,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,UAAU,GAAG,IAAI,CAACH,YAAY,CAACI,UAAU,CAAC,CAAC,CAACC,GAAG;IAErD,OAAO,IAAIT,UAAU,CAAC;MAClBU,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEV,eAAe,CAACW,MAAM,CAAC;QAC5BC,QAAQ,EAAEN,UAAU,CAACO,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;QACpD,cAAc,EAAER,KAAK,CAACS,cAAc,CAAC,CAAC;QACtC,eAAe,EAAE,mBAAmB,KAAK,GAAG,EAAE;MAClD,CAAC;IACL,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Asset, AssetOutputStrategy, AssetRequest } from "../../../delivery/index.js";
|
|
2
|
+
import { AssetReply } from "../../../delivery/index.js";
|
|
3
|
+
export declare class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy {
|
|
4
|
+
private assetRequest;
|
|
5
|
+
constructor(assetRequest: AssetRequest);
|
|
6
|
+
output(asset: Asset): Promise<AssetReply>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AssetReply } from "../../index.js";
|
|
2
|
+
import { ResponseHeaders } from "@webiny/handler";
|
|
3
|
+
export class RedirectToPublicUrlOutputStrategy {
|
|
4
|
+
constructor(assetRequest) {
|
|
5
|
+
this.assetRequest = assetRequest;
|
|
6
|
+
}
|
|
7
|
+
async output(asset) {
|
|
8
|
+
const requestUrl = this.assetRequest.getContext().url;
|
|
9
|
+
return new AssetReply({
|
|
10
|
+
code: 301,
|
|
11
|
+
headers: ResponseHeaders.create({
|
|
12
|
+
location: requestUrl.replace("/private/", "/files/"),
|
|
13
|
+
"content-type": asset.getContentType(),
|
|
14
|
+
"cache-control": `public, max-age=${86400 * 30}`
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=RedirectToPublicUrlOutputStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AssetReply","ResponseHeaders","RedirectToPublicUrlOutputStrategy","constructor","assetRequest","output","asset","requestUrl","getContext","url","code","headers","create","location","replace","getContentType"],"sources":["RedirectToPublicUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset, AssetOutputStrategy, AssetRequest } from \"~/delivery/index.js\";\nimport { AssetReply } from \"~/delivery/index.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/private/\", \"/files/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,eAAe,QAAQ,iBAAiB;AAEjD,OAAO,MAAMC,iCAAiC,CAAgC;EAG1EC,WAAWA,CAACC,YAA0B,EAAE;IACpC,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,UAAU,GAAG,IAAI,CAACH,YAAY,CAACI,UAAU,CAAC,CAAC,CAACC,GAAG;IAErD,OAAO,IAAIT,UAAU,CAAC;MAClBU,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEV,eAAe,CAACW,MAAM,CAAC;QAC5BC,QAAQ,EAAEN,UAAU,CAACO,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;QACpD,cAAc,EAAER,KAAK,CAACS,cAAc,CAAC,CAAC;QACtC,eAAe,EAAE,mBAAmB,KAAK,GAAG,EAAE;MAClD,CAAC;IACL,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PassthroughAssetProcessor","process","assetRequest","asset","Promise","resolve"],"sources":["PassthroughAssetProcessor.ts"],"sourcesContent":["import type { Asset, AssetProcessor, AssetRequest } from \"~/delivery/index.js\";\n\nexport class PassthroughAssetProcessor implements AssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAAyB,CAA2B;EAC7DC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IAC9D,OAAOC,OAAO,CAACC,OAAO,CAACF,KAAK,CAAC;EACjC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Asset, AssetTransformationStrategy, AssetRequest } from "../../../delivery/index.js";
|
|
2
|
+
export declare class PassthroughAssetTransformationStrategy implements AssetTransformationStrategy {
|
|
3
|
+
transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
4
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PassthroughAssetTransformationStrategy","transform","assetRequest","asset","Promise","resolve"],"sources":["PassthroughAssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset, AssetTransformationStrategy, AssetRequest } from \"~/delivery/index.js\";\n\nexport class PassthroughAssetTransformationStrategy implements AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,sCAAsC,CAAwC;EACvFC,SAASA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IAChE,OAAOC,OAAO,CAACC,OAAO,CAACF,KAAK,CAAC;EACjC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Asset, AssetProcessor, AssetRequest, AssetTransformationStrategy } from "../../../delivery/index.js";
|
|
2
|
+
export declare class TransformationAssetProcessor implements AssetProcessor {
|
|
3
|
+
private strategy;
|
|
4
|
+
constructor(strategy: AssetTransformationStrategy);
|
|
5
|
+
process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class TransformationAssetProcessor {
|
|
2
|
+
constructor(strategy) {
|
|
3
|
+
this.strategy = strategy;
|
|
4
|
+
}
|
|
5
|
+
async process(assetRequest, asset) {
|
|
6
|
+
const {
|
|
7
|
+
original
|
|
8
|
+
} = assetRequest.getOptions();
|
|
9
|
+
|
|
10
|
+
// If the `original` image was requested, we skip all transformations.
|
|
11
|
+
if (original) {
|
|
12
|
+
console.log("Skip transformations; original asset was requested.");
|
|
13
|
+
return asset;
|
|
14
|
+
}
|
|
15
|
+
return this.strategy.transform(assetRequest, asset);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=TransformationAssetProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TransformationAssetProcessor","constructor","strategy","process","assetRequest","asset","original","getOptions","console","log","transform"],"sources":["TransformationAssetProcessor.ts"],"sourcesContent":["import type {\n Asset,\n AssetProcessor,\n AssetRequest,\n AssetTransformationStrategy\n} from \"~/delivery/index.js\";\n\nexport class TransformationAssetProcessor implements AssetProcessor {\n private strategy: AssetTransformationStrategy;\n\n constructor(strategy: AssetTransformationStrategy) {\n this.strategy = strategy;\n }\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n const { original } = assetRequest.getOptions();\n\n // If the `original` image was requested, we skip all transformations.\n if (original) {\n console.log(\"Skip transformations; original asset was requested.\");\n return asset;\n }\n\n return this.strategy.transform(assetRequest, asset);\n }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,4BAA4B,CAA2B;EAGhEC,WAAWA,CAACC,QAAqC,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IACpE,MAAM;MAAEC;IAAS,CAAC,GAAGF,YAAY,CAACG,UAAU,CAAC,CAAC;;IAE9C;IACA,IAAID,QAAQ,EAAE;MACVE,OAAO,CAACC,GAAG,CAAC,qDAAqD,CAAC;MAClE,OAAOJ,KAAK;IAChB;IAEA,OAAO,IAAI,CAACH,QAAQ,CAACQ,SAAS,CAACN,YAAY,EAAEC,KAAK,CAAC;EACvD;AACJ","ignoreList":[]}
|