@webiny/api-file-manager 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b6d7105cee
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -13
- package/constants.d.ts +1 -0
- package/constants.js +4 -0
- package/constants.js.map +1 -0
- package/delivery/AssetDelivery/Asset.d.ts +29 -0
- package/delivery/AssetDelivery/Asset.js +56 -0
- package/delivery/AssetDelivery/Asset.js.map +1 -0
- package/delivery/AssetDelivery/AssetRequest.d.ts +26 -0
- package/delivery/AssetDelivery/AssetRequest.js +26 -0
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +26 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js +37 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +7 -0
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
- package/delivery/index.d.ts +7 -0
- package/delivery/index.js +4 -0
- package/delivery/setupAssetDelivery.d.ts +1 -0
- package/delivery/setupAssetDelivery.js +72 -0
- package/delivery/setupAssetDelivery.js.map +1 -0
- package/domain/file/abstractions.d.ts +9 -0
- package/domain/file/abstractions.js +5 -0
- package/domain/file/abstractions.js.map +1 -0
- package/domain/file/errors.d.ts +59 -0
- package/domain/file/errors.js +80 -0
- package/domain/file/errors.js.map +1 -0
- package/domain/file/file.model.d.ts +12 -0
- package/domain/file/file.model.js +69 -0
- package/domain/file/file.model.js.map +1 -0
- package/domain/file/types.d.ts +53 -0
- package/domain/identity/Identity.d.ts +9 -0
- package/domain/identity/Identity.js +12 -0
- package/domain/identity/Identity.js.map +1 -0
- package/domain/permissionsSchema.d.ts +16 -0
- package/domain/permissionsSchema.js +30 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/domain/settings/constants.d.ts +1 -0
- package/domain/settings/constants.js +4 -0
- package/domain/settings/constants.js.map +1 -0
- package/domain/settings/errors.d.ts +18 -0
- package/domain/settings/errors.js +28 -0
- package/domain/settings/errors.js.map +1 -0
- package/domain/settings/types.d.ts +10 -0
- package/domain/settings/types.js +0 -0
- package/domain/settings/validation.d.ts +6 -0
- package/domain/settings/validation.js +27 -0
- package/domain/settings/validation.js.map +1 -0
- package/exports/api/file-manager/assetDelivery.d.ts +18 -0
- package/exports/api/file-manager/assetDelivery.js +15 -0
- package/exports/api/file-manager/file.d.ts +13 -0
- package/exports/api/file-manager/file.js +13 -0
- package/exports/api/file-manager/permissions.d.ts +1 -0
- package/exports/api/file-manager/permissions.js +1 -0
- package/exports/api/file-manager/settings.d.ts +3 -0
- package/exports/api/file-manager/settings.js +3 -0
- package/features/FileManagerFeature.d.ts +4 -0
- package/features/FileManagerFeature.js +43 -0
- package/features/FileManagerFeature.js.map +1 -0
- package/features/assetDelivery/Asset/Asset.d.ts +8 -0
- package/features/assetDelivery/Asset/Asset.js +14 -0
- package/features/assetDelivery/Asset/Asset.js.map +1 -0
- package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
- package/features/assetDelivery/Asset/abstractions.js +5 -0
- package/features/assetDelivery/Asset/abstractions.js.map +1 -0
- package/features/assetDelivery/Asset/index.d.ts +1 -0
- package/features/assetDelivery/Asset/index.js +1 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.d.ts +8 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
- package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
- package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
- package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
- package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
- package/features/assetDelivery/AssetRequest/index.js +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js +33 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
- package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
- package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
- package/features/assetDelivery/NullAssetReply.d.ts +5 -0
- package/features/assetDelivery/NullAssetReply.js +17 -0
- package/features/assetDelivery/NullAssetReply.js.map +1 -0
- package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
- package/features/assetDelivery/NullAssetResolver.js +13 -0
- package/features/assetDelivery/NullAssetResolver.js.map +1 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
- package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
- package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
- package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
- package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
- package/features/assetDelivery/ObjectKey/index.js +1 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
- package/features/assetDelivery/StreamAssetReply/index.js +1 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
- package/features/assetDelivery/abstractions/AssetType.js +5 -0
- package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
- package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/index.js +4 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/utils.js +47 -0
- package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
- package/features/assetDelivery/feature.d.ts +4 -0
- package/features/assetDelivery/feature.js +38 -0
- package/features/assetDelivery/feature.js.map +1 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
- package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
- package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +12 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +34 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +66 -0
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
- package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
- package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
- package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +10 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +24 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +10 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +24 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +7 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
- package/features/assetDelivery/transformation/index.d.ts +5 -0
- package/features/assetDelivery/transformation/index.js +4 -0
- package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
- package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
- package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
- package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
- package/features/extractMetadata/ExtractMetadataInput.js +0 -0
- package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
- package/features/file/CreateFile/CreateFileRepository.js +32 -0
- package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
- package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
- package/features/file/CreateFile/CreateFileUseCase.js +83 -0
- package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
- package/features/file/CreateFile/abstractions.d.ts +60 -0
- package/features/file/CreateFile/abstractions.js +6 -0
- package/features/file/CreateFile/abstractions.js.map +1 -0
- package/features/file/CreateFile/events.d.ts +31 -0
- package/features/file/CreateFile/events.js +23 -0
- package/features/file/CreateFile/events.js.map +1 -0
- package/features/file/CreateFile/feature.d.ts +4 -0
- package/features/file/CreateFile/feature.js +13 -0
- package/features/file/CreateFile/feature.js.map +1 -0
- package/features/file/CreateFile/index.d.ts +2 -0
- package/features/file/CreateFile/index.js +2 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +22 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +73 -0
- package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
- package/features/file/CreateFilesInBatch/abstractions.d.ts +42 -0
- package/features/file/CreateFilesInBatch/abstractions.js +6 -0
- package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
- package/features/file/CreateFilesInBatch/events.d.ts +31 -0
- package/features/file/CreateFilesInBatch/events.js +23 -0
- package/features/file/CreateFilesInBatch/events.js.map +1 -0
- package/features/file/CreateFilesInBatch/feature.d.ts +4 -0
- package/features/file/CreateFilesInBatch/feature.js +13 -0
- package/features/file/CreateFilesInBatch/feature.js.map +1 -0
- package/features/file/CreateFilesInBatch/index.d.ts +1 -0
- package/features/file/CreateFilesInBatch/index.js +1 -0
- package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
- package/features/file/DeleteFile/DeleteFileRepository.js +31 -0
- package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
- package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
- package/features/file/DeleteFile/DeleteFileUseCase.js +43 -0
- package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
- package/features/file/DeleteFile/abstractions.d.ts +39 -0
- package/features/file/DeleteFile/abstractions.js +6 -0
- package/features/file/DeleteFile/abstractions.js.map +1 -0
- package/features/file/DeleteFile/events.d.ts +29 -0
- package/features/file/DeleteFile/events.js +23 -0
- package/features/file/DeleteFile/events.js.map +1 -0
- package/features/file/DeleteFile/feature.d.ts +4 -0
- package/features/file/DeleteFile/feature.js +13 -0
- package/features/file/DeleteFile/feature.js.map +1 -0
- package/features/file/DeleteFile/index.d.ts +2 -0
- package/features/file/DeleteFile/index.js +2 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
- package/features/file/FileUrlGenerator/abstractions.js +5 -0
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +11 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +1 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFile/GetFileRepository.d.ts +15 -0
- package/features/file/GetFile/GetFileRepository.js +33 -0
- package/features/file/GetFile/GetFileRepository.js.map +1 -0
- package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
- package/features/file/GetFile/GetFileUseCase.js +29 -0
- package/features/file/GetFile/GetFileUseCase.js.map +1 -0
- package/features/file/GetFile/abstractions.d.ts +40 -0
- package/features/file/GetFile/abstractions.js +6 -0
- package/features/file/GetFile/abstractions.js.map +1 -0
- package/features/file/GetFile/feature.d.ts +4 -0
- package/features/file/GetFile/feature.js +13 -0
- package/features/file/GetFile/feature.js.map +1 -0
- package/features/file/GetFile/index.d.ts +1 -0
- package/features/file/GetFile/index.js +1 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
- package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
- package/features/file/GetFileByUrl/abstractions.js +5 -0
- package/features/file/GetFileByUrl/abstractions.js.map +1 -0
- package/features/file/GetFileByUrl/feature.d.ts +4 -0
- package/features/file/GetFileByUrl/feature.js +11 -0
- package/features/file/GetFileByUrl/feature.js.map +1 -0
- package/features/file/GetFileByUrl/index.d.ts +1 -0
- package/features/file/GetFileByUrl/index.js +1 -0
- package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
- package/features/file/GetFileContentsById/abstractions.js +5 -0
- package/features/file/GetFileContentsById/abstractions.js.map +1 -0
- package/features/file/GetFileContentsById/index.d.ts +1 -0
- package/features/file/GetFileContentsById/index.js +1 -0
- package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
- package/features/file/GetFileContentsByKey/abstractions.js +5 -0
- package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
- package/features/file/GetFileContentsByKey/index.d.ts +1 -0
- package/features/file/GetFileContentsByKey/index.js +1 -0
- package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
- package/features/file/ListFiles/ListFilesRepository.js +53 -0
- package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
- package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
- package/features/file/ListFiles/ListFilesUseCase.js +44 -0
- package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
- package/features/file/ListFiles/abstractions.d.ts +49 -0
- package/features/file/ListFiles/abstractions.js +6 -0
- package/features/file/ListFiles/abstractions.js.map +1 -0
- package/features/file/ListFiles/feature.d.ts +4 -0
- package/features/file/ListFiles/feature.js +13 -0
- package/features/file/ListFiles/feature.js.map +1 -0
- package/features/file/ListFiles/index.d.ts +1 -0
- package/features/file/ListFiles/index.js +1 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
- package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
- package/features/file/ListImagesByTagTool/feature.js +11 -0
- package/features/file/ListImagesByTagTool/feature.js.map +1 -0
- package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
- package/features/file/ListTags/ListTagsRepository.js +42 -0
- package/features/file/ListTags/ListTagsRepository.js.map +1 -0
- package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
- package/features/file/ListTags/ListTagsUseCase.js +31 -0
- package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
- package/features/file/ListTags/abstractions.d.ts +45 -0
- package/features/file/ListTags/abstractions.js +6 -0
- package/features/file/ListTags/abstractions.js.map +1 -0
- package/features/file/ListTags/feature.d.ts +4 -0
- package/features/file/ListTags/feature.js +13 -0
- package/features/file/ListTags/feature.js.map +1 -0
- package/features/file/ListTags/index.d.ts +1 -0
- package/features/file/ListTags/index.js +1 -0
- package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
- package/features/file/UpdateFile/UpdateFileRepository.js +37 -0
- package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
- package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
- package/features/file/UpdateFile/UpdateFileUseCase.js +71 -0
- package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
- package/features/file/UpdateFile/abstractions.d.ts +56 -0
- package/features/file/UpdateFile/abstractions.js +6 -0
- package/features/file/UpdateFile/abstractions.js.map +1 -0
- package/features/file/UpdateFile/events.d.ts +34 -0
- package/features/file/UpdateFile/events.js +23 -0
- package/features/file/UpdateFile/events.js.map +1 -0
- package/features/file/UpdateFile/feature.d.ts +4 -0
- package/features/file/UpdateFile/feature.js +13 -0
- package/features/file/UpdateFile/feature.js.map +1 -0
- package/features/file/UpdateFile/index.d.ts +2 -0
- package/features/file/UpdateFile/index.js +2 -0
- package/features/file/shared/EntryToFileMapper.d.ts +5 -0
- package/features/file/shared/EntryToFileMapper.js +28 -0
- package/features/file/shared/EntryToFileMapper.js.map +1 -0
- package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
- package/features/file/shared/FileInputToEntryInputMapper.js +32 -0
- package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
- package/features/file/shared/FileToEntryMapper.d.ts +5 -0
- package/features/file/shared/FileToEntryMapper.js +31 -0
- package/features/file/shared/FileToEntryMapper.js.map +1 -0
- package/features/permissions/abstractions.d.ts +21 -0
- package/features/permissions/abstractions.js +6 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +4 -0
- package/features/permissions/feature.js +7 -0
- package/features/permissions/feature.js.map +1 -0
- package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
- package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
- package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
- package/features/settings/GetSettings/abstractions.d.ts +18 -0
- package/features/settings/GetSettings/abstractions.js +5 -0
- package/features/settings/GetSettings/abstractions.js.map +1 -0
- package/features/settings/GetSettings/feature.d.ts +4 -0
- package/features/settings/GetSettings/feature.js +11 -0
- package/features/settings/GetSettings/feature.js.map +1 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js +36 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
- package/features/settings/SettingsInstaller/feature.d.ts +4 -0
- package/features/settings/SettingsInstaller/feature.js +11 -0
- package/features/settings/SettingsInstaller/feature.js.map +1 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +55 -0
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
- package/features/settings/UpdateSettings/abstractions.d.ts +23 -0
- package/features/settings/UpdateSettings/abstractions.js +5 -0
- package/features/settings/UpdateSettings/abstractions.js.map +1 -0
- package/features/settings/UpdateSettings/events.d.ts +34 -0
- package/features/settings/UpdateSettings/events.js +23 -0
- package/features/settings/UpdateSettings/events.js.map +1 -0
- package/features/settings/UpdateSettings/feature.d.ts +4 -0
- package/features/settings/UpdateSettings/feature.js +11 -0
- package/features/settings/UpdateSettings/feature.js.map +1 -0
- package/features/settings/UpdateSettings/index.d.ts +2 -0
- package/features/settings/UpdateSettings/index.js +2 -0
- package/features/shared/abstractions.d.ts +1 -0
- package/features/shared/abstractions.js +1 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CompleteMultiPartUpload/index.js +1 -0
- package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CreateMultiPartUpload/index.js +1 -0
- package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
- package/features/upload/GetUploadPayload/abstractions.js +5 -0
- package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
- package/features/upload/GetUploadPayload/index.d.ts +1 -0
- package/features/upload/GetUploadPayload/index.js +1 -0
- package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
- package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
- package/features/upload/ReadFileMetadata/abstractions.js +5 -0
- package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
- package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
- package/features/upload/ReadFileMetadata/feature.js +11 -0
- package/features/upload/ReadFileMetadata/feature.js.map +1 -0
- package/features/upload/ReadFileMetadata/index.d.ts +1 -0
- package/features/upload/ReadFileMetadata/index.js +1 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
- package/features/upload/WriteFileMetadata/abstractions.js +5 -0
- package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
- package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
- package/features/upload/WriteFileMetadata/feature.js +17 -0
- package/features/upload/WriteFileMetadata/feature.js.map +1 -0
- package/features/upload/index.d.ts +17 -0
- package/features/upload/index.js +10 -0
- package/features/upload/types.d.ts +28 -0
- package/features/upload/types.js +0 -0
- package/features/upload/utils/FileExtension.d.ts +6 -0
- package/features/upload/utils/FileExtension.js +16 -0
- package/features/upload/utils/FileExtension.js.map +1 -0
- package/features/upload/utils/FileKey.d.ts +11 -0
- package/features/upload/utils/FileKey.js +33 -0
- package/features/upload/utils/FileKey.js.map +1 -0
- package/features/upload/utils/FileNormalizer.d.ts +13 -0
- package/features/upload/utils/FileNormalizer.js +41 -0
- package/features/upload/utils/FileNormalizer.js.map +1 -0
- package/features/upload/utils/FileUploadModifier.d.ts +30 -0
- package/features/upload/utils/FileUploadModifier.js +39 -0
- package/features/upload/utils/FileUploadModifier.js.map +1 -0
- package/features/upload/utils/checkPermissions.d.ts +5 -0
- package/features/upload/utils/checkPermissions.js +22 -0
- package/features/upload/utils/checkPermissions.js.map +1 -0
- package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
- package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
- package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
- package/features/upload/utils/mimeTypes.d.ts +1 -0
- package/features/upload/utils/mimeTypes.js +9 -0
- package/features/upload/utils/mimeTypes.js.map +1 -0
- package/graphql/FmGraphQLSchema.d.ts +25 -0
- package/graphql/FmGraphQLSchema.js +450 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
- package/graphql/FmUploadGraphQLSchema.js +229 -0
- package/graphql/FmUploadGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -5
- package/index.js +41 -66
- package/index.js.map +1 -1
- package/package.json +40 -40
- package/types.d.ts +2 -355
- package/types.js +1 -27
- package/createFileManager/checkBasePermissions.d.ts +0 -5
- package/createFileManager/checkBasePermissions.js +0 -24
- package/createFileManager/checkBasePermissions.js.map +0 -1
- package/createFileManager/files.crud.d.ts +0 -3
- package/createFileManager/files.crud.js +0 -318
- package/createFileManager/files.crud.js.map +0 -1
- package/createFileManager/filevalidation.disabled.js +0 -55
- package/createFileManager/filevalidation.disabled.js.map +0 -1
- package/createFileManager/index.d.ts +0 -13
- package/createFileManager/index.js +0 -20
- package/createFileManager/index.js.map +0 -1
- package/createFileManager/settings.crud.d.ts +0 -3
- package/createFileManager/settings.crud.js +0 -91
- package/createFileManager/settings.crud.js.map +0 -1
- package/createFileManager/system.crud.d.ts +0 -3
- package/createFileManager/system.crud.js +0 -86
- package/createFileManager/system.crud.js.map +0 -1
- package/graphql/index.d.ts +0 -3
- package/graphql/index.js +0 -288
- package/graphql/index.js.map +0 -1
- package/handlers/download/byAlias.d.ts +0 -6
- package/handlers/download/byAlias.js +0 -89
- package/handlers/download/byAlias.js.map +0 -1
- package/handlers/download/byExactKey.d.ts +0 -2
- package/handlers/download/byExactKey.js +0 -57
- package/handlers/download/byExactKey.js.map +0 -1
- package/handlers/download/extractFileInformation.d.ts +0 -9
- package/handlers/download/extractFileInformation.js +0 -20
- package/handlers/download/extractFileInformation.js.map +0 -1
- package/handlers/download/getS3Object.d.ts +0 -10
- package/handlers/download/getS3Object.js +0 -57
- package/handlers/download/getS3Object.js.map +0 -1
- package/handlers/download/index.d.ts +0 -2
- package/handlers/download/index.js +0 -27
- package/handlers/download/index.js.map +0 -1
- package/handlers/manage/index.d.ts +0 -5
- package/handlers/manage/index.js +0 -55
- package/handlers/manage/index.js.map +0 -1
- package/handlers/transform/index.d.ts +0 -2
- package/handlers/transform/index.js +0 -89
- package/handlers/transform/index.js.map +0 -1
- package/handlers/transform/legacyUtils.d.ts +0 -17
- package/handlers/transform/legacyUtils.js +0 -42
- package/handlers/transform/legacyUtils.js.map +0 -1
- package/handlers/transform/loaders/imageLoader.d.ts +0 -30
- package/handlers/transform/loaders/imageLoader.js +0 -94
- package/handlers/transform/loaders/imageLoader.js.map +0 -1
- package/handlers/transform/loaders/index.d.ts +0 -8
- package/handlers/transform/loaders/index.js +0 -10
- package/handlers/transform/loaders/index.js.map +0 -1
- package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
- package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
- package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
- package/handlers/transform/managers/imageManager.d.ts +0 -15
- package/handlers/transform/managers/imageManager.js +0 -74
- package/handlers/transform/managers/imageManager.js.map +0 -1
- package/handlers/transform/managers/index.d.ts +0 -5
- package/handlers/transform/managers/index.js +0 -10
- package/handlers/transform/managers/index.js.map +0 -1
- package/handlers/transform/optimizeImage.d.ts +0 -3
- package/handlers/transform/optimizeImage.js +0 -42
- package/handlers/transform/optimizeImage.js.map +0 -1
- package/handlers/transform/transformImage.d.ts +0 -10
- package/handlers/transform/transformImage.js +0 -25
- package/handlers/transform/transformImage.js.map +0 -1
- package/handlers/transform/utils.d.ts +0 -12
- package/handlers/transform/utils.js +0 -36
- package/handlers/transform/utils.js.map +0 -1
- package/handlers/types.d.ts +0 -8
- package/handlers/types.js +0 -5
- package/handlers/types.js.map +0 -1
- package/handlers/utils/getEnvironment.d.ts +0 -5
- package/handlers/utils/getEnvironment.js +0 -11
- package/handlers/utils/getEnvironment.js.map +0 -1
- package/handlers/utils/getObjectParams.d.ts +0 -9
- package/handlers/utils/getObjectParams.js +0 -21
- package/handlers/utils/getObjectParams.js.map +0 -1
- package/handlers/utils/index.d.ts +0 -2
- package/handlers/utils/index.js +0 -20
- package/handlers/utils/index.js.map +0 -1
- package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
- package/plugins/FilePhysicalStoragePlugin.js +0 -31
- package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
- package/plugins/FileStorageTransformPlugin.d.ts +0 -34
- package/plugins/FileStorageTransformPlugin.js +0 -40
- package/plugins/FileStorageTransformPlugin.js.map +0 -1
- package/plugins/crud/files/validation.d.ts +0 -3
- package/plugins/crud/files/validation.js +0 -41
- package/plugins/crud/files/validation.js.map +0 -1
- package/plugins/crud/files.crud.d.ts +0 -4
- package/plugins/crud/files.crud.js +0 -431
- package/plugins/crud/files.crud.js.map +0 -1
- package/plugins/crud/settings.crud.d.ts +0 -5
- package/plugins/crud/settings.crud.js +0 -116
- package/plugins/crud/settings.crud.js.map +0 -1
- package/plugins/crud/system.crud.d.ts +0 -4
- package/plugins/crud/system.crud.js +0 -153
- package/plugins/crud/system.crud.js.map +0 -1
- package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
- package/plugins/crud/utils/checkBasePermissions.js +0 -33
- package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
- package/plugins/crud/utils/createFileModel.d.ts +0 -5
- package/plugins/crud/utils/createFileModel.js +0 -77
- package/plugins/crud/utils/createFileModel.js.map +0 -1
- package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
- package/plugins/crud/utils/lifecycleEvents.js +0 -38
- package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
- package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
- package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
- package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
- package/plugins/definitions/FilePlugin.d.ts +0 -136
- package/plugins/definitions/FilePlugin.js +0 -70
- package/plugins/definitions/FilePlugin.js.map +0 -1
- package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
- package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
- package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/definitions/InstallationPlugin.d.ts +0 -19
- package/plugins/definitions/InstallationPlugin.js +0 -42
- package/plugins/definitions/InstallationPlugin.js.map +0 -1
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
- package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
- package/plugins/graphql.d.ts +0 -4
- package/plugins/graphql.js +0 -290
- package/plugins/graphql.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -27
- package/plugins/index.js.map +0 -1
- package/plugins/storage/FileStorage.d.ts +0 -30
- package/plugins/storage/FileStorage.js +0 -103
- package/plugins/storage/FileStorage.js.map +0 -1
- package/plugins/storage/index.d.ts +0 -4
- package/plugins/storage/index.js +0 -26
- package/plugins/storage/index.js.map +0 -1
- package/storage/FileStorage.d.ts +0 -32
- package/storage/FileStorage.js +0 -86
- package/storage/FileStorage.js.map +0 -1
- package/types/file.d.ts +0 -33
- package/types/file.js +0 -5
- package/types/file.js.map +0 -1
- package/types/file.lifecycle.d.ts +0 -40
- package/types/file.lifecycle.js +0 -5
- package/types/file.lifecycle.js.map +0 -1
- package/types.js.map +0 -1
- package/utils.d.ts +0 -4
- package/utils.js +0 -16
- package/utils.js.map +0 -1
- /package/{createFileManager/filevalidation.disabled.d.ts → domain/file/types.js} +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Plugin } from "@webiny/plugins";
|
|
2
|
+
import type { FileToSign } from "./FileNormalizer.js";
|
|
3
|
+
interface Setter<T> {
|
|
4
|
+
(param: T): T;
|
|
5
|
+
}
|
|
6
|
+
declare class FileUploadModifier {
|
|
7
|
+
private fileSetters;
|
|
8
|
+
setFile(setter: Setter<FileToSign>): void;
|
|
9
|
+
execute(file: FileToSign): Promise<FileToSign>;
|
|
10
|
+
}
|
|
11
|
+
interface FileUploadModifierCallbackParams {
|
|
12
|
+
modifier: {
|
|
13
|
+
setFile: FileUploadModifier["setFile"];
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare class FileUploadModifierPlugin extends Plugin {
|
|
17
|
+
static type: string;
|
|
18
|
+
private readonly cb;
|
|
19
|
+
constructor(cb: FileUploadModifierCallable);
|
|
20
|
+
execute(params: FileUploadModifierCallbackParams): void;
|
|
21
|
+
}
|
|
22
|
+
interface FileUploadModifierCallable {
|
|
23
|
+
(params: FileUploadModifierCallbackParams): void;
|
|
24
|
+
}
|
|
25
|
+
export declare const createFileUploadModifier: (cb: FileUploadModifierCallable) => FileUploadModifierPlugin;
|
|
26
|
+
export interface FileModifier {
|
|
27
|
+
(file: FileToSign): Promise<Partial<FileToSign>> | Partial<FileToSign>;
|
|
28
|
+
}
|
|
29
|
+
export declare const createModifierFromPlugins: (plugins?: FileUploadModifierPlugin[]) => FileModifier;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import p_reduce from "p-reduce";
|
|
2
|
+
import { Plugin } from "@webiny/plugins";
|
|
3
|
+
class FileUploadModifier {
|
|
4
|
+
setFile(setter) {
|
|
5
|
+
this.fileSetters.push(setter);
|
|
6
|
+
}
|
|
7
|
+
execute(file) {
|
|
8
|
+
return p_reduce(this.fileSetters, async (file, setter)=>({
|
|
9
|
+
...file,
|
|
10
|
+
...await setter(file)
|
|
11
|
+
}), file);
|
|
12
|
+
}
|
|
13
|
+
constructor(){
|
|
14
|
+
this.fileSetters = [];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class FileUploadModifierPlugin extends Plugin {
|
|
18
|
+
static{
|
|
19
|
+
this.type = "fm.uploadModifier";
|
|
20
|
+
}
|
|
21
|
+
constructor(cb){
|
|
22
|
+
super();
|
|
23
|
+
this.cb = cb;
|
|
24
|
+
}
|
|
25
|
+
execute(params) {
|
|
26
|
+
return this.cb(params);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const createFileUploadModifier = (cb)=>new FileUploadModifierPlugin(cb);
|
|
30
|
+
const createModifierFromPlugins = (plugins = [])=>{
|
|
31
|
+
const modifier = new FileUploadModifier();
|
|
32
|
+
plugins.forEach((pl)=>pl.execute({
|
|
33
|
+
modifier
|
|
34
|
+
}));
|
|
35
|
+
return (file)=>modifier.execute(file);
|
|
36
|
+
};
|
|
37
|
+
export { FileUploadModifierPlugin, createFileUploadModifier, createModifierFromPlugins };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=FileUploadModifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/FileUploadModifier.js","sources":["../../../../src/features/upload/utils/FileUploadModifier.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport { Plugin } from \"@webiny/plugins\";\nimport type { FileToSign } from \"./FileNormalizer.js\";\n\ninterface Setter<T> {\n (param: T): T;\n}\n\nclass FileUploadModifier {\n private fileSetters: Setter<FileToSign>[] = [];\n\n setFile(setter: Setter<FileToSign>): void {\n this.fileSetters.push(setter);\n }\n\n execute(file: FileToSign) {\n return pReduce(\n this.fileSetters,\n async (file, setter) => {\n /* We need to spread the original file, then add (potentially) partial changes. */\n return { ...file, ...(await setter(file)) };\n },\n file\n );\n }\n}\n\ninterface FileUploadModifierCallbackParams {\n modifier: {\n setFile: FileUploadModifier[\"setFile\"];\n };\n}\n\nexport class FileUploadModifierPlugin extends Plugin {\n public static override type = \"fm.uploadModifier\";\n private readonly cb: FileUploadModifierCallable;\n\n constructor(cb: FileUploadModifierCallable) {\n super();\n this.cb = cb;\n }\n\n execute(params: FileUploadModifierCallbackParams) {\n return this.cb(params);\n }\n}\n\ninterface FileUploadModifierCallable {\n (params: FileUploadModifierCallbackParams): void;\n}\n\nexport const createFileUploadModifier = (cb: FileUploadModifierCallable) => {\n return new FileUploadModifierPlugin(cb);\n};\n\nexport interface FileModifier {\n (file: FileToSign): Promise<Partial<FileToSign>> | Partial<FileToSign>;\n}\n\nexport const createModifierFromPlugins = (\n plugins: FileUploadModifierPlugin[] = []\n): FileModifier => {\n const modifier = new FileUploadModifier();\n plugins.forEach(pl => pl.execute({ modifier }));\n\n return (file: FileToSign) => modifier.execute(file);\n};\n"],"names":["FileUploadModifier","setter","file","pReduce","FileUploadModifierPlugin","Plugin","cb","params","createFileUploadModifier","createModifierFromPlugins","plugins","modifier","pl"],"mappings":";;AAQA,MAAMA;IAGF,QAAQC,MAA0B,EAAQ;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA;IAC1B;IAEA,QAAQC,IAAgB,EAAE;QACtB,OAAOC,SACH,IAAI,CAAC,WAAW,EAChB,OAAOD,MAAMD,SAEF;gBAAE,GAAGC,IAAI;gBAAE,GAAI,MAAMD,OAAOC,KAAK;YAAE,IAE9CA;IAER;;aAfQ,WAAW,GAAyB,EAAE;;AAgBlD;AAQO,MAAME,iCAAiCC;;aACnB,IAAI,GAAG;;IAG9B,YAAYC,EAA8B,CAAE;QACxC,KAAK;QACL,IAAI,CAAC,EAAE,GAAGA;IACd;IAEA,QAAQC,MAAwC,EAAE;QAC9C,OAAO,IAAI,CAAC,EAAE,CAACA;IACnB;AACJ;AAMO,MAAMC,2BAA2B,CAACF,KAC9B,IAAIF,yBAAyBE;AAOjC,MAAMG,4BAA4B,CACrCC,UAAsC,EAAE;IAExC,MAAMC,WAAW,IAAIX;IACrBU,QAAQ,OAAO,CAACE,CAAAA,KAAMA,GAAG,OAAO,CAAC;YAAED;QAAS;IAE5C,OAAO,CAACT,OAAqBS,SAAS,OAAO,CAACT;AAClD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FilePermission } from "../../../types.js";
|
|
2
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
+
export declare const checkPermissions: (identityContext: IdentityContext.Interface, check?: {
|
|
4
|
+
rwd?: string;
|
|
5
|
+
}) => Promise<FilePermission[]>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
|
|
2
|
+
const checkPermissions = async (identityContext, check = {})=>{
|
|
3
|
+
const filePermissions = await identityContext.getPermissions("fm.file");
|
|
4
|
+
const relevantFilePermissions = filePermissions.filter((current)=>{
|
|
5
|
+
if (check.rwd && !hasRwd(current, check.rwd)) return false;
|
|
6
|
+
return true;
|
|
7
|
+
});
|
|
8
|
+
if (0 === relevantFilePermissions.length) throw new NotAuthorizedError();
|
|
9
|
+
return relevantFilePermissions;
|
|
10
|
+
};
|
|
11
|
+
const hasRwd = (filesFilePermissions, rwd)=>{
|
|
12
|
+
if (!Array.isArray(filesFilePermissions)) filesFilePermissions = [
|
|
13
|
+
filesFilePermissions
|
|
14
|
+
];
|
|
15
|
+
if (!rwd) return true;
|
|
16
|
+
const permissionWithoutRwdRestrictions = filesFilePermissions.some((permission)=>"string" != typeof permission.rwd);
|
|
17
|
+
if (permissionWithoutRwdRestrictions) return true;
|
|
18
|
+
return filesFilePermissions.some((permission)=>permission.rwd && permission.rwd.includes(rwd));
|
|
19
|
+
};
|
|
20
|
+
export { checkPermissions };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=checkPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/checkPermissions.js","sources":["../../../../src/features/upload/utils/checkPermissions.ts"],"sourcesContent":["import type { FilePermission } from \"~/types.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const checkPermissions = async (\n identityContext: IdentityContext.Interface,\n check: { rwd?: string } = {}\n) => {\n const filePermissions = await identityContext.getPermissions<FilePermission>(\"fm.file\");\n\n const relevantFilePermissions = filePermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevantFilePermissions.length === 0) {\n throw new NotAuthorizedError();\n }\n\n return relevantFilePermissions;\n};\n\nconst hasRwd = (filesFilePermissions: FilePermission | FilePermission[], rwd: string): boolean => {\n if (!Array.isArray(filesFilePermissions)) {\n filesFilePermissions = [filesFilePermissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n /* Is there a permission that doesn't restrict RWD, all RWD permissions are allowed. */\n const permissionWithoutRwdRestrictions = filesFilePermissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n return filesFilePermissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"names":["checkPermissions","identityContext","check","filePermissions","relevantFilePermissions","current","hasRwd","NotAuthorizedError","filesFilePermissions","rwd","Array","permissionWithoutRwdRestrictions","permission"],"mappings":";AAIO,MAAMA,mBAAmB,OAC5BC,iBACAC,QAA0B,CAAC,CAAC;IAE5B,MAAMC,kBAAkB,MAAMF,gBAAgB,cAAc,CAAiB;IAE7E,MAAMG,0BAA0BD,gBAAgB,MAAM,CAACE,CAAAA;QACnD,IAAIH,MAAM,GAAG,IAAI,CAACI,OAAOD,SAASH,MAAM,GAAG,GACvC,OAAO;QAGX,OAAO;IACX;IAEA,IAAIE,AAAmC,MAAnCA,wBAAwB,MAAM,EAC9B,MAAM,IAAIG;IAGd,OAAOH;AACX;AAEA,MAAME,SAAS,CAACE,sBAAyDC;IACrE,IAAI,CAACC,MAAM,OAAO,CAACF,uBACfA,uBAAuB;QAACA;KAAqB;IAGjD,IAAI,CAACC,KACD,OAAO;IAIX,MAAME,mCAAmCH,qBAAqB,IAAI,CAACI,CAAAA,aACxD,AAA0B,YAA1B,OAAOA,WAAW,GAAG;IAGhC,IAAID,kCACA,OAAO;IAGX,OAAOH,qBAAqB,IAAI,CAACI,CAAAA,aACtBA,WAAW,GAAG,IAAIA,WAAW,GAAG,CAAC,QAAQ,CAACH;AAEzD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FileNormalizer } from "./FileNormalizer.js";
|
|
2
|
+
import { FileUploadModifierPlugin, createModifierFromPlugins } from "./FileUploadModifier.js";
|
|
3
|
+
const createFileNormalizerFromContext = (context)=>{
|
|
4
|
+
const modifierPlugins = context.plugins.byType(FileUploadModifierPlugin.type);
|
|
5
|
+
return new FileNormalizer(createModifierFromPlugins(modifierPlugins));
|
|
6
|
+
};
|
|
7
|
+
export { createFileNormalizerFromContext };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=createFileNormalizerFromContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/createFileNormalizerFromContext.js","sources":["../../../../src/features/upload/utils/createFileNormalizerFromContext.ts"],"sourcesContent":["import type { Context } from \"@webiny/api/types.js\";\nimport { FileNormalizer } from \"./FileNormalizer.js\";\nimport { createModifierFromPlugins } from \"./FileUploadModifier.js\";\nimport { FileUploadModifierPlugin } from \"./FileUploadModifier.js\";\n\nexport const createFileNormalizerFromContext = (context: Context) => {\n const modifierPlugins = context.plugins.byType<FileUploadModifierPlugin>(\n FileUploadModifierPlugin.type\n );\n\n return new FileNormalizer(createModifierFromPlugins(modifierPlugins));\n};\n"],"names":["createFileNormalizerFromContext","context","modifierPlugins","FileUploadModifierPlugin","FileNormalizer","createModifierFromPlugins"],"mappings":";;AAKO,MAAMA,kCAAkC,CAACC;IAC5C,MAAMC,kBAAkBD,QAAQ,OAAO,CAAC,MAAM,CAC1CE,yBAAyB,IAAI;IAGjC,OAAO,IAAIC,eAAeC,0BAA0BH;AACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mimeTypes: Record<string, string[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/upload/utils/mimeTypes.js","sources":["../../../../src/features/upload/utils/mimeTypes.ts"],"sourcesContent":["import vendorTypes from \"mime/types/other.js\";\nimport standardTypes from \"mime/types/standard.js\";\n\n/*\n * We need to get all extensions that are defined for a specific content type.\n * This operation is not available via the `mime` package, so we create such an object ourselves.\n */\nexport const mimeTypes: Record<string, string[]> = {\n ...vendorTypes,\n ...standardTypes\n};\n"],"names":["mimeTypes","vendorTypes","standardTypes"],"mappings":";;AAOO,MAAMA,sBAAsC;IAC/C,GAAGC,KAAW;IACd,GAAGC,QAAa;AACpB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
|
|
2
|
+
import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
|
|
3
|
+
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
|
|
5
|
+
import { FileUrlGenerator } from "../features/file/FileUrlGenerator/abstractions.js";
|
|
6
|
+
import { FileModel } from "../domain/file/abstractions.js";
|
|
7
|
+
declare class FmGraphQLSchemaImpl implements GraphQLSchemaFactory.Interface {
|
|
8
|
+
private readonly identityContext;
|
|
9
|
+
private readonly listModelsUseCase;
|
|
10
|
+
private readonly fieldRegistry;
|
|
11
|
+
private readonly fileModel;
|
|
12
|
+
private readonly fileUrlGenerator;
|
|
13
|
+
constructor(identityContext: IdentityContext.Interface, listModelsUseCase: ListModelsUseCase.Interface, fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface, fileModel: FileModel.Interface, fileUrlGenerator: FileUrlGenerator.Interface);
|
|
14
|
+
execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
|
|
15
|
+
private addBaseTypeDefs;
|
|
16
|
+
private addFileTypeDefs;
|
|
17
|
+
private addSettingsResolvers;
|
|
18
|
+
private addFileQueryResolvers;
|
|
19
|
+
private addFileMutationResolvers;
|
|
20
|
+
private loadModels;
|
|
21
|
+
}
|
|
22
|
+
export declare const FmGraphQLSchema: typeof FmGraphQLSchemaImpl & {
|
|
23
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public").IGraphQLSchemaFactory>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
|
|
2
|
+
import { ErrorResponse, ListResponse, NotFoundResponse, Response } from "@webiny/handler-graphql";
|
|
3
|
+
import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
|
|
4
|
+
import { renderInputFields } from "@webiny/api-headless-cms/utils/renderInputFields.js";
|
|
5
|
+
import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
|
|
6
|
+
import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
|
|
7
|
+
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
8
|
+
import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
|
|
9
|
+
import { GetFileUseCase } from "../features/file/GetFile/abstractions.js";
|
|
10
|
+
import { ListFilesUseCase } from "../features/file/ListFiles/abstractions.js";
|
|
11
|
+
import { ListTagsUseCase } from "../features/file/ListTags/abstractions.js";
|
|
12
|
+
import { CreateFileUseCase } from "../features/file/CreateFile/abstractions.js";
|
|
13
|
+
import { CreateFilesInBatchUseCase } from "../features/file/CreateFilesInBatch/abstractions.js";
|
|
14
|
+
import { UpdateFileUseCase } from "../features/file/UpdateFile/abstractions.js";
|
|
15
|
+
import { DeleteFileUseCase } from "../features/file/DeleteFile/abstractions.js";
|
|
16
|
+
import { GetFileByUrlUseCase } from "../features/file/GetFileByUrl/abstractions.js";
|
|
17
|
+
import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
|
|
18
|
+
import { UpdateSettingsUseCase } from "../features/settings/UpdateSettings/abstractions.js";
|
|
19
|
+
import { FileUrlGenerator } from "../features/file/FileUrlGenerator/abstractions.js";
|
|
20
|
+
import { FileModel } from "../domain/file/abstractions.js";
|
|
21
|
+
const removeFieldRequiredValidation = (field)=>{
|
|
22
|
+
if (field.validation) field.validation = field.validation.filter((validation)=>"required" !== validation.name);
|
|
23
|
+
if (field.listValidation) field.listValidation = field.listValidation.filter((v)=>"required" !== v.name);
|
|
24
|
+
return field;
|
|
25
|
+
};
|
|
26
|
+
const createUpdateFields = (fields)=>fields.reduce((collection, field)=>{
|
|
27
|
+
collection.push(removeFieldRequiredValidation({
|
|
28
|
+
...field
|
|
29
|
+
}));
|
|
30
|
+
return collection;
|
|
31
|
+
}, []);
|
|
32
|
+
class FmGraphQLSchemaImpl {
|
|
33
|
+
constructor(identityContext, listModelsUseCase, fieldRegistry, fileModel, fileUrlGenerator){
|
|
34
|
+
this.identityContext = identityContext;
|
|
35
|
+
this.listModelsUseCase = listModelsUseCase;
|
|
36
|
+
this.fieldRegistry = fieldRegistry;
|
|
37
|
+
this.fileModel = fileModel;
|
|
38
|
+
this.fileUrlGenerator = fileUrlGenerator;
|
|
39
|
+
}
|
|
40
|
+
async execute(builder) {
|
|
41
|
+
this.addBaseTypeDefs(builder);
|
|
42
|
+
await this.addFileTypeDefs(builder);
|
|
43
|
+
this.addSettingsResolvers(builder);
|
|
44
|
+
this.addFileQueryResolvers(builder);
|
|
45
|
+
this.addFileMutationResolvers(builder);
|
|
46
|
+
return builder;
|
|
47
|
+
}
|
|
48
|
+
addBaseTypeDefs(builder) {
|
|
49
|
+
builder.addTypeDefs(`
|
|
50
|
+
type FmError {
|
|
51
|
+
code: String
|
|
52
|
+
message: String
|
|
53
|
+
data: JSON
|
|
54
|
+
stack: String
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
type FmCreatedBy {
|
|
58
|
+
id: ID
|
|
59
|
+
displayName: String
|
|
60
|
+
type: String
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
type FmListMeta {
|
|
64
|
+
cursor: String
|
|
65
|
+
totalCount: Int
|
|
66
|
+
hasMoreItems: Boolean
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
type FmBooleanResponse {
|
|
70
|
+
data: Boolean
|
|
71
|
+
error: FmError
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
type FmSettings {
|
|
75
|
+
uploadMinFileSize: Number
|
|
76
|
+
uploadMaxFileSize: Number
|
|
77
|
+
srcPrefix: String
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
input FmSettingsInput {
|
|
81
|
+
uploadMinFileSize: Number
|
|
82
|
+
uploadMaxFileSize: Number
|
|
83
|
+
srcPrefix: String
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
type FmSettingsResponse {
|
|
87
|
+
data: FmSettings
|
|
88
|
+
error: FmError
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
type FmDeleteResponse {
|
|
92
|
+
data: Boolean
|
|
93
|
+
error: FmError
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
type FmQuery {
|
|
97
|
+
getSettings: FmSettingsResponse
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type FmMutation {
|
|
101
|
+
updateSettings(data: FmSettingsInput): FmSettingsResponse
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
extend type Query {
|
|
105
|
+
fileManager: FmQuery
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
extend type Mutation {
|
|
109
|
+
fileManager: FmMutation
|
|
110
|
+
}
|
|
111
|
+
`);
|
|
112
|
+
builder.addResolver({
|
|
113
|
+
path: "Query.fileManager",
|
|
114
|
+
resolver: ()=>()=>({})
|
|
115
|
+
});
|
|
116
|
+
builder.addResolver({
|
|
117
|
+
path: "Mutation.fileManager",
|
|
118
|
+
resolver: ()=>()=>({})
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
async addFileTypeDefs(builder) {
|
|
122
|
+
const models = await this.loadModels();
|
|
123
|
+
const { fields } = this.fileModel;
|
|
124
|
+
const fieldTypes = renderFields({
|
|
125
|
+
models,
|
|
126
|
+
model: this.fileModel,
|
|
127
|
+
fields,
|
|
128
|
+
type: "manage",
|
|
129
|
+
fieldRegistry: this.fieldRegistry
|
|
130
|
+
});
|
|
131
|
+
const inputCreateFields = renderInputFields({
|
|
132
|
+
models,
|
|
133
|
+
model: this.fileModel,
|
|
134
|
+
fields,
|
|
135
|
+
fieldRegistry: this.fieldRegistry
|
|
136
|
+
});
|
|
137
|
+
const inputUpdateFields = renderInputFields({
|
|
138
|
+
models,
|
|
139
|
+
model: this.fileModel,
|
|
140
|
+
fields: createUpdateFields(fields),
|
|
141
|
+
fieldRegistry: this.fieldRegistry
|
|
142
|
+
});
|
|
143
|
+
const listFilterFieldsRender = renderListFilterFields({
|
|
144
|
+
model: this.fileModel,
|
|
145
|
+
fields: this.fileModel.fields,
|
|
146
|
+
type: "manage",
|
|
147
|
+
fieldRegistry: this.fieldRegistry,
|
|
148
|
+
excludeFields: [
|
|
149
|
+
"entryId",
|
|
150
|
+
"status"
|
|
151
|
+
]
|
|
152
|
+
});
|
|
153
|
+
builder.addTypeDefs(`
|
|
154
|
+
type FmFile_Location {
|
|
155
|
+
folderId: ID!
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
input FmFile_LocationInput {
|
|
159
|
+
folderId: ID!
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
input FmFile_LocationWhereInput {
|
|
163
|
+
folderId: ID
|
|
164
|
+
folderId_in: [ID!]
|
|
165
|
+
folderId_not: ID
|
|
166
|
+
folderId_not_in: [ID!]
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
${fieldTypes.map((f)=>f.typeDefs).join("\n")}
|
|
170
|
+
|
|
171
|
+
type FmFile {
|
|
172
|
+
id: ID!
|
|
173
|
+
createdOn: DateTime!
|
|
174
|
+
modifiedOn: DateTime
|
|
175
|
+
savedOn: DateTime!
|
|
176
|
+
createdBy: FmCreatedBy!
|
|
177
|
+
modifiedBy: FmCreatedBy
|
|
178
|
+
savedBy: FmCreatedBy!
|
|
179
|
+
location: FmFile_Location!
|
|
180
|
+
src: String
|
|
181
|
+
${fieldTypes.map((f)=>f.fields).join("\n")}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
${inputCreateFields.map((f)=>f.typeDefs).join("\n")}
|
|
185
|
+
|
|
186
|
+
input FmCreatedByInput {
|
|
187
|
+
id: ID!
|
|
188
|
+
displayName: String!
|
|
189
|
+
type: String!
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
input FmFileCreateInput {
|
|
193
|
+
id: ID!
|
|
194
|
+
createdOn: DateTime
|
|
195
|
+
modifiedOn: DateTime
|
|
196
|
+
savedOn: DateTime
|
|
197
|
+
createdBy: FmCreatedByInput
|
|
198
|
+
modifiedBy: FmCreatedByInput
|
|
199
|
+
savedBy: FmCreatedByInput
|
|
200
|
+
location: FmFile_LocationInput
|
|
201
|
+
${inputCreateFields.map((f)=>f.fields).join("\n")}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
input FmFileUpdateInput {
|
|
205
|
+
createdOn: DateTime
|
|
206
|
+
modifiedOn: DateTime
|
|
207
|
+
savedOn: DateTime
|
|
208
|
+
createdBy: FmCreatedByInput
|
|
209
|
+
modifiedBy: FmCreatedByInput
|
|
210
|
+
savedBy: FmCreatedByInput
|
|
211
|
+
location: FmFile_LocationInput
|
|
212
|
+
${inputUpdateFields.map((f)=>f.fields).join("\n")}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
type FmFileResponse {
|
|
216
|
+
data: FmFile
|
|
217
|
+
error: FmError
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
input FmFileListWhereInput {
|
|
221
|
+
${listFilterFieldsRender.allFiltersAsString()}
|
|
222
|
+
location: FmFile_LocationWhereInput
|
|
223
|
+
AND: [FmFileListWhereInput!]
|
|
224
|
+
OR: [FmFileListWhereInput!]
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
type FmFileListResponse {
|
|
228
|
+
data: [FmFile!]
|
|
229
|
+
error: FmError
|
|
230
|
+
meta: FmListMeta
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
enum FmFileListSorter {
|
|
234
|
+
savedOn_ASC
|
|
235
|
+
savedOn_DESC
|
|
236
|
+
createdOn_ASC
|
|
237
|
+
createdOn_DESC
|
|
238
|
+
name_ASC
|
|
239
|
+
name_DESC
|
|
240
|
+
key_ASC
|
|
241
|
+
key_DESC
|
|
242
|
+
type_ASC
|
|
243
|
+
type_DESC
|
|
244
|
+
size_ASC
|
|
245
|
+
size_DESC
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
input FmTagsListWhereInput {
|
|
249
|
+
createdBy: String
|
|
250
|
+
tags_startsWith: String
|
|
251
|
+
tags_not_startsWith: String
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
type FmTag {
|
|
255
|
+
tag: String!
|
|
256
|
+
count: Number!
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
type FmTagsListResponse {
|
|
260
|
+
data: [FmTag!]
|
|
261
|
+
error: FmError
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
type FmCreateFilesResponse {
|
|
265
|
+
data: [FmFile!]
|
|
266
|
+
error: FmError
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
type FmFileModelResponse {
|
|
270
|
+
data: JSON
|
|
271
|
+
error: FmError
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
extend type FmQuery {
|
|
275
|
+
getFileModel: FmFileModelResponse!
|
|
276
|
+
getFile(id: ID!): FmFileResponse!
|
|
277
|
+
getFileByUrl(url: String!): FmFileResponse
|
|
278
|
+
listFiles(
|
|
279
|
+
search: String
|
|
280
|
+
where: FmFileListWhereInput
|
|
281
|
+
limit: Int
|
|
282
|
+
after: String
|
|
283
|
+
sort: [FmFileListSorter!]
|
|
284
|
+
): FmFileListResponse!
|
|
285
|
+
listTags(where: FmTagsListWhereInput): FmTagsListResponse!
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
extend type FmMutation {
|
|
289
|
+
createFile(data: FmFileCreateInput!): FmFileResponse!
|
|
290
|
+
createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!
|
|
291
|
+
updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!
|
|
292
|
+
deleteFile(id: ID!): FmBooleanResponse!
|
|
293
|
+
}
|
|
294
|
+
`);
|
|
295
|
+
}
|
|
296
|
+
addSettingsResolvers(builder) {
|
|
297
|
+
builder.addResolver({
|
|
298
|
+
path: "FmQuery.getSettings",
|
|
299
|
+
dependencies: [
|
|
300
|
+
GetSettingsUseCase
|
|
301
|
+
],
|
|
302
|
+
resolver: (getSettings)=>async ()=>{
|
|
303
|
+
const result = await getSettings.execute();
|
|
304
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
305
|
+
return new Response(result.value);
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
builder.addResolver({
|
|
309
|
+
path: "FmMutation.updateSettings",
|
|
310
|
+
dependencies: [
|
|
311
|
+
UpdateSettingsUseCase
|
|
312
|
+
],
|
|
313
|
+
resolver: (updateSettings)=>async ({ args })=>{
|
|
314
|
+
const result = await updateSettings.execute(args.data);
|
|
315
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
316
|
+
return new Response(result.value);
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
addFileQueryResolvers(builder) {
|
|
321
|
+
builder.addResolver({
|
|
322
|
+
path: "FmFile.src",
|
|
323
|
+
dependencies: [
|
|
324
|
+
FileUrlGenerator
|
|
325
|
+
],
|
|
326
|
+
resolver: (urlGenerator)=>async ({ parent })=>await urlGenerator.generateUrl(parent)
|
|
327
|
+
});
|
|
328
|
+
builder.addResolver({
|
|
329
|
+
path: "FmQuery.getFileModel",
|
|
330
|
+
dependencies: [
|
|
331
|
+
FileModel
|
|
332
|
+
],
|
|
333
|
+
resolver: (fileModel)=>()=>new Response(fileModel)
|
|
334
|
+
});
|
|
335
|
+
builder.addResolver({
|
|
336
|
+
path: "FmQuery.getFile",
|
|
337
|
+
dependencies: [
|
|
338
|
+
GetFileUseCase
|
|
339
|
+
],
|
|
340
|
+
resolver: (getFile)=>async ({ args })=>{
|
|
341
|
+
const result = await getFile.execute(args.id);
|
|
342
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
343
|
+
return new Response(result.value);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
builder.addResolver({
|
|
347
|
+
path: "FmQuery.listFiles",
|
|
348
|
+
dependencies: [
|
|
349
|
+
ListFilesUseCase
|
|
350
|
+
],
|
|
351
|
+
resolver: (listFiles)=>async ({ args })=>{
|
|
352
|
+
const result = await listFiles.execute(args);
|
|
353
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
354
|
+
return new ListResponse(result.value.items, result.value.meta);
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
builder.addResolver({
|
|
358
|
+
path: "FmQuery.listTags",
|
|
359
|
+
dependencies: [
|
|
360
|
+
ListTagsUseCase
|
|
361
|
+
],
|
|
362
|
+
resolver: (listTags)=>async ({ args })=>{
|
|
363
|
+
const result = await listTags.execute(args || {});
|
|
364
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
365
|
+
return new Response(result.value);
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
builder.addResolver({
|
|
369
|
+
path: "FmQuery.getFileByUrl",
|
|
370
|
+
dependencies: [
|
|
371
|
+
GetFileByUrlUseCase
|
|
372
|
+
],
|
|
373
|
+
resolver: (getFileByUrl)=>async ({ args })=>{
|
|
374
|
+
const result = await getFileByUrl.execute(args.url);
|
|
375
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
376
|
+
if (!result.value) return new NotFoundResponse("File not found!");
|
|
377
|
+
return new Response(result.value);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
addFileMutationResolvers(builder) {
|
|
382
|
+
builder.addResolver({
|
|
383
|
+
path: "FmMutation.createFile",
|
|
384
|
+
dependencies: [
|
|
385
|
+
CreateFileUseCase
|
|
386
|
+
],
|
|
387
|
+
resolver: (createFile)=>async ({ args })=>{
|
|
388
|
+
const result = await createFile.execute(args.data);
|
|
389
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
390
|
+
return new Response(result.value);
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
builder.addResolver({
|
|
394
|
+
path: "FmMutation.createFiles",
|
|
395
|
+
dependencies: [
|
|
396
|
+
CreateFilesInBatchUseCase
|
|
397
|
+
],
|
|
398
|
+
resolver: (createFilesInBatch)=>async ({ args })=>{
|
|
399
|
+
const result = await createFilesInBatch.execute({
|
|
400
|
+
files: args.data,
|
|
401
|
+
meta: args.meta
|
|
402
|
+
});
|
|
403
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
404
|
+
return new Response(result.value);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
builder.addResolver({
|
|
408
|
+
path: "FmMutation.updateFile",
|
|
409
|
+
dependencies: [
|
|
410
|
+
UpdateFileUseCase
|
|
411
|
+
],
|
|
412
|
+
resolver: (updateFile)=>async ({ args })=>{
|
|
413
|
+
const result = await updateFile.execute({
|
|
414
|
+
id: args.id,
|
|
415
|
+
...args.data
|
|
416
|
+
});
|
|
417
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
418
|
+
return new Response(result.value);
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
builder.addResolver({
|
|
422
|
+
path: "FmMutation.deleteFile",
|
|
423
|
+
dependencies: [
|
|
424
|
+
DeleteFileUseCase
|
|
425
|
+
],
|
|
426
|
+
resolver: (deleteFile)=>async ({ args })=>{
|
|
427
|
+
const result = await deleteFile.execute(args.id);
|
|
428
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
429
|
+
return new Response(true);
|
|
430
|
+
}
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
async loadModels() {
|
|
434
|
+
const modelsResult = await this.identityContext.withoutAuthorization(()=>this.listModelsUseCase.execute());
|
|
435
|
+
return modelsResult.value;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({
|
|
439
|
+
implementation: FmGraphQLSchemaImpl,
|
|
440
|
+
dependencies: [
|
|
441
|
+
IdentityContext,
|
|
442
|
+
ListModelsUseCase,
|
|
443
|
+
CmsModelFieldToGraphQLRegistry,
|
|
444
|
+
FileModel,
|
|
445
|
+
FileUrlGenerator
|
|
446
|
+
]
|
|
447
|
+
});
|
|
448
|
+
export { FmGraphQLSchema };
|
|
449
|
+
|
|
450
|
+
//# sourceMappingURL=FmGraphQLSchema.js.map
|