@webiny/api-file-manager 6.4.12-beta.4 → 6.5.0-beta.0

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 (289) hide show
  1. package/{contants.js → constants.js} +1 -1
  2. package/constants.js.map +1 -0
  3. package/delivery/AssetDelivery/Asset.d.ts +2 -1
  4. package/delivery/AssetDelivery/Asset.js +4 -1
  5. package/delivery/AssetDelivery/Asset.js.map +1 -1
  6. package/delivery/AssetDelivery/AssetRequest.d.ts +4 -3
  7. package/delivery/AssetDelivery/AssetRequest.js +3 -0
  8. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  9. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +2 -1
  10. package/delivery/AssetDelivery/abstractions/AssetReply.js +5 -0
  11. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  12. package/delivery/index.d.ts +3 -3
  13. package/delivery/index.js +0 -2
  14. package/delivery/setupAssetDelivery.js +4 -1
  15. package/delivery/setupAssetDelivery.js.map +1 -1
  16. package/domain/file/file.model.js +5 -1
  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 +18 -0
  21. package/exports/api/file-manager/assetDelivery.js +15 -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 +12 -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/AssetRequest/AssetRequest.d.ts +8 -0
  35. package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
  36. package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
  37. package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
  38. package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
  39. package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
  40. package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
  41. package/features/assetDelivery/AssetRequest/index.js +1 -0
  42. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -7
  43. package/features/assetDelivery/FilesAssetRequestResolver.js +19 -15
  44. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -1
  45. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +6 -6
  46. package/features/assetDelivery/NullAssetOutputStrategy.js +6 -6
  47. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -1
  48. package/features/assetDelivery/NullAssetReply.d.ts +2 -1
  49. package/features/assetDelivery/NullAssetReply.js +3 -0
  50. package/features/assetDelivery/NullAssetReply.js.map +1 -1
  51. package/features/assetDelivery/NullAssetResolver.d.ts +6 -6
  52. package/features/assetDelivery/NullAssetResolver.js +5 -5
  53. package/features/assetDelivery/NullAssetResolver.js.map +1 -1
  54. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  55. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  56. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  57. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  58. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  59. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  60. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  61. package/features/assetDelivery/ObjectKey/index.js +1 -0
  62. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  63. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  64. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  65. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  66. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  67. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  68. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  69. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  70. package/features/assetDelivery/abstractions/AssetAuthorizer.d.ts +9 -0
  71. package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
  72. package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
  73. package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
  74. package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
  75. package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  76. package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
  77. package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
  78. package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  79. package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
  80. package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
  81. package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
  82. package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
  83. package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
  84. package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  85. package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
  86. package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
  87. package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
  88. package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
  89. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
  90. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  91. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  92. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  93. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  94. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  95. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  96. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  97. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  98. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  99. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  100. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  101. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  102. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  103. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  104. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  105. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  106. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  107. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  108. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  109. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  110. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  111. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  112. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  113. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  114. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  115. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  116. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  117. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  118. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  119. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  120. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  121. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  122. package/features/assetDelivery/feature.js +25 -16
  123. package/features/assetDelivery/feature.js.map +1 -1
  124. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +2 -2
  125. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
  126. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +3 -3
  127. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +1 -1
  128. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
  129. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +3 -3
  130. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -1
  131. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +9 -8
  132. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +15 -12
  133. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
  134. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +8 -8
  135. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +8 -7
  136. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
  137. package/features/assetDelivery/privateFiles/PublicCache.d.ts +3 -3
  138. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -1
  139. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +5 -4
  140. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +4 -1
  141. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
  142. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +5 -4
  143. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +4 -1
  144. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
  145. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  146. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  147. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  148. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -10
  149. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +13 -11
  150. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
  151. package/features/assetDelivery/transformation/index.d.ts +5 -0
  152. package/features/assetDelivery/transformation/index.js +4 -0
  153. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  154. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  155. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  156. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  157. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  158. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
  159. package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
  160. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  161. package/features/file/FileUrlGenerator/abstractions.d.ts +3 -4
  162. package/features/file/FileUrlGenerator/abstractions.js +1 -1
  163. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  164. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  165. package/features/file/FileUrlGenerator/feature.js +11 -0
  166. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  167. package/features/file/FileUrlGenerator/index.d.ts +1 -0
  168. package/features/file/FileUrlGenerator/index.js +1 -0
  169. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  170. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  171. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  172. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  173. package/features/file/GetFileByUrl/abstractions.js +5 -0
  174. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  175. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  176. package/features/file/GetFileByUrl/feature.js +11 -0
  177. package/features/file/GetFileByUrl/feature.js.map +1 -0
  178. package/features/file/GetFileByUrl/index.d.ts +1 -0
  179. package/features/file/GetFileByUrl/index.js +1 -0
  180. package/features/settings/SettingsInstaller/SettingsInstaller.js +1 -1
  181. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  182. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  183. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  184. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  185. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  186. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  187. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  188. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  189. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  190. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  191. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  192. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  193. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  194. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  195. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  196. package/features/upload/GetUploadPayload/index.js +1 -0
  197. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  198. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  199. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  200. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  201. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  202. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  203. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  204. package/features/upload/ReadFileMetadata/feature.js +11 -0
  205. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  206. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  207. package/features/upload/ReadFileMetadata/index.js +1 -0
  208. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  209. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  210. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  211. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  212. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  213. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  214. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  215. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  216. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  217. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  218. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  219. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  220. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  221. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  222. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  223. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  224. package/features/upload/WriteFileMetadata/feature.js +17 -0
  225. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  226. package/features/upload/index.d.ts +17 -0
  227. package/features/upload/index.js +10 -0
  228. package/features/upload/types.d.ts +28 -0
  229. package/features/upload/types.js +0 -0
  230. package/features/upload/utils/FileExtension.d.ts +6 -0
  231. package/features/upload/utils/FileExtension.js +16 -0
  232. package/features/upload/utils/FileExtension.js.map +1 -0
  233. package/features/upload/utils/FileKey.d.ts +11 -0
  234. package/features/upload/utils/FileKey.js +33 -0
  235. package/features/upload/utils/FileKey.js.map +1 -0
  236. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  237. package/features/upload/utils/FileNormalizer.js +41 -0
  238. package/features/upload/utils/FileNormalizer.js.map +1 -0
  239. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  240. package/features/upload/utils/FileUploadModifier.js +39 -0
  241. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  242. package/features/upload/utils/checkPermissions.d.ts +5 -0
  243. package/features/upload/utils/checkPermissions.js +22 -0
  244. package/features/upload/utils/checkPermissions.js.map +1 -0
  245. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  246. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  247. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  248. package/features/upload/utils/mimeTypes.d.ts +1 -0
  249. package/features/upload/utils/mimeTypes.js +9 -0
  250. package/features/upload/utils/mimeTypes.js.map +1 -0
  251. package/graphql/FmGraphQLSchema.d.ts +25 -0
  252. package/graphql/FmGraphQLSchema.js +451 -0
  253. package/graphql/FmGraphQLSchema.js.map +1 -0
  254. package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
  255. package/graphql/FmUploadGraphQLSchema.js +231 -0
  256. package/graphql/FmUploadGraphQLSchema.js.map +1 -0
  257. package/index.d.ts +0 -3
  258. package/index.js +16 -17
  259. package/index.js.map +1 -1
  260. package/package.json +24 -18
  261. package/contants.js.map +0 -1
  262. package/features/assetDelivery/abstractions.d.ts +0 -54
  263. package/features/assetDelivery/abstractions.js +0 -11
  264. package/features/assetDelivery/abstractions.js.map +0 -1
  265. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -9
  266. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -13
  267. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
  268. package/graphql/baseSchema.d.ts +0 -3
  269. package/graphql/baseSchema.js +0 -100
  270. package/graphql/baseSchema.js.map +0 -1
  271. package/graphql/createFilesTypeDefs.d.ts +0 -8
  272. package/graphql/createFilesTypeDefs.js +0 -191
  273. package/graphql/createFilesTypeDefs.js.map +0 -1
  274. package/graphql/filesSchema.d.ts +0 -4
  275. package/graphql/filesSchema.js +0 -97
  276. package/graphql/filesSchema.js.map +0 -1
  277. package/graphql/getFileByUrl.d.ts +0 -3
  278. package/graphql/getFileByUrl.js +0 -64
  279. package/graphql/getFileByUrl.js.map +0 -1
  280. package/graphql/index.d.ts +0 -4
  281. package/graphql/index.js +0 -48
  282. package/graphql/index.js.map +0 -1
  283. package/graphql/utils.d.ts +0 -11
  284. package/graphql/utils.js +0 -12
  285. package/graphql/utils.js.map +0 -1
  286. package/modelModifier/CmsModelModifier.d.ts +0 -26
  287. package/modelModifier/CmsModelModifier.js +0 -51
  288. package/modelModifier/CmsModelModifier.js.map +0 -1
  289. /package/{contants.d.ts → constants.d.ts} +0 -0
@@ -0,0 +1,231 @@
1
+ import p_map from "p-map";
2
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
3
+ import { ErrorResponse, Response } from "@webiny/handler-graphql/responses.js";
4
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
5
+ import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
6
+ import { GetUploadPayloadUseCase } from "../features/upload/GetUploadPayload/index.js";
7
+ import { CreateMultiPartUploadUseCase } from "../features/upload/CreateMultiPartUpload/index.js";
8
+ import { CompleteMultiPartUploadUseCase } from "../features/upload/CompleteMultiPartUpload/index.js";
9
+ import { checkPermissions } from "../features/upload/utils/checkPermissions.js";
10
+ import { createFileNormalizerFromContext } from "../features/upload/utils/createFileNormalizerFromContext.js";
11
+ class FmUploadGraphQLSchema_ {
12
+ async execute(builder) {
13
+ this.addTypeDefs(builder);
14
+ this.addQueryResolvers(builder);
15
+ this.addMutationResolvers(builder);
16
+ return builder;
17
+ }
18
+ addTypeDefs(builder) {
19
+ builder.addTypeDefs(`
20
+ type UploadFileResponseDataFile {
21
+ id: ID!
22
+ name: String!
23
+ type: String!
24
+ size: Long!
25
+ key: String!
26
+ }
27
+
28
+ input PreSignedPostPayloadInput {
29
+ id: ID
30
+ name: String!
31
+ type: String!
32
+ size: Long!
33
+ key: String
34
+ keyPrefix: String
35
+ }
36
+
37
+ type GetPreSignedPostPayloadResponseDataFile {
38
+ id: ID!
39
+ name: String!
40
+ type: String!
41
+ size: Long!
42
+ key: String!
43
+ }
44
+
45
+ type GetPreSignedPostPayloadResponseData {
46
+ data: JSON!
47
+ file: UploadFileResponseDataFile!
48
+ }
49
+
50
+ type GetPreSignedPostPayloadResponse {
51
+ error: FmError
52
+ data: GetPreSignedPostPayloadResponseData
53
+ }
54
+
55
+ type MultiPartUploadFilePart {
56
+ partNumber: Int!
57
+ url: String!
58
+ }
59
+
60
+ type CreateMultiPartUploadResponseData {
61
+ file: GetPreSignedPostPayloadResponseDataFile!
62
+ uploadId: String!
63
+ parts: [MultiPartUploadFilePart!]!
64
+ }
65
+
66
+ type CompleteMultiPartUploadResponse {
67
+ data: Boolean
68
+ error: FmError
69
+ }
70
+
71
+ type GetPreSignedPostPayloadsResponse {
72
+ error: FmError
73
+ data: [GetPreSignedPostPayloadResponseData!]!
74
+ }
75
+
76
+ extend type FmQuery {
77
+ getPreSignedPostPayload(
78
+ data: PreSignedPostPayloadInput!
79
+ ): GetPreSignedPostPayloadResponse
80
+ getPreSignedPostPayloads(
81
+ data: [PreSignedPostPayloadInput]!
82
+ ): GetPreSignedPostPayloadsResponse
83
+ }
84
+
85
+ type CreateMultiPartUploadResponse {
86
+ data: CreateMultiPartUploadResponseData
87
+ error: FmError
88
+ }
89
+
90
+ input MultiPartUploadFilePartInput {
91
+ partNumber: Int!
92
+ etag: String!
93
+ }
94
+
95
+ extend type FmMutation {
96
+ createMultiPartUpload(
97
+ data: PreSignedPostPayloadInput!
98
+ numberOfParts: Number!
99
+ ): CreateMultiPartUploadResponse
100
+
101
+ completeMultiPartUpload(
102
+ fileKey: String!
103
+ uploadId: String!
104
+ ): CompleteMultiPartUploadResponse
105
+ }
106
+ `);
107
+ }
108
+ addQueryResolvers(builder) {
109
+ builder.addResolver({
110
+ path: "FmQuery.getPreSignedPostPayload",
111
+ dependencies: [
112
+ IdentityContext,
113
+ GetSettingsUseCase,
114
+ GetUploadPayloadUseCase
115
+ ],
116
+ resolver: (identityContext, getSettings, getUploadPayload)=>async ({ args, context })=>{
117
+ try {
118
+ await checkPermissions(identityContext, {
119
+ rwd: "w"
120
+ });
121
+ const data = args.data;
122
+ const settingsResult = await getSettings.execute();
123
+ if (settingsResult.isFail()) throw settingsResult.error;
124
+ const settings = settingsResult.value;
125
+ const normalizer = createFileNormalizerFromContext(context);
126
+ const file = await normalizer.normalizeFile(data);
127
+ const result = await getUploadPayload.execute(file, settings);
128
+ return new Response(result);
129
+ } catch (e) {
130
+ return new ErrorResponse({
131
+ message: e.message,
132
+ code: e.code,
133
+ data: e.data
134
+ });
135
+ }
136
+ }
137
+ });
138
+ builder.addResolver({
139
+ path: "FmQuery.getPreSignedPostPayloads",
140
+ dependencies: [
141
+ IdentityContext,
142
+ GetSettingsUseCase,
143
+ GetUploadPayloadUseCase
144
+ ],
145
+ resolver: (identityContext, getSettings, getUploadPayload)=>async ({ args, context })=>{
146
+ try {
147
+ await checkPermissions(identityContext, {
148
+ rwd: "w"
149
+ });
150
+ const files = args.data;
151
+ const settingsResult = await getSettings.execute();
152
+ if (settingsResult.isFail()) throw settingsResult.error;
153
+ const settings = settingsResult.value;
154
+ const normalizer = createFileNormalizerFromContext(context);
155
+ const results = await p_map(files, async (data)=>{
156
+ const file = await normalizer.normalizeFile(data);
157
+ return getUploadPayload.execute(file, settings);
158
+ });
159
+ return new Response(results);
160
+ } catch (e) {
161
+ return new ErrorResponse({
162
+ message: e.message,
163
+ code: e.code,
164
+ data: e.data
165
+ });
166
+ }
167
+ }
168
+ });
169
+ }
170
+ addMutationResolvers(builder) {
171
+ builder.addResolver({
172
+ path: "FmMutation.createMultiPartUpload",
173
+ dependencies: [
174
+ IdentityContext,
175
+ CreateMultiPartUploadUseCase
176
+ ],
177
+ resolver: (identityContext, createMultiPartUpload)=>async ({ args, context })=>{
178
+ try {
179
+ await checkPermissions(identityContext, {
180
+ rwd: "w"
181
+ });
182
+ const normalizer = createFileNormalizerFromContext(context);
183
+ const file = await normalizer.normalizeFile(args.data);
184
+ const result = await createMultiPartUpload.execute({
185
+ file,
186
+ numberOfParts: args.numberOfParts
187
+ });
188
+ return new Response(result);
189
+ } catch (e) {
190
+ return new ErrorResponse({
191
+ message: e.message,
192
+ code: e.code,
193
+ data: e.data
194
+ });
195
+ }
196
+ }
197
+ });
198
+ builder.addResolver({
199
+ path: "FmMutation.completeMultiPartUpload",
200
+ dependencies: [
201
+ IdentityContext,
202
+ CompleteMultiPartUploadUseCase
203
+ ],
204
+ resolver: (identityContext, completeMultiPartUpload)=>async ({ args })=>{
205
+ try {
206
+ await checkPermissions(identityContext, {
207
+ rwd: "w"
208
+ });
209
+ await completeMultiPartUpload.execute({
210
+ fileKey: args.fileKey,
211
+ uploadId: args.uploadId
212
+ });
213
+ return new Response(true);
214
+ } catch (e) {
215
+ return new ErrorResponse({
216
+ message: e.message,
217
+ code: e.code,
218
+ data: e.data
219
+ });
220
+ }
221
+ }
222
+ });
223
+ }
224
+ }
225
+ const FmUploadGraphQLSchema = GraphQLSchemaFactory.createImplementation({
226
+ implementation: FmUploadGraphQLSchema_,
227
+ dependencies: []
228
+ });
229
+ export { FmUploadGraphQLSchema };
230
+
231
+ //# sourceMappingURL=FmUploadGraphQLSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/FmUploadGraphQLSchema.js","sources":["../../src/graphql/FmUploadGraphQLSchema.ts"],"sourcesContent":["import pMap from \"p-map\";\nimport { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { ErrorResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { Response } from \"@webiny/handler-graphql/responses.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { GetUploadPayloadUseCase } from \"~/features/upload/GetUploadPayload/index.js\";\nimport { CreateMultiPartUploadUseCase } from \"~/features/upload/CreateMultiPartUpload/index.js\";\nimport { CompleteMultiPartUploadUseCase } from \"~/features/upload/CompleteMultiPartUpload/index.js\";\nimport { checkPermissions } from \"~/features/upload/utils/checkPermissions.js\";\nimport { createFileNormalizerFromContext } from \"~/features/upload/utils/createFileNormalizerFromContext.js\";\nimport type { PresignedPostPayloadData } from \"~/features/upload/types.js\";\n\nclass FmUploadGraphQLSchema_ implements GraphQLSchemaFactory.Interface {\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n this.addTypeDefs(builder);\n this.addQueryResolvers(builder);\n this.addMutationResolvers(builder);\n return builder;\n }\n\n private addTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addTypeDefs(/* GraphQL */ `\n type UploadFileResponseDataFile {\n id: ID!\n name: String!\n type: String!\n size: Long!\n key: String!\n }\n\n input PreSignedPostPayloadInput {\n id: ID\n name: String!\n type: String!\n size: Long!\n key: String\n keyPrefix: String\n }\n\n type GetPreSignedPostPayloadResponseDataFile {\n id: ID!\n name: String!\n type: String!\n size: Long!\n key: String!\n }\n\n type GetPreSignedPostPayloadResponseData {\n data: JSON!\n file: UploadFileResponseDataFile!\n }\n\n type GetPreSignedPostPayloadResponse {\n error: FmError\n data: GetPreSignedPostPayloadResponseData\n }\n\n type MultiPartUploadFilePart {\n partNumber: Int!\n url: String!\n }\n\n type CreateMultiPartUploadResponseData {\n file: GetPreSignedPostPayloadResponseDataFile!\n uploadId: String!\n parts: [MultiPartUploadFilePart!]!\n }\n\n type CompleteMultiPartUploadResponse {\n data: Boolean\n error: FmError\n }\n\n type GetPreSignedPostPayloadsResponse {\n error: FmError\n data: [GetPreSignedPostPayloadResponseData!]!\n }\n\n extend type FmQuery {\n getPreSignedPostPayload(\n data: PreSignedPostPayloadInput!\n ): GetPreSignedPostPayloadResponse\n getPreSignedPostPayloads(\n data: [PreSignedPostPayloadInput]!\n ): GetPreSignedPostPayloadsResponse\n }\n\n type CreateMultiPartUploadResponse {\n data: CreateMultiPartUploadResponseData\n error: FmError\n }\n\n input MultiPartUploadFilePartInput {\n partNumber: Int!\n etag: String!\n }\n\n extend type FmMutation {\n createMultiPartUpload(\n data: PreSignedPostPayloadInput!\n numberOfParts: Number!\n ): CreateMultiPartUploadResponse\n\n completeMultiPartUpload(\n fileKey: String!\n uploadId: String!\n ): CompleteMultiPartUploadResponse\n }\n `);\n }\n\n private addQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmQuery.getPreSignedPostPayload\",\n dependencies: [IdentityContext, GetSettingsUseCase, GetUploadPayloadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getSettings: GetSettingsUseCase.Interface,\n getUploadPayload: GetUploadPayloadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const data = args.data as PresignedPostPayloadData;\n const settingsResult = await getSettings.execute();\n if (settingsResult.isFail()) {\n throw settingsResult.error;\n }\n const settings = settingsResult.value;\n\n const normalizer = createFileNormalizerFromContext(context);\n const file = await normalizer.normalizeFile(data);\n\n const result = await getUploadPayload.execute(file, settings);\n return new Response(result);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.getPreSignedPostPayloads\",\n dependencies: [IdentityContext, GetSettingsUseCase, GetUploadPayloadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getSettings: GetSettingsUseCase.Interface,\n getUploadPayload: GetUploadPayloadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const files = args.data as PresignedPostPayloadData[];\n const settingsResult = await getSettings.execute();\n if (settingsResult.isFail()) {\n throw settingsResult.error;\n }\n const settings = settingsResult.value;\n\n const normalizer = createFileNormalizerFromContext(context);\n\n const results = await pMap(files, async data => {\n const file = await normalizer.normalizeFile(data);\n return getUploadPayload.execute(file, settings);\n });\n\n return new Response(results);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n }\n\n private addMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmMutation.createMultiPartUpload\",\n dependencies: [IdentityContext, CreateMultiPartUploadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n createMultiPartUpload: CreateMultiPartUploadUseCase.Interface\n ) => {\n return async ({ args, context }: { args: any; context: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n const normalizer = createFileNormalizerFromContext(context);\n const file = await normalizer.normalizeFile(args.data);\n\n const result = await createMultiPartUpload.execute({\n file,\n numberOfParts: args.numberOfParts\n });\n\n return new Response(result);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.completeMultiPartUpload\",\n dependencies: [IdentityContext, CompleteMultiPartUploadUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n completeMultiPartUpload: CompleteMultiPartUploadUseCase.Interface\n ) => {\n return async ({ args }: { args: any }) => {\n try {\n await checkPermissions(identityContext, { rwd: \"w\" });\n\n await completeMultiPartUpload.execute({\n fileKey: args.fileKey,\n uploadId: args.uploadId\n });\n\n return new Response(true);\n } catch (e: any) {\n return new ErrorResponse({\n message: e.message,\n code: e.code,\n data: e.data\n });\n }\n };\n }\n });\n }\n}\n\nexport const FmUploadGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: FmUploadGraphQLSchema_,\n dependencies: []\n});\n"],"names":["FmUploadGraphQLSchema_","builder","IdentityContext","GetSettingsUseCase","GetUploadPayloadUseCase","identityContext","getSettings","getUploadPayload","args","context","checkPermissions","data","settingsResult","settings","normalizer","createFileNormalizerFromContext","file","result","Response","e","ErrorResponse","files","results","pMap","CreateMultiPartUploadUseCase","createMultiPartUpload","CompleteMultiPartUploadUseCase","completeMultiPartUpload","FmUploadGraphQLSchema","GraphQLSchemaFactory"],"mappings":";;;;;;;;;;AAaA,MAAMA;IACF,MAAa,QACTC,OAA2C,EACA;QAC3C,IAAI,CAAC,WAAW,CAACA;QACjB,IAAI,CAAC,iBAAiB,CAACA;QACvB,IAAI,CAAC,oBAAoB,CAACA;QAC1B,OAAOA;IACX;IAEQ,YAAYA,OAA2C,EAAQ;QACnEA,QAAQ,WAAW,CAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuFnC,CAAC;IACL;IAEQ,kBAAkBA,OAA2C,EAAQ;QACzEA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;gBAAiBC;gBAAoBC;aAAwB;YAC5E,UAAU,CACNC,iBACAC,aACAC,mBAEO,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAA+B;oBACxD,IAAI;wBACA,MAAMC,iBAAiBL,iBAAiB;4BAAE,KAAK;wBAAI;wBAEnD,MAAMM,OAAOH,KAAK,IAAI;wBACtB,MAAMI,iBAAiB,MAAMN,YAAY,OAAO;wBAChD,IAAIM,eAAe,MAAM,IACrB,MAAMA,eAAe,KAAK;wBAE9B,MAAMC,WAAWD,eAAe,KAAK;wBAErC,MAAME,aAAaC,gCAAgCN;wBACnD,MAAMO,OAAO,MAAMF,WAAW,aAAa,CAACH;wBAE5C,MAAMM,SAAS,MAAMV,iBAAiB,OAAO,CAACS,MAAMH;wBACpD,OAAO,IAAIK,SAASD;oBACxB,EAAE,OAAOE,GAAQ;wBACb,OAAO,IAAIC,cAAc;4BACrB,SAASD,EAAE,OAAO;4BAClB,MAAMA,EAAE,IAAI;4BACZ,MAAMA,EAAE,IAAI;wBAChB;oBACJ;gBACJ;QAER;QAEAlB,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;gBAAiBC;gBAAoBC;aAAwB;YAC5E,UAAU,CACNC,iBACAC,aACAC,mBAEO,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAA+B;oBACxD,IAAI;wBACA,MAAMC,iBAAiBL,iBAAiB;4BAAE,KAAK;wBAAI;wBAEnD,MAAMgB,QAAQb,KAAK,IAAI;wBACvB,MAAMI,iBAAiB,MAAMN,YAAY,OAAO;wBAChD,IAAIM,eAAe,MAAM,IACrB,MAAMA,eAAe,KAAK;wBAE9B,MAAMC,WAAWD,eAAe,KAAK;wBAErC,MAAME,aAAaC,gCAAgCN;wBAEnD,MAAMa,UAAU,MAAMC,MAAKF,OAAO,OAAMV;4BACpC,MAAMK,OAAO,MAAMF,WAAW,aAAa,CAACH;4BAC5C,OAAOJ,iBAAiB,OAAO,CAACS,MAAMH;wBAC1C;wBAEA,OAAO,IAAIK,SAASI;oBACxB,EAAE,OAAOH,GAAQ;wBACb,OAAO,IAAIC,cAAc;4BACrB,SAASD,EAAE,OAAO;4BAClB,MAAMA,EAAE,IAAI;4BACZ,MAAMA,EAAE,IAAI;wBAChB;oBACJ;gBACJ;QAER;IACJ;IAEQ,qBAAqBlB,OAA2C,EAAQ;QAC5EA,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;gBAAiBsB;aAA6B;YAC7D,UAAU,CACNnB,iBACAoB,wBAEO,OAAO,EAAEjB,IAAI,EAAEC,OAAO,EAA+B;oBACxD,IAAI;wBACA,MAAMC,iBAAiBL,iBAAiB;4BAAE,KAAK;wBAAI;wBAEnD,MAAMS,aAAaC,gCAAgCN;wBACnD,MAAMO,OAAO,MAAMF,WAAW,aAAa,CAACN,KAAK,IAAI;wBAErD,MAAMS,SAAS,MAAMQ,sBAAsB,OAAO,CAAC;4BAC/CT;4BACA,eAAeR,KAAK,aAAa;wBACrC;wBAEA,OAAO,IAAIU,SAASD;oBACxB,EAAE,OAAOE,GAAQ;wBACb,OAAO,IAAIC,cAAc;4BACrB,SAASD,EAAE,OAAO;4BAClB,MAAMA,EAAE,IAAI;4BACZ,MAAMA,EAAE,IAAI;wBAChB;oBACJ;gBACJ;QAER;QAEAlB,QAAQ,WAAW,CAAC;YAChB,MAAM;YACN,cAAc;gBAACC;gBAAiBwB;aAA+B;YAC/D,UAAU,CACNrB,iBACAsB,0BAEO,OAAO,EAAEnB,IAAI,EAAiB;oBACjC,IAAI;wBACA,MAAME,iBAAiBL,iBAAiB;4BAAE,KAAK;wBAAI;wBAEnD,MAAMsB,wBAAwB,OAAO,CAAC;4BAClC,SAASnB,KAAK,OAAO;4BACrB,UAAUA,KAAK,QAAQ;wBAC3B;wBAEA,OAAO,IAAIU,SAAS;oBACxB,EAAE,OAAOC,GAAQ;wBACb,OAAO,IAAIC,cAAc;4BACrB,SAASD,EAAE,OAAO;4BAClB,MAAMA,EAAE,IAAI;4BACZ,MAAMA,EAAE,IAAI;wBAChB;oBACJ;gBACJ;QAER;IACJ;AACJ;AAEO,MAAMS,wBAAwBC,qBAAqB,oBAAoB,CAAC;IAC3E,gBAAgB7B;IAChB,cAAc,EAAE;AACpB"}
package/index.d.ts CHANGED
@@ -1,7 +1,4 @@
1
1
  import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
2
2
  import { ContextPlugin } from "@webiny/api";
3
- export * from "./modelModifier/CmsModelModifier.js";
4
- export * from "./delivery/index.js";
5
3
  export declare const createFileManagerContext: () => (ContextPlugin<ApiCoreContext> | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
6
- export declare const createFileManagerGraphQL: () => (import("@webiny/handler-graphql/index.js").GraphQLSchemaPlugin<ApiCoreContext> | ContextPlugin<ApiCoreContext>)[];
7
4
  export declare const createAssetDelivery: () => (import("@webiny/handler").ModifyFastifyPlugin | import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>)[];
package/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
2
  import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
3
- import { createGraphQLSchemaPlugin } from "./graphql/index.js";
4
3
  import { FileManagerFeature } from "./features/FileManagerFeature.js";
5
4
  import { FmPermissionsFeature } from "./features/permissions/feature.js";
6
5
  import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
@@ -9,37 +8,37 @@ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/i
9
8
  import { FILE_MODEL_ID, FileModel as file_model_js_FileModel } from "./domain/file/file.model.js";
10
9
  import { createRegisterExtensionPlugin } from "@webiny/handler";
11
10
  import { AssetDeliveryFeature } from "./features/assetDelivery/feature.js";
12
- export * from "./modelModifier/CmsModelModifier.js";
13
- export * from "./delivery/index.js";
14
11
  const createFileManagerContext = ()=>{
15
- const fileManagerContextPlugin = new ContextPlugin(async (context)=>{
16
- const tenantContext = context.container.resolve(TenantContext);
17
- const getModel = context.container.resolve(GetModelUseCase);
12
+ const extensionPlugin = createRegisterExtensionPlugin((context)=>{
13
+ const container = context.container;
14
+ container.register(file_model_js_FileModel);
15
+ FmPermissionsFeature.register(container);
16
+ FileManagerFeature.register(container);
17
+ });
18
+ extensionPlugin.name = "file-manager.extension";
19
+ const contextPlugin = new ContextPlugin(async (context)=>{
20
+ const container = context.container;
21
+ const tenantContext = container.resolve(TenantContext);
22
+ const getModel = container.resolve(GetModelUseCase);
18
23
  if (!tenantContext.getTenant()) return;
19
24
  await context.security.withoutAuthorization(async ()=>{
20
25
  const fileModel = await getModel.execute(FILE_MODEL_ID);
21
26
  if (fileModel.isFail()) throw fileModel.error;
22
- context.container.registerInstance(FileModel, fileModel.value);
27
+ container.registerInstance(FileModel, fileModel.value);
23
28
  });
24
- FmPermissionsFeature.register(context.container);
25
- FileManagerFeature.register(context.container);
26
- });
27
- fileManagerContextPlugin.name = "file-manager.createContext";
28
- const modelsPlugin = createRegisterExtensionPlugin((context)=>{
29
- context.container.register(file_model_js_FileModel);
30
29
  });
30
+ contextPlugin.name = "file-manager.createContext";
31
31
  return [
32
- fileManagerContextPlugin,
33
- modelsPlugin
32
+ extensionPlugin,
33
+ contextPlugin
34
34
  ];
35
35
  };
36
- const createFileManagerGraphQL = ()=>createGraphQLSchemaPlugin();
37
36
  const createAssetDelivery = ()=>[
38
37
  createRegisterExtensionPlugin((context)=>{
39
38
  AssetDeliveryFeature.register(context.container);
40
39
  }),
41
40
  ...setupAssetDelivery()
42
41
  ];
43
- export { createAssetDelivery, createFileManagerContext, createFileManagerGraphQL };
42
+ export { createAssetDelivery, createFileManagerContext };
44
43
 
45
44
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { 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 type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { FileManagerFeature } from \"~/features/FileManagerFeature.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FileModel as FileModelAbstraction } from \"~/domain/file/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { FILE_MODEL_ID, FileModel } from \"~/domain/file/file.model.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport const createFileManagerContext = () => {\n const extensionPlugin = createRegisterExtensionPlugin(context => {\n const container = context.container;\n container.register(FileModel);\n FmPermissionsFeature.register(container);\n FileManagerFeature.register(container);\n });\n extensionPlugin.name = \"file-manager.extension\";\n\n const contextPlugin = new ContextPlugin<ApiCoreContext>(async context => {\n const container = context.container;\n const tenantContext = container.resolve(TenantContext);\n const getModel = container.resolve(GetModelUseCase);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n await context.security.withoutAuthorization(async () => {\n const fileModel = await getModel.execute(FILE_MODEL_ID);\n if (fileModel.isFail()) {\n throw fileModel.error;\n }\n container.registerInstance(FileModelAbstraction, fileModel.value);\n });\n });\n contextPlugin.name = \"file-manager.createContext\";\n\n return [extensionPlugin, contextPlugin];\n};\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n"],"names":["createFileManagerContext","extensionPlugin","createRegisterExtensionPlugin","context","container","FileModel","FmPermissionsFeature","FileManagerFeature","contextPlugin","ContextPlugin","tenantContext","TenantContext","getModel","GetModelUseCase","fileModel","FILE_MODEL_ID","FileModelAbstraction","createAssetDelivery","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;;;;;;;AAYO,MAAMA,2BAA2B;IACpC,MAAMC,kBAAkBC,8BAA8BC,CAAAA;QAClD,MAAMC,YAAYD,QAAQ,SAAS;QACnCC,UAAU,QAAQ,CAACC;QACnBC,qBAAqB,QAAQ,CAACF;QAC9BG,mBAAmB,QAAQ,CAACH;IAChC;IACAH,gBAAgB,IAAI,GAAG;IAEvB,MAAMO,gBAAgB,IAAIC,cAA8B,OAAMN;QAC1D,MAAMC,YAAYD,QAAQ,SAAS;QACnC,MAAMO,gBAAgBN,UAAU,OAAO,CAACO;QACxC,MAAMC,WAAWR,UAAU,OAAO,CAACS;QAEnC,IAAI,CAACH,cAAc,SAAS,IACxB;QAGJ,MAAMP,QAAQ,QAAQ,CAAC,oBAAoB,CAAC;YACxC,MAAMW,YAAY,MAAMF,SAAS,OAAO,CAACG;YACzC,IAAID,UAAU,MAAM,IAChB,MAAMA,UAAU,KAAK;YAEzBV,UAAU,gBAAgB,CAACY,WAAsBF,UAAU,KAAK;QACpE;IACJ;IACAN,cAAc,IAAI,GAAG;IAErB,OAAO;QAACP;QAAiBO;KAAc;AAC3C;AAEO,MAAMS,sBAAsB,IACxB;QACHf,8BAA8BC,CAAAA;YAC1Be,qBAAqB,QAAQ,CAACf,QAAQ,SAAS;QACnD;WACGgB;KACN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-file-manager",
3
- "version": "6.4.12-beta.4",
3
+ "version": "6.5.0-beta.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -22,28 +22,34 @@
22
22
  ],
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@webiny/api": "6.4.12-beta.4",
26
- "@webiny/api-core": "6.4.12-beta.4",
27
- "@webiny/api-headless-cms": "6.4.12-beta.4",
28
- "@webiny/background-tasks": "6.4.12-beta.4",
29
- "@webiny/build-tools": "6.4.12-beta.4",
30
- "@webiny/error": "6.4.12-beta.4",
31
- "@webiny/feature": "6.4.12-beta.4",
32
- "@webiny/handler": "6.4.12-beta.4",
33
- "@webiny/handler-graphql": "6.4.12-beta.4",
34
- "@webiny/plugins": "6.4.12-beta.4",
35
- "@webiny/wcp": "6.4.12-beta.4",
25
+ "@webiny/api": "6.5.0-beta.0",
26
+ "@webiny/api-core": "6.5.0-beta.0",
27
+ "@webiny/api-headless-cms": "6.5.0-beta.0",
28
+ "@webiny/background-tasks": "6.5.0-beta.0",
29
+ "@webiny/build-tools": "6.5.0-beta.0",
30
+ "@webiny/di": "1.0.2",
31
+ "@webiny/error": "6.5.0-beta.0",
32
+ "@webiny/feature": "6.5.0-beta.0",
33
+ "@webiny/handler": "6.5.0-beta.0",
34
+ "@webiny/handler-graphql": "6.5.0-beta.0",
35
+ "@webiny/plugins": "6.5.0-beta.0",
36
+ "@webiny/utils": "6.5.0-beta.0",
37
+ "@webiny/wcp": "6.5.0-beta.0",
36
38
  "cache-control-parser": "2.2.0",
37
- "zod": "4.6.5"
39
+ "mime": "4.1.0",
40
+ "object-hash": "3.0.0",
41
+ "p-map": "7.0.6",
42
+ "p-reduce": "3.0.0",
43
+ "sanitize-filename": "1.6.4",
44
+ "zod": "4.4.3"
38
45
  },
39
46
  "devDependencies": {
40
47
  "@types/object-hash": "3.0.6",
41
- "@webiny/handler-aws": "6.4.12-beta.4",
42
- "@webiny/project-utils": "6.4.12-beta.4",
43
- "@webiny/utils": "6.4.12-beta.4",
44
- "@webiny/wcp": "6.4.12-beta.4",
48
+ "@webiny/handler-aws": "6.5.0-beta.0",
49
+ "@webiny/project-utils": "6.5.0-beta.0",
50
+ "@webiny/wcp": "6.5.0-beta.0",
45
51
  "rimraf": "6.1.3",
46
- "typescript": "6.0.3"
52
+ "typescript": "7.0.2"
47
53
  },
48
54
  "publishConfig": {
49
55
  "access": "public"
package/contants.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"contants.js","sources":["../src/contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"names":["ROOT_FOLDER"],"mappings":"AAAO,MAAMA,cAAc"}
@@ -1,54 +0,0 @@
1
- import type { Request } from "@webiny/handler/types.js";
2
- import type { AssetRequest } from "../../delivery/AssetDelivery/AssetRequest.js";
3
- import type { Asset } from "../../delivery/AssetDelivery/Asset.js";
4
- import type { AssetReply } from "../../delivery/AssetDelivery/abstractions/AssetReply.js";
5
- import type { File } from "../../domain/file/types.js";
6
- export interface IAssetRequestResolver {
7
- resolve(request: Request): Promise<AssetRequest | undefined>;
8
- }
9
- export interface IAssetResolver {
10
- resolve(request: AssetRequest): Promise<Asset | undefined>;
11
- }
12
- export interface IAssetProcessor {
13
- process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
14
- }
15
- export interface IAssetOutputStrategy {
16
- output(asset: Asset): Promise<AssetReply>;
17
- }
18
- export interface IAssetTransformationStrategy {
19
- transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
20
- }
21
- export interface IAssetContentsReader {
22
- read(asset: Asset): Promise<Buffer>;
23
- }
24
- export interface IAssetAuthorizer {
25
- authorize(file: File): Promise<void>;
26
- }
27
- export declare const AssetRequestResolver: import("@webiny/di").Abstraction<IAssetRequestResolver>;
28
- export declare const AssetResolver: import("@webiny/di").Abstraction<IAssetResolver>;
29
- export declare const AssetProcessor: import("@webiny/di").Abstraction<IAssetProcessor>;
30
- export declare const AssetOutputStrategy: import("@webiny/di").Abstraction<IAssetOutputStrategy>;
31
- export declare const AssetTransformationStrategy: import("@webiny/di").Abstraction<IAssetTransformationStrategy>;
32
- export declare const AssetContentsReader: import("@webiny/di").Abstraction<IAssetContentsReader>;
33
- export declare const AssetAuthorizer: import("@webiny/di").Abstraction<IAssetAuthorizer>;
34
- export declare namespace AssetRequestResolver {
35
- type Interface = IAssetRequestResolver;
36
- }
37
- export declare namespace AssetResolver {
38
- type Interface = IAssetResolver;
39
- }
40
- export declare namespace AssetProcessor {
41
- type Interface = IAssetProcessor;
42
- }
43
- export declare namespace AssetOutputStrategy {
44
- type Interface = IAssetOutputStrategy;
45
- }
46
- export declare namespace AssetTransformationStrategy {
47
- type Interface = IAssetTransformationStrategy;
48
- }
49
- export declare namespace AssetContentsReader {
50
- type Interface = IAssetContentsReader;
51
- }
52
- export declare namespace AssetAuthorizer {
53
- type Interface = IAssetAuthorizer;
54
- }
@@ -1,11 +0,0 @@
1
- import { createAbstraction } from "@webiny/feature/api";
2
- const AssetRequestResolver = createAbstraction("AssetDelivery/AssetRequestResolver");
3
- const AssetResolver = createAbstraction("AssetDelivery/AssetResolver");
4
- const AssetProcessor = createAbstraction("AssetDelivery/AssetProcessor");
5
- const AssetOutputStrategy = createAbstraction("AssetDelivery/AssetOutputStrategy");
6
- const AssetTransformationStrategy = createAbstraction("AssetDelivery/AssetTransformationStrategy");
7
- const AssetContentsReader = createAbstraction("AssetDelivery/AssetContentsReader");
8
- const AssetAuthorizer = createAbstraction("AssetDelivery/AssetAuthorizer");
9
- export { AssetAuthorizer, AssetContentsReader, AssetOutputStrategy, AssetProcessor, AssetRequestResolver, AssetResolver, AssetTransformationStrategy };
10
-
11
- //# sourceMappingURL=abstractions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features/assetDelivery/abstractions.js","sources":["../../../src/features/assetDelivery/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport interface IAssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n\nexport interface IAssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n\nexport interface IAssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n\nexport interface IAssetOutputStrategy {\n output(asset: Asset): Promise<AssetReply>;\n}\n\nexport interface IAssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n\nexport interface IAssetContentsReader {\n read(asset: Asset): Promise<Buffer>;\n}\n\nexport interface IAssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n\nexport const AssetRequestResolver = createAbstraction<IAssetRequestResolver>(\n \"AssetDelivery/AssetRequestResolver\"\n);\n\nexport const AssetResolver = createAbstraction<IAssetResolver>(\"AssetDelivery/AssetResolver\");\n\nexport const AssetProcessor = createAbstraction<IAssetProcessor>(\"AssetDelivery/AssetProcessor\");\n\nexport const AssetOutputStrategy = createAbstraction<IAssetOutputStrategy>(\n \"AssetDelivery/AssetOutputStrategy\"\n);\n\nexport const AssetTransformationStrategy = createAbstraction<IAssetTransformationStrategy>(\n \"AssetDelivery/AssetTransformationStrategy\"\n);\n\nexport const AssetContentsReader = createAbstraction<IAssetContentsReader>(\n \"AssetDelivery/AssetContentsReader\"\n);\n\nexport const AssetAuthorizer = createAbstraction<IAssetAuthorizer>(\"AssetDelivery/AssetAuthorizer\");\n\nexport namespace AssetRequestResolver {\n export type Interface = IAssetRequestResolver;\n}\n\nexport namespace AssetResolver {\n export type Interface = IAssetResolver;\n}\n\nexport namespace AssetProcessor {\n export type Interface = IAssetProcessor;\n}\n\nexport namespace AssetOutputStrategy {\n export type Interface = IAssetOutputStrategy;\n}\n\nexport namespace AssetTransformationStrategy {\n export type Interface = IAssetTransformationStrategy;\n}\n\nexport namespace AssetContentsReader {\n export type Interface = IAssetContentsReader;\n}\n\nexport namespace AssetAuthorizer {\n export type Interface = IAssetAuthorizer;\n}\n"],"names":["AssetRequestResolver","createAbstraction","AssetResolver","AssetProcessor","AssetOutputStrategy","AssetTransformationStrategy","AssetContentsReader","AssetAuthorizer"],"mappings":";AAmCO,MAAMA,uBAAuBC,kBAChC;AAGG,MAAMC,gBAAgBD,kBAAkC;AAExD,MAAME,iBAAiBF,kBAAmC;AAE1D,MAAMG,sBAAsBH,kBAC/B;AAGG,MAAMI,8BAA8BJ,kBACvC;AAGG,MAAMK,sBAAsBL,kBAC/B;AAGG,MAAMM,kBAAkBN,kBAAoC"}
@@ -1,9 +0,0 @@
1
- import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
- import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
3
- import { type IAssetTransformationStrategy } from "../abstractions.js";
4
- export declare class PassthroughAssetTransformationStrategy implements IAssetTransformationStrategy {
5
- transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
6
- }
7
- export declare const PassthroughAssetTransformationStrategyImpl: typeof PassthroughAssetTransformationStrategy & {
8
- __abstraction: import("@webiny/di").Abstraction<IAssetTransformationStrategy>;
9
- };
@@ -1,13 +0,0 @@
1
- import { AssetTransformationStrategy } from "../abstractions.js";
2
- class PassthroughAssetTransformationStrategy {
3
- transform(assetRequest, asset) {
4
- return Promise.resolve(asset);
5
- }
6
- }
7
- const PassthroughAssetTransformationStrategyImpl = AssetTransformationStrategy.createImplementation({
8
- implementation: PassthroughAssetTransformationStrategy,
9
- dependencies: []
10
- });
11
- export { PassthroughAssetTransformationStrategy, PassthroughAssetTransformationStrategyImpl };
12
-
13
- //# sourceMappingURL=PassthroughAssetTransformationStrategy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js","sources":["../../../../src/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { AssetTransformationStrategy, type IAssetTransformationStrategy } from \"../abstractions.js\";\n\nexport class PassthroughAssetTransformationStrategy implements IAssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n\nexport const PassthroughAssetTransformationStrategyImpl =\n AssetTransformationStrategy.createImplementation({\n implementation: PassthroughAssetTransformationStrategy,\n dependencies: []\n });\n"],"names":["PassthroughAssetTransformationStrategy","assetRequest","asset","Promise","PassthroughAssetTransformationStrategyImpl","AssetTransformationStrategy"],"mappings":";AAIO,MAAMA;IACT,UAAUC,YAA0B,EAAEC,KAAY,EAAkB;QAChE,OAAOC,QAAQ,OAAO,CAACD;IAC3B;AACJ;AAEO,MAAME,6CACTC,4BAA4B,oBAAoB,CAAC;IAC7C,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
@@ -1,3 +0,0 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
3
- export declare const createBaseSchema: () => GraphQLSchemaPlugin<ApiCoreContext>;
@@ -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"}