@webiny/api-file-manager 0.0.0-unstable.7be00a75a9 → 0.0.0-unstable.7c2def32a7
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/FileManagerAppFeature.d.ts +5 -0
- package/FileManagerAppFeature.js +21 -0
- package/FileManagerAppFeature.js.map +1 -0
- package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
- package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
- package/delivery/AssetDeliveryRoute.d.ts +24 -0
- package/delivery/AssetDeliveryRoute.js +69 -0
- package/delivery/AssetDeliveryRoute.js.map +1 -0
- package/delivery/setupAssetDelivery.d.ts +1 -1
- package/delivery/setupAssetDelivery.js +1 -66
- package/delivery/setupAssetDelivery.js.map +1 -1
- package/domain/file/abstractions.d.ts +13 -5
- package/domain/file/abstractions.js +2 -2
- package/domain/file/abstractions.js.map +1 -1
- package/domain/file/file.model.d.ts +3 -3
- package/domain/file/file.model.js +12 -7
- package/domain/file/file.model.js.map +1 -1
- package/domain/settings/validation.js +3 -10
- package/domain/settings/validation.js.map +1 -1
- package/exports/api/file-manager/assetDelivery.d.ts +10 -0
- package/exports/api/file-manager/assetDelivery.js +8 -0
- package/exports/api/file-manager/file.d.ts +2 -1
- package/exports/api/file-manager/file.js +2 -1
- package/features/FileManagerFeature.js +6 -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/FilesAssetRequestResolver.js +2 -2
- package/features/assetDelivery/FilesAssetRequestResolver.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/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/abstractions.d.ts +23 -12
- package/features/assetDelivery/abstractions.js.map +1 -1
- 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/SharpTransformer.d.ts +18 -0
- package/features/assetDelivery/assetTypes/image/SharpTransformer.js +47 -0
- package/features/assetDelivery/assetTypes/image/SharpTransformer.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 +13 -7
- package/features/assetDelivery/feature.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +2 -2
- package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
- package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.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 +4 -6
- 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/CreateFile/CreateFileRepository.d.ts +3 -3
- package/features/file/CreateFile/CreateFileRepository.js +6 -5
- package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
- package/features/file/DeleteFile/DeleteFileRepository.d.ts +3 -3
- package/features/file/DeleteFile/DeleteFileRepository.js +6 -5
- package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
- package/features/file/FileModelProvider.d.ts +31 -0
- package/features/file/FileModelProvider.js +22 -0
- package/features/file/FileModelProvider.js.map +1 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +12 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js +19 -0
- package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.d.ts +13 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js +29 -0
- package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js.map +1 -0
- package/features/file/FileUrlGenerator/abstractions.d.ts +15 -4
- package/features/file/FileUrlGenerator/abstractions.js +3 -2
- package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
- package/features/file/FileUrlGenerator/feature.d.ts +4 -0
- package/features/file/FileUrlGenerator/feature.js +13 -0
- package/features/file/FileUrlGenerator/feature.js.map +1 -0
- package/features/file/FileUrlGenerator/index.d.ts +2 -0
- package/features/file/FileUrlGenerator/index.js +1 -0
- package/features/file/GetFile/GetFileRepository.d.ts +3 -3
- package/features/file/GetFile/GetFileRepository.js +6 -5
- package/features/file/GetFile/GetFileRepository.js.map +1 -1
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
- package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
- package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
- package/features/file/GetFileByUrl/abstractions.js +5 -0
- package/features/file/GetFileByUrl/abstractions.js.map +1 -0
- package/features/file/GetFileByUrl/feature.d.ts +4 -0
- package/features/file/GetFileByUrl/feature.js +11 -0
- package/features/file/GetFileByUrl/feature.js.map +1 -0
- package/features/file/GetFileByUrl/index.d.ts +1 -0
- package/features/file/GetFileByUrl/index.js +1 -0
- package/features/file/ListFiles/ListFilesRepository.d.ts +3 -3
- package/features/file/ListFiles/ListFilesRepository.js +8 -7
- package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +15 -5
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +21 -7
- package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
- package/features/file/ListTags/ListTagsRepository.d.ts +3 -3
- package/features/file/ListTags/ListTagsRepository.js +7 -6
- package/features/file/ListTags/ListTagsRepository.js.map +1 -1
- package/features/file/UpdateFile/UpdateFileRepository.d.ts +3 -3
- package/features/file/UpdateFile/UpdateFileRepository.js +6 -5
- package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
- package/features/settings/SettingsInstaller/SettingsInstaller.js +1 -4
- package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +3 -1
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +10 -2
- package/features/settings/UpdateSettings/UpdateSettingsUseCase.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 +24 -0
- package/graphql/FmGraphQLSchema.js +459 -0
- package/graphql/FmGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -6
- package/index.js +3 -32
- package/index.js.map +1 -1
- package/package.json +23 -17
- package/types.d.ts +1 -1
- package/types.js +1 -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 -96
- package/graphql/filesSchema.js.map +0 -1
- package/graphql/getFileByUrl.d.ts +0 -3
- package/graphql/getFileByUrl.js +0 -61
- package/graphql/getFileByUrl.js.map +0 -1
- package/graphql/index.d.ts +0 -4
- package/graphql/index.js +0 -47
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/FmGraphQLSchema.js","sources":["../../src/graphql/FmGraphQLSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { createModelSchemaKey } from \"@webiny/api-headless-cms/utils/createModelSchemaKey.js\";\nimport { ErrorResponse } from \"@webiny/api-graphql\";\nimport { ListResponse } from \"@webiny/api-graphql\";\nimport { NotFoundResponse } from \"@webiny/api-graphql\";\nimport { Response } from \"@webiny/api-graphql\";\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 { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/abstractions.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\nimport { ListTagsUseCase } from \"~/features/file/ListTags/abstractions.js\";\nimport { CreateFileUseCase } from \"~/features/file/CreateFile/abstractions.js\";\nimport { CreateFilesInBatchUseCase } from \"~/features/file/CreateFilesInBatch/abstractions.js\";\nimport { UpdateFileUseCase } from \"~/features/file/UpdateFile/abstractions.js\";\nimport { DeleteFileUseCase } from \"~/features/file/DeleteFile/abstractions.js\";\nimport { GetFileByUrlUseCase } from \"~/features/file/GetFileByUrl/abstractions.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { FileUrlGenerator } from \"~/features/file/FileUrlGenerator/abstractions.js\";\nimport { FileModelProvider } from \"~/domain/file/abstractions.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\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\nclass FmGraphQLSchema_ implements GraphQLSchemaFactory.Interface {\n public constructor(\n private readonly identityContext: IdentityContext.Interface,\n private readonly listModelsUseCase: ListModelsUseCase.Interface,\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface,\n private readonly fileModelProvider: FileModelProvider.Interface\n ) {}\n\n public async getSchemaKey(): Promise<string> {\n const models = await this.loadModels();\n const fileModel = await this.fileModelProvider.get();\n const modelKey = createModelSchemaKey([fileModel], models);\n return `FileManager:${modelKey}`;\n }\n\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n this.addBaseTypeDefs(builder);\n await this.addFileTypeDefs(builder);\n this.addSettingsResolvers(builder);\n this.addFileQueryResolvers(builder);\n this.addFileMutationResolvers(builder);\n\n return builder;\n }\n\n private addBaseTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addTypeDefs(/* 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 FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\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\n builder.addResolver({\n path: \"Query.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n\n builder.addResolver({\n path: \"Mutation.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n }\n\n private async addFileTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<void> {\n const models = await this.loadModels();\n const fileModel = await this.fileModelProvider.get();\n const { fields } = fileModel;\n\n const fieldTypes = renderFields({\n models,\n model: fileModel,\n fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry\n });\n\n const inputCreateFields = renderInputFields({\n models,\n model: fileModel,\n fields,\n fieldRegistry: this.fieldRegistry\n });\n\n const inputUpdateFields = renderInputFields({\n models,\n model: fileModel,\n fields: createUpdateFields(fields),\n fieldRegistry: this.fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model: fileModel,\n fields: fileModel.fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry,\n excludeFields: [\"entryId\", \"status\"]\n });\n\n builder.addTypeDefs(/* 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 getFileByUrl(url: String!): 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\n private addSettingsResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmQuery.getSettings\",\n dependencies: [GetSettingsUseCase],\n resolver: (getSettings: GetSettingsUseCase.Interface) => {\n return async () => {\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 });\n\n builder.addResolver({\n path: \"FmMutation.updateSettings\",\n dependencies: [UpdateSettingsUseCase],\n resolver: (updateSettings: UpdateSettingsUseCase.Interface) => {\n return async ({ args }) => {\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\n private addFileQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmFile.src\",\n dependencies: [FileUrlGenerator],\n resolver: (urlGenerator: FileUrlGenerator.Interface) => {\n return ({ parent }) => {\n return urlGenerator.generateUrl(parent);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.getFileModel\",\n dependencies: [FileModelProvider],\n resolver: (fileModelProvider: FileModelProvider.Interface) => {\n return async () => {\n return new Response(await fileModelProvider.get());\n };\n }\n });\n\n builder.addResolver<{ id: string }>({\n path: \"FmQuery.getFile\",\n dependencies: [GetFileUseCase],\n resolver: (getFile: GetFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listFiles\",\n dependencies: [ListFilesUseCase],\n resolver: (listFiles: ListFilesUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listFiles.execute(args);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new ListResponse(result.value.items, result.value.meta);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listTags\",\n dependencies: [ListTagsUseCase],\n resolver: (listTags: ListTagsUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listTags.execute(args || {});\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver<{ url: string }>({\n path: \"FmQuery.getFileByUrl\",\n dependencies: [GetFileByUrlUseCase],\n resolver: (getFileByUrl: GetFileByUrlUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFileByUrl.execute(args.url);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n if (!result.value) {\n return new NotFoundResponse(\"File not found!\");\n }\n\n return new Response(result.value);\n };\n }\n });\n }\n\n private addFileMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmMutation.createFile\",\n dependencies: [CreateFileUseCase],\n resolver: (createFile: CreateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFile.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.createFiles\",\n dependencies: [CreateFilesInBatchUseCase],\n resolver: (createFilesInBatch: CreateFilesInBatchUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFilesInBatch.execute({\n files: args.data,\n meta: args.meta\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.updateFile\",\n dependencies: [UpdateFileUseCase],\n resolver: (updateFile: UpdateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await updateFile.execute({\n id: args.id,\n ...args.data\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.deleteFile\",\n dependencies: [DeleteFileUseCase],\n resolver: (deleteFile: DeleteFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await deleteFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n }\n\n private async loadModels() {\n const modelsResult = await this.identityContext.withoutAuthorization(() => {\n return this.listModelsUseCase.execute();\n });\n\n if (modelsResult.isFail()) {\n throw modelsResult.error;\n }\n\n return modelsResult.value;\n }\n}\n\nexport const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: FmGraphQLSchema_,\n dependencies: [\n IdentityContext,\n ListModelsUseCase,\n CmsModelFieldToGraphQLRegistry,\n FileModelProvider\n ]\n});\n"],"names":["removeFieldRequiredValidation","field","validation","v","createUpdateFields","fields","collection","FmGraphQLSchema_","identityContext","listModelsUseCase","fieldRegistry","fileModelProvider","models","fileModel","modelKey","createModelSchemaKey","builder","fieldTypes","renderFields","inputCreateFields","renderInputFields","inputUpdateFields","listFilterFieldsRender","renderListFilterFields","f","GetSettingsUseCase","getSettings","result","ErrorResponse","Response","UpdateSettingsUseCase","updateSettings","args","FileUrlGenerator","urlGenerator","parent","FileModelProvider","GetFileUseCase","getFile","ListFilesUseCase","listFiles","ListResponse","ListTagsUseCase","listTags","GetFileByUrlUseCase","getFileByUrl","NotFoundResponse","CreateFileUseCase","createFile","CreateFilesInBatchUseCase","createFilesInBatch","UpdateFileUseCase","updateFile","DeleteFileUseCase","deleteFile","modelsResult","FmGraphQLSchema","GraphQLSchemaFactory","IdentityContext","ListModelsUseCase","CmsModelFieldToGraphQLRegistry"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
|
|
2
|
-
import { ContextPlugin } from "@webiny/api";
|
|
3
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
4
1
|
export * from "./delivery/index.js";
|
|
5
|
-
export declare const
|
|
6
|
-
export
|
|
7
|
-
export
|
|
2
|
+
export declare const createAssetDelivery: () => import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>[];
|
|
3
|
+
export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
|
|
4
|
+
export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
|
package/index.js
CHANGED
|
@@ -1,44 +1,15 @@
|
|
|
1
|
-
import { ContextPlugin } from "@webiny/api";
|
|
2
1
|
import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
|
|
3
|
-
import { createGraphQLSchemaPlugin } from "./graphql/index.js";
|
|
4
|
-
import { FileManagerFeature } from "./features/FileManagerFeature.js";
|
|
5
|
-
import { FmPermissionsFeature } from "./features/permissions/feature.js";
|
|
6
|
-
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
7
|
-
import { FileModel } from "./domain/file/abstractions.js";
|
|
8
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
9
|
-
import { FILE_MODEL_ID, FileModel as file_model_js_FileModel } from "./domain/file/file.model.js";
|
|
10
2
|
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
11
3
|
import { AssetDeliveryFeature } from "./features/assetDelivery/feature.js";
|
|
12
|
-
export * from "./modelModifier/CmsModelModifier.js";
|
|
13
4
|
export * from "./delivery/index.js";
|
|
14
|
-
const createFileManagerContext = ()=>{
|
|
15
|
-
const fileManagerContextPlugin = new ContextPlugin(async (context)=>{
|
|
16
|
-
const tenantContext = context.container.resolve(TenantContext);
|
|
17
|
-
const getModel = context.container.resolve(GetModelUseCase);
|
|
18
|
-
if (!tenantContext.getTenant()) return;
|
|
19
|
-
await context.security.withoutAuthorization(async ()=>{
|
|
20
|
-
const fileModel = await getModel.execute(FILE_MODEL_ID);
|
|
21
|
-
context.container.registerInstance(FileModel, fileModel.value);
|
|
22
|
-
});
|
|
23
|
-
FmPermissionsFeature.register(context.container);
|
|
24
|
-
FileManagerFeature.register(context.container);
|
|
25
|
-
});
|
|
26
|
-
fileManagerContextPlugin.name = "file-manager.createContext";
|
|
27
|
-
const modelsPlugin = createRegisterExtensionPlugin((context)=>{
|
|
28
|
-
context.container.register(file_model_js_FileModel);
|
|
29
|
-
});
|
|
30
|
-
return [
|
|
31
|
-
fileManagerContextPlugin,
|
|
32
|
-
modelsPlugin
|
|
33
|
-
];
|
|
34
|
-
};
|
|
35
|
-
const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
|
|
36
5
|
const createAssetDelivery = ()=>[
|
|
37
6
|
createRegisterExtensionPlugin((context)=>{
|
|
38
7
|
AssetDeliveryFeature.register(context.container);
|
|
39
8
|
}),
|
|
40
9
|
...setupAssetDelivery()
|
|
41
10
|
];
|
|
42
|
-
export {
|
|
11
|
+
export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
|
|
12
|
+
export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
|
|
13
|
+
export { createAssetDelivery };
|
|
43
14
|
|
|
44
15
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport * from \"./delivery/index.js\";\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n\nexport { FileManagerAppFeature } from \"./FileManagerAppFeature.js\";\nexport { AssetDeliveryRoute } from \"./delivery/AssetDeliveryRoute.js\";\n"],"names":["createAssetDelivery","createRegisterExtensionPlugin","context","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;AAMO,MAAMA,sBAAsB,IACxB;QACHC,8BAA8BC,CAAAA;YAC1BC,qBAAqB,QAAQ,CAACD,QAAQ,SAAS;QACnD;WACGE;KACN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-file-manager",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.7c2def32a7",
|
|
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": "0.0.0-unstable.
|
|
26
|
-
"@webiny/api-core": "0.0.0-unstable.
|
|
27
|
-
"@webiny/api-
|
|
28
|
-
"@webiny/
|
|
29
|
-
"@webiny/
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
32
|
-
"@webiny/
|
|
33
|
-
"@webiny/
|
|
34
|
-
"@webiny/
|
|
35
|
-
"@webiny/
|
|
25
|
+
"@webiny/api": "0.0.0-unstable.7c2def32a7",
|
|
26
|
+
"@webiny/api-core": "0.0.0-unstable.7c2def32a7",
|
|
27
|
+
"@webiny/api-graphql": "0.0.0-unstable.7c2def32a7",
|
|
28
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.7c2def32a7",
|
|
29
|
+
"@webiny/background-tasks": "0.0.0-unstable.7c2def32a7",
|
|
30
|
+
"@webiny/build-tools": "0.0.0-unstable.7c2def32a7",
|
|
31
|
+
"@webiny/di": "2.0.0",
|
|
32
|
+
"@webiny/error": "0.0.0-unstable.7c2def32a7",
|
|
33
|
+
"@webiny/event-handler-core": "0.0.0-unstable.7c2def32a7",
|
|
34
|
+
"@webiny/feature": "0.0.0-unstable.7c2def32a7",
|
|
35
|
+
"@webiny/handler": "0.0.0-unstable.7c2def32a7",
|
|
36
|
+
"@webiny/plugins": "0.0.0-unstable.7c2def32a7",
|
|
37
|
+
"@webiny/wcp": "0.0.0-unstable.7c2def32a7",
|
|
36
38
|
"cache-control-parser": "2.2.0",
|
|
39
|
+
"graphql": "16.14.2",
|
|
40
|
+
"mime": "4.1.0",
|
|
41
|
+
"object-hash": "3.0.0",
|
|
42
|
+
"p-reduce": "3.0.0",
|
|
43
|
+
"sanitize-filename": "1.6.4",
|
|
37
44
|
"zod": "4.4.3"
|
|
38
45
|
},
|
|
39
46
|
"devDependencies": {
|
|
40
47
|
"@types/object-hash": "3.0.6",
|
|
41
|
-
"@webiny/
|
|
42
|
-
"@webiny/
|
|
43
|
-
"@webiny/
|
|
44
|
-
"@webiny/wcp": "0.0.0-unstable.7be00a75a9",
|
|
48
|
+
"@webiny/api-core-testing": "0.0.0-unstable.7c2def32a7",
|
|
49
|
+
"@webiny/utils": "0.0.0-unstable.7c2def32a7",
|
|
50
|
+
"@webiny/wcp": "0.0.0-unstable.7c2def32a7",
|
|
45
51
|
"rimraf": "6.1.3",
|
|
46
|
-
"typescript": "
|
|
52
|
+
"typescript": "7.0.2"
|
|
47
53
|
},
|
|
48
54
|
"publishConfig": {
|
|
49
55
|
"access": "public"
|
package/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "@webiny/tasks/features/TaskController/augmentation.js";
|
|
1
|
+
import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
|
|
2
2
|
import type { SecurityPermission } from "@webiny/api-core/types/security.js";
|
|
3
3
|
export interface FilePermission extends SecurityPermission {
|
|
4
4
|
name: "fm.file";
|
package/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "@webiny/tasks/features/TaskController/augmentation.js";
|
|
1
|
+
import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
|
|
@@ -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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
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;
|
|
@@ -1,191 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/graphql/filesSchema.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
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>;
|