@webiny/api-file-manager 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -13
- package/contants.d.ts +1 -0
- package/contants.js +4 -0
- package/contants.js.map +1 -0
- package/delivery/AssetDelivery/Asset.d.ts +28 -0
- package/delivery/AssetDelivery/Asset.js +53 -0
- package/delivery/AssetDelivery/Asset.js.map +1 -0
- package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
- package/delivery/AssetDelivery/AssetRequest.js +23 -0
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js +32 -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 +6 -0
- package/delivery/setupAssetDelivery.d.ts +1 -0
- package/delivery/setupAssetDelivery.js +69 -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 +65 -0
- package/domain/file/file.model.js.map +1 -0
- package/domain/file/types.d.ts +53 -0
- package/domain/file/types.js +0 -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/file.d.ts +12 -0
- package/exports/api/file-manager/file.js +12 -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 +31 -0
- package/features/FileManagerFeature.js.map +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
- package/features/assetDelivery/FilesAssetRequestResolver.js +29 -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 +4 -0
- package/features/assetDelivery/NullAssetReply.js +14 -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/abstractions.d.ts +54 -0
- package/features/assetDelivery/abstractions.js +11 -0
- package/features/assetDelivery/abstractions.js.map +1 -0
- package/features/assetDelivery/feature.d.ts +4 -0
- package/features/assetDelivery/feature.js +29 -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 +11 -0
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -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 +65 -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 +9 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +9 -0
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +13 -0
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +11 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js +23 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -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/abstractions.d.ts +9 -0
- package/features/file/FileUrlGenerator/abstractions.js +5 -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 +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/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/graphql/baseSchema.d.ts +3 -0
- package/graphql/baseSchema.js +100 -0
- package/graphql/baseSchema.js.map +1 -0
- package/graphql/createFilesTypeDefs.d.ts +8 -0
- package/graphql/createFilesTypeDefs.js +191 -0
- package/graphql/createFilesTypeDefs.js.map +1 -0
- package/graphql/filesSchema.d.ts +4 -0
- package/graphql/filesSchema.js +96 -0
- package/graphql/filesSchema.js.map +1 -0
- package/graphql/getFileByUrl.d.ts +3 -0
- package/graphql/getFileByUrl.js +61 -0
- package/graphql/getFileByUrl.js.map +1 -0
- package/graphql/index.d.ts +4 -0
- package/graphql/index.js +47 -0
- package/graphql/index.js.map +1 -0
- package/graphql/utils.d.ts +11 -0
- package/graphql/utils.js +12 -0
- package/graphql/utils.js.map +1 -0
- package/index.d.ts +7 -0
- package/index.js +44 -0
- package/index.js.map +1 -0
- package/modelModifier/CmsModelModifier.d.ts +26 -0
- package/modelModifier/CmsModelModifier.js +51 -0
- package/modelModifier/CmsModelModifier.js.map +1 -0
- package/package.json +34 -42
- package/types.d.ts +2 -356
- package/types.js +1 -5
- package/handlers/download/index.d.ts +0 -3
- package/handlers/download/index.js +0 -132
- package/handlers/download/index.js.map +0 -1
- package/handlers/manage/index.d.ts +0 -5
- package/handlers/manage/index.js +0 -71
- package/handlers/manage/index.js.map +0 -1
- package/handlers/transform/index.d.ts +0 -2
- package/handlers/transform/index.js +0 -91
- package/handlers/transform/index.js.map +0 -1
- package/handlers/transform/loaders/imageLoader.d.ts +0 -30
- package/handlers/transform/loaders/imageLoader.js +0 -105
- 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 -13
- 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 -58
- 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 -63
- 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 -13
- package/handlers/transform/managers/index.js.map +0 -1
- package/handlers/transform/optimizeImage.d.ts +0 -3
- package/handlers/transform/optimizeImage.js +0 -48
- package/handlers/transform/optimizeImage.js.map +0 -1
- package/handlers/transform/transformImage.d.ts +0 -10
- package/handlers/transform/transformImage.js +0 -30
- package/handlers/transform/transformImage.js.map +0 -1
- package/handlers/transform/utils.d.ts +0 -12
- package/handlers/transform/utils.js +0 -46
- 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 -13
- package/handlers/utils/getEnvironment.js.map +0 -1
- package/handlers/utils/getObjectParams.d.ts +0 -9
- package/handlers/utils/getObjectParams.js +0 -25
- package/handlers/utils/getObjectParams.js.map +0 -1
- package/handlers/utils/index.d.ts +0 -2
- package/handlers/utils/index.js +0 -23
- package/handlers/utils/index.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 -24
- 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/types.js.map +0 -1
- package/utils.d.ts +0 -4
- package/utils.js +0 -16
- package/utils.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateFileUseCase as UseCaseAbstraction, UpdateFileInput, UpdateFileRepository } from "./abstractions.js";
|
|
3
|
+
import { GetFileUseCase } from "../GetFile/abstractions.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
import type { File } from "../../../domain/file/types.js";
|
|
6
|
+
import { FmPermissions } from "../../../features/shared/abstractions.js";
|
|
7
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
8
|
+
declare class UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
9
|
+
private identityContext;
|
|
10
|
+
private permissions;
|
|
11
|
+
private getFile;
|
|
12
|
+
private repository;
|
|
13
|
+
private eventPublisher;
|
|
14
|
+
constructor(identityContext: IdentityContext.Interface, permissions: FmPermissions.Interface, getFile: GetFileUseCase.Interface, repository: UpdateFileRepository.Interface, eventPublisher: EventPublisher.Interface);
|
|
15
|
+
execute(input: UpdateFileInput): Promise<Result<File, UseCaseAbstraction.Error>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const UpdateFileUseCase: typeof UpdateFileUseCaseImpl & {
|
|
18
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFileUseCase>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateFileRepository, UpdateFileUseCase } from "./abstractions.js";
|
|
3
|
+
import { GetFileUseCase } from "../GetFile/abstractions.js";
|
|
4
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
5
|
+
import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
6
|
+
import { FileAfterUpdateEvent, FileBeforeUpdateEvent } from "./events.js";
|
|
7
|
+
import { FmPermissions } from "../../shared/abstractions.js";
|
|
8
|
+
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
9
|
+
import { Identity } from "../../../domain/identity/Identity.js";
|
|
10
|
+
class UpdateFileUseCaseImpl {
|
|
11
|
+
constructor(identityContext, permissions, getFile, repository, eventPublisher){
|
|
12
|
+
this.identityContext = identityContext;
|
|
13
|
+
this.permissions = permissions;
|
|
14
|
+
this.getFile = getFile;
|
|
15
|
+
this.repository = repository;
|
|
16
|
+
this.eventPublisher = eventPublisher;
|
|
17
|
+
}
|
|
18
|
+
async execute(input) {
|
|
19
|
+
const hasPermission = await this.permissions.canEdit("file");
|
|
20
|
+
if (!hasPermission) return Result.fail(new FileNotAuthorizedError());
|
|
21
|
+
const getResult = await this.getFile.execute(input.id);
|
|
22
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
23
|
+
const original = getResult.value;
|
|
24
|
+
const canEditFile = await this.permissions.canEdit("file", original);
|
|
25
|
+
if (!canEditFile) return Result.fail(new FileNotAuthorizedError());
|
|
26
|
+
const currentIdentity = this.identityContext.getIdentity();
|
|
27
|
+
const file = {
|
|
28
|
+
...original,
|
|
29
|
+
...input,
|
|
30
|
+
id: original.id,
|
|
31
|
+
key: original.key,
|
|
32
|
+
size: original.size,
|
|
33
|
+
type: original.type,
|
|
34
|
+
tags: void 0 !== input.tags ? input.tags : original.tags,
|
|
35
|
+
description: void 0 !== input.description ? input.description : original.description,
|
|
36
|
+
location: void 0 !== input.location ? input.location : original.location,
|
|
37
|
+
createdOn: input.createdOn ?? original.createdOn,
|
|
38
|
+
modifiedOn: input.modifiedOn ?? void 0,
|
|
39
|
+
savedOn: input.savedOn ?? original.savedOn,
|
|
40
|
+
createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,
|
|
41
|
+
modifiedBy: input.modifiedBy ? Identity.from(input.modifiedBy) : Identity.from(currentIdentity),
|
|
42
|
+
savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)
|
|
43
|
+
};
|
|
44
|
+
await this.eventPublisher.publish(new FileBeforeUpdateEvent({
|
|
45
|
+
original,
|
|
46
|
+
file,
|
|
47
|
+
input
|
|
48
|
+
}));
|
|
49
|
+
const result = await this.repository.update(file);
|
|
50
|
+
if (result.isFail()) return Result.fail(result.error);
|
|
51
|
+
await this.eventPublisher.publish(new FileAfterUpdateEvent({
|
|
52
|
+
original,
|
|
53
|
+
file,
|
|
54
|
+
input
|
|
55
|
+
}));
|
|
56
|
+
return Result.ok(file);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const UpdateFileUseCase_UpdateFileUseCase = UpdateFileUseCase.createImplementation({
|
|
60
|
+
implementation: UpdateFileUseCaseImpl,
|
|
61
|
+
dependencies: [
|
|
62
|
+
IdentityContext,
|
|
63
|
+
FmPermissions,
|
|
64
|
+
GetFileUseCase,
|
|
65
|
+
UpdateFileRepository,
|
|
66
|
+
EventPublisher
|
|
67
|
+
]
|
|
68
|
+
});
|
|
69
|
+
export { UpdateFileUseCase_UpdateFileUseCase as UpdateFileUseCase };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=UpdateFileUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/UpdateFile/UpdateFileUseCase.js","sources":["../../../../src/features/file/UpdateFile/UpdateFileUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n UpdateFileUseCase as UseCaseAbstraction,\n UpdateFileInput,\n UpdateFileRepository\n} from \"./abstractions.js\";\nimport { GetFileUseCase } from \"../GetFile/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FileBeforeUpdateEvent, FileAfterUpdateEvent } from \"./events.js\";\nimport { FmPermissions } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { Identity } from \"~/domain/identity/Identity.js\";\n\nclass UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private permissions: FmPermissions.Interface,\n private getFile: GetFileUseCase.Interface,\n private repository: UpdateFileRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(input: UpdateFileInput): Promise<Result<File, UseCaseAbstraction.Error>> {\n const hasPermission = await this.permissions.canEdit(\"file\");\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n // Get the original file (includes ownership check).\n const getResult = await this.getFile.execute(input.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const original = getResult.value;\n\n // Check ownership-aware edit permission.\n const canEditFile = await this.permissions.canEdit(\"file\", original);\n if (!canEditFile) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n const currentIdentity = this.identityContext.getIdentity();\n\n const file: File = {\n ...original,\n ...input,\n // Preserve immutable fields.\n id: original.id,\n key: original.key,\n size: original.size,\n type: original.type,\n // Update mutable fields.\n tags: input.tags !== undefined ? input.tags : original.tags,\n description: input.description !== undefined ? input.description : original.description,\n location: input.location !== undefined ? input.location : original.location,\n // System fields.\n createdOn: input.createdOn ?? original.createdOn,\n modifiedOn: input.modifiedOn ?? undefined,\n savedOn: input.savedOn ?? original.savedOn,\n createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,\n modifiedBy: input.modifiedBy\n ? Identity.from(input.modifiedBy)\n : Identity.from(currentIdentity),\n savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)\n };\n\n await this.eventPublisher.publish(new FileBeforeUpdateEvent({ original, file, input }));\n\n const result = await this.repository.update(file);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(new FileAfterUpdateEvent({ original, file, input }));\n\n return Result.ok(file);\n }\n}\n\nexport const UpdateFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateFileUseCaseImpl,\n dependencies: [\n IdentityContext,\n FmPermissions,\n GetFileUseCase,\n UpdateFileRepository,\n EventPublisher\n ]\n});\n"],"names":["UpdateFileUseCaseImpl","identityContext","permissions","getFile","repository","eventPublisher","input","hasPermission","Result","FileNotAuthorizedError","getResult","original","canEditFile","currentIdentity","file","undefined","Identity","FileBeforeUpdateEvent","result","FileAfterUpdateEvent","UpdateFileUseCase","UseCaseAbstraction","IdentityContext","FmPermissions","GetFileUseCase","UpdateFileRepository","EventPublisher"],"mappings":";;;;;;;;;AAeA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,WAAoC,EACpCC,OAAiC,EACjCC,UAA0C,EAC1CC,cAAwC,CAClD;aALUJ,eAAe,GAAfA;aACAC,WAAW,GAAXA;aACAC,OAAO,GAAPA;aACAC,UAAU,GAAVA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAsB,EAAmD;QACnF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACJ,MAAM,EAAE;QAErD,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAACE,UAAU,KAAK;QAGtC,MAAMC,WAAWD,UAAU,KAAK;QAGhC,MAAME,cAAc,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQD;QAC3D,IAAI,CAACC,aACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMI,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW;QAExD,MAAMC,OAAa;YACf,GAAGH,QAAQ;YACX,GAAGL,KAAK;YAER,IAAIK,SAAS,EAAE;YACf,KAAKA,SAAS,GAAG;YACjB,MAAMA,SAAS,IAAI;YACnB,MAAMA,SAAS,IAAI;YAEnB,MAAML,AAAeS,WAAfT,MAAM,IAAI,GAAiBA,MAAM,IAAI,GAAGK,SAAS,IAAI;YAC3D,aAAaL,AAAsBS,WAAtBT,MAAM,WAAW,GAAiBA,MAAM,WAAW,GAAGK,SAAS,WAAW;YACvF,UAAUL,AAAmBS,WAAnBT,MAAM,QAAQ,GAAiBA,MAAM,QAAQ,GAAGK,SAAS,QAAQ;YAE3E,WAAWL,MAAM,SAAS,IAAIK,SAAS,SAAS;YAChD,YAAYL,MAAM,UAAU,IAAIS;YAChC,SAAST,MAAM,OAAO,IAAIK,SAAS,OAAO;YAC1C,WAAWL,MAAM,SAAS,GAAGU,SAAS,IAAI,CAACV,MAAM,SAAS,IAAIK,SAAS,SAAS;YAChF,YAAYL,MAAM,UAAU,GACtBU,SAAS,IAAI,CAACV,MAAM,UAAU,IAC9BU,SAAS,IAAI,CAACH;YACpB,SAASP,MAAM,OAAO,GAAGU,SAAS,IAAI,CAACV,MAAM,OAAO,IAAIU,SAAS,IAAI,CAACH;QAC1E;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAII,sBAAsB;YAAEN;YAAUG;YAAMR;QAAM;QAEpF,MAAMY,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACJ;QAE5C,IAAII,OAAO,MAAM,IACb,OAAOV,OAAO,IAAI,CAACU,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,qBAAqB;YAAER;YAAUG;YAAMR;QAAM;QAEnF,OAAOE,OAAO,EAAE,CAACM;IACrB;AACJ;AAEO,MAAMM,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBrB;IAChB,cAAc;QACVsB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { CreatedBy, File } from "../../../domain/file/types.js";
|
|
3
|
+
import { type FilePersistenceError, type FileNotFoundError, FileNotAuthorizedError } from "../../../domain/file/errors.js";
|
|
4
|
+
export interface UpdateFileInput {
|
|
5
|
+
id: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
metadata?: Record<string, any>;
|
|
8
|
+
tags?: string[];
|
|
9
|
+
description?: string;
|
|
10
|
+
location?: {
|
|
11
|
+
folderId: string;
|
|
12
|
+
};
|
|
13
|
+
createdOn?: string;
|
|
14
|
+
modifiedOn?: string;
|
|
15
|
+
savedOn?: string;
|
|
16
|
+
createdBy?: CreatedBy;
|
|
17
|
+
modifiedBy?: CreatedBy;
|
|
18
|
+
savedBy?: CreatedBy;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* UpdateFile repository interface
|
|
22
|
+
*/
|
|
23
|
+
export interface IUpdateFileRepository {
|
|
24
|
+
update(file: File): Promise<Result<void, RepositoryError>>;
|
|
25
|
+
}
|
|
26
|
+
export interface IUpdateFileRepositoryErrors {
|
|
27
|
+
notFound: FileNotFoundError;
|
|
28
|
+
notAuthorized: FileNotAuthorizedError;
|
|
29
|
+
persistence: FilePersistenceError;
|
|
30
|
+
}
|
|
31
|
+
type RepositoryError = IUpdateFileRepositoryErrors[keyof IUpdateFileRepositoryErrors];
|
|
32
|
+
/** Persist file metadata updates. */
|
|
33
|
+
export declare const UpdateFileRepository: import("@webiny/di").Abstraction<IUpdateFileRepository>;
|
|
34
|
+
export declare namespace UpdateFileRepository {
|
|
35
|
+
type Interface = IUpdateFileRepository;
|
|
36
|
+
type Error = RepositoryError;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* UpdateFile use case interface
|
|
40
|
+
*/
|
|
41
|
+
export interface IUpdateFileUseCase {
|
|
42
|
+
execute(input: UpdateFileInput): Promise<Result<File, UseCaseError>>;
|
|
43
|
+
}
|
|
44
|
+
export interface IUpdateFileUseCaseErrors {
|
|
45
|
+
notAuthorized: FileNotAuthorizedError;
|
|
46
|
+
notFound: FileNotFoundError;
|
|
47
|
+
persistence: FilePersistenceError;
|
|
48
|
+
}
|
|
49
|
+
type UseCaseError = IUpdateFileUseCaseErrors[keyof IUpdateFileUseCaseErrors];
|
|
50
|
+
/** Update file metadata. */
|
|
51
|
+
export declare const UpdateFileUseCase: import("@webiny/di").Abstraction<IUpdateFileUseCase>;
|
|
52
|
+
export declare namespace UpdateFileUseCase {
|
|
53
|
+
type Interface = IUpdateFileUseCase;
|
|
54
|
+
type Error = UseCaseError;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const UpdateFileRepository = createAbstraction("UpdateFileRepository");
|
|
3
|
+
const UpdateFileUseCase = createAbstraction("UpdateFileUseCase");
|
|
4
|
+
export { UpdateFileRepository, UpdateFileUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/UpdateFile/abstractions.js","sources":["../../../../src/features/file/UpdateFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { CreatedBy, File } from \"~/domain/file/types.js\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\n\nexport interface UpdateFileInput {\n id: string;\n name?: string;\n metadata?: Record<string, any>;\n tags?: string[];\n description?: string;\n location?: { folderId: string };\n createdOn?: string;\n modifiedOn?: string;\n savedOn?: string;\n createdBy?: CreatedBy;\n modifiedBy?: CreatedBy;\n savedBy?: CreatedBy;\n}\n\n/**\n * UpdateFile repository interface\n */\nexport interface IUpdateFileRepository {\n update(file: File): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateFileRepositoryErrors {\n notFound: FileNotFoundError;\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IUpdateFileRepositoryErrors[keyof IUpdateFileRepositoryErrors];\n\n/** Persist file metadata updates. */\nexport const UpdateFileRepository =\n createAbstraction<IUpdateFileRepository>(\"UpdateFileRepository\");\n\nexport namespace UpdateFileRepository {\n export type Interface = IUpdateFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * UpdateFile use case interface\n */\nexport interface IUpdateFileUseCase {\n execute(input: UpdateFileInput): Promise<Result<File, UseCaseError>>;\n}\n\nexport interface IUpdateFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IUpdateFileUseCaseErrors[keyof IUpdateFileUseCaseErrors];\n\n/** Update file metadata. */\nexport const UpdateFileUseCase = createAbstraction<IUpdateFileUseCase>(\"UpdateFileUseCase\");\n\nexport namespace UpdateFileUseCase {\n export type Interface = IUpdateFileUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["UpdateFileRepository","createAbstraction","UpdateFileUseCase"],"mappings":";AAwCO,MAAMA,uBACTC,kBAAyC;AAuBtC,MAAMC,oBAAoBD,kBAAsC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
2
|
+
import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
import type { File } from "../../../domain/file/types.js";
|
|
4
|
+
import type { UpdateFileInput } from "./abstractions.js";
|
|
5
|
+
export interface FileBeforeUpdatePayload {
|
|
6
|
+
original: File;
|
|
7
|
+
file: File;
|
|
8
|
+
input: UpdateFileInput;
|
|
9
|
+
}
|
|
10
|
+
export declare class FileBeforeUpdateEvent extends DomainEvent<FileBeforeUpdatePayload> {
|
|
11
|
+
eventType: "FileManager/File/BeforeUpdate";
|
|
12
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileBeforeUpdateEvent>>;
|
|
13
|
+
}
|
|
14
|
+
/** Hook into file lifecycle before a file is updated. */
|
|
15
|
+
export declare const FileBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileBeforeUpdateEvent>>;
|
|
16
|
+
export declare namespace FileBeforeUpdateEventHandler {
|
|
17
|
+
type Interface = IEventHandler<FileBeforeUpdateEvent>;
|
|
18
|
+
type Event = FileBeforeUpdateEvent;
|
|
19
|
+
}
|
|
20
|
+
export interface FileAfterUpdatePayload {
|
|
21
|
+
original: File;
|
|
22
|
+
file: File;
|
|
23
|
+
input: UpdateFileInput;
|
|
24
|
+
}
|
|
25
|
+
export declare class FileAfterUpdateEvent extends DomainEvent<FileAfterUpdatePayload> {
|
|
26
|
+
eventType: "FileManager/File/AfterUpdate";
|
|
27
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileAfterUpdateEvent>>;
|
|
28
|
+
}
|
|
29
|
+
/** Hook into file lifecycle after a file is updated. */
|
|
30
|
+
export declare const FileAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileAfterUpdateEvent>>;
|
|
31
|
+
export declare namespace FileAfterUpdateEventHandler {
|
|
32
|
+
type Interface = IEventHandler<FileAfterUpdateEvent>;
|
|
33
|
+
type Event = FileAfterUpdateEvent;
|
|
34
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
3
|
+
class FileBeforeUpdateEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return FileBeforeUpdateEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "FileManager/File/BeforeUpdate";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const FileBeforeUpdateEventHandler = createAbstraction("FileBeforeUpdateEventHandler");
|
|
12
|
+
class FileAfterUpdateEvent extends DomainEvent {
|
|
13
|
+
getHandlerAbstraction() {
|
|
14
|
+
return FileAfterUpdateEventHandler;
|
|
15
|
+
}
|
|
16
|
+
constructor(...args){
|
|
17
|
+
super(...args), this.eventType = "FileManager/File/AfterUpdate";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const FileAfterUpdateEventHandler = createAbstraction("FileAfterUpdateEventHandler");
|
|
21
|
+
export { FileAfterUpdateEvent, FileAfterUpdateEventHandler, FileBeforeUpdateEvent, FileBeforeUpdateEventHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/UpdateFile/events.js","sources":["../../../../src/features/file/UpdateFile/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { UpdateFileInput } from \"./abstractions.js\";\n\n// ============================================================================\n// FileBeforeUpdate Event\n// ============================================================================\n\nexport interface FileBeforeUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileBeforeUpdateEvent extends DomainEvent<FileBeforeUpdatePayload> {\n eventType = \"FileManager/File/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into file lifecycle before a file is updated. */\nexport const FileBeforeUpdateEventHandler = createAbstraction<IEventHandler<FileBeforeUpdateEvent>>(\n \"FileBeforeUpdateEventHandler\"\n);\n\nexport namespace FileBeforeUpdateEventHandler {\n export type Interface = IEventHandler<FileBeforeUpdateEvent>;\n export type Event = FileBeforeUpdateEvent;\n}\n\n// ============================================================================\n// FileAfterUpdate Event\n// ============================================================================\n\nexport interface FileAfterUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileAfterUpdateEvent extends DomainEvent<FileAfterUpdatePayload> {\n eventType = \"FileManager/File/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileAfterUpdateEventHandler;\n }\n}\n\n/** Hook into file lifecycle after a file is updated. */\nexport const FileAfterUpdateEventHandler = createAbstraction<IEventHandler<FileAfterUpdateEvent>>(\n \"FileAfterUpdateEventHandler\"\n);\n\nexport namespace FileAfterUpdateEventHandler {\n export type Interface = IEventHandler<FileAfterUpdateEvent>;\n export type Event = FileAfterUpdateEvent;\n}\n"],"names":["FileBeforeUpdateEvent","DomainEvent","FileBeforeUpdateEventHandler","createAbstraction","FileAfterUpdateEvent","FileAfterUpdateEventHandler"],"mappings":";;AAgBO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,+BAA+BC,kBACxC;AAkBG,MAAMC,6BAA6BH;IAGtC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,8BAA8BF,kBACvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateFileRepository } from "./UpdateFileRepository.js";
|
|
3
|
+
import { UpdateFileUseCase } from "./UpdateFileUseCase.js";
|
|
4
|
+
const UpdateFileFeature = createFeature({
|
|
5
|
+
name: "FileManager/UpdateFile",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(UpdateFileUseCase);
|
|
8
|
+
container.register(UpdateFileRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { UpdateFileFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/UpdateFile/feature.js","sources":["../../../../src/features/file/UpdateFile/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateFileRepository } from \"./UpdateFileRepository.js\";\nimport { UpdateFileUseCase } from \"./UpdateFileUseCase.js\";\n\nexport const UpdateFileFeature = createFeature({\n name: \"FileManager/UpdateFile\",\n register(container) {\n container.register(UpdateFileUseCase);\n container.register(UpdateFileRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateFileFeature","createFeature","container","UpdateFileUseCase","UpdateFileRepository"],"mappings":";;;AAIO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,sBAAsB,gBAAgB;IAC7D;AACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class EntryToFileMapper {
|
|
2
|
+
static toFile(entry) {
|
|
3
|
+
return {
|
|
4
|
+
id: entry.entryId,
|
|
5
|
+
createdOn: entry.createdOn,
|
|
6
|
+
modifiedOn: entry.modifiedOn ?? void 0,
|
|
7
|
+
savedOn: entry.savedOn,
|
|
8
|
+
createdBy: entry.createdBy,
|
|
9
|
+
modifiedBy: entry.modifiedBy ?? void 0,
|
|
10
|
+
savedBy: entry.savedBy,
|
|
11
|
+
name: entry.values.name,
|
|
12
|
+
key: entry.values.key,
|
|
13
|
+
size: entry.values.size,
|
|
14
|
+
type: entry.values.type,
|
|
15
|
+
metadata: entry.values.metadata || {},
|
|
16
|
+
accessControl: entry.values.accessControl,
|
|
17
|
+
location: {
|
|
18
|
+
folderId: entry.location?.folderId ?? "root"
|
|
19
|
+
},
|
|
20
|
+
tags: entry.values.tags || [],
|
|
21
|
+
description: entry.values.description ?? "",
|
|
22
|
+
extensions: entry.values.extensions
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export { EntryToFileMapper };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=EntryToFileMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/shared/EntryToFileMapper.js","sources":["../../../../src/features/file/shared/EntryToFileMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport class EntryToFileMapper {\n static toFile(entry: CmsEntry): File {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n modifiedOn: entry.modifiedOn ?? undefined,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n modifiedBy: entry.modifiedBy ?? undefined,\n savedBy: entry.savedBy,\n name: entry.values.name,\n key: entry.values.key,\n size: entry.values.size,\n type: entry.values.type,\n metadata: entry.values.metadata || {},\n accessControl: entry.values.accessControl,\n location: { folderId: entry.location?.folderId ?? \"root\" },\n tags: entry.values.tags || [],\n description: entry.values.description ?? \"\",\n extensions: entry.values.extensions\n };\n }\n}\n"],"names":["EntryToFileMapper","entry","undefined"],"mappings":"AAGO,MAAMA;IACT,OAAO,OAAOC,KAAe,EAAQ;QACjC,OAAO;YACH,IAAIA,MAAM,OAAO;YACjB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAIC;YAChC,SAASD,MAAM,OAAO;YACtB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAIC;YAChC,SAASD,MAAM,OAAO;YACtB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,KAAKA,MAAM,MAAM,CAAC,GAAG;YACrB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,UAAUA,MAAM,MAAM,CAAC,QAAQ,IAAI,CAAC;YACpC,eAAeA,MAAM,MAAM,CAAC,aAAa;YACzC,UAAU;gBAAE,UAAUA,MAAM,QAAQ,EAAE,YAAY;YAAO;YACzD,MAAMA,MAAM,MAAM,CAAC,IAAI,IAAI,EAAE;YAC7B,aAAaA,MAAM,MAAM,CAAC,WAAW,IAAI;YACzC,YAAYA,MAAM,MAAM,CAAC,UAAU;QACvC;IACJ;AACJ"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
class FileInputToEntryInputMapper {
|
|
2
|
+
static toEntry(file) {
|
|
3
|
+
return {
|
|
4
|
+
id: file.id,
|
|
5
|
+
createdOn: file.createdOn,
|
|
6
|
+
modifiedOn: file.modifiedOn,
|
|
7
|
+
savedOn: file.savedOn,
|
|
8
|
+
createdBy: file.createdBy,
|
|
9
|
+
modifiedBy: file.modifiedBy,
|
|
10
|
+
savedBy: file.savedBy,
|
|
11
|
+
location: file.location || {
|
|
12
|
+
folderId: "root"
|
|
13
|
+
},
|
|
14
|
+
values: {
|
|
15
|
+
name: file.name,
|
|
16
|
+
key: file.key,
|
|
17
|
+
size: file.size,
|
|
18
|
+
type: file.type,
|
|
19
|
+
metadata: file.metadata || {},
|
|
20
|
+
accessControl: {
|
|
21
|
+
type: "public"
|
|
22
|
+
},
|
|
23
|
+
tags: file.tags || [],
|
|
24
|
+
description: file.description ?? "",
|
|
25
|
+
extensions: file.extensions
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export { FileInputToEntryInputMapper };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=FileInputToEntryInputMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/shared/FileInputToEntryInputMapper.js","sources":["../../../../src/features/file/shared/FileInputToEntryInputMapper.ts"],"sourcesContent":["import type { CreateCmsEntryInput } from \"@webiny/api-headless-cms/types\";\nimport type { FileInput } from \"~/domain/file/types.js\";\n\nexport class FileInputToEntryInputMapper {\n static toEntry(file: FileInput): CreateCmsEntryInput {\n return {\n id: file.id,\n createdOn: file.createdOn,\n modifiedOn: file.modifiedOn,\n savedOn: file.savedOn,\n createdBy: file.createdBy,\n modifiedBy: file.modifiedBy,\n savedBy: file.savedBy,\n location: file.location || { folderId: \"root\" },\n values: {\n name: file.name,\n key: file.key,\n size: file.size,\n type: file.type,\n metadata: file.metadata || {},\n accessControl: {\n type: \"public\"\n },\n tags: file.tags || [],\n description: file.description ?? \"\",\n extensions: file.extensions\n }\n };\n }\n}\n"],"names":["FileInputToEntryInputMapper","file"],"mappings":"AAGO,MAAMA;IACT,OAAO,QAAQC,IAAe,EAAuB;QACjD,OAAO;YACH,IAAIA,KAAK,EAAE;YACX,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,UAAUA,KAAK,QAAQ,IAAI;gBAAE,UAAU;YAAO;YAC9C,QAAQ;gBACJ,MAAMA,KAAK,IAAI;gBACf,KAAKA,KAAK,GAAG;gBACb,MAAMA,KAAK,IAAI;gBACf,MAAMA,KAAK,IAAI;gBACf,UAAUA,KAAK,QAAQ,IAAI,CAAC;gBAC5B,eAAe;oBACX,MAAM;gBACV;gBACA,MAAMA,KAAK,IAAI,IAAI,EAAE;gBACrB,aAAaA,KAAK,WAAW,IAAI;gBACjC,YAAYA,KAAK,UAAU;YAC/B;QACJ;IACJ;AACJ"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class FileToEntryMapper {
|
|
2
|
+
static toEntry(file) {
|
|
3
|
+
return {
|
|
4
|
+
id: `${file.id}#0001`,
|
|
5
|
+
entryId: file.id,
|
|
6
|
+
createdOn: file.createdOn,
|
|
7
|
+
modifiedOn: file.modifiedOn,
|
|
8
|
+
savedOn: file.savedOn,
|
|
9
|
+
createdBy: file.createdBy,
|
|
10
|
+
modifiedBy: file.modifiedBy,
|
|
11
|
+
savedBy: file.savedBy,
|
|
12
|
+
location: file.location || {
|
|
13
|
+
folderId: "root"
|
|
14
|
+
},
|
|
15
|
+
values: {
|
|
16
|
+
name: file.name,
|
|
17
|
+
key: file.key,
|
|
18
|
+
size: file.size,
|
|
19
|
+
type: file.type,
|
|
20
|
+
metadata: file.metadata || {},
|
|
21
|
+
accessControl: file.accessControl,
|
|
22
|
+
tags: file.tags || [],
|
|
23
|
+
description: file.description ?? "",
|
|
24
|
+
extensions: file.extensions
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export { FileToEntryMapper };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=FileToEntryMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/file/shared/FileToEntryMapper.js","sources":["../../../../src/features/file/shared/FileToEntryMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport class FileToEntryMapper {\n static toEntry(file: File): Partial<CmsEntry> {\n return {\n id: `${file.id}#0001`,\n entryId: file.id,\n createdOn: file.createdOn,\n modifiedOn: file.modifiedOn,\n savedOn: file.savedOn,\n createdBy: file.createdBy,\n modifiedBy: file.modifiedBy,\n savedBy: file.savedBy,\n location: file.location || { folderId: \"root\" },\n values: {\n name: file.name,\n key: file.key,\n size: file.size,\n type: file.type,\n metadata: file.metadata || {},\n accessControl: file.accessControl,\n tags: file.tags || [],\n description: file.description ?? \"\",\n extensions: file.extensions\n }\n };\n }\n}\n"],"names":["FileToEntryMapper","file"],"mappings":"AAGO,MAAMA;IACT,OAAO,QAAQC,IAAU,EAAqB;QAC1C,OAAO;YACH,IAAI,GAAGA,KAAK,EAAE,CAAC,KAAK,CAAC;YACrB,SAASA,KAAK,EAAE;YAChB,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,UAAUA,KAAK,QAAQ,IAAI;gBAAE,UAAU;YAAO;YAC9C,QAAQ;gBACJ,MAAMA,KAAK,IAAI;gBACf,KAAKA,KAAK,GAAG;gBACb,MAAMA,KAAK,IAAI;gBACf,MAAMA,KAAK,IAAI;gBACf,UAAUA,KAAK,QAAQ,IAAI,CAAC;gBAC5B,eAAeA,KAAK,aAAa;gBACjC,MAAMA,KAAK,IAAI,IAAI,EAAE;gBACrB,aAAaA,KAAK,WAAW,IAAI;gBACjC,YAAYA,KAAK,UAAU;YAC/B;QACJ;IACJ;AACJ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Permissions } from "@webiny/api-core/features/security/permissions/index.js";
|
|
2
|
+
import { FM_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export declare const FmPermissions: import("@webiny/di").Abstraction<import("@webiny/api-core/features/security/permissions/types").PermissionsTyped<{
|
|
4
|
+
readonly prefix: "fm";
|
|
5
|
+
readonly fullAccess: true;
|
|
6
|
+
readonly entities: readonly [{
|
|
7
|
+
readonly id: "file";
|
|
8
|
+
readonly permission: "fm.file";
|
|
9
|
+
readonly scopes: readonly ["full", "own"];
|
|
10
|
+
readonly actions: readonly [{
|
|
11
|
+
readonly name: "rwd";
|
|
12
|
+
}];
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "settings";
|
|
15
|
+
readonly permission: "fm.settings";
|
|
16
|
+
readonly scopes: readonly ["full"];
|
|
17
|
+
}];
|
|
18
|
+
}>>;
|
|
19
|
+
export declare namespace FmPermissions {
|
|
20
|
+
type Interface = Permissions<typeof FM_PERMISSIONS_SCHEMA>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createPermissionsAbstraction } from "@webiny/api-core/features/security/permissions/index.js";
|
|
2
|
+
import { FM_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
const FmPermissions = createPermissionsAbstraction(FM_PERMISSIONS_SCHEMA);
|
|
4
|
+
export { FmPermissions };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/permissions/abstractions.js","sources":["../../../src/features/permissions/abstractions.ts"],"sourcesContent":["import { createPermissionsAbstraction } from \"@webiny/api-core/features/security/permissions/index.js\";\nimport type { Permissions } from \"@webiny/api-core/features/security/permissions/index.js\";\nimport { FM_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nexport const FmPermissions = createPermissionsAbstraction(FM_PERMISSIONS_SCHEMA);\n\nexport namespace FmPermissions {\n export type Interface = Permissions<typeof FM_PERMISSIONS_SCHEMA>;\n}\n"],"names":["FmPermissions","createPermissionsAbstraction","FM_PERMISSIONS_SCHEMA"],"mappings":";;AAIO,MAAMA,gBAAgBC,6BAA6BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createPermissionsFeature } from "@webiny/api-core/exports/api/security.js";
|
|
2
|
+
import { FM_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
import { FmPermissions } from "./abstractions.js";
|
|
4
|
+
const FmPermissionsFeature = createPermissionsFeature(FM_PERMISSIONS_SCHEMA, FmPermissions);
|
|
5
|
+
export { FmPermissionsFeature };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/permissions/feature.js","sources":["../../../src/features/permissions/feature.ts"],"sourcesContent":["import { createPermissionsFeature } from \"@webiny/api-core/exports/api/security.js\";\nimport { FM_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\nimport { FmPermissions } from \"./abstractions.js\";\n\nexport const FmPermissionsFeature = createPermissionsFeature(FM_PERMISSIONS_SCHEMA, FmPermissions);\n"],"names":["FmPermissionsFeature","createPermissionsFeature","FM_PERMISSIONS_SCHEMA","FmPermissions"],"mappings":";;;AAIO,MAAMA,uBAAuBC,yBAAyBC,uBAAuBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import type { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
4
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
5
|
+
declare class GetSettingsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private keyValueStore;
|
|
7
|
+
constructor(keyValueStore: KeyValueStore.Interface);
|
|
8
|
+
execute(): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>>;
|
|
9
|
+
}
|
|
10
|
+
export declare const GetSettingsUseCase: typeof GetSettingsUseCaseImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetSettingsUseCase>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetSettingsUseCase } from "./abstractions.js";
|
|
3
|
+
import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constants.js";
|
|
4
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
5
|
+
class GetSettingsUseCaseImpl {
|
|
6
|
+
constructor(keyValueStore){
|
|
7
|
+
this.keyValueStore = keyValueStore;
|
|
8
|
+
}
|
|
9
|
+
async execute() {
|
|
10
|
+
const result = await this.keyValueStore.get(FILE_MANAGER_GENERAL_SETTINGS);
|
|
11
|
+
if (result.isFail()) return Result.ok({
|
|
12
|
+
uploadMinFileSize: 0,
|
|
13
|
+
uploadMaxFileSize: 10737418240,
|
|
14
|
+
srcPrefix: ""
|
|
15
|
+
});
|
|
16
|
+
const settings = result.value;
|
|
17
|
+
return Result.ok(settings);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const GetSettingsUseCase_GetSettingsUseCase = GetSettingsUseCase.createImplementation({
|
|
21
|
+
implementation: GetSettingsUseCaseImpl,
|
|
22
|
+
dependencies: [
|
|
23
|
+
KeyValueStore
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
export { GetSettingsUseCase_GetSettingsUseCase as GetSettingsUseCase };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=GetSettingsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/GetSettings/GetSettingsUseCase.js","sources":["../../../../src/features/settings/GetSettings/GetSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass GetSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private keyValueStore: KeyValueStore.Interface) {}\n\n async execute(): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n const result = await this.keyValueStore.get<FileManagerSettings>(\n FILE_MANAGER_GENERAL_SETTINGS\n );\n\n if (result.isFail()) {\n // Return default values\n return Result.ok({\n uploadMinFileSize: 0,\n uploadMaxFileSize: 10737418240,\n srcPrefix: \"\"\n });\n }\n\n const settings = result.value;\n\n return Result.ok(settings);\n }\n}\n\nexport const GetSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSettingsUseCaseImpl,\n dependencies: [KeyValueStore]\n});\n"],"names":["GetSettingsUseCaseImpl","keyValueStore","result","FILE_MANAGER_GENERAL_SETTINGS","Result","settings","GetSettingsUseCase","UseCaseAbstraction","KeyValueStore"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,aAAsC,CAAE;aAAxCA,aAAa,GAAbA;IAAyC;IAE7D,MAAM,UAA0E;QAC5E,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CACvCC;QAGJ,IAAID,OAAO,MAAM,IAEb,OAAOE,OAAO,EAAE,CAAC;YACb,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;QACf;QAGJ,MAAMC,WAAWH,OAAO,KAAK;QAE7B,OAAOE,OAAO,EAAE,CAACC;IACrB;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBP;IAChB,cAAc;QAACQ;KAAc;AACjC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
3
|
+
export interface IGetSettingsUseCaseErrors {
|
|
4
|
+
}
|
|
5
|
+
type UseCaseError = IGetSettingsUseCaseErrors[keyof IGetSettingsUseCaseErrors];
|
|
6
|
+
/**
|
|
7
|
+
* GetSettings use case - retrieves file manager settings.
|
|
8
|
+
*/
|
|
9
|
+
export interface IGetSettingsUseCase {
|
|
10
|
+
execute(): Promise<Result<FileManagerSettings, UseCaseError>>;
|
|
11
|
+
}
|
|
12
|
+
/** Retrieve file manager settings. */
|
|
13
|
+
export declare const GetSettingsUseCase: import("@webiny/di").Abstraction<IGetSettingsUseCase>;
|
|
14
|
+
export declare namespace GetSettingsUseCase {
|
|
15
|
+
type Interface = IGetSettingsUseCase;
|
|
16
|
+
type Error = UseCaseError;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/GetSettings/abstractions.js","sources":["../../../../src/features/settings/GetSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\n\nexport interface IGetSettingsUseCaseErrors {}\n\ntype UseCaseError = IGetSettingsUseCaseErrors[keyof IGetSettingsUseCaseErrors];\n\n/**\n * GetSettings use case - retrieves file manager settings.\n */\nexport interface IGetSettingsUseCase {\n execute(): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\n/** Retrieve file manager settings. */\nexport const GetSettingsUseCase = createAbstraction<IGetSettingsUseCase>(\"GetSettingsUseCase\");\n\nexport namespace GetSettingsUseCase {\n export type Interface = IGetSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["GetSettingsUseCase","createAbstraction"],"mappings":";AAgBO,MAAMA,qBAAqBC,kBAAuC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetSettingsUseCase } from "./GetSettingsUseCase.js";
|
|
3
|
+
const GetSettingsFeature = createFeature({
|
|
4
|
+
name: "FileManager/GetSettings",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(GetSettingsUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { GetSettingsFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/GetSettings/feature.js","sources":["../../../../src/features/settings/GetSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase } from \"./GetSettingsUseCase.js\";\n\nexport const GetSettingsFeature = createFeature({\n name: \"FileManager/GetSettings\",\n register(container) {\n container.register(GetSettingsUseCase);\n }\n});\n"],"names":["GetSettingsFeature","createFeature","container","GetSettingsUseCase"],"mappings":";;AAGO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AppInstaller } from "@webiny/api-core/features/tenancy/InstallTenant/index.js";
|
|
2
|
+
import { UpdateSettingsUseCase } from "../../../features/settings/UpdateSettings/abstractions.js";
|
|
3
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
4
|
+
declare class SettingsInstallerImpl implements AppInstaller.Interface {
|
|
5
|
+
private updateSettings;
|
|
6
|
+
private keyValueStore;
|
|
7
|
+
readonly alwaysRun = true;
|
|
8
|
+
readonly appName = "FileManager";
|
|
9
|
+
readonly dependsOn: never[];
|
|
10
|
+
constructor(updateSettings: UpdateSettingsUseCase.Interface, keyValueStore: KeyValueStore.Interface);
|
|
11
|
+
install(): Promise<void>;
|
|
12
|
+
uninstall(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare const SettingsInstaller: import("@webiny/di").Implementation<typeof SettingsInstallerImpl>;
|
|
15
|
+
export {};
|