@webiny/api-file-manager 6.4.11 → 6.6.0-alpha.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.
Files changed (256) hide show
  1. package/FileManagerAppFeature.d.ts +5 -0
  2. package/FileManagerAppFeature.js +21 -0
  3. package/FileManagerAppFeature.js.map +1 -0
  4. package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
  5. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  6. package/delivery/AssetDeliveryRoute.d.ts +23 -0
  7. package/delivery/AssetDeliveryRoute.js +58 -0
  8. package/delivery/AssetDeliveryRoute.js.map +1 -0
  9. package/delivery/setupAssetDelivery.d.ts +1 -1
  10. package/delivery/setupAssetDelivery.js +1 -66
  11. package/delivery/setupAssetDelivery.js.map +1 -1
  12. package/domain/file/abstractions.d.ts +13 -5
  13. package/domain/file/abstractions.js +2 -2
  14. package/domain/file/abstractions.js.map +1 -1
  15. package/domain/file/file.model.d.ts +3 -3
  16. package/domain/file/file.model.js +10 -6
  17. package/domain/file/file.model.js.map +1 -1
  18. package/domain/settings/validation.js +1 -1
  19. package/domain/settings/validation.js.map +1 -1
  20. package/exports/api/file-manager/assetDelivery.d.ts +10 -0
  21. package/exports/api/file-manager/assetDelivery.js +8 -0
  22. package/exports/api/file-manager/file.d.ts +1 -0
  23. package/exports/api/file-manager/file.js +1 -0
  24. package/features/FileManagerFeature.js +6 -0
  25. package/features/FileManagerFeature.js.map +1 -1
  26. package/features/assetDelivery/Asset/Asset.d.ts +8 -0
  27. package/features/assetDelivery/Asset/Asset.js +14 -0
  28. package/features/assetDelivery/Asset/Asset.js.map +1 -0
  29. package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
  30. package/features/assetDelivery/Asset/abstractions.js +5 -0
  31. package/features/assetDelivery/Asset/abstractions.js.map +1 -0
  32. package/features/assetDelivery/Asset/index.d.ts +1 -0
  33. package/features/assetDelivery/Asset/index.js +1 -0
  34. package/features/assetDelivery/FilesAssetRequestResolver.js +2 -2
  35. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -1
  36. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  37. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  38. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  39. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  40. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  41. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  42. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  43. package/features/assetDelivery/ObjectKey/index.js +1 -0
  44. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  45. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  46. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  47. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  48. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  49. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  50. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  51. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  52. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  53. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  54. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  55. package/features/assetDelivery/abstractions.d.ts +23 -12
  56. package/features/assetDelivery/abstractions.js.map +1 -1
  57. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  58. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  59. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  60. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  61. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  62. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  63. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  64. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  65. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  66. package/features/assetDelivery/assetTypes/image/SharpTransformer.d.ts +18 -0
  67. package/features/assetDelivery/assetTypes/image/SharpTransformer.js +47 -0
  68. package/features/assetDelivery/assetTypes/image/SharpTransformer.js.map +1 -0
  69. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  70. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  71. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  72. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  73. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  74. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  75. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  76. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  77. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  78. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  79. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  80. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  81. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  82. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  83. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  84. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  85. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  86. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  87. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  88. package/features/assetDelivery/feature.js +13 -7
  89. package/features/assetDelivery/feature.js.map +1 -1
  90. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +2 -2
  91. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
  92. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
  93. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  94. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  95. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  96. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +4 -6
  97. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +13 -11
  98. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
  99. package/features/assetDelivery/transformation/index.d.ts +5 -0
  100. package/features/assetDelivery/transformation/index.js +4 -0
  101. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  102. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  103. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  104. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  105. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  106. package/features/file/CreateFile/CreateFileRepository.d.ts +3 -3
  107. package/features/file/CreateFile/CreateFileRepository.js +6 -5
  108. package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
  109. package/features/file/DeleteFile/DeleteFileRepository.d.ts +3 -3
  110. package/features/file/DeleteFile/DeleteFileRepository.js +6 -5
  111. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
  112. package/features/file/FileModelProvider.d.ts +31 -0
  113. package/features/file/FileModelProvider.js +22 -0
  114. package/features/file/FileModelProvider.js.map +1 -0
  115. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +14 -0
  116. package/features/file/FileUrlGenerator/FileUrlGenerator.js +25 -0
  117. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  118. package/features/file/FileUrlGenerator/abstractions.d.ts +3 -3
  119. package/features/file/FileUrlGenerator/abstractions.js +1 -1
  120. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  121. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  122. package/features/file/FileUrlGenerator/feature.js +11 -0
  123. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  124. package/features/file/FileUrlGenerator/index.d.ts +1 -0
  125. package/features/file/FileUrlGenerator/index.js +1 -0
  126. package/features/file/GetFile/GetFileRepository.d.ts +3 -3
  127. package/features/file/GetFile/GetFileRepository.js +6 -5
  128. package/features/file/GetFile/GetFileRepository.js.map +1 -1
  129. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  130. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  131. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  132. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  133. package/features/file/GetFileByUrl/abstractions.js +5 -0
  134. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  135. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  136. package/features/file/GetFileByUrl/feature.js +11 -0
  137. package/features/file/GetFileByUrl/feature.js.map +1 -0
  138. package/features/file/GetFileByUrl/index.d.ts +1 -0
  139. package/features/file/GetFileByUrl/index.js +1 -0
  140. package/features/file/ListFiles/ListFilesRepository.d.ts +3 -3
  141. package/features/file/ListFiles/ListFilesRepository.js +8 -7
  142. package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
  143. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +5 -0
  144. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +5 -0
  145. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
  146. package/features/file/ListTags/ListTagsRepository.d.ts +3 -3
  147. package/features/file/ListTags/ListTagsRepository.js +7 -6
  148. package/features/file/ListTags/ListTagsRepository.js.map +1 -1
  149. package/features/file/UpdateFile/UpdateFileRepository.d.ts +3 -3
  150. package/features/file/UpdateFile/UpdateFileRepository.js +6 -5
  151. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
  152. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +3 -1
  153. package/features/settings/SettingsInstaller/SettingsInstaller.js +7 -4
  154. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  155. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +0 -1
  156. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
  157. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  158. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  159. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  160. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  161. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  162. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  163. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  164. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  165. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  166. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  167. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  168. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  169. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  170. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  171. package/features/upload/GetUploadPayload/index.js +1 -0
  172. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  173. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  174. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  175. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  176. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  177. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  178. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  179. package/features/upload/ReadFileMetadata/feature.js +11 -0
  180. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  181. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  182. package/features/upload/ReadFileMetadata/index.js +1 -0
  183. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  184. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  185. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  186. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  187. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  188. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  189. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  190. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  191. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  192. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  193. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  194. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  195. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  196. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  197. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  198. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  199. package/features/upload/WriteFileMetadata/feature.js +17 -0
  200. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  201. package/features/upload/index.d.ts +17 -0
  202. package/features/upload/index.js +10 -0
  203. package/features/upload/types.d.ts +28 -0
  204. package/features/upload/types.js +0 -0
  205. package/features/upload/utils/FileExtension.d.ts +6 -0
  206. package/features/upload/utils/FileExtension.js +16 -0
  207. package/features/upload/utils/FileExtension.js.map +1 -0
  208. package/features/upload/utils/FileKey.d.ts +11 -0
  209. package/features/upload/utils/FileKey.js +33 -0
  210. package/features/upload/utils/FileKey.js.map +1 -0
  211. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  212. package/features/upload/utils/FileNormalizer.js +41 -0
  213. package/features/upload/utils/FileNormalizer.js.map +1 -0
  214. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  215. package/features/upload/utils/FileUploadModifier.js +39 -0
  216. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  217. package/features/upload/utils/checkPermissions.d.ts +5 -0
  218. package/features/upload/utils/checkPermissions.js +22 -0
  219. package/features/upload/utils/checkPermissions.js.map +1 -0
  220. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  221. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  222. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  223. package/features/upload/utils/mimeTypes.d.ts +1 -0
  224. package/features/upload/utils/mimeTypes.js +9 -0
  225. package/features/upload/utils/mimeTypes.js.map +1 -0
  226. package/graphql/FmGraphQLSchema.d.ts +25 -0
  227. package/graphql/FmGraphQLSchema.js +452 -0
  228. package/graphql/FmGraphQLSchema.js.map +1 -0
  229. package/index.d.ts +3 -6
  230. package/index.js +3 -33
  231. package/index.js.map +1 -1
  232. package/package.json +23 -17
  233. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -9
  234. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -13
  235. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
  236. package/graphql/baseSchema.d.ts +0 -3
  237. package/graphql/baseSchema.js +0 -100
  238. package/graphql/baseSchema.js.map +0 -1
  239. package/graphql/createFilesTypeDefs.d.ts +0 -8
  240. package/graphql/createFilesTypeDefs.js +0 -191
  241. package/graphql/createFilesTypeDefs.js.map +0 -1
  242. package/graphql/filesSchema.d.ts +0 -4
  243. package/graphql/filesSchema.js +0 -97
  244. package/graphql/filesSchema.js.map +0 -1
  245. package/graphql/getFileByUrl.d.ts +0 -3
  246. package/graphql/getFileByUrl.js +0 -64
  247. package/graphql/getFileByUrl.js.map +0 -1
  248. package/graphql/index.d.ts +0 -4
  249. package/graphql/index.js +0 -48
  250. package/graphql/index.js.map +0 -1
  251. package/graphql/utils.d.ts +0 -11
  252. package/graphql/utils.js +0 -12
  253. package/graphql/utils.js.map +0 -1
  254. package/modelModifier/CmsModelModifier.d.ts +0 -26
  255. package/modelModifier/CmsModelModifier.js +0 -51
  256. package/modelModifier/CmsModelModifier.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
2
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
3
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
4
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
5
+ import { FileUrlGenerator } from "../features/file/FileUrlGenerator/abstractions.js";
6
+ import { FileModelProvider } from "../domain/file/abstractions.js";
7
+ declare class FmGraphQLSchema_ implements GraphQLSchemaFactory.Interface {
8
+ private readonly identityContext;
9
+ private readonly listModelsUseCase;
10
+ private readonly fieldRegistry;
11
+ private readonly fileModelProvider;
12
+ private readonly fileUrlGenerator;
13
+ constructor(identityContext: IdentityContext.Interface, listModelsUseCase: ListModelsUseCase.Interface, fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface, fileModelProvider: FileModelProvider.Interface, fileUrlGenerator: FileUrlGenerator.Interface);
14
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
15
+ private addBaseTypeDefs;
16
+ private addFileTypeDefs;
17
+ private addSettingsResolvers;
18
+ private addFileQueryResolvers;
19
+ private addFileMutationResolvers;
20
+ private loadModels;
21
+ }
22
+ export declare const FmGraphQLSchema: typeof FmGraphQLSchema_ & {
23
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-graphql/graphql/abstractions.public").IGraphQLSchemaFactory>;
24
+ };
25
+ export {};
@@ -0,0 +1,452 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
2
+ import { ErrorResponse, ListResponse, NotFoundResponse, Response } from "@webiny/api-graphql";
3
+ import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
4
+ import { renderInputFields } from "@webiny/api-headless-cms/utils/renderInputFields.js";
5
+ import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
6
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
7
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
8
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
9
+ import { GetFileUseCase } from "../features/file/GetFile/abstractions.js";
10
+ import { ListFilesUseCase } from "../features/file/ListFiles/abstractions.js";
11
+ import { ListTagsUseCase } from "../features/file/ListTags/abstractions.js";
12
+ import { CreateFileUseCase } from "../features/file/CreateFile/abstractions.js";
13
+ import { CreateFilesInBatchUseCase } from "../features/file/CreateFilesInBatch/abstractions.js";
14
+ import { UpdateFileUseCase } from "../features/file/UpdateFile/abstractions.js";
15
+ import { DeleteFileUseCase } from "../features/file/DeleteFile/abstractions.js";
16
+ import { GetFileByUrlUseCase } from "../features/file/GetFileByUrl/abstractions.js";
17
+ import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
18
+ import { UpdateSettingsUseCase } from "../features/settings/UpdateSettings/abstractions.js";
19
+ import { FileUrlGenerator } from "../features/file/FileUrlGenerator/abstractions.js";
20
+ import { FileModelProvider } from "../domain/file/abstractions.js";
21
+ const removeFieldRequiredValidation = (field)=>{
22
+ if (field.validation) field.validation = field.validation.filter((validation)=>"required" !== validation.name);
23
+ if (field.listValidation) field.listValidation = field.listValidation.filter((v)=>"required" !== v.name);
24
+ return field;
25
+ };
26
+ const createUpdateFields = (fields)=>fields.reduce((collection, field)=>{
27
+ collection.push(removeFieldRequiredValidation({
28
+ ...field
29
+ }));
30
+ return collection;
31
+ }, []);
32
+ class FmGraphQLSchema_ {
33
+ constructor(identityContext, listModelsUseCase, fieldRegistry, fileModelProvider, fileUrlGenerator){
34
+ this.identityContext = identityContext;
35
+ this.listModelsUseCase = listModelsUseCase;
36
+ this.fieldRegistry = fieldRegistry;
37
+ this.fileModelProvider = fileModelProvider;
38
+ this.fileUrlGenerator = fileUrlGenerator;
39
+ }
40
+ async execute(builder) {
41
+ if (this.fileUrlGenerator.init) await this.fileUrlGenerator.init();
42
+ this.addBaseTypeDefs(builder);
43
+ await this.addFileTypeDefs(builder);
44
+ this.addSettingsResolvers(builder);
45
+ this.addFileQueryResolvers(builder);
46
+ this.addFileMutationResolvers(builder);
47
+ return builder;
48
+ }
49
+ addBaseTypeDefs(builder) {
50
+ builder.addTypeDefs(`
51
+ type FmError {
52
+ code: String
53
+ message: String
54
+ data: JSON
55
+ stack: String
56
+ }
57
+
58
+ type FmCreatedBy {
59
+ id: ID
60
+ displayName: String
61
+ type: String
62
+ }
63
+
64
+ type FmListMeta {
65
+ cursor: String
66
+ totalCount: Int
67
+ hasMoreItems: Boolean
68
+ }
69
+
70
+ type FmBooleanResponse {
71
+ data: Boolean
72
+ error: FmError
73
+ }
74
+
75
+ type FmSettings {
76
+ uploadMinFileSize: Number
77
+ uploadMaxFileSize: Number
78
+ srcPrefix: String
79
+ }
80
+
81
+ input FmSettingsInput {
82
+ uploadMinFileSize: Number
83
+ uploadMaxFileSize: Number
84
+ srcPrefix: String
85
+ }
86
+
87
+ type FmSettingsResponse {
88
+ data: FmSettings
89
+ error: FmError
90
+ }
91
+
92
+ type FmDeleteResponse {
93
+ data: Boolean
94
+ error: FmError
95
+ }
96
+
97
+ type FmQuery {
98
+ getSettings: FmSettingsResponse
99
+ }
100
+
101
+ type FmMutation {
102
+ updateSettings(data: FmSettingsInput): FmSettingsResponse
103
+ }
104
+
105
+ extend type Query {
106
+ fileManager: FmQuery
107
+ }
108
+
109
+ extend type Mutation {
110
+ fileManager: FmMutation
111
+ }
112
+ `);
113
+ builder.addResolver({
114
+ path: "Query.fileManager",
115
+ resolver: ()=>()=>({})
116
+ });
117
+ builder.addResolver({
118
+ path: "Mutation.fileManager",
119
+ resolver: ()=>()=>({})
120
+ });
121
+ }
122
+ async addFileTypeDefs(builder) {
123
+ const models = await this.loadModels();
124
+ const fileModel = await this.fileModelProvider.get();
125
+ const { fields } = fileModel;
126
+ const fieldTypes = renderFields({
127
+ models,
128
+ model: fileModel,
129
+ fields,
130
+ type: "manage",
131
+ fieldRegistry: this.fieldRegistry
132
+ });
133
+ const inputCreateFields = renderInputFields({
134
+ models,
135
+ model: fileModel,
136
+ fields,
137
+ fieldRegistry: this.fieldRegistry
138
+ });
139
+ const inputUpdateFields = renderInputFields({
140
+ models,
141
+ model: fileModel,
142
+ fields: createUpdateFields(fields),
143
+ fieldRegistry: this.fieldRegistry
144
+ });
145
+ const listFilterFieldsRender = renderListFilterFields({
146
+ model: fileModel,
147
+ fields: fileModel.fields,
148
+ type: "manage",
149
+ fieldRegistry: this.fieldRegistry,
150
+ excludeFields: [
151
+ "entryId",
152
+ "status"
153
+ ]
154
+ });
155
+ builder.addTypeDefs(`
156
+ type FmFile_Location {
157
+ folderId: ID!
158
+ }
159
+
160
+ input FmFile_LocationInput {
161
+ folderId: ID!
162
+ }
163
+
164
+ input FmFile_LocationWhereInput {
165
+ folderId: ID
166
+ folderId_in: [ID!]
167
+ folderId_not: ID
168
+ folderId_not_in: [ID!]
169
+ }
170
+
171
+ ${fieldTypes.map((f)=>f.typeDefs).join("\n")}
172
+
173
+ type FmFile {
174
+ id: ID!
175
+ createdOn: DateTime!
176
+ modifiedOn: DateTime
177
+ savedOn: DateTime!
178
+ createdBy: FmCreatedBy!
179
+ modifiedBy: FmCreatedBy
180
+ savedBy: FmCreatedBy!
181
+ location: FmFile_Location!
182
+ src: String
183
+ ${fieldTypes.map((f)=>f.fields).join("\n")}
184
+ }
185
+
186
+ ${inputCreateFields.map((f)=>f.typeDefs).join("\n")}
187
+
188
+ input FmCreatedByInput {
189
+ id: ID!
190
+ displayName: String!
191
+ type: String!
192
+ }
193
+
194
+ input FmFileCreateInput {
195
+ id: ID!
196
+ createdOn: DateTime
197
+ modifiedOn: DateTime
198
+ savedOn: DateTime
199
+ createdBy: FmCreatedByInput
200
+ modifiedBy: FmCreatedByInput
201
+ savedBy: FmCreatedByInput
202
+ location: FmFile_LocationInput
203
+ ${inputCreateFields.map((f)=>f.fields).join("\n")}
204
+ }
205
+
206
+ input FmFileUpdateInput {
207
+ createdOn: DateTime
208
+ modifiedOn: DateTime
209
+ savedOn: DateTime
210
+ createdBy: FmCreatedByInput
211
+ modifiedBy: FmCreatedByInput
212
+ savedBy: FmCreatedByInput
213
+ location: FmFile_LocationInput
214
+ ${inputUpdateFields.map((f)=>f.fields).join("\n")}
215
+ }
216
+
217
+ type FmFileResponse {
218
+ data: FmFile
219
+ error: FmError
220
+ }
221
+
222
+ input FmFileListWhereInput {
223
+ ${listFilterFieldsRender.allFiltersAsString()}
224
+ location: FmFile_LocationWhereInput
225
+ AND: [FmFileListWhereInput!]
226
+ OR: [FmFileListWhereInput!]
227
+ }
228
+
229
+ type FmFileListResponse {
230
+ data: [FmFile!]
231
+ error: FmError
232
+ meta: FmListMeta
233
+ }
234
+
235
+ enum FmFileListSorter {
236
+ savedOn_ASC
237
+ savedOn_DESC
238
+ createdOn_ASC
239
+ createdOn_DESC
240
+ name_ASC
241
+ name_DESC
242
+ key_ASC
243
+ key_DESC
244
+ type_ASC
245
+ type_DESC
246
+ size_ASC
247
+ size_DESC
248
+ }
249
+
250
+ input FmTagsListWhereInput {
251
+ createdBy: String
252
+ tags_startsWith: String
253
+ tags_not_startsWith: String
254
+ }
255
+
256
+ type FmTag {
257
+ tag: String!
258
+ count: Number!
259
+ }
260
+
261
+ type FmTagsListResponse {
262
+ data: [FmTag!]
263
+ error: FmError
264
+ }
265
+
266
+ type FmCreateFilesResponse {
267
+ data: [FmFile!]
268
+ error: FmError
269
+ }
270
+
271
+ type FmFileModelResponse {
272
+ data: JSON
273
+ error: FmError
274
+ }
275
+
276
+ extend type FmQuery {
277
+ getFileModel: FmFileModelResponse!
278
+ getFile(id: ID!): FmFileResponse!
279
+ getFileByUrl(url: String!): FmFileResponse
280
+ listFiles(
281
+ search: String
282
+ where: FmFileListWhereInput
283
+ limit: Int
284
+ after: String
285
+ sort: [FmFileListSorter!]
286
+ ): FmFileListResponse!
287
+ listTags(where: FmTagsListWhereInput): FmTagsListResponse!
288
+ }
289
+
290
+ extend type FmMutation {
291
+ createFile(data: FmFileCreateInput!): FmFileResponse!
292
+ createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!
293
+ updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!
294
+ deleteFile(id: ID!): FmBooleanResponse!
295
+ }
296
+ `);
297
+ }
298
+ addSettingsResolvers(builder) {
299
+ builder.addResolver({
300
+ path: "FmQuery.getSettings",
301
+ dependencies: [
302
+ GetSettingsUseCase
303
+ ],
304
+ resolver: (getSettings)=>async ()=>{
305
+ const result = await getSettings.execute();
306
+ if (result.isFail()) return new ErrorResponse(result.error);
307
+ return new Response(result.value);
308
+ }
309
+ });
310
+ builder.addResolver({
311
+ path: "FmMutation.updateSettings",
312
+ dependencies: [
313
+ UpdateSettingsUseCase
314
+ ],
315
+ resolver: (updateSettings)=>async ({ args })=>{
316
+ const result = await updateSettings.execute(args.data);
317
+ if (result.isFail()) return new ErrorResponse(result.error);
318
+ return new Response(result.value);
319
+ }
320
+ });
321
+ }
322
+ addFileQueryResolvers(builder) {
323
+ builder.addResolver({
324
+ path: "FmFile.src",
325
+ dependencies: [
326
+ FileUrlGenerator
327
+ ],
328
+ resolver: (urlGenerator)=>({ parent })=>urlGenerator.generateUrl(parent)
329
+ });
330
+ builder.addResolver({
331
+ path: "FmQuery.getFileModel",
332
+ dependencies: [
333
+ FileModelProvider
334
+ ],
335
+ resolver: (fileModelProvider)=>async ()=>new Response(await fileModelProvider.get())
336
+ });
337
+ builder.addResolver({
338
+ path: "FmQuery.getFile",
339
+ dependencies: [
340
+ GetFileUseCase
341
+ ],
342
+ resolver: (getFile)=>async ({ args })=>{
343
+ const result = await getFile.execute(args.id);
344
+ if (result.isFail()) return new ErrorResponse(result.error);
345
+ return new Response(result.value);
346
+ }
347
+ });
348
+ builder.addResolver({
349
+ path: "FmQuery.listFiles",
350
+ dependencies: [
351
+ ListFilesUseCase
352
+ ],
353
+ resolver: (listFiles)=>async ({ args })=>{
354
+ const result = await listFiles.execute(args);
355
+ if (result.isFail()) return new ErrorResponse(result.error);
356
+ return new ListResponse(result.value.items, result.value.meta);
357
+ }
358
+ });
359
+ builder.addResolver({
360
+ path: "FmQuery.listTags",
361
+ dependencies: [
362
+ ListTagsUseCase
363
+ ],
364
+ resolver: (listTags)=>async ({ args })=>{
365
+ const result = await listTags.execute(args || {});
366
+ if (result.isFail()) return new ErrorResponse(result.error);
367
+ return new Response(result.value);
368
+ }
369
+ });
370
+ builder.addResolver({
371
+ path: "FmQuery.getFileByUrl",
372
+ dependencies: [
373
+ GetFileByUrlUseCase
374
+ ],
375
+ resolver: (getFileByUrl)=>async ({ args })=>{
376
+ const result = await getFileByUrl.execute(args.url);
377
+ if (result.isFail()) return new ErrorResponse(result.error);
378
+ if (!result.value) return new NotFoundResponse("File not found!");
379
+ return new Response(result.value);
380
+ }
381
+ });
382
+ }
383
+ addFileMutationResolvers(builder) {
384
+ builder.addResolver({
385
+ path: "FmMutation.createFile",
386
+ dependencies: [
387
+ CreateFileUseCase
388
+ ],
389
+ resolver: (createFile)=>async ({ args })=>{
390
+ const result = await createFile.execute(args.data);
391
+ if (result.isFail()) return new ErrorResponse(result.error);
392
+ return new Response(result.value);
393
+ }
394
+ });
395
+ builder.addResolver({
396
+ path: "FmMutation.createFiles",
397
+ dependencies: [
398
+ CreateFilesInBatchUseCase
399
+ ],
400
+ resolver: (createFilesInBatch)=>async ({ args })=>{
401
+ const result = await createFilesInBatch.execute({
402
+ files: args.data,
403
+ meta: args.meta
404
+ });
405
+ if (result.isFail()) return new ErrorResponse(result.error);
406
+ return new Response(result.value);
407
+ }
408
+ });
409
+ builder.addResolver({
410
+ path: "FmMutation.updateFile",
411
+ dependencies: [
412
+ UpdateFileUseCase
413
+ ],
414
+ resolver: (updateFile)=>async ({ args })=>{
415
+ const result = await updateFile.execute({
416
+ id: args.id,
417
+ ...args.data
418
+ });
419
+ if (result.isFail()) return new ErrorResponse(result.error);
420
+ return new Response(result.value);
421
+ }
422
+ });
423
+ builder.addResolver({
424
+ path: "FmMutation.deleteFile",
425
+ dependencies: [
426
+ DeleteFileUseCase
427
+ ],
428
+ resolver: (deleteFile)=>async ({ args })=>{
429
+ const result = await deleteFile.execute(args.id);
430
+ if (result.isFail()) return new ErrorResponse(result.error);
431
+ return new Response(true);
432
+ }
433
+ });
434
+ }
435
+ async loadModels() {
436
+ const modelsResult = await this.identityContext.withoutAuthorization(()=>this.listModelsUseCase.execute());
437
+ return modelsResult.value;
438
+ }
439
+ }
440
+ const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({
441
+ implementation: FmGraphQLSchema_,
442
+ dependencies: [
443
+ IdentityContext,
444
+ ListModelsUseCase,
445
+ CmsModelFieldToGraphQLRegistry,
446
+ FileModelProvider,
447
+ FileUrlGenerator
448
+ ]
449
+ });
450
+ export { FmGraphQLSchema };
451
+
452
+ //# sourceMappingURL=FmGraphQLSchema.js.map
@@ -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 { 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 private readonly fileUrlGenerator: FileUrlGenerator.Interface\n ) {}\n\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n if (this.fileUrlGenerator.init) {\n await this.fileUrlGenerator.init();\n }\n\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 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 FileUrlGenerator\n ]\n});\n"],"names":["removeFieldRequiredValidation","field","validation","v","createUpdateFields","fields","collection","FmGraphQLSchema_","identityContext","listModelsUseCase","fieldRegistry","fileModelProvider","fileUrlGenerator","builder","models","fileModel","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 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
- export declare const createAssetDelivery: () => (import("@webiny/handler").ModifyFastifyPlugin | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
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,45 +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
- if (fileModel.isFail()) throw fileModel.error;
22
- context.container.registerInstance(FileModel, fileModel.value);
23
- });
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
- });
31
- return [
32
- fileManagerContextPlugin,
33
- modelsPlugin
34
- ];
35
- };
36
- const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
37
5
  const createAssetDelivery = ()=>[
38
6
  createRegisterExtensionPlugin((context)=>{
39
7
  AssetDeliveryFeature.register(context.container);
40
8
  }),
41
9
  ...setupAssetDelivery()
42
10
  ];
43
- export { createAssetDelivery, createFileManagerContext, createFileManagerGraphQL };
11
+ export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
12
+ export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
13
+ export { createAssetDelivery };
44
14
 
45
15
  //# 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 { createGraphQLSchemaPlugin } from \"./graphql/index.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 { FileModel, FILE_MODEL_ID } from \"~/domain/file/file.model.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport * from \"./modelModifier/CmsModelModifier.js\";\nexport * from \"./delivery/index.js\";\n\nexport const createFileManagerContext = () => {\n const fileManagerContextPlugin = new ContextPlugin<ApiCoreContext>(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const getModel = context.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 context.container.registerInstance(FileModelAbstraction, fileModel.value);\n });\n\n FmPermissionsFeature.register(context.container);\n FileManagerFeature.register(context.container);\n });\n\n fileManagerContextPlugin.name = \"file-manager.createContext\";\n\n const modelsPlugin = createRegisterExtensionPlugin(context => {\n context.container.register(FileModel);\n });\n\n return [fileManagerContextPlugin, modelsPlugin];\n};\n\nexport const createFileManagerGraphQL = () => {\n return createGraphQLSchemaPlugin();\n};\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n"],"names":["createFileManagerContext","fileManagerContextPlugin","ContextPlugin","context","tenantContext","TenantContext","getModel","GetModelUseCase","fileModel","FILE_MODEL_ID","FileModelAbstraction","FmPermissionsFeature","FileManagerFeature","modelsPlugin","createRegisterExtensionPlugin","FileModel","createFileManagerGraphQL","createGraphQLSchemaPlugin","createAssetDelivery","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;;;;;;;;;;AAgBO,MAAMA,2BAA2B;IACpC,MAAMC,2BAA2B,IAAIC,cAA8B,OAAMC;QACrE,MAAMC,gBAAgBD,QAAQ,SAAS,CAAC,OAAO,CAACE;QAChD,MAAMC,WAAWH,QAAQ,SAAS,CAAC,OAAO,CAACI;QAE3C,IAAI,CAACH,cAAc,SAAS,IACxB;QAGJ,MAAMD,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;YACxC,MAAMK,YAAY,MAAMF,SAAS,OAAO,CAACG;YACzC,IAAID,UAAU,MAAM,IAChB,MAAMA,UAAU,KAAK;YAEzBL,QAAQ,SAAS,CAAC,gBAAgB,CAACO,WAAsBF,UAAU,KAAK;QAC5E;QAEAG,qBAAqB,QAAQ,CAACR,QAAQ,SAAS;QAC/CS,mBAAmB,QAAQ,CAACT,QAAQ,SAAS;IACjD;IAEAF,yBAAyB,IAAI,GAAG;IAEhC,MAAMY,eAAeC,8BAA8BX,CAAAA;QAC/CA,QAAQ,SAAS,CAAC,QAAQ,CAACY;IAC/B;IAEA,OAAO;QAACd;QAA0BY;KAAa;AACnD;AAEO,MAAMG,2BAA2B,IAC7BC;AAGJ,MAAMC,sBAAsB,IACxB;QACHJ,8BAA8BX,CAAAA;YAC1BgB,qBAAqB,QAAQ,CAAChB,QAAQ,SAAS;QACnD;WACGiB;KACN"}
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"}