@webiny/api-file-manager 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b6d7105cee

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 (627) hide show
  1. package/README.md +7 -13
  2. package/constants.d.ts +1 -0
  3. package/constants.js +4 -0
  4. package/constants.js.map +1 -0
  5. package/delivery/AssetDelivery/Asset.d.ts +29 -0
  6. package/delivery/AssetDelivery/Asset.js +56 -0
  7. package/delivery/AssetDelivery/Asset.js.map +1 -0
  8. package/delivery/AssetDelivery/AssetRequest.d.ts +26 -0
  9. package/delivery/AssetDelivery/AssetRequest.js +26 -0
  10. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  11. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +26 -0
  12. package/delivery/AssetDelivery/abstractions/AssetReply.js +37 -0
  13. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  14. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  15. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +7 -0
  16. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  17. package/delivery/index.d.ts +7 -0
  18. package/delivery/index.js +4 -0
  19. package/delivery/setupAssetDelivery.d.ts +1 -0
  20. package/delivery/setupAssetDelivery.js +72 -0
  21. package/delivery/setupAssetDelivery.js.map +1 -0
  22. package/domain/file/abstractions.d.ts +9 -0
  23. package/domain/file/abstractions.js +5 -0
  24. package/domain/file/abstractions.js.map +1 -0
  25. package/domain/file/errors.d.ts +59 -0
  26. package/domain/file/errors.js +80 -0
  27. package/domain/file/errors.js.map +1 -0
  28. package/domain/file/file.model.d.ts +12 -0
  29. package/domain/file/file.model.js +69 -0
  30. package/domain/file/file.model.js.map +1 -0
  31. package/domain/file/types.d.ts +53 -0
  32. package/domain/identity/Identity.d.ts +9 -0
  33. package/domain/identity/Identity.js +12 -0
  34. package/domain/identity/Identity.js.map +1 -0
  35. package/domain/permissionsSchema.d.ts +16 -0
  36. package/domain/permissionsSchema.js +30 -0
  37. package/domain/permissionsSchema.js.map +1 -0
  38. package/domain/settings/constants.d.ts +1 -0
  39. package/domain/settings/constants.js +4 -0
  40. package/domain/settings/constants.js.map +1 -0
  41. package/domain/settings/errors.d.ts +18 -0
  42. package/domain/settings/errors.js +28 -0
  43. package/domain/settings/errors.js.map +1 -0
  44. package/domain/settings/types.d.ts +10 -0
  45. package/domain/settings/types.js +0 -0
  46. package/domain/settings/validation.d.ts +6 -0
  47. package/domain/settings/validation.js +27 -0
  48. package/domain/settings/validation.js.map +1 -0
  49. package/exports/api/file-manager/assetDelivery.d.ts +18 -0
  50. package/exports/api/file-manager/assetDelivery.js +15 -0
  51. package/exports/api/file-manager/file.d.ts +13 -0
  52. package/exports/api/file-manager/file.js +13 -0
  53. package/exports/api/file-manager/permissions.d.ts +1 -0
  54. package/exports/api/file-manager/permissions.js +1 -0
  55. package/exports/api/file-manager/settings.d.ts +3 -0
  56. package/exports/api/file-manager/settings.js +3 -0
  57. package/features/FileManagerFeature.d.ts +4 -0
  58. package/features/FileManagerFeature.js +43 -0
  59. package/features/FileManagerFeature.js.map +1 -0
  60. package/features/assetDelivery/Asset/Asset.d.ts +8 -0
  61. package/features/assetDelivery/Asset/Asset.js +14 -0
  62. package/features/assetDelivery/Asset/Asset.js.map +1 -0
  63. package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
  64. package/features/assetDelivery/Asset/abstractions.js +5 -0
  65. package/features/assetDelivery/Asset/abstractions.js.map +1 -0
  66. package/features/assetDelivery/Asset/index.d.ts +1 -0
  67. package/features/assetDelivery/Asset/index.js +1 -0
  68. package/features/assetDelivery/AssetRequest/AssetRequest.d.ts +8 -0
  69. package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
  70. package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
  71. package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
  72. package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
  73. package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
  74. package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
  75. package/features/assetDelivery/AssetRequest/index.js +1 -0
  76. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +11 -0
  77. package/features/assetDelivery/FilesAssetRequestResolver.js +33 -0
  78. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  79. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  80. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  81. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  82. package/features/assetDelivery/NullAssetReply.d.ts +5 -0
  83. package/features/assetDelivery/NullAssetReply.js +17 -0
  84. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  85. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  86. package/features/assetDelivery/NullAssetResolver.js +13 -0
  87. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  88. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  89. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  90. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  91. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  92. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  93. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  94. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  95. package/features/assetDelivery/ObjectKey/index.js +1 -0
  96. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  97. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  98. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  99. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  100. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  101. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  102. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  103. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  104. package/features/assetDelivery/abstractions/AssetAuthorizer.d.ts +9 -0
  105. package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
  106. package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
  107. package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
  108. package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
  109. package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  110. package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
  111. package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
  112. package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  113. package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
  114. package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
  115. package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
  116. package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
  117. package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
  118. package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  119. package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
  120. package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
  121. package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
  122. package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
  123. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
  124. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  125. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  126. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  127. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  128. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  129. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  130. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  131. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  132. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  133. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  134. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  135. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  136. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  137. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  138. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  139. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  140. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  141. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  142. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  143. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  144. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  145. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  146. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  147. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  148. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  149. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  150. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  151. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  152. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  153. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  154. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  155. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  156. package/features/assetDelivery/feature.d.ts +4 -0
  157. package/features/assetDelivery/feature.js +38 -0
  158. package/features/assetDelivery/feature.js.map +1 -0
  159. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  160. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  161. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  162. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  163. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  164. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  165. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  166. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  167. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  168. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  169. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  170. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  171. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +12 -0
  172. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +34 -0
  173. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  174. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  175. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +66 -0
  176. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  177. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  178. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  179. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  180. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +10 -0
  181. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +24 -0
  182. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  183. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +10 -0
  184. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +24 -0
  185. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  186. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  187. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  188. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  189. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +7 -0
  190. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  191. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  192. package/features/assetDelivery/transformation/index.d.ts +5 -0
  193. package/features/assetDelivery/transformation/index.js +4 -0
  194. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  195. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  196. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  197. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  198. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  199. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  200. package/features/file/CreateFile/CreateFileRepository.js +32 -0
  201. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  202. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  203. package/features/file/CreateFile/CreateFileUseCase.js +83 -0
  204. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  205. package/features/file/CreateFile/abstractions.d.ts +60 -0
  206. package/features/file/CreateFile/abstractions.js +6 -0
  207. package/features/file/CreateFile/abstractions.js.map +1 -0
  208. package/features/file/CreateFile/events.d.ts +31 -0
  209. package/features/file/CreateFile/events.js +23 -0
  210. package/features/file/CreateFile/events.js.map +1 -0
  211. package/features/file/CreateFile/feature.d.ts +4 -0
  212. package/features/file/CreateFile/feature.js +13 -0
  213. package/features/file/CreateFile/feature.js.map +1 -0
  214. package/features/file/CreateFile/index.d.ts +2 -0
  215. package/features/file/CreateFile/index.js +2 -0
  216. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  217. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +22 -0
  218. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  219. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  220. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +73 -0
  221. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  222. package/features/file/CreateFilesInBatch/abstractions.d.ts +42 -0
  223. package/features/file/CreateFilesInBatch/abstractions.js +6 -0
  224. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  225. package/features/file/CreateFilesInBatch/events.d.ts +31 -0
  226. package/features/file/CreateFilesInBatch/events.js +23 -0
  227. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  228. package/features/file/CreateFilesInBatch/feature.d.ts +4 -0
  229. package/features/file/CreateFilesInBatch/feature.js +13 -0
  230. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  231. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  232. package/features/file/CreateFilesInBatch/index.js +1 -0
  233. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  234. package/features/file/DeleteFile/DeleteFileRepository.js +31 -0
  235. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  236. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  237. package/features/file/DeleteFile/DeleteFileUseCase.js +43 -0
  238. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  239. package/features/file/DeleteFile/abstractions.d.ts +39 -0
  240. package/features/file/DeleteFile/abstractions.js +6 -0
  241. package/features/file/DeleteFile/abstractions.js.map +1 -0
  242. package/features/file/DeleteFile/events.d.ts +29 -0
  243. package/features/file/DeleteFile/events.js +23 -0
  244. package/features/file/DeleteFile/events.js.map +1 -0
  245. package/features/file/DeleteFile/feature.d.ts +4 -0
  246. package/features/file/DeleteFile/feature.js +13 -0
  247. package/features/file/DeleteFile/feature.js.map +1 -0
  248. package/features/file/DeleteFile/index.d.ts +2 -0
  249. package/features/file/DeleteFile/index.js +2 -0
  250. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
  251. package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
  252. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  253. package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
  254. package/features/file/FileUrlGenerator/abstractions.js +5 -0
  255. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  256. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  257. package/features/file/FileUrlGenerator/feature.js +11 -0
  258. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  259. package/features/file/FileUrlGenerator/index.d.ts +1 -0
  260. package/features/file/FileUrlGenerator/index.js +1 -0
  261. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  262. package/features/file/GetFile/GetFileRepository.js +33 -0
  263. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  264. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  265. package/features/file/GetFile/GetFileUseCase.js +29 -0
  266. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  267. package/features/file/GetFile/abstractions.d.ts +40 -0
  268. package/features/file/GetFile/abstractions.js +6 -0
  269. package/features/file/GetFile/abstractions.js.map +1 -0
  270. package/features/file/GetFile/feature.d.ts +4 -0
  271. package/features/file/GetFile/feature.js +13 -0
  272. package/features/file/GetFile/feature.js.map +1 -0
  273. package/features/file/GetFile/index.d.ts +1 -0
  274. package/features/file/GetFile/index.js +1 -0
  275. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  276. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  277. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  278. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  279. package/features/file/GetFileByUrl/abstractions.js +5 -0
  280. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  281. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  282. package/features/file/GetFileByUrl/feature.js +11 -0
  283. package/features/file/GetFileByUrl/feature.js.map +1 -0
  284. package/features/file/GetFileByUrl/index.d.ts +1 -0
  285. package/features/file/GetFileByUrl/index.js +1 -0
  286. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  287. package/features/file/GetFileContentsById/abstractions.js +5 -0
  288. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  289. package/features/file/GetFileContentsById/index.d.ts +1 -0
  290. package/features/file/GetFileContentsById/index.js +1 -0
  291. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  292. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  293. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  294. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  295. package/features/file/GetFileContentsByKey/index.js +1 -0
  296. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  297. package/features/file/ListFiles/ListFilesRepository.js +53 -0
  298. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  299. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  300. package/features/file/ListFiles/ListFilesUseCase.js +44 -0
  301. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  302. package/features/file/ListFiles/abstractions.d.ts +49 -0
  303. package/features/file/ListFiles/abstractions.js +6 -0
  304. package/features/file/ListFiles/abstractions.js.map +1 -0
  305. package/features/file/ListFiles/feature.d.ts +4 -0
  306. package/features/file/ListFiles/feature.js +13 -0
  307. package/features/file/ListFiles/feature.js.map +1 -0
  308. package/features/file/ListFiles/index.d.ts +1 -0
  309. package/features/file/ListFiles/index.js +1 -0
  310. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
  311. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
  312. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
  313. package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
  314. package/features/file/ListImagesByTagTool/feature.js +11 -0
  315. package/features/file/ListImagesByTagTool/feature.js.map +1 -0
  316. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  317. package/features/file/ListTags/ListTagsRepository.js +42 -0
  318. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  319. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  320. package/features/file/ListTags/ListTagsUseCase.js +31 -0
  321. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  322. package/features/file/ListTags/abstractions.d.ts +45 -0
  323. package/features/file/ListTags/abstractions.js +6 -0
  324. package/features/file/ListTags/abstractions.js.map +1 -0
  325. package/features/file/ListTags/feature.d.ts +4 -0
  326. package/features/file/ListTags/feature.js +13 -0
  327. package/features/file/ListTags/feature.js.map +1 -0
  328. package/features/file/ListTags/index.d.ts +1 -0
  329. package/features/file/ListTags/index.js +1 -0
  330. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  331. package/features/file/UpdateFile/UpdateFileRepository.js +37 -0
  332. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  333. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  334. package/features/file/UpdateFile/UpdateFileUseCase.js +71 -0
  335. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  336. package/features/file/UpdateFile/abstractions.d.ts +56 -0
  337. package/features/file/UpdateFile/abstractions.js +6 -0
  338. package/features/file/UpdateFile/abstractions.js.map +1 -0
  339. package/features/file/UpdateFile/events.d.ts +34 -0
  340. package/features/file/UpdateFile/events.js +23 -0
  341. package/features/file/UpdateFile/events.js.map +1 -0
  342. package/features/file/UpdateFile/feature.d.ts +4 -0
  343. package/features/file/UpdateFile/feature.js +13 -0
  344. package/features/file/UpdateFile/feature.js.map +1 -0
  345. package/features/file/UpdateFile/index.d.ts +2 -0
  346. package/features/file/UpdateFile/index.js +2 -0
  347. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  348. package/features/file/shared/EntryToFileMapper.js +28 -0
  349. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  350. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  351. package/features/file/shared/FileInputToEntryInputMapper.js +32 -0
  352. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  353. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  354. package/features/file/shared/FileToEntryMapper.js +31 -0
  355. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  356. package/features/permissions/abstractions.d.ts +21 -0
  357. package/features/permissions/abstractions.js +6 -0
  358. package/features/permissions/abstractions.js.map +1 -0
  359. package/features/permissions/feature.d.ts +4 -0
  360. package/features/permissions/feature.js +7 -0
  361. package/features/permissions/feature.js.map +1 -0
  362. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  363. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  364. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  365. package/features/settings/GetSettings/abstractions.d.ts +18 -0
  366. package/features/settings/GetSettings/abstractions.js +5 -0
  367. package/features/settings/GetSettings/abstractions.js.map +1 -0
  368. package/features/settings/GetSettings/feature.d.ts +4 -0
  369. package/features/settings/GetSettings/feature.js +11 -0
  370. package/features/settings/GetSettings/feature.js.map +1 -0
  371. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
  372. package/features/settings/SettingsInstaller/SettingsInstaller.js +36 -0
  373. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  374. package/features/settings/SettingsInstaller/feature.d.ts +4 -0
  375. package/features/settings/SettingsInstaller/feature.js +11 -0
  376. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  377. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  378. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +55 -0
  379. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  380. package/features/settings/UpdateSettings/abstractions.d.ts +23 -0
  381. package/features/settings/UpdateSettings/abstractions.js +5 -0
  382. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  383. package/features/settings/UpdateSettings/events.d.ts +34 -0
  384. package/features/settings/UpdateSettings/events.js +23 -0
  385. package/features/settings/UpdateSettings/events.js.map +1 -0
  386. package/features/settings/UpdateSettings/feature.d.ts +4 -0
  387. package/features/settings/UpdateSettings/feature.js +11 -0
  388. package/features/settings/UpdateSettings/feature.js.map +1 -0
  389. package/features/settings/UpdateSettings/index.d.ts +2 -0
  390. package/features/settings/UpdateSettings/index.js +2 -0
  391. package/features/shared/abstractions.d.ts +1 -0
  392. package/features/shared/abstractions.js +1 -0
  393. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  394. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  395. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  396. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  397. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  398. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  399. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  400. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  401. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  402. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  403. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  404. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  405. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  406. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  407. package/features/upload/GetUploadPayload/index.js +1 -0
  408. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  409. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  410. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  411. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  412. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  413. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  414. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  415. package/features/upload/ReadFileMetadata/feature.js +11 -0
  416. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  417. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  418. package/features/upload/ReadFileMetadata/index.js +1 -0
  419. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  420. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  421. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  422. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  423. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  424. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  425. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  426. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  427. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  428. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  429. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  430. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  431. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  432. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  433. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  434. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  435. package/features/upload/WriteFileMetadata/feature.js +17 -0
  436. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  437. package/features/upload/index.d.ts +17 -0
  438. package/features/upload/index.js +10 -0
  439. package/features/upload/types.d.ts +28 -0
  440. package/features/upload/types.js +0 -0
  441. package/features/upload/utils/FileExtension.d.ts +6 -0
  442. package/features/upload/utils/FileExtension.js +16 -0
  443. package/features/upload/utils/FileExtension.js.map +1 -0
  444. package/features/upload/utils/FileKey.d.ts +11 -0
  445. package/features/upload/utils/FileKey.js +33 -0
  446. package/features/upload/utils/FileKey.js.map +1 -0
  447. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  448. package/features/upload/utils/FileNormalizer.js +41 -0
  449. package/features/upload/utils/FileNormalizer.js.map +1 -0
  450. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  451. package/features/upload/utils/FileUploadModifier.js +39 -0
  452. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  453. package/features/upload/utils/checkPermissions.d.ts +5 -0
  454. package/features/upload/utils/checkPermissions.js +22 -0
  455. package/features/upload/utils/checkPermissions.js.map +1 -0
  456. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  457. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  458. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  459. package/features/upload/utils/mimeTypes.d.ts +1 -0
  460. package/features/upload/utils/mimeTypes.js +9 -0
  461. package/features/upload/utils/mimeTypes.js.map +1 -0
  462. package/graphql/FmGraphQLSchema.d.ts +25 -0
  463. package/graphql/FmGraphQLSchema.js +450 -0
  464. package/graphql/FmGraphQLSchema.js.map +1 -0
  465. package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
  466. package/graphql/FmUploadGraphQLSchema.js +229 -0
  467. package/graphql/FmUploadGraphQLSchema.js.map +1 -0
  468. package/index.d.ts +3 -5
  469. package/index.js +41 -66
  470. package/index.js.map +1 -1
  471. package/package.json +40 -40
  472. package/types.d.ts +2 -355
  473. package/types.js +1 -27
  474. package/createFileManager/checkBasePermissions.d.ts +0 -5
  475. package/createFileManager/checkBasePermissions.js +0 -24
  476. package/createFileManager/checkBasePermissions.js.map +0 -1
  477. package/createFileManager/files.crud.d.ts +0 -3
  478. package/createFileManager/files.crud.js +0 -318
  479. package/createFileManager/files.crud.js.map +0 -1
  480. package/createFileManager/filevalidation.disabled.js +0 -55
  481. package/createFileManager/filevalidation.disabled.js.map +0 -1
  482. package/createFileManager/index.d.ts +0 -13
  483. package/createFileManager/index.js +0 -20
  484. package/createFileManager/index.js.map +0 -1
  485. package/createFileManager/settings.crud.d.ts +0 -3
  486. package/createFileManager/settings.crud.js +0 -91
  487. package/createFileManager/settings.crud.js.map +0 -1
  488. package/createFileManager/system.crud.d.ts +0 -3
  489. package/createFileManager/system.crud.js +0 -86
  490. package/createFileManager/system.crud.js.map +0 -1
  491. package/graphql/index.d.ts +0 -3
  492. package/graphql/index.js +0 -288
  493. package/graphql/index.js.map +0 -1
  494. package/handlers/download/byAlias.d.ts +0 -6
  495. package/handlers/download/byAlias.js +0 -89
  496. package/handlers/download/byAlias.js.map +0 -1
  497. package/handlers/download/byExactKey.d.ts +0 -2
  498. package/handlers/download/byExactKey.js +0 -57
  499. package/handlers/download/byExactKey.js.map +0 -1
  500. package/handlers/download/extractFileInformation.d.ts +0 -9
  501. package/handlers/download/extractFileInformation.js +0 -20
  502. package/handlers/download/extractFileInformation.js.map +0 -1
  503. package/handlers/download/getS3Object.d.ts +0 -10
  504. package/handlers/download/getS3Object.js +0 -57
  505. package/handlers/download/getS3Object.js.map +0 -1
  506. package/handlers/download/index.d.ts +0 -2
  507. package/handlers/download/index.js +0 -27
  508. package/handlers/download/index.js.map +0 -1
  509. package/handlers/manage/index.d.ts +0 -5
  510. package/handlers/manage/index.js +0 -55
  511. package/handlers/manage/index.js.map +0 -1
  512. package/handlers/transform/index.d.ts +0 -2
  513. package/handlers/transform/index.js +0 -89
  514. package/handlers/transform/index.js.map +0 -1
  515. package/handlers/transform/legacyUtils.d.ts +0 -17
  516. package/handlers/transform/legacyUtils.js +0 -42
  517. package/handlers/transform/legacyUtils.js.map +0 -1
  518. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  519. package/handlers/transform/loaders/imageLoader.js +0 -94
  520. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  521. package/handlers/transform/loaders/index.d.ts +0 -8
  522. package/handlers/transform/loaders/index.js +0 -10
  523. package/handlers/transform/loaders/index.js.map +0 -1
  524. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  525. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  526. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  527. package/handlers/transform/managers/imageManager.d.ts +0 -15
  528. package/handlers/transform/managers/imageManager.js +0 -74
  529. package/handlers/transform/managers/imageManager.js.map +0 -1
  530. package/handlers/transform/managers/index.d.ts +0 -5
  531. package/handlers/transform/managers/index.js +0 -10
  532. package/handlers/transform/managers/index.js.map +0 -1
  533. package/handlers/transform/optimizeImage.d.ts +0 -3
  534. package/handlers/transform/optimizeImage.js +0 -42
  535. package/handlers/transform/optimizeImage.js.map +0 -1
  536. package/handlers/transform/transformImage.d.ts +0 -10
  537. package/handlers/transform/transformImage.js +0 -25
  538. package/handlers/transform/transformImage.js.map +0 -1
  539. package/handlers/transform/utils.d.ts +0 -12
  540. package/handlers/transform/utils.js +0 -36
  541. package/handlers/transform/utils.js.map +0 -1
  542. package/handlers/types.d.ts +0 -8
  543. package/handlers/types.js +0 -5
  544. package/handlers/types.js.map +0 -1
  545. package/handlers/utils/getEnvironment.d.ts +0 -5
  546. package/handlers/utils/getEnvironment.js +0 -11
  547. package/handlers/utils/getEnvironment.js.map +0 -1
  548. package/handlers/utils/getObjectParams.d.ts +0 -9
  549. package/handlers/utils/getObjectParams.js +0 -21
  550. package/handlers/utils/getObjectParams.js.map +0 -1
  551. package/handlers/utils/index.d.ts +0 -2
  552. package/handlers/utils/index.js +0 -20
  553. package/handlers/utils/index.js.map +0 -1
  554. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
  555. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  556. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  557. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  558. package/plugins/FileStorageTransformPlugin.js +0 -40
  559. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  560. package/plugins/crud/files/validation.d.ts +0 -3
  561. package/plugins/crud/files/validation.js +0 -41
  562. package/plugins/crud/files/validation.js.map +0 -1
  563. package/plugins/crud/files.crud.d.ts +0 -4
  564. package/plugins/crud/files.crud.js +0 -431
  565. package/plugins/crud/files.crud.js.map +0 -1
  566. package/plugins/crud/settings.crud.d.ts +0 -5
  567. package/plugins/crud/settings.crud.js +0 -116
  568. package/plugins/crud/settings.crud.js.map +0 -1
  569. package/plugins/crud/system.crud.d.ts +0 -4
  570. package/plugins/crud/system.crud.js +0 -153
  571. package/plugins/crud/system.crud.js.map +0 -1
  572. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  573. package/plugins/crud/utils/checkBasePermissions.js +0 -33
  574. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  575. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  576. package/plugins/crud/utils/createFileModel.js +0 -77
  577. package/plugins/crud/utils/createFileModel.js.map +0 -1
  578. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  579. package/plugins/crud/utils/lifecycleEvents.js +0 -38
  580. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  581. package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
  582. package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
  583. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  584. package/plugins/definitions/FilePlugin.d.ts +0 -136
  585. package/plugins/definitions/FilePlugin.js +0 -70
  586. package/plugins/definitions/FilePlugin.js.map +0 -1
  587. package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
  588. package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
  589. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  590. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  591. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
  592. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  593. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  594. package/plugins/definitions/InstallationPlugin.js +0 -42
  595. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  596. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  597. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
  598. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  599. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  600. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
  601. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  602. package/plugins/graphql.d.ts +0 -4
  603. package/plugins/graphql.js +0 -290
  604. package/plugins/graphql.js.map +0 -1
  605. package/plugins/index.d.ts +0 -2
  606. package/plugins/index.js +0 -27
  607. package/plugins/index.js.map +0 -1
  608. package/plugins/storage/FileStorage.d.ts +0 -30
  609. package/plugins/storage/FileStorage.js +0 -103
  610. package/plugins/storage/FileStorage.js.map +0 -1
  611. package/plugins/storage/index.d.ts +0 -4
  612. package/plugins/storage/index.js +0 -26
  613. package/plugins/storage/index.js.map +0 -1
  614. package/storage/FileStorage.d.ts +0 -32
  615. package/storage/FileStorage.js +0 -86
  616. package/storage/FileStorage.js.map +0 -1
  617. package/types/file.d.ts +0 -33
  618. package/types/file.js +0 -5
  619. package/types/file.js.map +0 -1
  620. package/types/file.lifecycle.d.ts +0 -40
  621. package/types/file.lifecycle.js +0 -5
  622. package/types/file.lifecycle.js.map +0 -1
  623. package/types.js.map +0 -1
  624. package/utils.d.ts +0 -4
  625. package/utils.js +0 -16
  626. package/utils.js.map +0 -1
  627. /package/{createFileManager/filevalidation.disabled.d.ts → domain/file/types.js} +0 -0
@@ -0,0 +1,30 @@
1
+ import { Plugin } from "@webiny/plugins";
2
+ import type { FileToSign } from "./FileNormalizer.js";
3
+ interface Setter<T> {
4
+ (param: T): T;
5
+ }
6
+ declare class FileUploadModifier {
7
+ private fileSetters;
8
+ setFile(setter: Setter<FileToSign>): void;
9
+ execute(file: FileToSign): Promise<FileToSign>;
10
+ }
11
+ interface FileUploadModifierCallbackParams {
12
+ modifier: {
13
+ setFile: FileUploadModifier["setFile"];
14
+ };
15
+ }
16
+ export declare class FileUploadModifierPlugin extends Plugin {
17
+ static type: string;
18
+ private readonly cb;
19
+ constructor(cb: FileUploadModifierCallable);
20
+ execute(params: FileUploadModifierCallbackParams): void;
21
+ }
22
+ interface FileUploadModifierCallable {
23
+ (params: FileUploadModifierCallbackParams): void;
24
+ }
25
+ export declare const createFileUploadModifier: (cb: FileUploadModifierCallable) => FileUploadModifierPlugin;
26
+ export interface FileModifier {
27
+ (file: FileToSign): Promise<Partial<FileToSign>> | Partial<FileToSign>;
28
+ }
29
+ export declare const createModifierFromPlugins: (plugins?: FileUploadModifierPlugin[]) => FileModifier;
30
+ export {};
@@ -0,0 +1,39 @@
1
+ import p_reduce from "p-reduce";
2
+ import { Plugin } from "@webiny/plugins";
3
+ class FileUploadModifier {
4
+ setFile(setter) {
5
+ this.fileSetters.push(setter);
6
+ }
7
+ execute(file) {
8
+ return p_reduce(this.fileSetters, async (file, setter)=>({
9
+ ...file,
10
+ ...await setter(file)
11
+ }), file);
12
+ }
13
+ constructor(){
14
+ this.fileSetters = [];
15
+ }
16
+ }
17
+ class FileUploadModifierPlugin extends Plugin {
18
+ static{
19
+ this.type = "fm.uploadModifier";
20
+ }
21
+ constructor(cb){
22
+ super();
23
+ this.cb = cb;
24
+ }
25
+ execute(params) {
26
+ return this.cb(params);
27
+ }
28
+ }
29
+ const createFileUploadModifier = (cb)=>new FileUploadModifierPlugin(cb);
30
+ const createModifierFromPlugins = (plugins = [])=>{
31
+ const modifier = new FileUploadModifier();
32
+ plugins.forEach((pl)=>pl.execute({
33
+ modifier
34
+ }));
35
+ return (file)=>modifier.execute(file);
36
+ };
37
+ export { FileUploadModifierPlugin, createFileUploadModifier, createModifierFromPlugins };
38
+
39
+ //# sourceMappingURL=FileUploadModifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/upload/utils/FileUploadModifier.js","sources":["../../../../src/features/upload/utils/FileUploadModifier.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport { Plugin } from \"@webiny/plugins\";\nimport type { FileToSign } from \"./FileNormalizer.js\";\n\ninterface Setter<T> {\n (param: T): T;\n}\n\nclass FileUploadModifier {\n private fileSetters: Setter<FileToSign>[] = [];\n\n setFile(setter: Setter<FileToSign>): void {\n this.fileSetters.push(setter);\n }\n\n execute(file: FileToSign) {\n return pReduce(\n this.fileSetters,\n async (file, setter) => {\n /* We need to spread the original file, then add (potentially) partial changes. */\n return { ...file, ...(await setter(file)) };\n },\n file\n );\n }\n}\n\ninterface FileUploadModifierCallbackParams {\n modifier: {\n setFile: FileUploadModifier[\"setFile\"];\n };\n}\n\nexport class FileUploadModifierPlugin extends Plugin {\n public static override type = \"fm.uploadModifier\";\n private readonly cb: FileUploadModifierCallable;\n\n constructor(cb: FileUploadModifierCallable) {\n super();\n this.cb = cb;\n }\n\n execute(params: FileUploadModifierCallbackParams) {\n return this.cb(params);\n }\n}\n\ninterface FileUploadModifierCallable {\n (params: FileUploadModifierCallbackParams): void;\n}\n\nexport const createFileUploadModifier = (cb: FileUploadModifierCallable) => {\n return new FileUploadModifierPlugin(cb);\n};\n\nexport interface FileModifier {\n (file: FileToSign): Promise<Partial<FileToSign>> | Partial<FileToSign>;\n}\n\nexport const createModifierFromPlugins = (\n plugins: FileUploadModifierPlugin[] = []\n): FileModifier => {\n const modifier = new FileUploadModifier();\n plugins.forEach(pl => pl.execute({ modifier }));\n\n return (file: FileToSign) => modifier.execute(file);\n};\n"],"names":["FileUploadModifier","setter","file","pReduce","FileUploadModifierPlugin","Plugin","cb","params","createFileUploadModifier","createModifierFromPlugins","plugins","modifier","pl"],"mappings":";;AAQA,MAAMA;IAGF,QAAQC,MAA0B,EAAQ;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA;IAC1B;IAEA,QAAQC,IAAgB,EAAE;QACtB,OAAOC,SACH,IAAI,CAAC,WAAW,EAChB,OAAOD,MAAMD,SAEF;gBAAE,GAAGC,IAAI;gBAAE,GAAI,MAAMD,OAAOC,KAAK;YAAE,IAE9CA;IAER;;aAfQ,WAAW,GAAyB,EAAE;;AAgBlD;AAQO,MAAME,iCAAiCC;;aACnB,IAAI,GAAG;;IAG9B,YAAYC,EAA8B,CAAE;QACxC,KAAK;QACL,IAAI,CAAC,EAAE,GAAGA;IACd;IAEA,QAAQC,MAAwC,EAAE;QAC9C,OAAO,IAAI,CAAC,EAAE,CAACA;IACnB;AACJ;AAMO,MAAMC,2BAA2B,CAACF,KAC9B,IAAIF,yBAAyBE;AAOjC,MAAMG,4BAA4B,CACrCC,UAAsC,EAAE;IAExC,MAAMC,WAAW,IAAIX;IACrBU,QAAQ,OAAO,CAACE,CAAAA,KAAMA,GAAG,OAAO,CAAC;YAAED;QAAS;IAE5C,OAAO,CAACT,OAAqBS,SAAS,OAAO,CAACT;AAClD"}
@@ -0,0 +1,5 @@
1
+ import type { FilePermission } from "../../../types.js";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ export declare const checkPermissions: (identityContext: IdentityContext.Interface, check?: {
4
+ rwd?: string;
5
+ }) => Promise<FilePermission[]>;
@@ -0,0 +1,22 @@
1
+ import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
2
+ const checkPermissions = async (identityContext, check = {})=>{
3
+ const filePermissions = await identityContext.getPermissions("fm.file");
4
+ const relevantFilePermissions = filePermissions.filter((current)=>{
5
+ if (check.rwd && !hasRwd(current, check.rwd)) return false;
6
+ return true;
7
+ });
8
+ if (0 === relevantFilePermissions.length) throw new NotAuthorizedError();
9
+ return relevantFilePermissions;
10
+ };
11
+ const hasRwd = (filesFilePermissions, rwd)=>{
12
+ if (!Array.isArray(filesFilePermissions)) filesFilePermissions = [
13
+ filesFilePermissions
14
+ ];
15
+ if (!rwd) return true;
16
+ const permissionWithoutRwdRestrictions = filesFilePermissions.some((permission)=>"string" != typeof permission.rwd);
17
+ if (permissionWithoutRwdRestrictions) return true;
18
+ return filesFilePermissions.some((permission)=>permission.rwd && permission.rwd.includes(rwd));
19
+ };
20
+ export { checkPermissions };
21
+
22
+ //# sourceMappingURL=checkPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/upload/utils/checkPermissions.js","sources":["../../../../src/features/upload/utils/checkPermissions.ts"],"sourcesContent":["import type { FilePermission } from \"~/types.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const checkPermissions = async (\n identityContext: IdentityContext.Interface,\n check: { rwd?: string } = {}\n) => {\n const filePermissions = await identityContext.getPermissions<FilePermission>(\"fm.file\");\n\n const relevantFilePermissions = filePermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevantFilePermissions.length === 0) {\n throw new NotAuthorizedError();\n }\n\n return relevantFilePermissions;\n};\n\nconst hasRwd = (filesFilePermissions: FilePermission | FilePermission[], rwd: string): boolean => {\n if (!Array.isArray(filesFilePermissions)) {\n filesFilePermissions = [filesFilePermissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n /* Is there a permission that doesn't restrict RWD, all RWD permissions are allowed. */\n const permissionWithoutRwdRestrictions = filesFilePermissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n return filesFilePermissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"names":["checkPermissions","identityContext","check","filePermissions","relevantFilePermissions","current","hasRwd","NotAuthorizedError","filesFilePermissions","rwd","Array","permissionWithoutRwdRestrictions","permission"],"mappings":";AAIO,MAAMA,mBAAmB,OAC5BC,iBACAC,QAA0B,CAAC,CAAC;IAE5B,MAAMC,kBAAkB,MAAMF,gBAAgB,cAAc,CAAiB;IAE7E,MAAMG,0BAA0BD,gBAAgB,MAAM,CAACE,CAAAA;QACnD,IAAIH,MAAM,GAAG,IAAI,CAACI,OAAOD,SAASH,MAAM,GAAG,GACvC,OAAO;QAGX,OAAO;IACX;IAEA,IAAIE,AAAmC,MAAnCA,wBAAwB,MAAM,EAC9B,MAAM,IAAIG;IAGd,OAAOH;AACX;AAEA,MAAME,SAAS,CAACE,sBAAyDC;IACrE,IAAI,CAACC,MAAM,OAAO,CAACF,uBACfA,uBAAuB;QAACA;KAAqB;IAGjD,IAAI,CAACC,KACD,OAAO;IAIX,MAAME,mCAAmCH,qBAAqB,IAAI,CAACI,CAAAA,aACxD,AAA0B,YAA1B,OAAOA,WAAW,GAAG;IAGhC,IAAID,kCACA,OAAO;IAGX,OAAOH,qBAAqB,IAAI,CAACI,CAAAA,aACtBA,WAAW,GAAG,IAAIA,WAAW,GAAG,CAAC,QAAQ,CAACH;AAEzD"}
@@ -0,0 +1,3 @@
1
+ import type { Context } from "@webiny/api/types.js";
2
+ import { FileNormalizer } from "./FileNormalizer.js";
3
+ export declare const createFileNormalizerFromContext: (context: Context) => FileNormalizer;
@@ -0,0 +1,9 @@
1
+ import { FileNormalizer } from "./FileNormalizer.js";
2
+ import { FileUploadModifierPlugin, createModifierFromPlugins } from "./FileUploadModifier.js";
3
+ const createFileNormalizerFromContext = (context)=>{
4
+ const modifierPlugins = context.plugins.byType(FileUploadModifierPlugin.type);
5
+ return new FileNormalizer(createModifierFromPlugins(modifierPlugins));
6
+ };
7
+ export { createFileNormalizerFromContext };
8
+
9
+ //# sourceMappingURL=createFileNormalizerFromContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/upload/utils/createFileNormalizerFromContext.js","sources":["../../../../src/features/upload/utils/createFileNormalizerFromContext.ts"],"sourcesContent":["import type { Context } from \"@webiny/api/types.js\";\nimport { FileNormalizer } from \"./FileNormalizer.js\";\nimport { createModifierFromPlugins } from \"./FileUploadModifier.js\";\nimport { FileUploadModifierPlugin } from \"./FileUploadModifier.js\";\n\nexport const createFileNormalizerFromContext = (context: Context) => {\n const modifierPlugins = context.plugins.byType<FileUploadModifierPlugin>(\n FileUploadModifierPlugin.type\n );\n\n return new FileNormalizer(createModifierFromPlugins(modifierPlugins));\n};\n"],"names":["createFileNormalizerFromContext","context","modifierPlugins","FileUploadModifierPlugin","FileNormalizer","createModifierFromPlugins"],"mappings":";;AAKO,MAAMA,kCAAkC,CAACC;IAC5C,MAAMC,kBAAkBD,QAAQ,OAAO,CAAC,MAAM,CAC1CE,yBAAyB,IAAI;IAGjC,OAAO,IAAIC,eAAeC,0BAA0BH;AACxD"}
@@ -0,0 +1 @@
1
+ export declare const mimeTypes: Record<string, string[]>;
@@ -0,0 +1,9 @@
1
+ import other from "mime/types/other.js";
2
+ import standard from "mime/types/standard.js";
3
+ const mimeTypes_mimeTypes = {
4
+ ...other,
5
+ ...standard
6
+ };
7
+ export { mimeTypes_mimeTypes as mimeTypes };
8
+
9
+ //# sourceMappingURL=mimeTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/upload/utils/mimeTypes.js","sources":["../../../../src/features/upload/utils/mimeTypes.ts"],"sourcesContent":["import vendorTypes from \"mime/types/other.js\";\nimport standardTypes from \"mime/types/standard.js\";\n\n/*\n * We need to get all extensions that are defined for a specific content type.\n * This operation is not available via the `mime` package, so we create such an object ourselves.\n */\nexport const mimeTypes: Record<string, string[]> = {\n ...vendorTypes,\n ...standardTypes\n};\n"],"names":["mimeTypes","vendorTypes","standardTypes"],"mappings":";;AAOO,MAAMA,sBAAsC;IAC/C,GAAGC,KAAW;IACd,GAAGC,QAAa;AACpB"}
@@ -0,0 +1,25 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-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 { FileModel } from "../domain/file/abstractions.js";
7
+ declare class FmGraphQLSchemaImpl implements GraphQLSchemaFactory.Interface {
8
+ private readonly identityContext;
9
+ private readonly listModelsUseCase;
10
+ private readonly fieldRegistry;
11
+ private readonly fileModel;
12
+ private readonly fileUrlGenerator;
13
+ constructor(identityContext: IdentityContext.Interface, listModelsUseCase: ListModelsUseCase.Interface, fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface, fileModel: FileModel.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 FmGraphQLSchemaImpl & {
23
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public").IGraphQLSchemaFactory>;
24
+ };
25
+ export {};
@@ -0,0 +1,450 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ import { ErrorResponse, ListResponse, NotFoundResponse, Response } from "@webiny/handler-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 { FileModel } 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 FmGraphQLSchemaImpl {
33
+ constructor(identityContext, listModelsUseCase, fieldRegistry, fileModel, fileUrlGenerator){
34
+ this.identityContext = identityContext;
35
+ this.listModelsUseCase = listModelsUseCase;
36
+ this.fieldRegistry = fieldRegistry;
37
+ this.fileModel = fileModel;
38
+ this.fileUrlGenerator = fileUrlGenerator;
39
+ }
40
+ async execute(builder) {
41
+ this.addBaseTypeDefs(builder);
42
+ await this.addFileTypeDefs(builder);
43
+ this.addSettingsResolvers(builder);
44
+ this.addFileQueryResolvers(builder);
45
+ this.addFileMutationResolvers(builder);
46
+ return builder;
47
+ }
48
+ addBaseTypeDefs(builder) {
49
+ builder.addTypeDefs(`
50
+ type FmError {
51
+ code: String
52
+ message: String
53
+ data: JSON
54
+ stack: String
55
+ }
56
+
57
+ type FmCreatedBy {
58
+ id: ID
59
+ displayName: String
60
+ type: String
61
+ }
62
+
63
+ type FmListMeta {
64
+ cursor: String
65
+ totalCount: Int
66
+ hasMoreItems: Boolean
67
+ }
68
+
69
+ type FmBooleanResponse {
70
+ data: Boolean
71
+ error: FmError
72
+ }
73
+
74
+ type FmSettings {
75
+ uploadMinFileSize: Number
76
+ uploadMaxFileSize: Number
77
+ srcPrefix: String
78
+ }
79
+
80
+ input FmSettingsInput {
81
+ uploadMinFileSize: Number
82
+ uploadMaxFileSize: Number
83
+ srcPrefix: String
84
+ }
85
+
86
+ type FmSettingsResponse {
87
+ data: FmSettings
88
+ error: FmError
89
+ }
90
+
91
+ type FmDeleteResponse {
92
+ data: Boolean
93
+ error: FmError
94
+ }
95
+
96
+ type FmQuery {
97
+ getSettings: FmSettingsResponse
98
+ }
99
+
100
+ type FmMutation {
101
+ updateSettings(data: FmSettingsInput): FmSettingsResponse
102
+ }
103
+
104
+ extend type Query {
105
+ fileManager: FmQuery
106
+ }
107
+
108
+ extend type Mutation {
109
+ fileManager: FmMutation
110
+ }
111
+ `);
112
+ builder.addResolver({
113
+ path: "Query.fileManager",
114
+ resolver: ()=>()=>({})
115
+ });
116
+ builder.addResolver({
117
+ path: "Mutation.fileManager",
118
+ resolver: ()=>()=>({})
119
+ });
120
+ }
121
+ async addFileTypeDefs(builder) {
122
+ const models = await this.loadModels();
123
+ const { fields } = this.fileModel;
124
+ const fieldTypes = renderFields({
125
+ models,
126
+ model: this.fileModel,
127
+ fields,
128
+ type: "manage",
129
+ fieldRegistry: this.fieldRegistry
130
+ });
131
+ const inputCreateFields = renderInputFields({
132
+ models,
133
+ model: this.fileModel,
134
+ fields,
135
+ fieldRegistry: this.fieldRegistry
136
+ });
137
+ const inputUpdateFields = renderInputFields({
138
+ models,
139
+ model: this.fileModel,
140
+ fields: createUpdateFields(fields),
141
+ fieldRegistry: this.fieldRegistry
142
+ });
143
+ const listFilterFieldsRender = renderListFilterFields({
144
+ model: this.fileModel,
145
+ fields: this.fileModel.fields,
146
+ type: "manage",
147
+ fieldRegistry: this.fieldRegistry,
148
+ excludeFields: [
149
+ "entryId",
150
+ "status"
151
+ ]
152
+ });
153
+ builder.addTypeDefs(`
154
+ type FmFile_Location {
155
+ folderId: ID!
156
+ }
157
+
158
+ input FmFile_LocationInput {
159
+ folderId: ID!
160
+ }
161
+
162
+ input FmFile_LocationWhereInput {
163
+ folderId: ID
164
+ folderId_in: [ID!]
165
+ folderId_not: ID
166
+ folderId_not_in: [ID!]
167
+ }
168
+
169
+ ${fieldTypes.map((f)=>f.typeDefs).join("\n")}
170
+
171
+ type FmFile {
172
+ id: ID!
173
+ createdOn: DateTime!
174
+ modifiedOn: DateTime
175
+ savedOn: DateTime!
176
+ createdBy: FmCreatedBy!
177
+ modifiedBy: FmCreatedBy
178
+ savedBy: FmCreatedBy!
179
+ location: FmFile_Location!
180
+ src: String
181
+ ${fieldTypes.map((f)=>f.fields).join("\n")}
182
+ }
183
+
184
+ ${inputCreateFields.map((f)=>f.typeDefs).join("\n")}
185
+
186
+ input FmCreatedByInput {
187
+ id: ID!
188
+ displayName: String!
189
+ type: String!
190
+ }
191
+
192
+ input FmFileCreateInput {
193
+ id: ID!
194
+ createdOn: DateTime
195
+ modifiedOn: DateTime
196
+ savedOn: DateTime
197
+ createdBy: FmCreatedByInput
198
+ modifiedBy: FmCreatedByInput
199
+ savedBy: FmCreatedByInput
200
+ location: FmFile_LocationInput
201
+ ${inputCreateFields.map((f)=>f.fields).join("\n")}
202
+ }
203
+
204
+ input FmFileUpdateInput {
205
+ createdOn: DateTime
206
+ modifiedOn: DateTime
207
+ savedOn: DateTime
208
+ createdBy: FmCreatedByInput
209
+ modifiedBy: FmCreatedByInput
210
+ savedBy: FmCreatedByInput
211
+ location: FmFile_LocationInput
212
+ ${inputUpdateFields.map((f)=>f.fields).join("\n")}
213
+ }
214
+
215
+ type FmFileResponse {
216
+ data: FmFile
217
+ error: FmError
218
+ }
219
+
220
+ input FmFileListWhereInput {
221
+ ${listFilterFieldsRender.allFiltersAsString()}
222
+ location: FmFile_LocationWhereInput
223
+ AND: [FmFileListWhereInput!]
224
+ OR: [FmFileListWhereInput!]
225
+ }
226
+
227
+ type FmFileListResponse {
228
+ data: [FmFile!]
229
+ error: FmError
230
+ meta: FmListMeta
231
+ }
232
+
233
+ enum FmFileListSorter {
234
+ savedOn_ASC
235
+ savedOn_DESC
236
+ createdOn_ASC
237
+ createdOn_DESC
238
+ name_ASC
239
+ name_DESC
240
+ key_ASC
241
+ key_DESC
242
+ type_ASC
243
+ type_DESC
244
+ size_ASC
245
+ size_DESC
246
+ }
247
+
248
+ input FmTagsListWhereInput {
249
+ createdBy: String
250
+ tags_startsWith: String
251
+ tags_not_startsWith: String
252
+ }
253
+
254
+ type FmTag {
255
+ tag: String!
256
+ count: Number!
257
+ }
258
+
259
+ type FmTagsListResponse {
260
+ data: [FmTag!]
261
+ error: FmError
262
+ }
263
+
264
+ type FmCreateFilesResponse {
265
+ data: [FmFile!]
266
+ error: FmError
267
+ }
268
+
269
+ type FmFileModelResponse {
270
+ data: JSON
271
+ error: FmError
272
+ }
273
+
274
+ extend type FmQuery {
275
+ getFileModel: FmFileModelResponse!
276
+ getFile(id: ID!): FmFileResponse!
277
+ getFileByUrl(url: String!): FmFileResponse
278
+ listFiles(
279
+ search: String
280
+ where: FmFileListWhereInput
281
+ limit: Int
282
+ after: String
283
+ sort: [FmFileListSorter!]
284
+ ): FmFileListResponse!
285
+ listTags(where: FmTagsListWhereInput): FmTagsListResponse!
286
+ }
287
+
288
+ extend type FmMutation {
289
+ createFile(data: FmFileCreateInput!): FmFileResponse!
290
+ createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!
291
+ updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!
292
+ deleteFile(id: ID!): FmBooleanResponse!
293
+ }
294
+ `);
295
+ }
296
+ addSettingsResolvers(builder) {
297
+ builder.addResolver({
298
+ path: "FmQuery.getSettings",
299
+ dependencies: [
300
+ GetSettingsUseCase
301
+ ],
302
+ resolver: (getSettings)=>async ()=>{
303
+ const result = await getSettings.execute();
304
+ if (result.isFail()) return new ErrorResponse(result.error);
305
+ return new Response(result.value);
306
+ }
307
+ });
308
+ builder.addResolver({
309
+ path: "FmMutation.updateSettings",
310
+ dependencies: [
311
+ UpdateSettingsUseCase
312
+ ],
313
+ resolver: (updateSettings)=>async ({ args })=>{
314
+ const result = await updateSettings.execute(args.data);
315
+ if (result.isFail()) return new ErrorResponse(result.error);
316
+ return new Response(result.value);
317
+ }
318
+ });
319
+ }
320
+ addFileQueryResolvers(builder) {
321
+ builder.addResolver({
322
+ path: "FmFile.src",
323
+ dependencies: [
324
+ FileUrlGenerator
325
+ ],
326
+ resolver: (urlGenerator)=>async ({ parent })=>await urlGenerator.generateUrl(parent)
327
+ });
328
+ builder.addResolver({
329
+ path: "FmQuery.getFileModel",
330
+ dependencies: [
331
+ FileModel
332
+ ],
333
+ resolver: (fileModel)=>()=>new Response(fileModel)
334
+ });
335
+ builder.addResolver({
336
+ path: "FmQuery.getFile",
337
+ dependencies: [
338
+ GetFileUseCase
339
+ ],
340
+ resolver: (getFile)=>async ({ args })=>{
341
+ const result = await getFile.execute(args.id);
342
+ if (result.isFail()) return new ErrorResponse(result.error);
343
+ return new Response(result.value);
344
+ }
345
+ });
346
+ builder.addResolver({
347
+ path: "FmQuery.listFiles",
348
+ dependencies: [
349
+ ListFilesUseCase
350
+ ],
351
+ resolver: (listFiles)=>async ({ args })=>{
352
+ const result = await listFiles.execute(args);
353
+ if (result.isFail()) return new ErrorResponse(result.error);
354
+ return new ListResponse(result.value.items, result.value.meta);
355
+ }
356
+ });
357
+ builder.addResolver({
358
+ path: "FmQuery.listTags",
359
+ dependencies: [
360
+ ListTagsUseCase
361
+ ],
362
+ resolver: (listTags)=>async ({ args })=>{
363
+ const result = await listTags.execute(args || {});
364
+ if (result.isFail()) return new ErrorResponse(result.error);
365
+ return new Response(result.value);
366
+ }
367
+ });
368
+ builder.addResolver({
369
+ path: "FmQuery.getFileByUrl",
370
+ dependencies: [
371
+ GetFileByUrlUseCase
372
+ ],
373
+ resolver: (getFileByUrl)=>async ({ args })=>{
374
+ const result = await getFileByUrl.execute(args.url);
375
+ if (result.isFail()) return new ErrorResponse(result.error);
376
+ if (!result.value) return new NotFoundResponse("File not found!");
377
+ return new Response(result.value);
378
+ }
379
+ });
380
+ }
381
+ addFileMutationResolvers(builder) {
382
+ builder.addResolver({
383
+ path: "FmMutation.createFile",
384
+ dependencies: [
385
+ CreateFileUseCase
386
+ ],
387
+ resolver: (createFile)=>async ({ args })=>{
388
+ const result = await createFile.execute(args.data);
389
+ if (result.isFail()) return new ErrorResponse(result.error);
390
+ return new Response(result.value);
391
+ }
392
+ });
393
+ builder.addResolver({
394
+ path: "FmMutation.createFiles",
395
+ dependencies: [
396
+ CreateFilesInBatchUseCase
397
+ ],
398
+ resolver: (createFilesInBatch)=>async ({ args })=>{
399
+ const result = await createFilesInBatch.execute({
400
+ files: args.data,
401
+ meta: args.meta
402
+ });
403
+ if (result.isFail()) return new ErrorResponse(result.error);
404
+ return new Response(result.value);
405
+ }
406
+ });
407
+ builder.addResolver({
408
+ path: "FmMutation.updateFile",
409
+ dependencies: [
410
+ UpdateFileUseCase
411
+ ],
412
+ resolver: (updateFile)=>async ({ args })=>{
413
+ const result = await updateFile.execute({
414
+ id: args.id,
415
+ ...args.data
416
+ });
417
+ if (result.isFail()) return new ErrorResponse(result.error);
418
+ return new Response(result.value);
419
+ }
420
+ });
421
+ builder.addResolver({
422
+ path: "FmMutation.deleteFile",
423
+ dependencies: [
424
+ DeleteFileUseCase
425
+ ],
426
+ resolver: (deleteFile)=>async ({ args })=>{
427
+ const result = await deleteFile.execute(args.id);
428
+ if (result.isFail()) return new ErrorResponse(result.error);
429
+ return new Response(true);
430
+ }
431
+ });
432
+ }
433
+ async loadModels() {
434
+ const modelsResult = await this.identityContext.withoutAuthorization(()=>this.listModelsUseCase.execute());
435
+ return modelsResult.value;
436
+ }
437
+ }
438
+ const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({
439
+ implementation: FmGraphQLSchemaImpl,
440
+ dependencies: [
441
+ IdentityContext,
442
+ ListModelsUseCase,
443
+ CmsModelFieldToGraphQLRegistry,
444
+ FileModel,
445
+ FileUrlGenerator
446
+ ]
447
+ });
448
+ export { FmGraphQLSchema };
449
+
450
+ //# sourceMappingURL=FmGraphQLSchema.js.map