@webiny/api-file-manager 6.0.0-alpha.5 → 6.0.0-rc.0
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.js +1 -7
- package/contants.js.map +1 -1
- package/delivery/AssetDelivery/Asset.d.ts +3 -7
- package/delivery/AssetDelivery/Asset.js +1 -11
- package/delivery/AssetDelivery/Asset.js.map +1 -1
- package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +11 -9
- package/delivery/AssetDelivery/AssetDeliveryConfig.js +18 -26
- package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -1
- package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
- package/delivery/AssetDelivery/AssetRequest.js +1 -8
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
- package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +3 -3
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js +3 -10
- package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +1 -1
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js +3 -10
- package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetReply.d.ts +1 -1
- package/delivery/AssetDelivery/NullAssetReply.js +2 -9
- package/delivery/AssetDelivery/NullAssetReply.js.map +1 -1
- package/delivery/AssetDelivery/NullAssetResolver.d.ts +2 -2
- package/delivery/AssetDelivery/NullAssetResolver.js +1 -8
- package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -1
- package/delivery/AssetDelivery/NullRequestResolver.d.ts +1 -1
- package/delivery/AssetDelivery/NullRequestResolver.js +1 -8
- package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +1 -1
- package/delivery/AssetDelivery/SetCacheControlHeaders.js +1 -8
- package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -1
- package/delivery/AssetDelivery/SetResponseHeaders.d.ts +3 -3
- package/delivery/AssetDelivery/SetResponseHeaders.js +1 -8
- package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +1 -3
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +1 -1
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +1 -1
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetReply.js +3 -10
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +2 -2
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +1 -1
- package/delivery/AssetDelivery/abstractions/AssetResolver.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +1 -1
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +1 -5
- package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -1
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +1 -1
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +1 -8
- package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +1 -1
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +1 -5
- package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +1 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +4 -11
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +1 -1
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +3 -10
- package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +4 -3
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +3 -11
- package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js +4 -11
- package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +3 -3
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +3 -10
- package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +4 -4
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +21 -21
- package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +1 -1
- package/delivery/AssetDelivery/privateFiles/PublicCache.js +4 -11
- package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +2 -2
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +5 -12
- package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +2 -2
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +5 -12
- package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +1 -8
- package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +1 -1
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +1 -8
- package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -1
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +1 -1
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +1 -8
- package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
- package/delivery/index.d.ts +16 -17
- package/delivery/index.js +10 -192
- package/delivery/index.js.map +1 -1
- package/delivery/setupAssetDelivery.d.ts +2 -6
- package/delivery/setupAssetDelivery.js +21 -35
- package/delivery/setupAssetDelivery.js.map +1 -1
- 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 +2 -2
- package/graphql/baseSchema.js +20 -38
- package/graphql/baseSchema.js.map +1 -1
- package/graphql/createFilesTypeDefs.d.ts +1 -1
- package/graphql/createFilesTypeDefs.js +40 -25
- package/graphql/createFilesTypeDefs.js.map +1 -1
- package/graphql/filesSchema.d.ts +3 -3
- package/graphql/filesSchema.js +73 -46
- package/graphql/filesSchema.js.map +1 -1
- package/graphql/getFileByUrl.d.ts +2 -2
- package/graphql/getFileByUrl.js +17 -26
- package/graphql/getFileByUrl.js.map +1 -1
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +24 -26
- package/graphql/index.js.map +1 -1
- package/graphql/utils.js +6 -13
- package/graphql/utils.js.map +1 -1
- package/index.d.ts +6 -9
- package/index.js +28 -67
- package/index.js.map +1 -1
- package/modelModifier/CmsModelModifier.d.ts +1 -1
- package/modelModifier/CmsModelModifier.js +7 -15
- package/modelModifier/CmsModelModifier.js.map +1 -1
- package/package.json +26 -28
- package/permissions/schema.d.ts +81 -0
- package/permissions/schema.js +22 -0
- package/permissions/schema.js.map +1 -0
- package/types.d.ts +1 -367
- package/types.js +1 -27
- package/types.js.map +1 -1
- package/FileManagerContextSetup.d.ts +0 -13
- package/FileManagerContextSetup.js +0 -115
- package/FileManagerContextSetup.js.map +0 -1
- package/cmsFileStorage/CmsFilesStorage.d.ts +0 -27
- package/cmsFileStorage/CmsFilesStorage.js +0 -164
- package/cmsFileStorage/CmsFilesStorage.js.map +0 -1
- package/cmsFileStorage/ListFilesWhereProcessor.d.ts +0 -7
- package/cmsFileStorage/ListFilesWhereProcessor.js +0 -33
- package/cmsFileStorage/ListFilesWhereProcessor.js.map +0 -1
- package/cmsFileStorage/ListTagsWhereProcessor.d.ts +0 -7
- package/cmsFileStorage/ListTagsWhereProcessor.js +0 -33
- package/cmsFileStorage/ListTagsWhereProcessor.js.map +0 -1
- package/cmsFileStorage/file.model.d.ts +0 -6
- package/cmsFileStorage/file.model.js +0 -158
- package/cmsFileStorage/file.model.js.map +0 -1
- package/createFileManager/files.crud.d.ts +0 -3
- package/createFileManager/files.crud.js +0 -328
- package/createFileManager/files.crud.js.map +0 -1
- package/createFileManager/index.d.ts +0 -3
- package/createFileManager/index.js +0 -23
- package/createFileManager/index.js.map +0 -1
- package/createFileManager/permissions/FilesPermissions.d.ts +0 -4
- package/createFileManager/permissions/FilesPermissions.js +0 -11
- package/createFileManager/permissions/FilesPermissions.js.map +0 -1
- package/createFileManager/permissions/SettingsPermissions.d.ts +0 -4
- package/createFileManager/permissions/SettingsPermissions.js +0 -11
- package/createFileManager/permissions/SettingsPermissions.js.map +0 -1
- package/createFileManager/settings.crud.d.ts +0 -3
- package/createFileManager/settings.crud.js +0 -117
- package/createFileManager/settings.crud.js.map +0 -1
- package/createFileManager/system.crud.d.ts +0 -3
- package/createFileManager/system.crud.js +0 -88
- package/createFileManager/system.crud.js.map +0 -1
- package/createFileManager/types.d.ts +0 -16
- package/createFileManager/types.js +0 -7
- package/createFileManager/types.js.map +0 -1
- package/delivery/AssetDelivery/AliasAssetRequestResolver.d.ts +0 -11
- package/delivery/AssetDelivery/AliasAssetRequestResolver.js +0 -74
- package/delivery/AssetDelivery/AliasAssetRequestResolver.js.map +0 -1
- package/delivery/AssetDelivery/privateFiles/internalIdentity.d.ts +0 -7
- package/delivery/AssetDelivery/privateFiles/internalIdentity.js +0 -18
- package/delivery/AssetDelivery/privateFiles/internalIdentity.js.map +0 -1
- package/enterprise/applyThreatScanning.d.ts +0 -2
- package/enterprise/applyThreatScanning.js +0 -20
- package/enterprise/applyThreatScanning.js.map +0 -1
- package/handlers/manage/imageManager.d.ts +0 -14
- package/handlers/manage/imageManager.js +0 -75
- package/handlers/manage/imageManager.js.map +0 -1
- package/handlers/manage/index.d.ts +0 -5
- package/handlers/manage/index.js +0 -59
- package/handlers/manage/index.js.map +0 -1
- package/handlers/manage/legacyUtils.d.ts +0 -12
- package/handlers/manage/legacyUtils.js +0 -34
- package/handlers/manage/legacyUtils.js.map +0 -1
- package/handlers/manage/utils.d.ts +0 -12
- package/handlers/manage/utils.js +0 -34
- package/handlers/manage/utils.js.map +0 -1
- package/handlers/types.d.ts +0 -8
- package/handlers/types.js +0 -7
- package/handlers/types.js.map +0 -1
- package/handlers/utils/getEnvironment.d.ts +0 -5
- package/handlers/utils/getEnvironment.js +0 -13
- package/handlers/utils/getEnvironment.js.map +0 -1
- package/handlers/utils/getObjectParams.d.ts +0 -9
- package/handlers/utils/getObjectParams.js +0 -23
- package/handlers/utils/getObjectParams.js.map +0 -1
- package/handlers/utils/index.d.ts +0 -2
- package/handlers/utils/index.js +0 -22
- package/handlers/utils/index.js.map +0 -1
- package/plugins/FilePhysicalStoragePlugin.d.ts +0 -22
- 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 -39
- package/plugins/FileStorageTransformPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/storage/FileStorage.d.ts +0 -34
- package/storage/FileStorage.js +0 -90
- package/storage/FileStorage.js.map +0 -1
- package/types/file.d.ts +0 -49
- package/types/file.js +0 -7
- package/types/file.js.map +0 -1
- package/types/file.lifecycle.d.ts +0 -44
- package/types/file.lifecycle.js +0 -7
- package/types/file.lifecycle.js.map +0 -1
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createFilesTypeDefs = void 0;
|
|
7
|
-
var _renderFields = require("@webiny/api-headless-cms/utils/renderFields");
|
|
8
|
-
var _renderInputFields = require("@webiny/api-headless-cms/utils/renderInputFields");
|
|
9
|
-
var _renderListFilterFields = require("@webiny/api-headless-cms/utils/renderListFilterFields");
|
|
10
|
-
var _renderSortEnum = require("@webiny/api-headless-cms/utils/renderSortEnum");
|
|
1
|
+
import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
|
|
2
|
+
import { renderInputFields } from "@webiny/api-headless-cms/utils/renderInputFields.js";
|
|
3
|
+
import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
|
|
11
4
|
const removeFieldRequiredValidation = field => {
|
|
12
5
|
if (field.validation) {
|
|
13
6
|
field.validation = field.validation.filter(validation => validation.name !== "required");
|
|
@@ -25,7 +18,7 @@ const createUpdateFields = fields => {
|
|
|
25
18
|
return collection;
|
|
26
19
|
}, []);
|
|
27
20
|
};
|
|
28
|
-
const createFilesTypeDefs = params => {
|
|
21
|
+
export const createFilesTypeDefs = params => {
|
|
29
22
|
const {
|
|
30
23
|
model,
|
|
31
24
|
models,
|
|
@@ -34,40 +27,48 @@ const createFilesTypeDefs = params => {
|
|
|
34
27
|
const {
|
|
35
28
|
fields
|
|
36
29
|
} = model;
|
|
37
|
-
const fieldTypes =
|
|
30
|
+
const fieldTypes = renderFields({
|
|
38
31
|
models,
|
|
39
32
|
model,
|
|
40
33
|
fields,
|
|
41
34
|
type: "manage",
|
|
42
35
|
fieldTypePlugins
|
|
43
36
|
});
|
|
44
|
-
const inputCreateFields =
|
|
37
|
+
const inputCreateFields = renderInputFields({
|
|
45
38
|
models,
|
|
46
39
|
model,
|
|
47
40
|
fields,
|
|
48
41
|
fieldTypePlugins
|
|
49
42
|
});
|
|
50
|
-
const inputUpdateFields =
|
|
43
|
+
const inputUpdateFields = renderInputFields({
|
|
51
44
|
models,
|
|
52
45
|
model,
|
|
53
46
|
fields: createUpdateFields(fields),
|
|
54
47
|
fieldTypePlugins
|
|
55
48
|
});
|
|
56
|
-
const listFilterFieldsRender =
|
|
49
|
+
const listFilterFieldsRender = renderListFilterFields({
|
|
57
50
|
model,
|
|
58
51
|
fields: model.fields,
|
|
59
52
|
type: "manage",
|
|
60
53
|
fieldTypePlugins,
|
|
61
54
|
excludeFields: ["entryId", "status"]
|
|
62
55
|
});
|
|
63
|
-
const excludeFromSorterts = ["tags", "aliases"];
|
|
64
|
-
const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
|
|
65
|
-
model,
|
|
66
|
-
fields: model.fields.filter(field => !excludeFromSorterts.includes(field.fieldId)),
|
|
67
|
-
fieldTypePlugins,
|
|
68
|
-
sorterPlugins: []
|
|
69
|
-
});
|
|
70
56
|
return /* GraphQL */`
|
|
57
|
+
type FmFile_Location {
|
|
58
|
+
folderId: ID!
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
input FmFile_LocationInput {
|
|
62
|
+
folderId: ID!
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
input FmFile_LocationWhereInput {
|
|
66
|
+
folderId: ID
|
|
67
|
+
folderId_in: [ID!]
|
|
68
|
+
folderId_not: ID
|
|
69
|
+
folderId_not_in: [ID!]
|
|
70
|
+
}
|
|
71
|
+
|
|
71
72
|
${fieldTypes.map(f => f.typeDefs).join("\n")}
|
|
72
73
|
|
|
73
74
|
type FmFile {
|
|
@@ -78,6 +79,7 @@ const createFilesTypeDefs = params => {
|
|
|
78
79
|
createdBy: FmCreatedBy!
|
|
79
80
|
modifiedBy: FmCreatedBy
|
|
80
81
|
savedBy: FmCreatedBy!
|
|
82
|
+
location: FmFile_Location!
|
|
81
83
|
src: String
|
|
82
84
|
${fieldTypes.map(f => f.fields).join("\n")}
|
|
83
85
|
}
|
|
@@ -98,6 +100,7 @@ const createFilesTypeDefs = params => {
|
|
|
98
100
|
createdBy: FmCreatedByInput
|
|
99
101
|
modifiedBy: FmCreatedByInput
|
|
100
102
|
savedBy: FmCreatedByInput
|
|
103
|
+
location: FmFile_LocationInput
|
|
101
104
|
${inputCreateFields.map(f => f.fields).join("\n")}
|
|
102
105
|
}
|
|
103
106
|
|
|
@@ -108,6 +111,7 @@ const createFilesTypeDefs = params => {
|
|
|
108
111
|
createdBy: FmCreatedByInput
|
|
109
112
|
modifiedBy: FmCreatedByInput
|
|
110
113
|
savedBy: FmCreatedByInput
|
|
114
|
+
location: FmFile_LocationInput
|
|
111
115
|
${inputUpdateFields.map(f => f.fields).join("\n")}
|
|
112
116
|
}
|
|
113
117
|
|
|
@@ -117,7 +121,8 @@ const createFilesTypeDefs = params => {
|
|
|
117
121
|
}
|
|
118
122
|
|
|
119
123
|
input FmFileListWhereInput {
|
|
120
|
-
${listFilterFieldsRender}
|
|
124
|
+
${listFilterFieldsRender.allFiltersAsString()}
|
|
125
|
+
location: FmFile_LocationWhereInput
|
|
121
126
|
AND: [FmFileListWhereInput!]
|
|
122
127
|
OR: [FmFileListWhereInput!]
|
|
123
128
|
}
|
|
@@ -129,7 +134,18 @@ const createFilesTypeDefs = params => {
|
|
|
129
134
|
}
|
|
130
135
|
|
|
131
136
|
enum FmFileListSorter {
|
|
132
|
-
|
|
137
|
+
savedOn_ASC
|
|
138
|
+
savedOn_DESC
|
|
139
|
+
createdOn_ASC
|
|
140
|
+
createdOn_DESC
|
|
141
|
+
name_ASC
|
|
142
|
+
name_DESC
|
|
143
|
+
key_ASC
|
|
144
|
+
key_DESC
|
|
145
|
+
type_ASC
|
|
146
|
+
type_DESC
|
|
147
|
+
size_ASC
|
|
148
|
+
size_DESC
|
|
133
149
|
}
|
|
134
150
|
|
|
135
151
|
input FmTagsListWhereInput {
|
|
@@ -179,6 +195,5 @@ const createFilesTypeDefs = params => {
|
|
|
179
195
|
}
|
|
180
196
|
`;
|
|
181
197
|
};
|
|
182
|
-
exports.createFilesTypeDefs = createFilesTypeDefs;
|
|
183
198
|
|
|
184
199
|
//# sourceMappingURL=createFilesTypeDefs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["renderFields","renderInputFields","renderListFilterFields","removeFieldRequiredValidation","field","validation","filter","name","listValidation","v","createUpdateFields","fields","reduce","collection","push","createFilesTypeDefs","params","model","models","plugins","fieldTypePlugins","fieldTypes","type","inputCreateFields","inputUpdateFields","listFilterFieldsRender","excludeFields","map","f","typeDefs","join","allFiltersAsString"],"sources":["createFilesTypeDefs.ts"],"sourcesContent":["import type {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\n\nexport interface CreateFilesTypeDefsParams {\n model: CmsModel;\n models: CmsModel[];\n plugins: CmsFieldTypePlugins;\n}\n\nconst removeFieldRequiredValidation = (field: CmsModelField) => {\n if (field.validation) {\n field.validation = field.validation.filter(validation => validation.name !== \"required\");\n }\n if (field.listValidation) {\n field.listValidation = field.listValidation.filter(v => v.name !== \"required\");\n }\n return field;\n};\n\nconst createUpdateFields = (fields: CmsModelField[]): CmsModelField[] => {\n return fields.reduce<CmsModelField[]>((collection, field) => {\n collection.push(removeFieldRequiredValidation({ ...field }));\n return collection;\n }, []);\n};\n\nexport const createFilesTypeDefs = (params: CreateFilesTypeDefsParams): string => {\n const { model, models, plugins: fieldTypePlugins } = params;\n const { fields } = model;\n\n const fieldTypes = renderFields({\n models,\n model,\n fields,\n type: \"manage\",\n fieldTypePlugins\n });\n const inputCreateFields = renderInputFields({\n models,\n model,\n fields,\n fieldTypePlugins\n });\n const inputUpdateFields = renderInputFields({\n models,\n model,\n fields: createUpdateFields(fields),\n fieldTypePlugins\n });\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\", \"status\"]\n });\n\n return /* GraphQL */ `\n type FmFile_Location {\n folderId: ID!\n }\n\n input FmFile_LocationInput {\n folderId: ID!\n }\n\n input FmFile_LocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n \n ${fieldTypes.map(f => f.typeDefs).join(\"\\n\")}\n\n type FmFile {\n id: ID!\n createdOn: DateTime!\n modifiedOn: DateTime\n savedOn: DateTime!\n createdBy: FmCreatedBy!\n modifiedBy: FmCreatedBy\n savedBy: FmCreatedBy!\n location: FmFile_Location!\n src: String\n ${fieldTypes.map(f => f.fields).join(\"\\n\")}\n }\n\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input FmCreatedByInput {\n id: ID!\n displayName: String!\n type: String!\n }\n\n input FmFileCreateInput {\n id: ID!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input FmFileUpdateInput {\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputUpdateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type FmFileResponse {\n data: FmFile\n error: FmError\n }\n\n input FmFileListWhereInput {\n ${listFilterFieldsRender.allFiltersAsString()}\n location: FmFile_LocationWhereInput\n AND: [FmFileListWhereInput!]\n OR: [FmFileListWhereInput!]\n }\n\n type FmFileListResponse {\n data: [FmFile!]\n error: FmError\n meta: FmListMeta\n }\n\n enum FmFileListSorter {\n savedOn_ASC\n savedOn_DESC\n createdOn_ASC\n createdOn_DESC\n name_ASC\n name_DESC\n key_ASC\n key_DESC\n type_ASC\n type_DESC\n size_ASC\n size_DESC\n }\n\n input FmTagsListWhereInput {\n createdBy: String\n tags_startsWith: String\n tags_not_startsWith: String\n }\n\n type FmTag {\n tag: String!\n count: Number!\n }\n\n type FmTagsListResponse {\n data: [FmTag!]\n error: FmError\n }\n\n type FmCreateFilesResponse {\n data: [FmFile!]\n error: FmError\n }\n \n type FmFileModelResponse {\n data: JSON\n error: FmError\n }\n\n extend type FmQuery {\n getFileModel: FmFileModelResponse!\n getFile(id: ID!): FmFileResponse!\n listFiles(\n search: String\n where: FmFileListWhereInput\n limit: Int\n after: String\n sort: [FmFileListSorter!]\n ): FmFileListResponse!\n listTags(where: FmTagsListWhereInput): FmTagsListResponse!\n }\n\n extend type FmMutation {\n createFile(data: FmFileCreateInput!): FmFileResponse!\n createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!\n updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!\n deleteFile(id: ID!): FmBooleanResponse!\n }\n `;\n};\n"],"mappings":"AAKA,SAASA,YAAY,QAAQ,gDAAgD;AAC7E,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,sBAAsB,QAAQ,0DAA0D;AAQjG,MAAMC,6BAA6B,GAAIC,KAAoB,IAAK;EAC5D,IAAIA,KAAK,CAACC,UAAU,EAAE;IAClBD,KAAK,CAACC,UAAU,GAAGD,KAAK,CAACC,UAAU,CAACC,MAAM,CAACD,UAAU,IAAIA,UAAU,CAACE,IAAI,KAAK,UAAU,CAAC;EAC5F;EACA,IAAIH,KAAK,CAACI,cAAc,EAAE;IACtBJ,KAAK,CAACI,cAAc,GAAGJ,KAAK,CAACI,cAAc,CAACF,MAAM,CAACG,CAAC,IAAIA,CAAC,CAACF,IAAI,KAAK,UAAU,CAAC;EAClF;EACA,OAAOH,KAAK;AAChB,CAAC;AAED,MAAMM,kBAAkB,GAAIC,MAAuB,IAAsB;EACrE,OAAOA,MAAM,CAACC,MAAM,CAAkB,CAACC,UAAU,EAAET,KAAK,KAAK;IACzDS,UAAU,CAACC,IAAI,CAACX,6BAA6B,CAAC;MAAE,GAAGC;IAAM,CAAC,CAAC,CAAC;IAC5D,OAAOS,UAAU;EACrB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAIC,MAAiC,IAAa;EAC9E,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO,EAAEC;EAAiB,CAAC,GAAGJ,MAAM;EAC3D,MAAM;IAAEL;EAAO,CAAC,GAAGM,KAAK;EAExB,MAAMI,UAAU,GAAGrB,YAAY,CAAC;IAC5BkB,MAAM;IACND,KAAK;IACLN,MAAM;IACNW,IAAI,EAAE,QAAQ;IACdF;EACJ,CAAC,CAAC;EACF,MAAMG,iBAAiB,GAAGtB,iBAAiB,CAAC;IACxCiB,MAAM;IACND,KAAK;IACLN,MAAM;IACNS;EACJ,CAAC,CAAC;EACF,MAAMI,iBAAiB,GAAGvB,iBAAiB,CAAC;IACxCiB,MAAM;IACND,KAAK;IACLN,MAAM,EAAED,kBAAkB,CAACC,MAAM,CAAC;IAClCS;EACJ,CAAC,CAAC;EACF,MAAMK,sBAAsB,GAAGvB,sBAAsB,CAAC;IAClDe,KAAK;IACLN,MAAM,EAAEM,KAAK,CAACN,MAAM;IACpBW,IAAI,EAAE,QAAQ;IACdF,gBAAgB;IAChBM,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ;EACvC,CAAC,CAAC;EAEF,OAAO,aAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUL,UAAU,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcT,UAAU,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AACtD;AACA;AACA,UAAUP,iBAAiB,CAACI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcP,iBAAiB,CAACI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcN,iBAAiB,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcL,sBAAsB,CAACM,kBAAkB,CAAC,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC","ignoreList":[]}
|
package/graphql/filesSchema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export declare const createFilesSchema: (params: CreateFilesTypeDefsParams) => GraphQLSchemaPlugin<
|
|
2
|
+
import type { CreateFilesTypeDefsParams } from "../graphql/createFilesTypeDefs.js";
|
|
3
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
4
|
+
export declare const createFilesSchema: (params: CreateFilesTypeDefsParams) => GraphQLSchemaPlugin<ApiCoreContext>;
|
package/graphql/filesSchema.js
CHANGED
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { ErrorResponse, GraphQLSchemaPlugin, ListResponse, Response } from "@webiny/handler-graphql";
|
|
2
|
+
import { emptyResolver, resolve } from "./utils.js";
|
|
3
|
+
import { createFilesTypeDefs } from "./createFilesTypeDefs.js";
|
|
4
|
+
import NotAuthorizedResponse from "@webiny/api-core/graphql/security/NotAuthorizedResponse.js";
|
|
5
|
+
import { GetFileUseCase } from "../features/file/GetFile/abstractions.js";
|
|
6
|
+
import { ListFilesUseCase } from "../features/file/ListFiles/abstractions.js";
|
|
7
|
+
import { ListTagsUseCase } from "../features/file/ListTags/abstractions.js";
|
|
8
|
+
import { CreateFileUseCase } from "../features/file/CreateFile/abstractions.js";
|
|
9
|
+
import { CreateFilesInBatchUseCase } from "../features/file/CreateFilesInBatch/abstractions.js";
|
|
10
|
+
import { UpdateFileUseCase } from "../features/file/UpdateFile/abstractions.js";
|
|
11
|
+
import { DeleteFileUseCase } from "../features/file/DeleteFile/abstractions.js";
|
|
12
|
+
import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
|
|
13
|
+
import { FileModel } from "../domain/file/abstractions.js";
|
|
14
|
+
export const createFilesSchema = params => {
|
|
15
|
+
const fileManagerGraphQL = new GraphQLSchemaPlugin({
|
|
16
|
+
typeDefs: createFilesTypeDefs(params),
|
|
14
17
|
resolvers: {
|
|
15
18
|
Query: {
|
|
16
|
-
fileManager:
|
|
19
|
+
fileManager: emptyResolver
|
|
17
20
|
},
|
|
18
21
|
Mutation: {
|
|
19
|
-
fileManager:
|
|
22
|
+
fileManager: emptyResolver
|
|
20
23
|
},
|
|
21
24
|
FmFile: {
|
|
22
25
|
async src(file, _, context) {
|
|
23
|
-
|
|
26
|
+
// TODO: create `FileUrlGenerator` service to use here
|
|
27
|
+
const getSettings = context.container.resolve(GetSettingsUseCase);
|
|
28
|
+
const result = await getSettings.execute();
|
|
29
|
+
const settings = result.value;
|
|
24
30
|
return (settings?.srcPrefix || "") + file.key;
|
|
25
31
|
}
|
|
26
32
|
},
|
|
@@ -28,55 +34,77 @@ const createFilesSchema = params => {
|
|
|
28
34
|
getFileModel(_, __, context) {
|
|
29
35
|
const identity = context.security.getIdentity();
|
|
30
36
|
if (!identity) {
|
|
31
|
-
return new
|
|
37
|
+
return new NotAuthorizedResponse();
|
|
32
38
|
}
|
|
33
|
-
return (
|
|
39
|
+
return resolve(async () => {
|
|
40
|
+
return context.container.resolve(FileModel);
|
|
41
|
+
});
|
|
34
42
|
},
|
|
35
|
-
getFile(_, args, context) {
|
|
36
|
-
|
|
43
|
+
async getFile(_, args, context) {
|
|
44
|
+
const getFile = context.container.resolve(GetFileUseCase);
|
|
45
|
+
const result = await getFile.execute(args.id);
|
|
46
|
+
if (result.isFail()) {
|
|
47
|
+
return new ErrorResponse(result.error);
|
|
48
|
+
}
|
|
49
|
+
return new Response(result.value);
|
|
37
50
|
},
|
|
38
51
|
async listFiles(_, args, context) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return new _handlerGraphql.ErrorResponse(e);
|
|
52
|
+
const listFiles = context.container.resolve(ListFilesUseCase);
|
|
53
|
+
const result = await listFiles.execute(args);
|
|
54
|
+
if (result.isFail()) {
|
|
55
|
+
return new ErrorResponse(result.error);
|
|
44
56
|
}
|
|
57
|
+
return new ListResponse(result.value.items, result.value.meta);
|
|
45
58
|
},
|
|
46
59
|
async listTags(_, args, context) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return new _handlerGraphql.ErrorResponse(error);
|
|
60
|
+
const listTags = context.container.resolve(ListTagsUseCase);
|
|
61
|
+
const result = await listTags.execute(args || {});
|
|
62
|
+
if (result.isFail()) {
|
|
63
|
+
return new ErrorResponse(result.error);
|
|
52
64
|
}
|
|
65
|
+
return new Response(result.value);
|
|
53
66
|
}
|
|
54
67
|
},
|
|
55
68
|
FmMutation: {
|
|
56
69
|
async createFile(_, args, context) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
70
|
+
const createFile = context.container.resolve(CreateFileUseCase);
|
|
71
|
+
const result = await createFile.execute(args.data);
|
|
72
|
+
if (result.isFail()) {
|
|
73
|
+
return new ErrorResponse(result.error);
|
|
74
|
+
}
|
|
75
|
+
return new Response(result.value);
|
|
60
76
|
},
|
|
61
77
|
async createFiles(_, args, context) {
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
const createFilesInBatch = context.container.resolve(CreateFilesInBatchUseCase);
|
|
79
|
+
const result = await createFilesInBatch.execute({
|
|
80
|
+
files: args.data,
|
|
81
|
+
meta: args.meta
|
|
64
82
|
});
|
|
83
|
+
if (result.isFail()) {
|
|
84
|
+
return new ErrorResponse(result.error);
|
|
85
|
+
}
|
|
86
|
+
return new Response(result.value);
|
|
65
87
|
},
|
|
66
88
|
async updateFile(_, args, context) {
|
|
67
|
-
|
|
68
|
-
|
|
89
|
+
const updateFile = context.container.resolve(UpdateFileUseCase);
|
|
90
|
+
const result = await updateFile.execute({
|
|
91
|
+
id: args.id,
|
|
92
|
+
...args.data
|
|
69
93
|
});
|
|
94
|
+
if (result.isFail()) {
|
|
95
|
+
return new ErrorResponse(result.error);
|
|
96
|
+
}
|
|
97
|
+
return new Response(result.value);
|
|
70
98
|
},
|
|
71
99
|
async deleteFile(_, args, context) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
100
|
+
const deleteFile = context.container.resolve(DeleteFileUseCase);
|
|
101
|
+
const result = await deleteFile.execute(args.id);
|
|
102
|
+
if (result.isFail()) {
|
|
103
|
+
return new ErrorResponse(result.error);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// TODO: deletion from Cloud storage should be implemented in the `api-file-manager-s3` as an event handler
|
|
107
|
+
return new Response(true);
|
|
80
108
|
}
|
|
81
109
|
}
|
|
82
110
|
}
|
|
@@ -84,6 +112,5 @@ const createFilesSchema = params => {
|
|
|
84
112
|
fileManagerGraphQL.name = "fm.graphql.files";
|
|
85
113
|
return fileManagerGraphQL;
|
|
86
114
|
};
|
|
87
|
-
exports.createFilesSchema = createFilesSchema;
|
|
88
115
|
|
|
89
116
|
//# sourceMappingURL=filesSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","_utils","_createFilesTypeDefs","_apiSecurity","createFilesSchema","params","fileManagerGraphQL","GraphQLSchemaPlugin","typeDefs","createFilesTypeDefs","resolvers","Query","fileManager","emptyResolver","Mutation","FmFile","src","file","_","context","settings","getSettings","srcPrefix","key","FmQuery","getFileModel","__","identity","security","getIdentity","NotAuthorizedResponse","resolve","cms","getModel","getFile","args","id","listFiles","data","meta","ListResponse","e","ErrorResponse","listTags","tags","Response","error","FmMutation","createFile","createFiles","createFilesInBatch","updateFile","deleteFile","storage","delete","name","exports"],"sources":["filesSchema.ts"],"sourcesContent":["import {\n ErrorResponse,\n GraphQLSchemaPlugin,\n ListResponse,\n Response\n} from \"@webiny/handler-graphql\";\nimport type { FileManagerContext, FilesListOpts } from \"~/types\";\nimport { emptyResolver, resolve } from \"./utils\";\nimport type { CreateFilesTypeDefsParams } from \"~/graphql/createFilesTypeDefs\";\nimport { createFilesTypeDefs } from \"~/graphql/createFilesTypeDefs\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\n\nexport const createFilesSchema = (params: CreateFilesTypeDefsParams) => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<FileManagerContext>({\n typeDefs: createFilesTypeDefs(params),\n resolvers: {\n Query: {\n fileManager: emptyResolver\n },\n Mutation: {\n fileManager: emptyResolver\n },\n FmFile: {\n async src(file, _, context) {\n const settings = await context.fileManager.getSettings();\n return (settings?.srcPrefix || \"\") + file.key;\n }\n },\n FmQuery: {\n getFileModel(_, __, context) {\n const identity = context.security.getIdentity();\n if (!identity) {\n return new NotAuthorizedResponse();\n }\n\n return resolve(() => context.cms.getModel(\"fmFile\"));\n },\n getFile(_, args: any, context) {\n return resolve(() => context.fileManager.getFile(args.id));\n },\n async listFiles(_, args: FilesListOpts, context) {\n try {\n const [data, meta] = await context.fileManager.listFiles(args);\n\n return new ListResponse(data, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n async listTags(_, args: any, context) {\n try {\n const tags = await context.fileManager.listTags(args || {});\n\n return new Response(tags);\n } catch (error) {\n return new ErrorResponse(error);\n }\n }\n },\n FmMutation: {\n async createFile(_, args: any, context) {\n return resolve(() => {\n return context.fileManager.createFile(args.data, args.meta);\n });\n },\n async createFiles(_, args: any, context) {\n return resolve(() => {\n return context.fileManager.createFilesInBatch(args.data, args.meta);\n });\n },\n async updateFile(_, args: any, context) {\n return resolve(() => {\n return context.fileManager.updateFile(args.id, args.data);\n });\n },\n async deleteFile(_, args: any, context) {\n return resolve(async () => {\n // TODO: Ideally, this should work via a lifecycle hook; first we delete a record from DB, then from cloud storage.\n const file = await context.fileManager.getFile(args.id);\n return await context.fileManager.storage.delete({\n id: file.id,\n key: file.key\n });\n });\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.files\";\n\n return fileManagerGraphQL;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEO,MAAMI,iBAAiB,GAAIC,MAAiC,IAAK;EACpE,MAAMC,kBAAkB,GAAG,IAAIC,mCAAmB,CAAqB;IACnEC,QAAQ,EAAE,IAAAC,wCAAmB,EAACJ,MAAM,CAAC;IACrCK,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,WAAW,EAAEC;MACjB,CAAC;MACDC,QAAQ,EAAE;QACNF,WAAW,EAAEC;MACjB,CAAC;MACDE,MAAM,EAAE;QACJ,MAAMC,GAAGA,CAACC,IAAI,EAAEC,CAAC,EAAEC,OAAO,EAAE;UACxB,MAAMC,QAAQ,GAAG,MAAMD,OAAO,CAACP,WAAW,CAACS,WAAW,CAAC,CAAC;UACxD,OAAO,CAACD,QAAQ,EAAEE,SAAS,IAAI,EAAE,IAAIL,IAAI,CAACM,GAAG;QACjD;MACJ,CAAC;MACDC,OAAO,EAAE;QACLC,YAAYA,CAACP,CAAC,EAAEQ,EAAE,EAAEP,OAAO,EAAE;UACzB,MAAMQ,QAAQ,GAAGR,OAAO,CAACS,QAAQ,CAACC,WAAW,CAAC,CAAC;UAC/C,IAAI,CAACF,QAAQ,EAAE;YACX,OAAO,IAAIG,kCAAqB,CAAC,CAAC;UACtC;UAEA,OAAO,IAAAC,cAAO,EAAC,MAAMZ,OAAO,CAACa,GAAG,CAACC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QACDC,OAAOA,CAAChB,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UAC3B,OAAO,IAAAY,cAAO,EAAC,MAAMZ,OAAO,CAACP,WAAW,CAACsB,OAAO,CAACC,IAAI,CAACC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAMC,SAASA,CAACnB,CAAC,EAAEiB,IAAmB,EAAEhB,OAAO,EAAE;UAC7C,IAAI;YACA,MAAM,CAACmB,IAAI,EAAEC,IAAI,CAAC,GAAG,MAAMpB,OAAO,CAACP,WAAW,CAACyB,SAAS,CAACF,IAAI,CAAC;YAE9D,OAAO,IAAIK,4BAAY,CAACF,IAAI,EAAEC,IAAI,CAAC;UACvC,CAAC,CAAC,OAAOE,CAAC,EAAE;YACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;UAC/B;QACJ,CAAC;QACD,MAAME,QAAQA,CAACzB,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UAClC,IAAI;YACA,MAAMyB,IAAI,GAAG,MAAMzB,OAAO,CAACP,WAAW,CAAC+B,QAAQ,CAACR,IAAI,IAAI,CAAC,CAAC,CAAC;YAE3D,OAAO,IAAIU,wBAAQ,CAACD,IAAI,CAAC;UAC7B,CAAC,CAAC,OAAOE,KAAK,EAAE;YACZ,OAAO,IAAIJ,6BAAa,CAACI,KAAK,CAAC;UACnC;QACJ;MACJ,CAAC;MACDC,UAAU,EAAE;QACR,MAAMC,UAAUA,CAAC9B,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UACpC,OAAO,IAAAY,cAAO,EAAC,MAAM;YACjB,OAAOZ,OAAO,CAACP,WAAW,CAACoC,UAAU,CAACb,IAAI,CAACG,IAAI,EAAEH,IAAI,CAACI,IAAI,CAAC;UAC/D,CAAC,CAAC;QACN,CAAC;QACD,MAAMU,WAAWA,CAAC/B,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UACrC,OAAO,IAAAY,cAAO,EAAC,MAAM;YACjB,OAAOZ,OAAO,CAACP,WAAW,CAACsC,kBAAkB,CAACf,IAAI,CAACG,IAAI,EAAEH,IAAI,CAACI,IAAI,CAAC;UACvE,CAAC,CAAC;QACN,CAAC;QACD,MAAMY,UAAUA,CAACjC,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UACpC,OAAO,IAAAY,cAAO,EAAC,MAAM;YACjB,OAAOZ,OAAO,CAACP,WAAW,CAACuC,UAAU,CAAChB,IAAI,CAACC,EAAE,EAAED,IAAI,CAACG,IAAI,CAAC;UAC7D,CAAC,CAAC;QACN,CAAC;QACD,MAAMc,UAAUA,CAAClC,CAAC,EAAEiB,IAAS,EAAEhB,OAAO,EAAE;UACpC,OAAO,IAAAY,cAAO,EAAC,YAAY;YACvB;YACA,MAAMd,IAAI,GAAG,MAAME,OAAO,CAACP,WAAW,CAACsB,OAAO,CAACC,IAAI,CAACC,EAAE,CAAC;YACvD,OAAO,MAAMjB,OAAO,CAACP,WAAW,CAACyC,OAAO,CAACC,MAAM,CAAC;cAC5ClB,EAAE,EAAEnB,IAAI,CAACmB,EAAE;cACXb,GAAG,EAAEN,IAAI,CAACM;YACd,CAAC,CAAC;UACN,CAAC,CAAC;QACN;MACJ;IACJ;EACJ,CAAC,CAAC;EACFjB,kBAAkB,CAACiD,IAAI,GAAG,kBAAkB;EAE5C,OAAOjD,kBAAkB;AAC7B,CAAC;AAACkD,OAAA,CAAApD,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ErrorResponse","GraphQLSchemaPlugin","ListResponse","Response","emptyResolver","resolve","createFilesTypeDefs","NotAuthorizedResponse","GetFileUseCase","ListFilesUseCase","ListTagsUseCase","CreateFileUseCase","CreateFilesInBatchUseCase","UpdateFileUseCase","DeleteFileUseCase","GetSettingsUseCase","FileModel","createFilesSchema","params","fileManagerGraphQL","typeDefs","resolvers","Query","fileManager","Mutation","FmFile","src","file","_","context","getSettings","container","result","execute","settings","value","srcPrefix","key","FmQuery","getFileModel","__","identity","security","getIdentity","getFile","args","id","isFail","error","listFiles","items","meta","listTags","FmMutation","createFile","data","createFiles","createFilesInBatch","files","updateFile","deleteFile","name"],"sources":["filesSchema.ts"],"sourcesContent":["import {\n ErrorResponse,\n GraphQLSchemaPlugin,\n ListResponse,\n Response\n} from \"@webiny/handler-graphql\";\nimport { emptyResolver, resolve } from \"./utils.js\";\nimport type { CreateFilesTypeDefsParams } from \"~/graphql/createFilesTypeDefs.js\";\nimport { createFilesTypeDefs } from \"~/graphql/createFilesTypeDefs.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/abstractions.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\nimport { ListTagsUseCase } from \"~/features/file/ListTags/abstractions.js\";\nimport { CreateFileUseCase } from \"~/features/file/CreateFile/abstractions.js\";\nimport { CreateFilesInBatchUseCase } from \"~/features/file/CreateFilesInBatch/abstractions.js\";\nimport { UpdateFileUseCase } from \"~/features/file/UpdateFile/abstractions.js\";\nimport { DeleteFileUseCase } from \"~/features/file/DeleteFile/abstractions.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { FileModel } from \"~/domain/file/abstractions.js\";\n\nexport const createFilesSchema = (params: CreateFilesTypeDefsParams) => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: createFilesTypeDefs(params),\n resolvers: {\n Query: {\n fileManager: emptyResolver\n },\n Mutation: {\n fileManager: emptyResolver\n },\n FmFile: {\n async src(file, _, context) {\n // TODO: create `FileUrlGenerator` service to use here\n const getSettings = context.container.resolve(GetSettingsUseCase);\n const result = await getSettings.execute();\n const settings = result.value;\n return (settings?.srcPrefix || \"\") + file.key;\n }\n },\n FmQuery: {\n getFileModel(_, __, context) {\n const identity = context.security.getIdentity();\n if (!identity) {\n return new NotAuthorizedResponse();\n }\n\n return resolve(async () => {\n return context.container.resolve(FileModel);\n });\n },\n async getFile(_, args: any, context) {\n const getFile = context.container.resolve(GetFileUseCase);\n const result = await getFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n },\n async listFiles(_, args, context) {\n const listFiles = context.container.resolve(ListFilesUseCase);\n const result = await listFiles.execute(args);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new ListResponse(result.value.items, result.value.meta);\n },\n async listTags(_, args: any, context) {\n const listTags = context.container.resolve(ListTagsUseCase);\n const result = await listTags.execute(args || {});\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n },\n FmMutation: {\n async createFile(_, args: any, context) {\n const createFile = context.container.resolve(CreateFileUseCase);\n const result = await createFile.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n },\n async createFiles(_, args: any, context) {\n const createFilesInBatch = context.container.resolve(CreateFilesInBatchUseCase);\n const result = await createFilesInBatch.execute({\n files: args.data,\n meta: args.meta\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n },\n async updateFile(_, args: any, context) {\n const updateFile = context.container.resolve(UpdateFileUseCase);\n const result = await updateFile.execute({\n id: args.id,\n ...args.data\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n },\n async deleteFile(_, args: any, context) {\n const deleteFile = context.container.resolve(DeleteFileUseCase);\n const result = await deleteFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n // TODO: deletion from Cloud storage should be implemented in the `api-file-manager-s3` as an event handler\n return new Response(true);\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.files\";\n\n return fileManagerGraphQL;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
2
|
-
import type {
|
|
3
|
-
export declare const getFileByUrl: () => GraphQLSchemaPlugin<
|
|
2
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
3
|
+
export declare const getFileByUrl: () => GraphQLSchemaPlugin<ApiCoreContext>;
|
package/graphql/getFileByUrl.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
8
|
-
var _apiSecurity = require("@webiny/api-security");
|
|
9
|
-
const getFileByUrl = () => {
|
|
10
|
-
const fileManagerGraphQL = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
1
|
+
import { ErrorResponse, GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
2
|
+
import { Response, NotFoundResponse } from "@webiny/handler-graphql";
|
|
3
|
+
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
|
|
4
|
+
import { ListFilesUseCase } from "../features/file/ListFiles/index.js";
|
|
5
|
+
export const getFileByUrl = () => {
|
|
6
|
+
const fileManagerGraphQL = new GraphQLSchemaPlugin({
|
|
11
7
|
typeDefs: /* GraphQL */`
|
|
12
8
|
extend type FmQuery {
|
|
13
9
|
getFileByUrl(url: String!): FmFileResponse
|
|
@@ -19,15 +15,15 @@ const getFileByUrl = () => {
|
|
|
19
15
|
const {
|
|
20
16
|
url
|
|
21
17
|
} = args;
|
|
22
|
-
const useCase = new SecureGetFileByUrl(context.security, new GetFileByUrlUseCase(context.
|
|
18
|
+
const useCase = new SecureGetFileByUrl(context.security, new GetFileByUrlUseCase(context.container.resolve(ListFilesUseCase)));
|
|
23
19
|
try {
|
|
24
20
|
const file = await useCase.execute(url);
|
|
25
21
|
if (file) {
|
|
26
|
-
return new
|
|
22
|
+
return new Response(file);
|
|
27
23
|
}
|
|
28
|
-
return new
|
|
24
|
+
return new NotFoundResponse("File not found!");
|
|
29
25
|
} catch (error) {
|
|
30
|
-
return new
|
|
26
|
+
return new ErrorResponse(error);
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
29
|
}
|
|
@@ -36,27 +32,22 @@ const getFileByUrl = () => {
|
|
|
36
32
|
fileManagerGraphQL.name = "fm.graphql.getFileByUrl";
|
|
37
33
|
return fileManagerGraphQL;
|
|
38
34
|
};
|
|
39
|
-
exports.getFileByUrl = getFileByUrl;
|
|
40
35
|
class GetFileByUrlUseCase {
|
|
41
|
-
constructor(
|
|
42
|
-
this.
|
|
36
|
+
constructor(listFiles) {
|
|
37
|
+
this.listFiles = listFiles;
|
|
43
38
|
}
|
|
44
39
|
async execute(url) {
|
|
45
40
|
const {
|
|
46
41
|
pathname
|
|
47
42
|
} = new URL(url);
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const [files] = await this.fileManager.listFiles({
|
|
43
|
+
const query = pathname.replace("/files/", "").replace("/private/", "");
|
|
44
|
+
const filesResult = await this.listFiles.execute({
|
|
51
45
|
where: {
|
|
52
|
-
|
|
53
|
-
key: query
|
|
54
|
-
}, {
|
|
55
|
-
aliases_contains: query
|
|
56
|
-
}]
|
|
46
|
+
key: query
|
|
57
47
|
},
|
|
58
48
|
limit: 1
|
|
59
49
|
});
|
|
50
|
+
const files = filesResult.value.items;
|
|
60
51
|
return files.length ? files[0] : undefined;
|
|
61
52
|
}
|
|
62
53
|
}
|
|
@@ -67,7 +58,7 @@ class SecureGetFileByUrl {
|
|
|
67
58
|
}
|
|
68
59
|
execute(url) {
|
|
69
60
|
if (!this.security.getIdentity()) {
|
|
70
|
-
throw new
|
|
61
|
+
throw new NotAuthorizedError({
|
|
71
62
|
message: "You're not authorized to edit this file!"
|
|
72
63
|
});
|
|
73
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ErrorResponse","GraphQLSchemaPlugin","Response","NotFoundResponse","NotAuthorizedError","ListFilesUseCase","getFileByUrl","fileManagerGraphQL","typeDefs","resolvers","FmQuery","_","args","context","url","useCase","SecureGetFileByUrl","security","GetFileByUrlUseCase","container","resolve","file","execute","error","name","constructor","listFiles","pathname","URL","query","replace","filesResult","where","key","limit","files","value","items","length","undefined","getIdentity","message"],"sources":["getFileByUrl.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { Response, NotFoundResponse } from \"@webiny/handler-graphql\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { Security } from \"@webiny/api-core/types/security.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/index.js\";\n\nexport const getFileByUrl = () => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n extend type FmQuery {\n getFileByUrl(url: String!): FmFileResponse\n }\n `,\n resolvers: {\n FmQuery: {\n async getFileByUrl(_, args, context) {\n const { url } = args as { url: string };\n const useCase = new SecureGetFileByUrl(\n context.security,\n new GetFileByUrlUseCase(context.container.resolve(ListFilesUseCase))\n );\n try {\n const file = await useCase.execute(url);\n if (file) {\n return new Response(file);\n }\n return new NotFoundResponse(\"File not found!\");\n } catch (error) {\n return new ErrorResponse(error);\n }\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.getFileByUrl\";\n\n return fileManagerGraphQL;\n};\n\ninterface IGetFileByUrl {\n execute(url: string): Promise<File | undefined>;\n}\n\nclass GetFileByUrlUseCase implements IGetFileByUrl {\n constructor(private listFiles: ListFilesUseCase.Interface) {}\n\n async execute(url: string): Promise<File | undefined> {\n const { pathname } = new URL(url);\n const query = pathname.replace(\"/files/\", \"\").replace(\"/private/\", \"\");\n\n const filesResult = await this.listFiles.execute({\n where: {\n key: query\n },\n limit: 1\n });\n\n const files = filesResult.value.items;\n\n return files.length ? files[0] : undefined;\n }\n}\n\nclass SecureGetFileByUrl implements IGetFileByUrl {\n private security: Security;\n private useCase: IGetFileByUrl;\n\n constructor(security: Security, useCase: IGetFileByUrl) {\n this.security = security;\n this.useCase = useCase;\n }\n\n execute(url: string): Promise<File | undefined> {\n if (!this.security.getIdentity()) {\n throw new NotAuthorizedError({ message: \"You're not authorized to edit this file!\" });\n }\n\n return this.useCase.execute(url);\n }\n}\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E,SAASC,QAAQ,EAAEC,gBAAgB,QAAQ,yBAAyB;AAGpE,SAASC,kBAAkB,QAAQ,oDAAoD;AAEvF,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAC9B,MAAMC,kBAAkB,GAAG,IAAIN,mBAAmB,CAAiB;IAC/DO,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,OAAO,EAAE;QACL,MAAMJ,YAAYA,CAACK,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE;UACjC,MAAM;YAAEC;UAAI,CAAC,GAAGF,IAAuB;UACvC,MAAMG,OAAO,GAAG,IAAIC,kBAAkB,CAClCH,OAAO,CAACI,QAAQ,EAChB,IAAIC,mBAAmB,CAACL,OAAO,CAACM,SAAS,CAACC,OAAO,CAACf,gBAAgB,CAAC,CACvE,CAAC;UACD,IAAI;YACA,MAAMgB,IAAI,GAAG,MAAMN,OAAO,CAACO,OAAO,CAACR,GAAG,CAAC;YACvC,IAAIO,IAAI,EAAE;cACN,OAAO,IAAInB,QAAQ,CAACmB,IAAI,CAAC;YAC7B;YACA,OAAO,IAAIlB,gBAAgB,CAAC,iBAAiB,CAAC;UAClD,CAAC,CAAC,OAAOoB,KAAK,EAAE;YACZ,OAAO,IAAIvB,aAAa,CAACuB,KAAK,CAAC;UACnC;QACJ;MACJ;IACJ;EACJ,CAAC,CAAC;EACFhB,kBAAkB,CAACiB,IAAI,GAAG,yBAAyB;EAEnD,OAAOjB,kBAAkB;AAC7B,CAAC;AAMD,MAAMW,mBAAmB,CAA0B;EAC/CO,WAAWA,CAASC,SAAqC,EAAE;IAAA,KAAvCA,SAAqC,GAArCA,SAAqC;EAAG;EAE5D,MAAMJ,OAAOA,CAACR,GAAW,EAA6B;IAClD,MAAM;MAAEa;IAAS,CAAC,GAAG,IAAIC,GAAG,CAACd,GAAG,CAAC;IACjC,MAAMe,KAAK,GAAGF,QAAQ,CAACG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IAEtE,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACL,SAAS,CAACJ,OAAO,CAAC;MAC7CU,KAAK,EAAE;QACHC,GAAG,EAAEJ;MACT,CAAC;MACDK,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAGJ,WAAW,CAACK,KAAK,CAACC,KAAK;IAErC,OAAOF,KAAK,CAACG,MAAM,GAAGH,KAAK,CAAC,CAAC,CAAC,GAAGI,SAAS;EAC9C;AACJ;AAEA,MAAMvB,kBAAkB,CAA0B;EAI9CS,WAAWA,CAACR,QAAkB,EAAEF,OAAsB,EAAE;IACpD,IAAI,CAACE,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACF,OAAO,GAAGA,OAAO;EAC1B;EAEAO,OAAOA,CAACR,GAAW,EAA6B;IAC5C,IAAI,CAAC,IAAI,CAACG,QAAQ,CAACuB,WAAW,CAAC,CAAC,EAAE;MAC9B,MAAM,IAAIpC,kBAAkB,CAAC;QAAEqC,OAAO,EAAE;MAA2C,CAAC,CAAC;IACzF;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAACO,OAAO,CAACR,GAAG,CAAC;EACpC;AACJ","ignoreList":[]}
|
package/graphql/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ContextPlugin } from "@webiny/api";
|
|
2
|
+
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
3
|
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
3
|
-
|
|
4
|
-
export declare const createGraphQLSchemaPlugin: () => (GraphQLSchemaPlugin<FileManagerContext> | ContextPlugin<FileManagerContext>)[];
|
|
4
|
+
export declare const createGraphQLSchemaPlugin: () => (GraphQLSchemaPlugin<ApiCoreContext> | ContextPlugin<ApiCoreContext>)[];
|
package/graphql/index.js
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _filesSchema = require("./filesSchema");
|
|
14
|
-
var _getFileByUrl = require("./getFileByUrl");
|
|
15
|
-
const createGraphQLSchemaPlugin = () => {
|
|
16
|
-
return [(0, _baseSchema.createBaseSchema)(),
|
|
1
|
+
import { ContextPlugin } from "@webiny/api";
|
|
2
|
+
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
3
|
+
import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
|
|
4
|
+
import { createFieldTypePluginRecords } from "@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords.js";
|
|
5
|
+
import { createGraphQLSchemaPluginFromFieldPlugins } from "@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js";
|
|
6
|
+
import { createBaseSchema } from "./baseSchema.js";
|
|
7
|
+
import { createFilesSchema } from "./filesSchema.js";
|
|
8
|
+
import { getFileByUrl } from "./getFileByUrl.js";
|
|
9
|
+
import { FileModel } from "../domain/file/abstractions.js";
|
|
10
|
+
import { TenantContext } from "@webiny/api-core/features/TenantContext";
|
|
11
|
+
export const createGraphQLSchemaPlugin = () => {
|
|
12
|
+
return [createBaseSchema(),
|
|
17
13
|
// Files schema is generated dynamically, based on a CMS model, so we need to
|
|
18
14
|
// register it from a ContextPlugin, to perform additional bootstrap.
|
|
19
|
-
new
|
|
20
|
-
|
|
15
|
+
new ContextPlugin(async context => {
|
|
16
|
+
const tenantContext = context.container.resolve(TenantContext);
|
|
17
|
+
if (!tenantContext.getTenant()) {
|
|
21
18
|
return;
|
|
22
19
|
}
|
|
20
|
+
const fileModel = context.container.resolve(FileModel);
|
|
21
|
+
const listModels = context.container.resolve(ListModelsUseCase);
|
|
23
22
|
await context.security.withoutAuthorization(async () => {
|
|
24
|
-
const
|
|
25
|
-
const models =
|
|
26
|
-
const fieldPlugins =
|
|
23
|
+
const modelsResult = await listModels.execute();
|
|
24
|
+
const models = modelsResult.value;
|
|
25
|
+
const fieldPlugins = createFieldTypePluginRecords(context.plugins);
|
|
27
26
|
/**
|
|
28
27
|
* We need to register all plugins for all the CMS fields.
|
|
29
28
|
*/
|
|
30
|
-
const plugins =
|
|
29
|
+
const plugins = createGraphQLSchemaPluginFromFieldPlugins({
|
|
31
30
|
models,
|
|
32
31
|
type: "manage",
|
|
33
32
|
fieldTypePlugins: fieldPlugins,
|
|
@@ -36,20 +35,19 @@ const createGraphQLSchemaPlugin = () => {
|
|
|
36
35
|
type,
|
|
37
36
|
fieldType
|
|
38
37
|
}) => {
|
|
39
|
-
const plugin = new
|
|
38
|
+
const plugin = new GraphQLSchemaPlugin(schema);
|
|
40
39
|
plugin.name = `fm.graphql.schema.${type}.field.${fieldType}`;
|
|
41
40
|
return plugin;
|
|
42
41
|
}
|
|
43
42
|
});
|
|
44
|
-
const graphQlPlugin =
|
|
43
|
+
const graphQlPlugin = createFilesSchema({
|
|
45
44
|
model: fileModel,
|
|
46
45
|
models,
|
|
47
46
|
plugins: fieldPlugins
|
|
48
47
|
});
|
|
49
|
-
context.plugins.register([...plugins, graphQlPlugin,
|
|
48
|
+
context.plugins.register([...plugins, graphQlPlugin, getFileByUrl()]);
|
|
50
49
|
});
|
|
51
50
|
})];
|
|
52
51
|
};
|
|
53
|
-
exports.createGraphQLSchemaPlugin = createGraphQLSchemaPlugin;
|
|
54
52
|
|
|
55
53
|
//# sourceMappingURL=index.js.map
|