@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,36 @@
|
|
|
1
|
+
import { ServiceDiscovery } from "@webiny/api";
|
|
2
|
+
import { createImplementation } from "@webiny/feature/api";
|
|
3
|
+
import { AppInstaller } from "@webiny/api-core/features/tenancy/InstallTenant/index.js";
|
|
4
|
+
import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constants.js";
|
|
5
|
+
import { UpdateSettingsUseCase } from "../UpdateSettings/abstractions.js";
|
|
6
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
7
|
+
class SettingsInstallerImpl {
|
|
8
|
+
constructor(updateSettings, keyValueStore){
|
|
9
|
+
this.updateSettings = updateSettings;
|
|
10
|
+
this.keyValueStore = keyValueStore;
|
|
11
|
+
this.alwaysRun = true;
|
|
12
|
+
this.appName = "FileManager";
|
|
13
|
+
this.dependsOn = [];
|
|
14
|
+
}
|
|
15
|
+
async install() {
|
|
16
|
+
const manifest = await ServiceDiscovery.load();
|
|
17
|
+
const { domain } = manifest?.api.cloudfront;
|
|
18
|
+
await this.updateSettings.execute({
|
|
19
|
+
srcPrefix: `${domain}/files`
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async uninstall() {
|
|
23
|
+
await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const SettingsInstaller = createImplementation({
|
|
27
|
+
abstraction: AppInstaller,
|
|
28
|
+
implementation: SettingsInstallerImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
UpdateSettingsUseCase,
|
|
31
|
+
KeyValueStore
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
export { SettingsInstaller };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=SettingsInstaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/SettingsInstaller/SettingsInstaller.js","sources":["../../../../src/features/settings/SettingsInstaller/SettingsInstaller.ts"],"sourcesContent":["import { ServiceDiscovery } from \"@webiny/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { AppInstaller } from \"@webiny/api-core/features/tenancy/InstallTenant/index.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass SettingsInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"FileManager\";\n readonly dependsOn = [];\n\n constructor(\n private updateSettings: UpdateSettingsUseCase.Interface,\n private keyValueStore: KeyValueStore.Interface\n ) {}\n\n async install(): Promise<void> {\n // TODO: move this to api-core with a proper abstraction\n const manifest = await ServiceDiscovery.load();\n const { domain } = manifest?.api.cloudfront;\n\n await this.updateSettings.execute({\n srcPrefix: `${domain}/files`\n });\n }\n\n async uninstall(): Promise<void> {\n await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);\n }\n}\n\nexport const SettingsInstaller = createImplementation({\n abstraction: AppInstaller,\n implementation: SettingsInstallerImpl,\n dependencies: [UpdateSettingsUseCase, KeyValueStore]\n});\n"],"names":["SettingsInstallerImpl","updateSettings","keyValueStore","manifest","ServiceDiscovery","domain","FILE_MANAGER_GENERAL_SETTINGS","SettingsInstaller","createImplementation","AppInstaller","UpdateSettingsUseCase","KeyValueStore"],"mappings":";;;;;;AAOA,MAAMA;IAKF,YACYC,cAA+C,EAC/CC,aAAsC,CAChD;aAFUD,cAAc,GAAdA;aACAC,aAAa,GAAbA;aANH,SAAS,GAAG;aACZ,OAAO,GAAG;aACV,SAAS,GAAG,EAAE;IAKpB;IAEH,MAAM,UAAyB;QAE3B,MAAMC,WAAW,MAAMC,iBAAiB,IAAI;QAC5C,MAAM,EAAEC,MAAM,EAAE,GAAGF,UAAU,IAAI;QAEjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9B,WAAW,GAAGE,OAAO,MAAM,CAAC;QAChC;IACJ;IAEA,MAAM,YAA2B;QAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAACC;IACpC;AACJ;AAEO,MAAMC,oBAAoBC,qBAAqB;IAClD,aAAaC;IACb,gBAAgBT;IAChB,cAAc;QAACU;QAAuBC;KAAc;AACxD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { SettingsInstaller } from "./SettingsInstaller.js";
|
|
3
|
+
const SettingsInstallerFeature = createFeature({
|
|
4
|
+
name: "FileManager/SettingsInstaller",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(SettingsInstaller);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { SettingsInstallerFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/SettingsInstaller/feature.js","sources":["../../../../src/features/settings/SettingsInstaller/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { SettingsInstaller } from \"./SettingsInstaller.js\";\n\nexport const SettingsInstallerFeature = createFeature({\n name: \"FileManager/SettingsInstaller\",\n register(container) {\n container.register(SettingsInstaller);\n }\n});\n"],"names":["SettingsInstallerFeature","createFeature","container","SettingsInstaller"],"mappings":";;AAGO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
3
|
+
import { UpdateSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
|
+
import { GetSettingsUseCase } from "../GetSettings/abstractions.js";
|
|
5
|
+
import type { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
6
|
+
import type { UpdateSettingsInput } from "../../../domain/settings/types.js";
|
|
7
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
8
|
+
declare class UpdateSettingsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
9
|
+
private keyValueStore;
|
|
10
|
+
private getSettings;
|
|
11
|
+
private eventPublisher;
|
|
12
|
+
constructor(keyValueStore: KeyValueStore.Interface, getSettings: GetSettingsUseCase.Interface, eventPublisher: EventPublisher.Interface);
|
|
13
|
+
execute(input: UpdateSettingsInput): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>>;
|
|
14
|
+
}
|
|
15
|
+
export declare const UpdateSettingsUseCase: typeof UpdateSettingsUseCaseImpl & {
|
|
16
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateSettingsUseCase>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
3
|
+
import { UpdateSettingsUseCase } from "./abstractions.js";
|
|
4
|
+
import { GetSettingsUseCase } from "../GetSettings/abstractions.js";
|
|
5
|
+
import { SettingsUpdateError, SettingsValidationError } from "../../../domain/settings/errors.js";
|
|
6
|
+
import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constants.js";
|
|
7
|
+
import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
|
|
8
|
+
import { SettingsAfterUpdateEvent, SettingsBeforeUpdateEvent } from "./events.js";
|
|
9
|
+
import { updateSettingsValidation } from "../../../domain/settings/validation.js";
|
|
10
|
+
import { createZodError } from "@webiny/utils";
|
|
11
|
+
class UpdateSettingsUseCaseImpl {
|
|
12
|
+
constructor(keyValueStore, getSettings, eventPublisher){
|
|
13
|
+
this.keyValueStore = keyValueStore;
|
|
14
|
+
this.getSettings = getSettings;
|
|
15
|
+
this.eventPublisher = eventPublisher;
|
|
16
|
+
}
|
|
17
|
+
async execute(input) {
|
|
18
|
+
const validationResult = await updateSettingsValidation.safeParseAsync(input);
|
|
19
|
+
if (!validationResult.success) {
|
|
20
|
+
const zodError = createZodError(validationResult.error);
|
|
21
|
+
return Result.fail(new SettingsValidationError(zodError.data.invalidFields));
|
|
22
|
+
}
|
|
23
|
+
const validatedInput = validationResult.data;
|
|
24
|
+
const existingResult = await this.getSettings.execute();
|
|
25
|
+
const existing = existingResult.value;
|
|
26
|
+
const updatedSettings = {
|
|
27
|
+
...existing,
|
|
28
|
+
...validatedInput
|
|
29
|
+
};
|
|
30
|
+
await this.eventPublisher.publish(new SettingsBeforeUpdateEvent({
|
|
31
|
+
original: existing,
|
|
32
|
+
settings: updatedSettings,
|
|
33
|
+
input: validatedInput
|
|
34
|
+
}));
|
|
35
|
+
const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);
|
|
36
|
+
if (result.isFail()) return Result.fail(new SettingsUpdateError(result.error));
|
|
37
|
+
await this.eventPublisher.publish(new SettingsAfterUpdateEvent({
|
|
38
|
+
original: existing,
|
|
39
|
+
settings: updatedSettings,
|
|
40
|
+
input: validatedInput
|
|
41
|
+
}));
|
|
42
|
+
return Result.ok(updatedSettings);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const UpdateSettingsUseCase_UpdateSettingsUseCase = UpdateSettingsUseCase.createImplementation({
|
|
46
|
+
implementation: UpdateSettingsUseCaseImpl,
|
|
47
|
+
dependencies: [
|
|
48
|
+
KeyValueStore,
|
|
49
|
+
GetSettingsUseCase,
|
|
50
|
+
EventPublisher
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
export { UpdateSettingsUseCase_UpdateSettingsUseCase as UpdateSettingsUseCase };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=UpdateSettingsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/UpdateSettings/UpdateSettingsUseCase.js","sources":["../../../../src/features/settings/UpdateSettings/UpdateSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\nimport { UpdateSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { GetSettingsUseCase } from \"../GetSettings/abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport { SettingsValidationError } from \"~/domain/settings/errors.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { SettingsBeforeUpdateEvent, SettingsAfterUpdateEvent } from \"./events.js\";\nimport { updateSettingsValidation } from \"~/domain/settings/validation.js\";\nimport { createZodError } from \"@webiny/utils\";\n\nclass UpdateSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private keyValueStore: KeyValueStore.Interface,\n private getSettings: GetSettingsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n input: UpdateSettingsInput\n ): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n // Validate input\n const validationResult = await updateSettingsValidation.safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(new SettingsValidationError(zodError.data!.invalidFields));\n }\n\n const validatedInput = validationResult.data;\n\n // Get existing settings to merge with new data\n const existingResult = await this.getSettings.execute();\n const existing = existingResult.value;\n\n // Prepare merged settings\n const updatedSettings: FileManagerSettings = {\n ...existing,\n ...validatedInput\n };\n\n // Publish BeforeUpdate event\n await this.eventPublisher.publish(\n new SettingsBeforeUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);\n\n if (result.isFail()) {\n return Result.fail(new SettingsUpdateError(result.error));\n }\n\n // Publish AfterUpdate event\n await this.eventPublisher.publish(\n new SettingsAfterUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n return Result.ok(updatedSettings);\n }\n}\n\nexport const UpdateSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateSettingsUseCaseImpl,\n dependencies: [KeyValueStore, GetSettingsUseCase, EventPublisher]\n});\n"],"names":["UpdateSettingsUseCaseImpl","keyValueStore","getSettings","eventPublisher","input","validationResult","updateSettingsValidation","zodError","createZodError","Result","SettingsValidationError","validatedInput","existingResult","existing","updatedSettings","SettingsBeforeUpdateEvent","result","FILE_MANAGER_GENERAL_SETTINGS","SettingsUpdateError","SettingsAfterUpdateEvent","UpdateSettingsUseCase","UseCaseAbstraction","KeyValueStore","GetSettingsUseCase","EventPublisher"],"mappings":";;;;;;;;;;AAcA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAAyC,EACzCC,cAAwC,CAClD;aAHUF,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAA0B,EACoC;QAE9D,MAAMC,mBAAmB,MAAMC,yBAAyB,cAAc,CAACF;QACvE,IAAI,CAACC,iBAAiB,OAAO,EAAE;YAC3B,MAAME,WAAWC,eAAeH,iBAAiB,KAAK;YACtD,OAAOI,OAAO,IAAI,CAAC,IAAIC,wBAAwBH,SAAS,IAAI,CAAE,aAAa;QAC/E;QAEA,MAAMI,iBAAiBN,iBAAiB,IAAI;QAG5C,MAAMO,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QACrD,MAAMC,WAAWD,eAAe,KAAK;QAGrC,MAAME,kBAAuC;YACzC,GAAGD,QAAQ;YACX,GAAGF,cAAc;QACrB;QAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAII,0BAA0B;YAC1B,UAAUF;YACV,UAAUC;YACV,OAAOH;QACX;QAGJ,MAAMK,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAACC,+BAA+BH;QAE3E,IAAIE,OAAO,MAAM,IACb,OAAOP,OAAO,IAAI,CAAC,IAAIS,oBAAoBF,OAAO,KAAK;QAI3D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;YACzB,UAAUN;YACV,UAAUC;YACV,OAAOH;QACX;QAGJ,OAAOF,OAAO,EAAE,CAACK;IACrB;AACJ;AAEO,MAAMM,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgBrB;IAChB,cAAc;QAACsB;QAAeC;QAAoBC;KAAe;AACrE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Result } from "@webiny/feature/api";
|
|
2
|
+
import type { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
3
|
+
import type { UpdateSettingsInput } from "../../../domain/settings/types.js";
|
|
4
|
+
import type { SettingsUpdateError } from "../../../domain/settings/errors.js";
|
|
5
|
+
import type { SettingsValidationError } from "../../../domain/settings/errors.js";
|
|
6
|
+
/**
|
|
7
|
+
* UpdateSettings use case interface
|
|
8
|
+
*/
|
|
9
|
+
export interface IUpdateSettingsUseCase {
|
|
10
|
+
execute(input: UpdateSettingsInput): Promise<Result<FileManagerSettings, UseCaseError>>;
|
|
11
|
+
}
|
|
12
|
+
export interface IUpdateSettingsUseCaseErrors {
|
|
13
|
+
updateError: SettingsUpdateError;
|
|
14
|
+
validationError: SettingsValidationError;
|
|
15
|
+
}
|
|
16
|
+
type UseCaseError = IUpdateSettingsUseCaseErrors[keyof IUpdateSettingsUseCaseErrors];
|
|
17
|
+
/** Update file manager settings. */
|
|
18
|
+
export declare const UpdateSettingsUseCase: import("@webiny/di").Abstraction<IUpdateSettingsUseCase>;
|
|
19
|
+
export declare namespace UpdateSettingsUseCase {
|
|
20
|
+
type Interface = IUpdateSettingsUseCase;
|
|
21
|
+
type Error = UseCaseError;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/UpdateSettings/abstractions.js","sources":["../../../../src/features/settings/UpdateSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport type { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport type { SettingsValidationError } from \"~/domain/settings/errors.js\";\n\n/**\n * UpdateSettings use case interface\n */\nexport interface IUpdateSettingsUseCase {\n execute(input: UpdateSettingsInput): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\nexport interface IUpdateSettingsUseCaseErrors {\n updateError: SettingsUpdateError;\n validationError: SettingsValidationError;\n}\n\ntype UseCaseError = IUpdateSettingsUseCaseErrors[keyof IUpdateSettingsUseCaseErrors];\n\n/** Update file manager settings. */\nexport const UpdateSettingsUseCase =\n createAbstraction<IUpdateSettingsUseCase>(\"UpdateSettingsUseCase\");\n\nexport namespace UpdateSettingsUseCase {\n export type Interface = IUpdateSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["UpdateSettingsUseCase","createAbstraction"],"mappings":";AAsBO,MAAMA,wBACTC,kBAA0C"}
|
|
@@ -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 { FileManagerSettings } from "../../../domain/settings/types.js";
|
|
4
|
+
import type { UpdateSettingsInput } from "../../../domain/settings/types.js";
|
|
5
|
+
export interface SettingsBeforeUpdatePayload {
|
|
6
|
+
original: FileManagerSettings;
|
|
7
|
+
settings: FileManagerSettings;
|
|
8
|
+
input: UpdateSettingsInput;
|
|
9
|
+
}
|
|
10
|
+
export declare class SettingsBeforeUpdateEvent extends DomainEvent<SettingsBeforeUpdatePayload> {
|
|
11
|
+
eventType: "FileManager/Settings/BeforeUpdate";
|
|
12
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<SettingsBeforeUpdateEvent>>;
|
|
13
|
+
}
|
|
14
|
+
/** Hook into settings lifecycle before settings are updated. */
|
|
15
|
+
export declare const SettingsBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<SettingsBeforeUpdateEvent>>;
|
|
16
|
+
export declare namespace SettingsBeforeUpdateEventHandler {
|
|
17
|
+
type Interface = IEventHandler<SettingsBeforeUpdateEvent>;
|
|
18
|
+
type Event = SettingsBeforeUpdateEvent;
|
|
19
|
+
}
|
|
20
|
+
export interface SettingsAfterUpdatePayload {
|
|
21
|
+
original: FileManagerSettings;
|
|
22
|
+
settings: FileManagerSettings;
|
|
23
|
+
input: UpdateSettingsInput;
|
|
24
|
+
}
|
|
25
|
+
export declare class SettingsAfterUpdateEvent extends DomainEvent<SettingsAfterUpdatePayload> {
|
|
26
|
+
eventType: "FileManager/Settings/AfterUpdate";
|
|
27
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<SettingsAfterUpdateEvent>>;
|
|
28
|
+
}
|
|
29
|
+
/** Hook into settings lifecycle after settings are updated. */
|
|
30
|
+
export declare const SettingsAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<SettingsAfterUpdateEvent>>;
|
|
31
|
+
export declare namespace SettingsAfterUpdateEventHandler {
|
|
32
|
+
type Interface = IEventHandler<SettingsAfterUpdateEvent>;
|
|
33
|
+
type Event = SettingsAfterUpdateEvent;
|
|
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 SettingsBeforeUpdateEvent extends DomainEvent {
|
|
4
|
+
getHandlerAbstraction() {
|
|
5
|
+
return SettingsBeforeUpdateEventHandler;
|
|
6
|
+
}
|
|
7
|
+
constructor(...args){
|
|
8
|
+
super(...args), this.eventType = "FileManager/Settings/BeforeUpdate";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const SettingsBeforeUpdateEventHandler = createAbstraction("SettingsBeforeUpdateEventHandler");
|
|
12
|
+
class SettingsAfterUpdateEvent extends DomainEvent {
|
|
13
|
+
getHandlerAbstraction() {
|
|
14
|
+
return SettingsAfterUpdateEventHandler;
|
|
15
|
+
}
|
|
16
|
+
constructor(...args){
|
|
17
|
+
super(...args), this.eventType = "FileManager/Settings/AfterUpdate";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const SettingsAfterUpdateEventHandler = createAbstraction("SettingsAfterUpdateEventHandler");
|
|
21
|
+
export { SettingsAfterUpdateEvent, SettingsAfterUpdateEventHandler, SettingsBeforeUpdateEvent, SettingsBeforeUpdateEventHandler };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/UpdateSettings/events.js","sources":["../../../../src/features/settings/UpdateSettings/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 { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\n\n// ============================================================================\n// SettingsBeforeUpdate Event\n// ============================================================================\n\nexport interface SettingsBeforeUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsBeforeUpdateEvent extends DomainEvent<SettingsBeforeUpdatePayload> {\n eventType = \"FileManager/Settings/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle before settings are updated. */\nexport const SettingsBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsBeforeUpdateEvent>\n>(\"SettingsBeforeUpdateEventHandler\");\n\nexport namespace SettingsBeforeUpdateEventHandler {\n export type Interface = IEventHandler<SettingsBeforeUpdateEvent>;\n export type Event = SettingsBeforeUpdateEvent;\n}\n\n// ============================================================================\n// SettingsAfterUpdate Event\n// ============================================================================\n\nexport interface SettingsAfterUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsAfterUpdateEvent extends DomainEvent<SettingsAfterUpdatePayload> {\n eventType = \"FileManager/Settings/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsAfterUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle after settings are updated. */\nexport const SettingsAfterUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsAfterUpdateEvent>\n>(\"SettingsAfterUpdateEventHandler\");\n\nexport namespace SettingsAfterUpdateEventHandler {\n export type Interface = IEventHandler<SettingsAfterUpdateEvent>;\n export type Event = SettingsAfterUpdateEvent;\n}\n"],"names":["SettingsBeforeUpdateEvent","DomainEvent","SettingsBeforeUpdateEventHandler","createAbstraction","SettingsAfterUpdateEvent","SettingsAfterUpdateEventHandler"],"mappings":";;AAgBO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,mCAAmCC,kBAE9C;AAiBK,MAAMC,iCAAiCH;IAG1C,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,kCAAkCF,kBAE7C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateSettingsUseCase } from "./UpdateSettingsUseCase.js";
|
|
3
|
+
const UpdateSettingsFeature = createFeature({
|
|
4
|
+
name: "FileManager/UpdateSettings",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(UpdateSettingsUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { UpdateSettingsFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/settings/UpdateSettings/feature.js","sources":["../../../../src/features/settings/UpdateSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateSettingsUseCase } from \"./UpdateSettingsUseCase.js\";\n\nexport const UpdateSettingsFeature = createFeature({\n name: \"FileManager/UpdateSettings\",\n register(container) {\n container.register(UpdateSettingsUseCase);\n }\n});\n"],"names":["UpdateSettingsFeature","createFeature","container","UpdateSettingsUseCase"],"mappings":";;AAGO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FmPermissions } from "../../features/permissions/abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FmPermissions } from "../permissions/abstractions.js";
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ErrorResponse, GraphQLSchemaPlugin, Response } from "@webiny/handler-graphql";
|
|
2
|
+
import { emptyResolver } from "./utils.js";
|
|
3
|
+
import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
|
|
4
|
+
import { UpdateSettingsUseCase } from "../features/settings/UpdateSettings/abstractions.js";
|
|
5
|
+
const createBaseSchema = ()=>{
|
|
6
|
+
const fileManagerGraphQL = new GraphQLSchemaPlugin({
|
|
7
|
+
typeDefs: `
|
|
8
|
+
type FmError {
|
|
9
|
+
code: String
|
|
10
|
+
message: String
|
|
11
|
+
data: JSON
|
|
12
|
+
stack: String
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type FmCreatedBy {
|
|
16
|
+
id: ID
|
|
17
|
+
displayName: String
|
|
18
|
+
type: String
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type FmListMeta {
|
|
22
|
+
cursor: String
|
|
23
|
+
totalCount: Int
|
|
24
|
+
hasMoreItems: Boolean
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type FmBooleanResponse {
|
|
28
|
+
data: Boolean
|
|
29
|
+
error: FmError
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type FmSettings {
|
|
33
|
+
uploadMinFileSize: Number
|
|
34
|
+
uploadMaxFileSize: Number
|
|
35
|
+
srcPrefix: String
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
input FmSettingsInput {
|
|
39
|
+
uploadMinFileSize: Number
|
|
40
|
+
uploadMaxFileSize: Number
|
|
41
|
+
srcPrefix: String
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
type FmSettingsResponse {
|
|
45
|
+
data: FmSettings
|
|
46
|
+
error: FmError
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type FmQuery {
|
|
50
|
+
getSettings: FmSettingsResponse
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
type FmDeleteResponse {
|
|
54
|
+
data: Boolean
|
|
55
|
+
error: FmError
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
type FmMutation {
|
|
59
|
+
updateSettings(data: FmSettingsInput): FmSettingsResponse
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
extend type Query {
|
|
63
|
+
fileManager: FmQuery
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
extend type Mutation {
|
|
67
|
+
fileManager: FmMutation
|
|
68
|
+
}
|
|
69
|
+
`,
|
|
70
|
+
resolvers: {
|
|
71
|
+
Query: {
|
|
72
|
+
fileManager: emptyResolver
|
|
73
|
+
},
|
|
74
|
+
Mutation: {
|
|
75
|
+
fileManager: emptyResolver
|
|
76
|
+
},
|
|
77
|
+
FmQuery: {
|
|
78
|
+
async getSettings (_, __, context) {
|
|
79
|
+
const getSettings = context.container.resolve(GetSettingsUseCase);
|
|
80
|
+
const result = await getSettings.execute();
|
|
81
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
82
|
+
return new Response(result.value);
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
FmMutation: {
|
|
86
|
+
async updateSettings (_, args, context) {
|
|
87
|
+
const updateSettings = context.container.resolve(UpdateSettingsUseCase);
|
|
88
|
+
const result = await updateSettings.execute(args.data);
|
|
89
|
+
if (result.isFail()) return new ErrorResponse(result.error);
|
|
90
|
+
return new Response(result.value);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
fileManagerGraphQL.name = "fm.graphql.base";
|
|
96
|
+
return fileManagerGraphQL;
|
|
97
|
+
};
|
|
98
|
+
export { createBaseSchema };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=baseSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/baseSchema.js","sources":["../../src/graphql/baseSchema.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { emptyResolver } from \"./utils.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport const createBaseSchema = () => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type FmError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type FmCreatedBy {\n id: ID\n displayName: String\n type: String\n }\n\n type FmListMeta {\n cursor: String\n totalCount: Int\n hasMoreItems: Boolean\n }\n\n type FmBooleanResponse {\n data: Boolean\n error: FmError\n }\n\n type FmSettings {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n input FmSettingsInput {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n type FmSettingsResponse {\n data: FmSettings\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\n }\n\n type FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmMutation {\n updateSettings(data: FmSettingsInput): FmSettingsResponse\n }\n\n extend type Query {\n fileManager: FmQuery\n }\n\n extend type Mutation {\n fileManager: FmMutation\n }\n `,\n resolvers: {\n Query: {\n fileManager: emptyResolver\n },\n Mutation: {\n fileManager: emptyResolver\n },\n FmQuery: {\n async getSettings(_, __, context) {\n const getSettings = context.container.resolve(GetSettingsUseCase);\n const result = await getSettings.execute();\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 updateSettings(_, args: any, context) {\n const updateSettings = context.container.resolve(UpdateSettingsUseCase);\n const result = await updateSettings.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.base\";\n\n return fileManagerGraphQL;\n};\n"],"names":["createBaseSchema","fileManagerGraphQL","GraphQLSchemaPlugin","emptyResolver","_","__","context","getSettings","GetSettingsUseCase","result","ErrorResponse","Response","args","updateSettings","UpdateSettingsUseCase"],"mappings":";;;;AAMO,MAAMA,mBAAmB;IAC5B,MAAMC,qBAAqB,IAAIC,oBAAoC;QAC/D,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8DzB,CAAC;QACD,WAAW;YACP,OAAO;gBACH,aAAaC;YACjB;YACA,UAAU;gBACN,aAAaA;YACjB;YACA,SAAS;gBACL,MAAM,aAAYC,CAAC,EAAEC,EAAE,EAAEC,OAAO;oBAC5B,MAAMC,cAAcD,QAAQ,SAAS,CAAC,OAAO,CAACE;oBAC9C,MAAMC,SAAS,MAAMF,YAAY,OAAO;oBAExC,IAAIE,OAAO,MAAM,IACb,OAAO,IAAIC,cAAcD,OAAO,KAAK;oBAGzC,OAAO,IAAIE,SAASF,OAAO,KAAK;gBACpC;YACJ;YACA,YAAY;gBACR,MAAM,gBAAeL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;oBACtC,MAAMO,iBAAiBP,QAAQ,SAAS,CAAC,OAAO,CAACQ;oBACjD,MAAML,SAAS,MAAMI,eAAe,OAAO,CAACD,KAAK,IAAI;oBAErD,IAAIH,OAAO,MAAM,IACb,OAAO,IAAIC,cAAcD,OAAO,KAAK;oBAGzC,OAAO,IAAIE,SAASF,OAAO,KAAK;gBACpC;YACJ;QACJ;IACJ;IACAR,mBAAmB,IAAI,GAAG;IAE1B,OAAOA;AACX"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
3
|
+
export interface CreateFilesTypeDefsParams {
|
|
4
|
+
model: CmsModel;
|
|
5
|
+
models: CmsModel[];
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
}
|
|
8
|
+
export declare const createFilesTypeDefs: (params: CreateFilesTypeDefsParams) => string;
|
|
@@ -0,0 +1,191 @@
|
|
|
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";
|
|
4
|
+
const removeFieldRequiredValidation = (field)=>{
|
|
5
|
+
if (field.validation) field.validation = field.validation.filter((validation)=>"required" !== validation.name);
|
|
6
|
+
if (field.listValidation) field.listValidation = field.listValidation.filter((v)=>"required" !== v.name);
|
|
7
|
+
return field;
|
|
8
|
+
};
|
|
9
|
+
const createUpdateFields = (fields)=>fields.reduce((collection, field)=>{
|
|
10
|
+
collection.push(removeFieldRequiredValidation({
|
|
11
|
+
...field
|
|
12
|
+
}));
|
|
13
|
+
return collection;
|
|
14
|
+
}, []);
|
|
15
|
+
const createFilesTypeDefs = (params)=>{
|
|
16
|
+
const { model, models, fieldRegistry } = params;
|
|
17
|
+
const { fields } = model;
|
|
18
|
+
const fieldTypes = renderFields({
|
|
19
|
+
models,
|
|
20
|
+
model,
|
|
21
|
+
fields,
|
|
22
|
+
type: "manage",
|
|
23
|
+
fieldRegistry
|
|
24
|
+
});
|
|
25
|
+
const inputCreateFields = renderInputFields({
|
|
26
|
+
models,
|
|
27
|
+
model,
|
|
28
|
+
fields,
|
|
29
|
+
fieldRegistry
|
|
30
|
+
});
|
|
31
|
+
const inputUpdateFields = renderInputFields({
|
|
32
|
+
models,
|
|
33
|
+
model,
|
|
34
|
+
fields: createUpdateFields(fields),
|
|
35
|
+
fieldRegistry
|
|
36
|
+
});
|
|
37
|
+
const listFilterFieldsRender = renderListFilterFields({
|
|
38
|
+
model,
|
|
39
|
+
fields: model.fields,
|
|
40
|
+
type: "manage",
|
|
41
|
+
fieldRegistry,
|
|
42
|
+
excludeFields: [
|
|
43
|
+
"entryId",
|
|
44
|
+
"status"
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
return `
|
|
48
|
+
type FmFile_Location {
|
|
49
|
+
folderId: ID!
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
input FmFile_LocationInput {
|
|
53
|
+
folderId: ID!
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
input FmFile_LocationWhereInput {
|
|
57
|
+
folderId: ID
|
|
58
|
+
folderId_in: [ID!]
|
|
59
|
+
folderId_not: ID
|
|
60
|
+
folderId_not_in: [ID!]
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
${fieldTypes.map((f)=>f.typeDefs).join("\n")}
|
|
64
|
+
|
|
65
|
+
type FmFile {
|
|
66
|
+
id: ID!
|
|
67
|
+
createdOn: DateTime!
|
|
68
|
+
modifiedOn: DateTime
|
|
69
|
+
savedOn: DateTime!
|
|
70
|
+
createdBy: FmCreatedBy!
|
|
71
|
+
modifiedBy: FmCreatedBy
|
|
72
|
+
savedBy: FmCreatedBy!
|
|
73
|
+
location: FmFile_Location!
|
|
74
|
+
src: String
|
|
75
|
+
${fieldTypes.map((f)=>f.fields).join("\n")}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
${inputCreateFields.map((f)=>f.typeDefs).join("\n")}
|
|
79
|
+
|
|
80
|
+
input FmCreatedByInput {
|
|
81
|
+
id: ID!
|
|
82
|
+
displayName: String!
|
|
83
|
+
type: String!
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
input FmFileCreateInput {
|
|
87
|
+
id: ID!
|
|
88
|
+
createdOn: DateTime
|
|
89
|
+
modifiedOn: DateTime
|
|
90
|
+
savedOn: DateTime
|
|
91
|
+
createdBy: FmCreatedByInput
|
|
92
|
+
modifiedBy: FmCreatedByInput
|
|
93
|
+
savedBy: FmCreatedByInput
|
|
94
|
+
location: FmFile_LocationInput
|
|
95
|
+
${inputCreateFields.map((f)=>f.fields).join("\n")}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
input FmFileUpdateInput {
|
|
99
|
+
createdOn: DateTime
|
|
100
|
+
modifiedOn: DateTime
|
|
101
|
+
savedOn: DateTime
|
|
102
|
+
createdBy: FmCreatedByInput
|
|
103
|
+
modifiedBy: FmCreatedByInput
|
|
104
|
+
savedBy: FmCreatedByInput
|
|
105
|
+
location: FmFile_LocationInput
|
|
106
|
+
${inputUpdateFields.map((f)=>f.fields).join("\n")}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
type FmFileResponse {
|
|
110
|
+
data: FmFile
|
|
111
|
+
error: FmError
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
input FmFileListWhereInput {
|
|
115
|
+
${listFilterFieldsRender.allFiltersAsString()}
|
|
116
|
+
location: FmFile_LocationWhereInput
|
|
117
|
+
AND: [FmFileListWhereInput!]
|
|
118
|
+
OR: [FmFileListWhereInput!]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
type FmFileListResponse {
|
|
122
|
+
data: [FmFile!]
|
|
123
|
+
error: FmError
|
|
124
|
+
meta: FmListMeta
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
enum FmFileListSorter {
|
|
128
|
+
savedOn_ASC
|
|
129
|
+
savedOn_DESC
|
|
130
|
+
createdOn_ASC
|
|
131
|
+
createdOn_DESC
|
|
132
|
+
name_ASC
|
|
133
|
+
name_DESC
|
|
134
|
+
key_ASC
|
|
135
|
+
key_DESC
|
|
136
|
+
type_ASC
|
|
137
|
+
type_DESC
|
|
138
|
+
size_ASC
|
|
139
|
+
size_DESC
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
input FmTagsListWhereInput {
|
|
143
|
+
createdBy: String
|
|
144
|
+
tags_startsWith: String
|
|
145
|
+
tags_not_startsWith: String
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
type FmTag {
|
|
149
|
+
tag: String!
|
|
150
|
+
count: Number!
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
type FmTagsListResponse {
|
|
154
|
+
data: [FmTag!]
|
|
155
|
+
error: FmError
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
type FmCreateFilesResponse {
|
|
159
|
+
data: [FmFile!]
|
|
160
|
+
error: FmError
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
type FmFileModelResponse {
|
|
164
|
+
data: JSON
|
|
165
|
+
error: FmError
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
extend type FmQuery {
|
|
169
|
+
getFileModel: FmFileModelResponse!
|
|
170
|
+
getFile(id: ID!): FmFileResponse!
|
|
171
|
+
listFiles(
|
|
172
|
+
search: String
|
|
173
|
+
where: FmFileListWhereInput
|
|
174
|
+
limit: Int
|
|
175
|
+
after: String
|
|
176
|
+
sort: [FmFileListSorter!]
|
|
177
|
+
): FmFileListResponse!
|
|
178
|
+
listTags(where: FmTagsListWhereInput): FmTagsListResponse!
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
extend type FmMutation {
|
|
182
|
+
createFile(data: FmFileCreateInput!): FmFileResponse!
|
|
183
|
+
createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!
|
|
184
|
+
updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!
|
|
185
|
+
deleteFile(id: ID!): FmBooleanResponse!
|
|
186
|
+
}
|
|
187
|
+
`;
|
|
188
|
+
};
|
|
189
|
+
export { createFilesTypeDefs };
|
|
190
|
+
|
|
191
|
+
//# sourceMappingURL=createFilesTypeDefs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/createFilesTypeDefs.js","sources":["../../src/graphql/createFilesTypeDefs.ts"],"sourcesContent":["import type { CmsModel, CmsModelField } 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\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\n\nexport interface CreateFilesTypeDefsParams {\n model: CmsModel;\n models: CmsModel[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\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, fieldRegistry } = params;\n const { fields } = model;\n\n const fieldTypes = renderFields({\n models,\n model,\n fields,\n type: \"manage\",\n fieldRegistry\n });\n const inputCreateFields = renderInputFields({\n models,\n model,\n fields,\n fieldRegistry\n });\n const inputUpdateFields = renderInputFields({\n models,\n model,\n fields: createUpdateFields(fields),\n fieldRegistry\n });\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry,\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"],"names":["removeFieldRequiredValidation","field","validation","v","createUpdateFields","fields","collection","createFilesTypeDefs","params","model","models","fieldRegistry","fieldTypes","renderFields","inputCreateFields","renderInputFields","inputUpdateFields","listFilterFieldsRender","renderListFilterFields","f"],"mappings":";;;AAYA,MAAMA,gCAAgC,CAACC;IACnC,IAAIA,MAAM,UAAU,EAChBA,MAAM,UAAU,GAAGA,MAAM,UAAU,CAAC,MAAM,CAACC,CAAAA,aAAcA,AAAoB,eAApBA,WAAW,IAAI;IAE5E,IAAID,MAAM,cAAc,EACpBA,MAAM,cAAc,GAAGA,MAAM,cAAc,CAAC,MAAM,CAACE,CAAAA,IAAKA,AAAW,eAAXA,EAAE,IAAI;IAElE,OAAOF;AACX;AAEA,MAAMG,qBAAqB,CAACC,SACjBA,OAAO,MAAM,CAAkB,CAACC,YAAYL;QAC/CK,WAAW,IAAI,CAACN,8BAA8B;YAAE,GAAGC,KAAK;QAAC;QACzD,OAAOK;IACX,GAAG,EAAE;AAGF,MAAMC,sBAAsB,CAACC;IAChC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,aAAa,EAAE,GAAGH;IACzC,MAAM,EAAEH,MAAM,EAAE,GAAGI;IAEnB,MAAMG,aAAaC,aAAa;QAC5BH;QACAD;QACAJ;QACA,MAAM;QACNM;IACJ;IACA,MAAMG,oBAAoBC,kBAAkB;QACxCL;QACAD;QACAJ;QACAM;IACJ;IACA,MAAMK,oBAAoBD,kBAAkB;QACxCL;QACAD;QACA,QAAQL,mBAAmBC;QAC3BM;IACJ;IACA,MAAMM,yBAAyBC,uBAAuB;QAClDT;QACA,QAAQA,MAAM,MAAM;QACpB,MAAM;QACNE;QACA,eAAe;YAAC;YAAW;SAAS;IACxC;IAEA,OAAqB,CAAC;;;;;;;;;;;;;;;;QAgBlB,EAAEC,WAAW,GAAG,CAACO,CAAAA,IAAKA,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM;;;;;;;;;;;;YAYzC,EAAEP,WAAW,GAAG,CAACO,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;;;QAG/C,EAAEL,kBAAkB,GAAG,CAACK,CAAAA,IAAKA,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM;;;;;;;;;;;;;;;;;YAiBhD,EAAEL,kBAAkB,GAAG,CAACK,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;;;;;;;;;;;YAWlD,EAAEH,kBAAkB,GAAG,CAACG,CAAAA,IAAKA,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;;;;;;;;;YASlD,EAAEF,uBAAuB,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwEtD,CAAC;AACL"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
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>;
|