@webiny/api-file-manager 6.4.12-beta.5 → 6.5.0-beta.1
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/{contants.js → constants.js} +1 -1
- package/constants.js.map +1 -0
- package/delivery/AssetDelivery/Asset.d.ts +2 -1
- package/delivery/AssetDelivery/Asset.js +4 -1
- package/delivery/AssetDelivery/Asset.js.map +1 -1
- package/delivery/AssetDelivery/AssetRequest.d.ts +4 -3
- package/delivery/AssetDelivery/AssetRequest.js +3 -0
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
- package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +2 -1
- package/delivery/AssetDelivery/abstractions/AssetReply.js +5 -0
- package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
- package/delivery/index.d.ts +3 -3
- package/delivery/index.js +0 -2
- package/delivery/setupAssetDelivery.js +4 -1
- package/delivery/setupAssetDelivery.js.map +1 -1
- package/domain/file/file.model.js +5 -1
- package/domain/file/file.model.js.map +1 -1
- package/domain/settings/validation.js +1 -1
- package/domain/settings/validation.js.map +1 -1
- package/exports/api/file-manager/assetDelivery.d.ts +18 -0
- package/exports/api/file-manager/assetDelivery.js +15 -0
- package/exports/api/file-manager/file.d.ts +1 -0
- package/exports/api/file-manager/file.js +1 -0
- package/features/FileManagerFeature.js +12 -0
- package/features/FileManagerFeature.js.map +1 -1
- package/features/assetDelivery/Asset/Asset.d.ts +8 -0
- package/features/assetDelivery/Asset/Asset.js +14 -0
- package/features/assetDelivery/Asset/Asset.js.map +1 -0
- package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
- package/features/assetDelivery/Asset/abstractions.js +5 -0
- package/features/assetDelivery/Asset/abstractions.js.map +1 -0
- package/features/assetDelivery/Asset/index.d.ts +1 -0
- package/features/assetDelivery/Asset/index.js +1 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.d.ts +8 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
- package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
- package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
- package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
- package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
- package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
- package/features/assetDelivery/AssetRequest/index.js +1 -0
- package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -7
- package/features/assetDelivery/FilesAssetRequestResolver.js +19 -15
- package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -1
- package/features/assetDelivery/NullAssetOutputStrategy.d.ts +6 -6
- package/features/assetDelivery/NullAssetOutputStrategy.js +6 -6
- package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -1
- package/features/assetDelivery/NullAssetReply.d.ts +2 -1
- package/features/assetDelivery/NullAssetReply.js +3 -0
- package/features/assetDelivery/NullAssetReply.js.map +1 -1
- package/features/assetDelivery/NullAssetResolver.d.ts +6 -6
- package/features/assetDelivery/NullAssetResolver.js +5 -5
- package/features/assetDelivery/NullAssetResolver.js.map +1 -1
- package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
- package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
- package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
- package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
- package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
- package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
- package/features/assetDelivery/ObjectKey/index.js +1 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
- package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
- package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
- package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
- package/features/assetDelivery/StreamAssetReply/index.js +1 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
- package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
- package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
- package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
- package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
- package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
- package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
- package/features/assetDelivery/abstractions/AssetType.js +5 -0
- package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
- package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
- package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
- package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
- package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
- package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
- package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
- package/features/assetDelivery/assetTypes/image/index.js +4 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
- package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
- package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
- package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
- package/features/assetDelivery/assetTypes/image/utils.js +47 -0
- package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
- package/features/assetDelivery/feature.js +25 -16
- package/features/assetDelivery/feature.js.map +1 -1
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +2 -2
- package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +3 -3
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +1 -1
- package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateCache.d.ts +3 -3
- package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +9 -8
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +15 -12
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +8 -8
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +8 -7
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
- package/features/assetDelivery/privateFiles/PublicCache.d.ts +3 -3
- package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -1
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +5 -4
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +4 -1
- package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +5 -4
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +4 -1
- package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
- package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
- package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
- package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -10
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js +13 -11
- package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
- package/features/assetDelivery/transformation/index.d.ts +5 -0
- package/features/assetDelivery/transformation/index.js +4 -0
- package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
- package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
- package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
- package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
- package/features/extractMetadata/ExtractMetadataInput.js +0 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +3 -4
- package/features/file/FileUrlGenerator/abstractions.js +1 -1
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +11 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +1 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
- package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
- package/features/file/GetFileByUrl/abstractions.js +5 -0
- package/features/file/GetFileByUrl/abstractions.js.map +1 -0
- package/features/file/GetFileByUrl/feature.d.ts +4 -0
- package/features/file/GetFileByUrl/feature.js +11 -0
- package/features/file/GetFileByUrl/feature.js.map +1 -0
- package/features/file/GetFileByUrl/index.d.ts +1 -0
- package/features/file/GetFileByUrl/index.js +1 -0
- package/features/settings/SettingsInstaller/SettingsInstaller.js +1 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
- package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CompleteMultiPartUpload/index.js +1 -0
- package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
- package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
- package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
- package/features/upload/CreateMultiPartUpload/index.js +1 -0
- package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
- package/features/upload/GetUploadPayload/abstractions.js +5 -0
- package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
- package/features/upload/GetUploadPayload/index.d.ts +1 -0
- package/features/upload/GetUploadPayload/index.js +1 -0
- package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
- package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
- package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
- package/features/upload/ReadFileMetadata/abstractions.js +5 -0
- package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
- package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
- package/features/upload/ReadFileMetadata/feature.js +11 -0
- package/features/upload/ReadFileMetadata/feature.js.map +1 -0
- package/features/upload/ReadFileMetadata/index.d.ts +1 -0
- package/features/upload/ReadFileMetadata/index.js +1 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
- package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
- package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
- package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
- package/features/upload/WriteFileMetadata/abstractions.js +5 -0
- package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
- package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
- package/features/upload/WriteFileMetadata/feature.js +17 -0
- package/features/upload/WriteFileMetadata/feature.js.map +1 -0
- package/features/upload/index.d.ts +17 -0
- package/features/upload/index.js +10 -0
- package/features/upload/types.d.ts +28 -0
- package/features/upload/types.js +0 -0
- package/features/upload/utils/FileExtension.d.ts +6 -0
- package/features/upload/utils/FileExtension.js +16 -0
- package/features/upload/utils/FileExtension.js.map +1 -0
- package/features/upload/utils/FileKey.d.ts +11 -0
- package/features/upload/utils/FileKey.js +33 -0
- package/features/upload/utils/FileKey.js.map +1 -0
- package/features/upload/utils/FileNormalizer.d.ts +13 -0
- package/features/upload/utils/FileNormalizer.js +41 -0
- package/features/upload/utils/FileNormalizer.js.map +1 -0
- package/features/upload/utils/FileUploadModifier.d.ts +30 -0
- package/features/upload/utils/FileUploadModifier.js +39 -0
- package/features/upload/utils/FileUploadModifier.js.map +1 -0
- package/features/upload/utils/checkPermissions.d.ts +5 -0
- package/features/upload/utils/checkPermissions.js +22 -0
- package/features/upload/utils/checkPermissions.js.map +1 -0
- package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
- package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
- package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
- package/features/upload/utils/mimeTypes.d.ts +1 -0
- package/features/upload/utils/mimeTypes.js +9 -0
- package/features/upload/utils/mimeTypes.js.map +1 -0
- package/graphql/FmGraphQLSchema.d.ts +25 -0
- package/graphql/FmGraphQLSchema.js +451 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
- package/graphql/FmUploadGraphQLSchema.js +231 -0
- package/graphql/FmUploadGraphQLSchema.js.map +1 -0
- package/index.d.ts +0 -3
- package/index.js +16 -17
- package/index.js.map +1 -1
- package/package.json +24 -18
- package/contants.js.map +0 -1
- package/features/assetDelivery/abstractions.d.ts +0 -54
- package/features/assetDelivery/abstractions.js +0 -11
- package/features/assetDelivery/abstractions.js.map +0 -1
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -9
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -13
- package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
- package/graphql/baseSchema.d.ts +0 -3
- package/graphql/baseSchema.js +0 -100
- package/graphql/baseSchema.js.map +0 -1
- package/graphql/createFilesTypeDefs.d.ts +0 -8
- package/graphql/createFilesTypeDefs.js +0 -191
- package/graphql/createFilesTypeDefs.js.map +0 -1
- package/graphql/filesSchema.d.ts +0 -4
- package/graphql/filesSchema.js +0 -97
- package/graphql/filesSchema.js.map +0 -1
- package/graphql/getFileByUrl.d.ts +0 -3
- package/graphql/getFileByUrl.js +0 -64
- package/graphql/getFileByUrl.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -48
- package/graphql/index.js.map +0 -1
- package/graphql/utils.d.ts +0 -11
- package/graphql/utils.js +0 -12
- package/graphql/utils.js.map +0 -1
- package/modelModifier/CmsModelModifier.d.ts +0 -26
- package/modelModifier/CmsModelModifier.js +0 -51
- package/modelModifier/CmsModelModifier.js.map +0 -1
- /package/{contants.d.ts → constants.d.ts} +0 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import p_map from "p-map";
|
|
2
|
+
import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
|
|
3
|
+
import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
|
|
4
|
+
import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
|
|
5
|
+
import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
|
|
6
|
+
import { GetUploadPayloadUseCase } from "../features/upload/GetUploadPayload/index.js";
|
|
7
|
+
import { CreateMultiPartUploadUseCase } from "../features/upload/CreateMultiPartUpload/index.js";
|
|
8
|
+
import { CompleteMultiPartUploadUseCase } from "../features/upload/CompleteMultiPartUpload/index.js";
|
|
9
|
+
import { checkPermissions } from "../features/upload/utils/checkPermissions.js";
|
|
10
|
+
import { createFileNormalizerFromContext } from "../features/upload/utils/createFileNormalizerFromContext.js";
|
|
11
|
+
class FmUploadGraphQLSchema_ {
|
|
12
|
+
async execute(builder) {
|
|
13
|
+
this.addTypeDefs(builder);
|
|
14
|
+
this.addQueryResolvers(builder);
|
|
15
|
+
this.addMutationResolvers(builder);
|
|
16
|
+
return builder;
|
|
17
|
+
}
|
|
18
|
+
addTypeDefs(builder) {
|
|
19
|
+
builder.addTypeDefs(`
|
|
20
|
+
type UploadFileResponseDataFile {
|
|
21
|
+
id: ID!
|
|
22
|
+
name: String!
|
|
23
|
+
type: String!
|
|
24
|
+
size: Long!
|
|
25
|
+
key: String!
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
input PreSignedPostPayloadInput {
|
|
29
|
+
id: ID
|
|
30
|
+
name: String!
|
|
31
|
+
type: String!
|
|
32
|
+
size: Long!
|
|
33
|
+
key: String
|
|
34
|
+
keyPrefix: String
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type GetPreSignedPostPayloadResponseDataFile {
|
|
38
|
+
id: ID!
|
|
39
|
+
name: String!
|
|
40
|
+
type: String!
|
|
41
|
+
size: Long!
|
|
42
|
+
key: String!
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type GetPreSignedPostPayloadResponseData {
|
|
46
|
+
data: JSON!
|
|
47
|
+
file: UploadFileResponseDataFile!
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
type GetPreSignedPostPayloadResponse {
|
|
51
|
+
error: FmError
|
|
52
|
+
data: GetPreSignedPostPayloadResponseData
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
type MultiPartUploadFilePart {
|
|
56
|
+
partNumber: Int!
|
|
57
|
+
url: String!
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type CreateMultiPartUploadResponseData {
|
|
61
|
+
file: GetPreSignedPostPayloadResponseDataFile!
|
|
62
|
+
uploadId: String!
|
|
63
|
+
parts: [MultiPartUploadFilePart!]!
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
type CompleteMultiPartUploadResponse {
|
|
67
|
+
data: Boolean
|
|
68
|
+
error: FmError
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
type GetPreSignedPostPayloadsResponse {
|
|
72
|
+
error: FmError
|
|
73
|
+
data: [GetPreSignedPostPayloadResponseData!]!
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
extend type FmQuery {
|
|
77
|
+
getPreSignedPostPayload(
|
|
78
|
+
data: PreSignedPostPayloadInput!
|
|
79
|
+
): GetPreSignedPostPayloadResponse
|
|
80
|
+
getPreSignedPostPayloads(
|
|
81
|
+
data: [PreSignedPostPayloadInput]!
|
|
82
|
+
): GetPreSignedPostPayloadsResponse
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type CreateMultiPartUploadResponse {
|
|
86
|
+
data: CreateMultiPartUploadResponseData
|
|
87
|
+
error: FmError
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
input MultiPartUploadFilePartInput {
|
|
91
|
+
partNumber: Int!
|
|
92
|
+
etag: String!
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
extend type FmMutation {
|
|
96
|
+
createMultiPartUpload(
|
|
97
|
+
data: PreSignedPostPayloadInput!
|
|
98
|
+
numberOfParts: Number!
|
|
99
|
+
): CreateMultiPartUploadResponse
|
|
100
|
+
|
|
101
|
+
completeMultiPartUpload(
|
|
102
|
+
fileKey: String!
|
|
103
|
+
uploadId: String!
|
|
104
|
+
): CompleteMultiPartUploadResponse
|
|
105
|
+
}
|
|
106
|
+
`);
|
|
107
|
+
}
|
|
108
|
+
addQueryResolvers(builder) {
|
|
109
|
+
builder.addResolver({
|
|
110
|
+
path: "FmQuery.getPreSignedPostPayload",
|
|
111
|
+
dependencies: [
|
|
112
|
+
IdentityContext,
|
|
113
|
+
GetSettingsUseCase,
|
|
114
|
+
GetUploadPayloadUseCase
|
|
115
|
+
],
|
|
116
|
+
resolver: (identityContext, getSettings, getUploadPayload)=>async ({ args, context })=>{
|
|
117
|
+
try {
|
|
118
|
+
await checkPermissions(identityContext, {
|
|
119
|
+
rwd: "w"
|
|
120
|
+
});
|
|
121
|
+
const data = args.data;
|
|
122
|
+
const settingsResult = await getSettings.execute();
|
|
123
|
+
if (settingsResult.isFail()) throw settingsResult.error;
|
|
124
|
+
const settings = settingsResult.value;
|
|
125
|
+
const normalizer = createFileNormalizerFromContext(context);
|
|
126
|
+
const file = await normalizer.normalizeFile(data);
|
|
127
|
+
const result = await getUploadPayload.execute(file, settings);
|
|
128
|
+
return new Response(result);
|
|
129
|
+
} catch (e) {
|
|
130
|
+
return new ErrorResponse({
|
|
131
|
+
message: e.message,
|
|
132
|
+
code: e.code,
|
|
133
|
+
data: e.data
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
builder.addResolver({
|
|
139
|
+
path: "FmQuery.getPreSignedPostPayloads",
|
|
140
|
+
dependencies: [
|
|
141
|
+
IdentityContext,
|
|
142
|
+
GetSettingsUseCase,
|
|
143
|
+
GetUploadPayloadUseCase
|
|
144
|
+
],
|
|
145
|
+
resolver: (identityContext, getSettings, getUploadPayload)=>async ({ args, context })=>{
|
|
146
|
+
try {
|
|
147
|
+
await checkPermissions(identityContext, {
|
|
148
|
+
rwd: "w"
|
|
149
|
+
});
|
|
150
|
+
const files = args.data;
|
|
151
|
+
const settingsResult = await getSettings.execute();
|
|
152
|
+
if (settingsResult.isFail()) throw settingsResult.error;
|
|
153
|
+
const settings = settingsResult.value;
|
|
154
|
+
const normalizer = createFileNormalizerFromContext(context);
|
|
155
|
+
const results = await p_map(files, async (data)=>{
|
|
156
|
+
const file = await normalizer.normalizeFile(data);
|
|
157
|
+
return getUploadPayload.execute(file, settings);
|
|
158
|
+
});
|
|
159
|
+
return new Response(results);
|
|
160
|
+
} catch (e) {
|
|
161
|
+
return new ErrorResponse({
|
|
162
|
+
message: e.message,
|
|
163
|
+
code: e.code,
|
|
164
|
+
data: e.data
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
addMutationResolvers(builder) {
|
|
171
|
+
builder.addResolver({
|
|
172
|
+
path: "FmMutation.createMultiPartUpload",
|
|
173
|
+
dependencies: [
|
|
174
|
+
IdentityContext,
|
|
175
|
+
CreateMultiPartUploadUseCase
|
|
176
|
+
],
|
|
177
|
+
resolver: (identityContext, createMultiPartUpload)=>async ({ args, context })=>{
|
|
178
|
+
try {
|
|
179
|
+
await checkPermissions(identityContext, {
|
|
180
|
+
rwd: "w"
|
|
181
|
+
});
|
|
182
|
+
const normalizer = createFileNormalizerFromContext(context);
|
|
183
|
+
const file = await normalizer.normalizeFile(args.data);
|
|
184
|
+
const result = await createMultiPartUpload.execute({
|
|
185
|
+
file,
|
|
186
|
+
numberOfParts: args.numberOfParts
|
|
187
|
+
});
|
|
188
|
+
return new Response(result);
|
|
189
|
+
} catch (e) {
|
|
190
|
+
return new ErrorResponse({
|
|
191
|
+
message: e.message,
|
|
192
|
+
code: e.code,
|
|
193
|
+
data: e.data
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
builder.addResolver({
|
|
199
|
+
path: "FmMutation.completeMultiPartUpload",
|
|
200
|
+
dependencies: [
|
|
201
|
+
IdentityContext,
|
|
202
|
+
CompleteMultiPartUploadUseCase
|
|
203
|
+
],
|
|
204
|
+
resolver: (identityContext, completeMultiPartUpload)=>async ({ args })=>{
|
|
205
|
+
try {
|
|
206
|
+
await checkPermissions(identityContext, {
|
|
207
|
+
rwd: "w"
|
|
208
|
+
});
|
|
209
|
+
await completeMultiPartUpload.execute({
|
|
210
|
+
fileKey: args.fileKey,
|
|
211
|
+
uploadId: args.uploadId
|
|
212
|
+
});
|
|
213
|
+
return new Response(true);
|
|
214
|
+
} catch (e) {
|
|
215
|
+
return new ErrorResponse({
|
|
216
|
+
message: e.message,
|
|
217
|
+
code: e.code,
|
|
218
|
+
data: e.data
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const FmUploadGraphQLSchema = GraphQLSchemaFactory.createImplementation({
|
|
226
|
+
implementation: FmUploadGraphQLSchema_,
|
|
227
|
+
dependencies: []
|
|
228
|
+
});
|
|
229
|
+
export { FmUploadGraphQLSchema };
|
|
230
|
+
|
|
231
|
+
//# sourceMappingURL=FmUploadGraphQLSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/FmUploadGraphQLSchema.js","sources":["../../src/graphql/FmUploadGraphQLSchema.ts"],"sourcesContent":["import pMap from \"p-map\";\nimport { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { Response } from \"@webiny/handler-graphql/responses.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { GetUploadPayloadUseCase } from \"~/features/upload/GetUploadPayload/index.js\";\nimport { CreateMultiPartUploadUseCase } from \"~/features/upload/CreateMultiPartUpload/index.js\";\nimport { CompleteMultiPartUploadUseCase } from \"~/features/upload/CompleteMultiPartUpload/index.js\";\nimport { checkPermissions } from \"~/features/upload/utils/checkPermissions.js\";\nimport { createFileNormalizerFromContext } from \"~/features/upload/utils/createFileNormalizerFromContext.js\";\nimport type { PresignedPostPayloadData } from \"~/features/upload/types.js\";\n\nclass FmUploadGraphQLSchema_ implements GraphQLSchemaFactory.Interface {\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n this.addTypeDefs(builder);\n this.addQueryResolvers(builder);\n this.addMutationResolvers(builder);\n return builder;\n }\n\n private addTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addTypeDefs(/* GraphQL */ `\n type UploadFileResponseDataFile {\n id: ID!\n name: String!\n type: String!\n size: Long!\n key: String!\n }\n\n input PreSignedPostPayloadInput {\n id: ID\n name: String!\n type: String!\n size: Long!\n key: String\n keyPrefix: String\n }\n\n type GetPreSignedPostPayloadResponseDataFile {\n id: ID!\n name: String!\n type: String!\n size: Long!\n key: String!\n }\n\n type GetPreSignedPostPayloadResponseData {\n data: JSON!\n file: UploadFileResponseDataFile!\n }\n\n type GetPreSignedPostPayloadResponse {\n error: FmError\n data: GetPreSignedPostPayloadResponseData\n }\n\n type MultiPartUploadFilePart {\n partNumber: Int!\n url: String!\n }\n\n type CreateMultiPartUploadResponseData {\n file: GetPreSignedPostPayloadResponseDataFile!\n uploadId: String!\n parts: [MultiPartUploadFilePart!]!\n }\n\n type CompleteMultiPartUploadResponse {\n data: Boolean\n error: FmError\n }\n\n type GetPreSignedPostPayloadsResponse {\n error: FmError\n data: [GetPreSignedPostPayloadResponseData!]!\n }\n\n extend type FmQuery {\n getPreSignedPostPayload(\n data: PreSignedPostPayloadInput!\n ): GetPreSignedPostPayloadResponse\n getPreSignedPostPayloads(\n data: [PreSignedPostPayloadInput]!\n ): GetPreSignedPostPayloadsResponse\n }\n\n type CreateMultiPartUploadResponse {\n data: CreateMultiPartUploadResponseData\n error: FmError\n }\n\n input MultiPartUploadFilePartInput {\n partNumber: Int!\n etag: String!\n }\n\n extend type FmMutation {\n createMultiPartUpload(\n data: PreSignedPostPayloadInput!\n numberOfParts: Number!\n ): CreateMultiPartUploadResponse\n\n completeMultiPartUpload(\n fileKey: String!\n uploadId: String!\n ): CompleteMultiPartUploadResponse\n }\n `);\n }\n\n private addQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmQuery.getPreSignedPostPayload\",\n dependencies: [IdentityContext, GetSettingsUseCase, GetUploadPayloadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getSettings: GetSettingsUseCase.Interface,\n getUploadPayload: GetUploadPayloadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const data = args.data as PresignedPostPayloadData;\n const settingsResult = await getSettings.execute();\n if (settingsResult.isFail()) {\n throw settingsResult.error;\n }\n const settings = settingsResult.value;\n\n const normalizer = createFileNormalizerFromContext(context);\n const file = await normalizer.normalizeFile(data);\n\n const result = await getUploadPayload.execute(file, settings);\n return new Response(result);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.getPreSignedPostPayloads\",\n dependencies: [IdentityContext, GetSettingsUseCase, GetUploadPayloadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getSettings: GetSettingsUseCase.Interface,\n getUploadPayload: GetUploadPayloadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const files = args.data as PresignedPostPayloadData[];\n const settingsResult = await getSettings.execute();\n if (settingsResult.isFail()) {\n throw settingsResult.error;\n }\n const settings = settingsResult.value;\n\n const normalizer = createFileNormalizerFromContext(context);\n\n const results = await pMap(files, async data => {\n const file = await normalizer.normalizeFile(data);\n return getUploadPayload.execute(file, settings);\n });\n\n return new Response(results);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n }\n\n private addMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmMutation.createMultiPartUpload\",\n dependencies: [IdentityContext, CreateMultiPartUploadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n createMultiPartUpload: CreateMultiPartUploadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const normalizer = createFileNormalizerFromContext(context);\n const file = await normalizer.normalizeFile(args.data);\n\n const result = await createMultiPartUpload.execute({\n file,\n numberOfParts: args.numberOfParts\n });\n\n return new Response(result);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.completeMultiPartUpload\",\n dependencies: [IdentityContext, CompleteMultiPartUploadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n completeMultiPartUpload: CompleteMultiPartUploadUseCase.Interface\n ) => {\n return async ({ args }: { args: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n await completeMultiPartUpload.execute({\n fileKey: args.fileKey,\n uploadId: args.uploadId\n });\n\n return new Response(true);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n }\n}\n\nexport const FmUploadGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: FmUploadGraphQLSchema_,\n dependencies: []\n});\n"],"names":["FmUploadGraphQLSchema_","builder","IdentityContext","GetSettingsUseCase","GetUploadPayloadUseCase","identityContext","getSettings","getUploadPayload","args","context","checkPermissions","data","settingsResult","settings","normalizer","createFileNormalizerFromContext","file","result","Response","e","ErrorResponse","files","results","pMap","CreateMultiPartUploadUseCase","createMultiPartUpload","CompleteMultiPartUploadUseCase","completeMultiPartUpload","FmUploadGraphQLSchema","GraphQLSchemaFactory"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
2
|
import { ContextPlugin } from "@webiny/api";
|
|
3
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
4
|
-
export * from "./delivery/index.js";
|
|
5
3
|
export declare const createFileManagerContext: () => (ContextPlugin<ApiCoreContext> | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
|
|
6
|
-
export declare const createFileManagerGraphQL: () => (import("@webiny/handler-graphql/index.js").GraphQLSchemaPlugin<ApiCoreContext> | ContextPlugin<ApiCoreContext>)[];
|
|
7
4
|
export declare const createAssetDelivery: () => (import("@webiny/handler").ModifyFastifyPlugin | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
|
package/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ContextPlugin } from "@webiny/api";
|
|
2
2
|
import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
|
|
3
|
-
import { createGraphQLSchemaPlugin } from "./graphql/index.js";
|
|
4
3
|
import { FileManagerFeature } from "./features/FileManagerFeature.js";
|
|
5
4
|
import { FmPermissionsFeature } from "./features/permissions/feature.js";
|
|
6
5
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
@@ -9,37 +8,37 @@ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/i
|
|
|
9
8
|
import { FILE_MODEL_ID, FileModel as file_model_js_FileModel } from "./domain/file/file.model.js";
|
|
10
9
|
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
11
10
|
import { AssetDeliveryFeature } from "./features/assetDelivery/feature.js";
|
|
12
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
13
|
-
export * from "./delivery/index.js";
|
|
14
11
|
const createFileManagerContext = ()=>{
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
12
|
+
const extensionPlugin = createRegisterExtensionPlugin((context)=>{
|
|
13
|
+
const container = context.container;
|
|
14
|
+
container.register(file_model_js_FileModel);
|
|
15
|
+
FmPermissionsFeature.register(container);
|
|
16
|
+
FileManagerFeature.register(container);
|
|
17
|
+
});
|
|
18
|
+
extensionPlugin.name = "file-manager.extension";
|
|
19
|
+
const contextPlugin = new ContextPlugin(async (context)=>{
|
|
20
|
+
const container = context.container;
|
|
21
|
+
const tenantContext = container.resolve(TenantContext);
|
|
22
|
+
const getModel = container.resolve(GetModelUseCase);
|
|
18
23
|
if (!tenantContext.getTenant()) return;
|
|
19
24
|
await context.security.withoutAuthorization(async ()=>{
|
|
20
25
|
const fileModel = await getModel.execute(FILE_MODEL_ID);
|
|
21
26
|
if (fileModel.isFail()) throw fileModel.error;
|
|
22
|
-
|
|
27
|
+
container.registerInstance(FileModel, fileModel.value);
|
|
23
28
|
});
|
|
24
|
-
FmPermissionsFeature.register(context.container);
|
|
25
|
-
FileManagerFeature.register(context.container);
|
|
26
|
-
});
|
|
27
|
-
fileManagerContextPlugin.name = "file-manager.createContext";
|
|
28
|
-
const modelsPlugin = createRegisterExtensionPlugin((context)=>{
|
|
29
|
-
context.container.register(file_model_js_FileModel);
|
|
30
29
|
});
|
|
30
|
+
contextPlugin.name = "file-manager.createContext";
|
|
31
31
|
return [
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
extensionPlugin,
|
|
33
|
+
contextPlugin
|
|
34
34
|
];
|
|
35
35
|
};
|
|
36
|
-
const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
|
|
37
36
|
const createAssetDelivery = ()=>[
|
|
38
37
|
createRegisterExtensionPlugin((context)=>{
|
|
39
38
|
AssetDeliveryFeature.register(context.container);
|
|
40
39
|
}),
|
|
41
40
|
...setupAssetDelivery()
|
|
42
41
|
];
|
|
43
|
-
export { createAssetDelivery, createFileManagerContext
|
|
42
|
+
export { createAssetDelivery, createFileManagerContext };
|
|
44
43
|
|
|
45
44
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { FileManagerFeature } from \"~/features/FileManagerFeature.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FileModel as FileModelAbstraction } from \"~/domain/file/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { FILE_MODEL_ID, FileModel } from \"~/domain/file/file.model.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport const createFileManagerContext = () => {\n const extensionPlugin = createRegisterExtensionPlugin(context => {\n const container = context.container;\n container.register(FileModel);\n FmPermissionsFeature.register(container);\n FileManagerFeature.register(container);\n });\n extensionPlugin.name = \"file-manager.extension\";\n\n const contextPlugin = new ContextPlugin<ApiCoreContext>(async context => {\n const container = context.container;\n const tenantContext = container.resolve(TenantContext);\n const getModel = container.resolve(GetModelUseCase);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n await context.security.withoutAuthorization(async () => {\n const fileModel = await getModel.execute(FILE_MODEL_ID);\n if (fileModel.isFail()) {\n throw fileModel.error;\n }\n container.registerInstance(FileModelAbstraction, fileModel.value);\n });\n });\n contextPlugin.name = \"file-manager.createContext\";\n\n return [extensionPlugin, contextPlugin];\n};\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n"],"names":["createFileManagerContext","extensionPlugin","createRegisterExtensionPlugin","context","container","FileModel","FmPermissionsFeature","FileManagerFeature","contextPlugin","ContextPlugin","tenantContext","TenantContext","getModel","GetModelUseCase","fileModel","FILE_MODEL_ID","FileModelAbstraction","createAssetDelivery","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;;;;;;;AAYO,MAAMA,2BAA2B;IACpC,MAAMC,kBAAkBC,8BAA8BC,CAAAA;QAClD,MAAMC,YAAYD,QAAQ,SAAS;QACnCC,UAAU,QAAQ,CAACC;QACnBC,qBAAqB,QAAQ,CAACF;QAC9BG,mBAAmB,QAAQ,CAACH;IAChC;IACAH,gBAAgB,IAAI,GAAG;IAEvB,MAAMO,gBAAgB,IAAIC,cAA8B,OAAMN;QAC1D,MAAMC,YAAYD,QAAQ,SAAS;QACnC,MAAMO,gBAAgBN,UAAU,OAAO,CAACO;QACxC,MAAMC,WAAWR,UAAU,OAAO,CAACS;QAEnC,IAAI,CAACH,cAAc,SAAS,IACxB;QAGJ,MAAMP,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;YACxC,MAAMW,YAAY,MAAMF,SAAS,OAAO,CAACG;YACzC,IAAID,UAAU,MAAM,IAChB,MAAMA,UAAU,KAAK;YAEzBV,UAAU,gBAAgB,CAACY,WAAsBF,UAAU,KAAK;QACpE;IACJ;IACAN,cAAc,IAAI,GAAG;IAErB,OAAO;QAACP;QAAiBO;KAAc;AAC3C;AAEO,MAAMS,sBAAsB,IACxB;QACHf,8BAA8BC,CAAAA;YAC1Be,qBAAqB,QAAQ,CAACf,QAAQ,SAAS;QACnD;WACGgB;KACN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-file-manager",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.5.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -22,28 +22,34 @@
|
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webiny/api": "6.
|
|
26
|
-
"@webiny/api-core": "6.
|
|
27
|
-
"@webiny/api-headless-cms": "6.
|
|
28
|
-
"@webiny/background-tasks": "6.
|
|
29
|
-
"@webiny/build-tools": "6.
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
32
|
-
"@webiny/
|
|
33
|
-
"@webiny/handler
|
|
34
|
-
"@webiny/
|
|
35
|
-
"@webiny/
|
|
25
|
+
"@webiny/api": "6.5.0-beta.1",
|
|
26
|
+
"@webiny/api-core": "6.5.0-beta.1",
|
|
27
|
+
"@webiny/api-headless-cms": "6.5.0-beta.1",
|
|
28
|
+
"@webiny/background-tasks": "6.5.0-beta.1",
|
|
29
|
+
"@webiny/build-tools": "6.5.0-beta.1",
|
|
30
|
+
"@webiny/di": "1.0.2",
|
|
31
|
+
"@webiny/error": "6.5.0-beta.1",
|
|
32
|
+
"@webiny/feature": "6.5.0-beta.1",
|
|
33
|
+
"@webiny/handler": "6.5.0-beta.1",
|
|
34
|
+
"@webiny/handler-graphql": "6.5.0-beta.1",
|
|
35
|
+
"@webiny/plugins": "6.5.0-beta.1",
|
|
36
|
+
"@webiny/utils": "6.5.0-beta.1",
|
|
37
|
+
"@webiny/wcp": "6.5.0-beta.1",
|
|
36
38
|
"cache-control-parser": "2.2.0",
|
|
37
|
-
"
|
|
39
|
+
"mime": "4.1.0",
|
|
40
|
+
"object-hash": "3.0.0",
|
|
41
|
+
"p-map": "7.0.6",
|
|
42
|
+
"p-reduce": "3.0.0",
|
|
43
|
+
"sanitize-filename": "1.6.4",
|
|
44
|
+
"zod": "4.4.3"
|
|
38
45
|
},
|
|
39
46
|
"devDependencies": {
|
|
40
47
|
"@types/object-hash": "3.0.6",
|
|
41
|
-
"@webiny/handler-aws": "6.
|
|
42
|
-
"@webiny/project-utils": "6.
|
|
43
|
-
"@webiny/
|
|
44
|
-
"@webiny/wcp": "6.4.12-beta.5",
|
|
48
|
+
"@webiny/handler-aws": "6.5.0-beta.1",
|
|
49
|
+
"@webiny/project-utils": "6.5.0-beta.1",
|
|
50
|
+
"@webiny/wcp": "6.5.0-beta.1",
|
|
45
51
|
"rimraf": "6.1.3",
|
|
46
|
-
"typescript": "
|
|
52
|
+
"typescript": "7.0.2"
|
|
47
53
|
},
|
|
48
54
|
"publishConfig": {
|
|
49
55
|
"access": "public"
|
package/contants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contants.js","sources":["../src/contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"names":["ROOT_FOLDER"],"mappings":"AAAO,MAAMA,cAAc"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { Request } from "@webiny/handler/types.js";
|
|
2
|
-
import type { AssetRequest } from "../../delivery/AssetDelivery/AssetRequest.js";
|
|
3
|
-
import type { Asset } from "../../delivery/AssetDelivery/Asset.js";
|
|
4
|
-
import type { AssetReply } from "../../delivery/AssetDelivery/abstractions/AssetReply.js";
|
|
5
|
-
import type { File } from "../../domain/file/types.js";
|
|
6
|
-
export interface IAssetRequestResolver {
|
|
7
|
-
resolve(request: Request): Promise<AssetRequest | undefined>;
|
|
8
|
-
}
|
|
9
|
-
export interface IAssetResolver {
|
|
10
|
-
resolve(request: AssetRequest): Promise<Asset | undefined>;
|
|
11
|
-
}
|
|
12
|
-
export interface IAssetProcessor {
|
|
13
|
-
process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
14
|
-
}
|
|
15
|
-
export interface IAssetOutputStrategy {
|
|
16
|
-
output(asset: Asset): Promise<AssetReply>;
|
|
17
|
-
}
|
|
18
|
-
export interface IAssetTransformationStrategy {
|
|
19
|
-
transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
20
|
-
}
|
|
21
|
-
export interface IAssetContentsReader {
|
|
22
|
-
read(asset: Asset): Promise<Buffer>;
|
|
23
|
-
}
|
|
24
|
-
export interface IAssetAuthorizer {
|
|
25
|
-
authorize(file: File): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
export declare const AssetRequestResolver: import("@webiny/di").Abstraction<IAssetRequestResolver>;
|
|
28
|
-
export declare const AssetResolver: import("@webiny/di").Abstraction<IAssetResolver>;
|
|
29
|
-
export declare const AssetProcessor: import("@webiny/di").Abstraction<IAssetProcessor>;
|
|
30
|
-
export declare const AssetOutputStrategy: import("@webiny/di").Abstraction<IAssetOutputStrategy>;
|
|
31
|
-
export declare const AssetTransformationStrategy: import("@webiny/di").Abstraction<IAssetTransformationStrategy>;
|
|
32
|
-
export declare const AssetContentsReader: import("@webiny/di").Abstraction<IAssetContentsReader>;
|
|
33
|
-
export declare const AssetAuthorizer: import("@webiny/di").Abstraction<IAssetAuthorizer>;
|
|
34
|
-
export declare namespace AssetRequestResolver {
|
|
35
|
-
type Interface = IAssetRequestResolver;
|
|
36
|
-
}
|
|
37
|
-
export declare namespace AssetResolver {
|
|
38
|
-
type Interface = IAssetResolver;
|
|
39
|
-
}
|
|
40
|
-
export declare namespace AssetProcessor {
|
|
41
|
-
type Interface = IAssetProcessor;
|
|
42
|
-
}
|
|
43
|
-
export declare namespace AssetOutputStrategy {
|
|
44
|
-
type Interface = IAssetOutputStrategy;
|
|
45
|
-
}
|
|
46
|
-
export declare namespace AssetTransformationStrategy {
|
|
47
|
-
type Interface = IAssetTransformationStrategy;
|
|
48
|
-
}
|
|
49
|
-
export declare namespace AssetContentsReader {
|
|
50
|
-
type Interface = IAssetContentsReader;
|
|
51
|
-
}
|
|
52
|
-
export declare namespace AssetAuthorizer {
|
|
53
|
-
type Interface = IAssetAuthorizer;
|
|
54
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
-
const AssetRequestResolver = createAbstraction("AssetDelivery/AssetRequestResolver");
|
|
3
|
-
const AssetResolver = createAbstraction("AssetDelivery/AssetResolver");
|
|
4
|
-
const AssetProcessor = createAbstraction("AssetDelivery/AssetProcessor");
|
|
5
|
-
const AssetOutputStrategy = createAbstraction("AssetDelivery/AssetOutputStrategy");
|
|
6
|
-
const AssetTransformationStrategy = createAbstraction("AssetDelivery/AssetTransformationStrategy");
|
|
7
|
-
const AssetContentsReader = createAbstraction("AssetDelivery/AssetContentsReader");
|
|
8
|
-
const AssetAuthorizer = createAbstraction("AssetDelivery/AssetAuthorizer");
|
|
9
|
-
export { AssetAuthorizer, AssetContentsReader, AssetOutputStrategy, AssetProcessor, AssetRequestResolver, AssetResolver, AssetTransformationStrategy };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/assetDelivery/abstractions.js","sources":["../../../src/features/assetDelivery/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport interface IAssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n\nexport interface IAssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n\nexport interface IAssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n\nexport interface IAssetOutputStrategy {\n output(asset: Asset): Promise<AssetReply>;\n}\n\nexport interface IAssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n\nexport interface IAssetContentsReader {\n read(asset: Asset): Promise<Buffer>;\n}\n\nexport interface IAssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n\nexport const AssetRequestResolver = createAbstraction<IAssetRequestResolver>(\n \"AssetDelivery/AssetRequestResolver\"\n);\n\nexport const AssetResolver = createAbstraction<IAssetResolver>(\"AssetDelivery/AssetResolver\");\n\nexport const AssetProcessor = createAbstraction<IAssetProcessor>(\"AssetDelivery/AssetProcessor\");\n\nexport const AssetOutputStrategy = createAbstraction<IAssetOutputStrategy>(\n \"AssetDelivery/AssetOutputStrategy\"\n);\n\nexport const AssetTransformationStrategy = createAbstraction<IAssetTransformationStrategy>(\n \"AssetDelivery/AssetTransformationStrategy\"\n);\n\nexport const AssetContentsReader = createAbstraction<IAssetContentsReader>(\n \"AssetDelivery/AssetContentsReader\"\n);\n\nexport const AssetAuthorizer = createAbstraction<IAssetAuthorizer>(\"AssetDelivery/AssetAuthorizer\");\n\nexport namespace AssetRequestResolver {\n export type Interface = IAssetRequestResolver;\n}\n\nexport namespace AssetResolver {\n export type Interface = IAssetResolver;\n}\n\nexport namespace AssetProcessor {\n export type Interface = IAssetProcessor;\n}\n\nexport namespace AssetOutputStrategy {\n export type Interface = IAssetOutputStrategy;\n}\n\nexport namespace AssetTransformationStrategy {\n export type Interface = IAssetTransformationStrategy;\n}\n\nexport namespace AssetContentsReader {\n export type Interface = IAssetContentsReader;\n}\n\nexport namespace AssetAuthorizer {\n export type Interface = IAssetAuthorizer;\n}\n"],"names":["AssetRequestResolver","createAbstraction","AssetResolver","AssetProcessor","AssetOutputStrategy","AssetTransformationStrategy","AssetContentsReader","AssetAuthorizer"],"mappings":";AAmCO,MAAMA,uBAAuBC,kBAChC;AAGG,MAAMC,gBAAgBD,kBAAkC;AAExD,MAAME,iBAAiBF,kBAAmC;AAE1D,MAAMG,sBAAsBH,kBAC/B;AAGG,MAAMI,8BAA8BJ,kBACvC;AAGG,MAAMK,sBAAsBL,kBAC/B;AAGG,MAAMM,kBAAkBN,kBAAoC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
|
|
2
|
-
import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
|
|
3
|
-
import { type IAssetTransformationStrategy } from "../abstractions.js";
|
|
4
|
-
export declare class PassthroughAssetTransformationStrategy implements IAssetTransformationStrategy {
|
|
5
|
-
transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
|
|
6
|
-
}
|
|
7
|
-
export declare const PassthroughAssetTransformationStrategyImpl: typeof PassthroughAssetTransformationStrategy & {
|
|
8
|
-
__abstraction: import("@webiny/di").Abstraction<IAssetTransformationStrategy>;
|
|
9
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AssetTransformationStrategy } from "../abstractions.js";
|
|
2
|
-
class PassthroughAssetTransformationStrategy {
|
|
3
|
-
transform(assetRequest, asset) {
|
|
4
|
-
return Promise.resolve(asset);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
const PassthroughAssetTransformationStrategyImpl = AssetTransformationStrategy.createImplementation({
|
|
8
|
-
implementation: PassthroughAssetTransformationStrategy,
|
|
9
|
-
dependencies: []
|
|
10
|
-
});
|
|
11
|
-
export { PassthroughAssetTransformationStrategy, PassthroughAssetTransformationStrategyImpl };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=PassthroughAssetTransformationStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js","sources":["../../../../src/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { AssetTransformationStrategy, type IAssetTransformationStrategy } from \"../abstractions.js\";\n\nexport class PassthroughAssetTransformationStrategy implements IAssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n\nexport const PassthroughAssetTransformationStrategyImpl =\n AssetTransformationStrategy.createImplementation({\n implementation: PassthroughAssetTransformationStrategy,\n dependencies: []\n });\n"],"names":["PassthroughAssetTransformationStrategy","assetRequest","asset","Promise","PassthroughAssetTransformationStrategyImpl","AssetTransformationStrategy"],"mappings":";AAIO,MAAMA;IACT,UAAUC,YAA0B,EAAEC,KAAY,EAAkB;QAChE,OAAOC,QAAQ,OAAO,CAACD;IAC3B;AACJ;AAEO,MAAME,6CACTC,4BAA4B,oBAAoB,CAAC;IAC7C,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
|
package/graphql/baseSchema.d.ts
DELETED
package/graphql/baseSchema.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|