@webiny/api-file-manager 0.0.0-unstable.496cf268ac → 0.0.0-unstable.5387e5f7c8

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 (613) hide show
  1. package/FileManagerAppFeature.d.ts +5 -0
  2. package/FileManagerAppFeature.js +21 -0
  3. package/FileManagerAppFeature.js.map +1 -0
  4. package/README.md +7 -13
  5. package/contants.d.ts +1 -0
  6. package/contants.js +4 -0
  7. package/contants.js.map +1 -0
  8. package/delivery/AssetDelivery/Asset.d.ts +28 -0
  9. package/delivery/AssetDelivery/Asset.js +53 -0
  10. package/delivery/AssetDelivery/Asset.js.map +1 -0
  11. package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
  12. package/delivery/AssetDelivery/AssetRequest.js +23 -0
  13. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  14. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  15. package/delivery/AssetDelivery/abstractions/AssetReply.js +32 -0
  16. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  17. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  18. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +7 -0
  19. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  20. package/delivery/AssetDeliveryRoute.d.ts +24 -0
  21. package/delivery/AssetDeliveryRoute.js +69 -0
  22. package/delivery/AssetDeliveryRoute.js.map +1 -0
  23. package/delivery/index.d.ts +7 -0
  24. package/delivery/index.js +6 -0
  25. package/delivery/setupAssetDelivery.d.ts +1 -0
  26. package/delivery/setupAssetDelivery.js +4 -0
  27. package/delivery/setupAssetDelivery.js.map +1 -0
  28. package/domain/file/abstractions.d.ts +17 -0
  29. package/domain/file/abstractions.js +5 -0
  30. package/domain/file/abstractions.js.map +1 -0
  31. package/domain/file/errors.d.ts +59 -0
  32. package/domain/file/errors.js +80 -0
  33. package/domain/file/errors.js.map +1 -0
  34. package/domain/file/file.model.d.ts +12 -0
  35. package/domain/file/file.model.js +70 -0
  36. package/domain/file/file.model.js.map +1 -0
  37. package/domain/file/types.d.ts +53 -0
  38. package/domain/identity/Identity.d.ts +9 -0
  39. package/domain/identity/Identity.js +12 -0
  40. package/domain/identity/Identity.js.map +1 -0
  41. package/domain/permissionsSchema.d.ts +16 -0
  42. package/domain/permissionsSchema.js +30 -0
  43. package/domain/permissionsSchema.js.map +1 -0
  44. package/domain/settings/constants.d.ts +1 -0
  45. package/domain/settings/constants.js +4 -0
  46. package/domain/settings/constants.js.map +1 -0
  47. package/domain/settings/errors.d.ts +18 -0
  48. package/domain/settings/errors.js +28 -0
  49. package/domain/settings/errors.js.map +1 -0
  50. package/domain/settings/types.d.ts +10 -0
  51. package/domain/settings/types.js +0 -0
  52. package/domain/settings/validation.d.ts +6 -0
  53. package/domain/settings/validation.js +27 -0
  54. package/domain/settings/validation.js.map +1 -0
  55. package/exports/api/file-manager/assetDelivery.d.ts +10 -0
  56. package/exports/api/file-manager/assetDelivery.js +8 -0
  57. package/exports/api/file-manager/file.d.ts +13 -0
  58. package/exports/api/file-manager/file.js +13 -0
  59. package/exports/api/file-manager/permissions.d.ts +1 -0
  60. package/exports/api/file-manager/permissions.js +1 -0
  61. package/exports/api/file-manager/settings.d.ts +3 -0
  62. package/exports/api/file-manager/settings.js +3 -0
  63. package/features/FileManagerFeature.d.ts +4 -0
  64. package/features/FileManagerFeature.js +37 -0
  65. package/features/FileManagerFeature.js.map +1 -0
  66. package/features/assetDelivery/Asset/Asset.d.ts +8 -0
  67. package/features/assetDelivery/Asset/Asset.js +14 -0
  68. package/features/assetDelivery/Asset/Asset.js.map +1 -0
  69. package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
  70. package/features/assetDelivery/Asset/abstractions.js +5 -0
  71. package/features/assetDelivery/Asset/abstractions.js.map +1 -0
  72. package/features/assetDelivery/Asset/index.d.ts +1 -0
  73. package/features/assetDelivery/Asset/index.js +1 -0
  74. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
  75. package/features/assetDelivery/FilesAssetRequestResolver.js +29 -0
  76. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  77. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  78. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  79. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  80. package/features/assetDelivery/NullAssetReply.d.ts +4 -0
  81. package/features/assetDelivery/NullAssetReply.js +14 -0
  82. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  83. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  84. package/features/assetDelivery/NullAssetResolver.js +13 -0
  85. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  86. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  87. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  88. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  89. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  90. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  91. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  92. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  93. package/features/assetDelivery/ObjectKey/index.js +1 -0
  94. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  95. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  96. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  97. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  98. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  99. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  100. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  101. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  102. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  103. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  104. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  105. package/features/assetDelivery/abstractions.d.ts +65 -0
  106. package/features/assetDelivery/abstractions.js +11 -0
  107. package/features/assetDelivery/abstractions.js.map +1 -0
  108. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  109. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  110. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  111. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  112. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  113. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  114. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  115. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  116. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  117. package/features/assetDelivery/assetTypes/image/SharpTransformer.d.ts +18 -0
  118. package/features/assetDelivery/assetTypes/image/SharpTransformer.js +47 -0
  119. package/features/assetDelivery/assetTypes/image/SharpTransformer.js.map +1 -0
  120. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  121. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  122. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  123. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  124. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  125. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  126. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  127. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  128. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  129. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  130. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  131. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  132. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  133. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  134. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  135. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  136. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  137. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  138. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  139. package/features/assetDelivery/feature.d.ts +4 -0
  140. package/features/assetDelivery/feature.js +35 -0
  141. package/features/assetDelivery/feature.js.map +1 -0
  142. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  143. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  144. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  145. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  146. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  147. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  148. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  149. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  150. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  151. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  152. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  153. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  154. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +11 -0
  155. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -0
  156. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  157. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  158. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +65 -0
  159. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  160. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  161. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  162. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  163. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +9 -0
  164. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
  165. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  166. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
  167. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
  168. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  169. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  170. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  171. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  172. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +9 -0
  173. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  174. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  175. package/features/assetDelivery/transformation/index.d.ts +5 -0
  176. package/features/assetDelivery/transformation/index.js +4 -0
  177. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  178. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  179. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  180. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  181. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  182. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  183. package/features/file/CreateFile/CreateFileRepository.js +33 -0
  184. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  185. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  186. package/features/file/CreateFile/CreateFileUseCase.js +83 -0
  187. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  188. package/features/file/CreateFile/abstractions.d.ts +60 -0
  189. package/features/file/CreateFile/abstractions.js +6 -0
  190. package/features/file/CreateFile/abstractions.js.map +1 -0
  191. package/features/file/CreateFile/events.d.ts +31 -0
  192. package/features/file/CreateFile/events.js +23 -0
  193. package/features/file/CreateFile/events.js.map +1 -0
  194. package/features/file/CreateFile/feature.d.ts +4 -0
  195. package/features/file/CreateFile/feature.js +13 -0
  196. package/features/file/CreateFile/feature.js.map +1 -0
  197. package/features/file/CreateFile/index.d.ts +2 -0
  198. package/features/file/CreateFile/index.js +2 -0
  199. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  200. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +22 -0
  201. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  202. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  203. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +73 -0
  204. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  205. package/features/file/CreateFilesInBatch/abstractions.d.ts +42 -0
  206. package/features/file/CreateFilesInBatch/abstractions.js +6 -0
  207. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  208. package/features/file/CreateFilesInBatch/events.d.ts +31 -0
  209. package/features/file/CreateFilesInBatch/events.js +23 -0
  210. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  211. package/features/file/CreateFilesInBatch/feature.d.ts +4 -0
  212. package/features/file/CreateFilesInBatch/feature.js +13 -0
  213. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  214. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  215. package/features/file/CreateFilesInBatch/index.js +1 -0
  216. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  217. package/features/file/DeleteFile/DeleteFileRepository.js +32 -0
  218. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  219. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  220. package/features/file/DeleteFile/DeleteFileUseCase.js +43 -0
  221. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  222. package/features/file/DeleteFile/abstractions.d.ts +39 -0
  223. package/features/file/DeleteFile/abstractions.js +6 -0
  224. package/features/file/DeleteFile/abstractions.js.map +1 -0
  225. package/features/file/DeleteFile/events.d.ts +29 -0
  226. package/features/file/DeleteFile/events.js +23 -0
  227. package/features/file/DeleteFile/events.js.map +1 -0
  228. package/features/file/DeleteFile/feature.d.ts +4 -0
  229. package/features/file/DeleteFile/feature.js +13 -0
  230. package/features/file/DeleteFile/feature.js.map +1 -0
  231. package/features/file/DeleteFile/index.d.ts +2 -0
  232. package/features/file/DeleteFile/index.js +2 -0
  233. package/features/file/FileModelProvider.d.ts +31 -0
  234. package/features/file/FileModelProvider.js +22 -0
  235. package/features/file/FileModelProvider.js.map +1 -0
  236. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +12 -0
  237. package/features/file/FileUrlGenerator/FileUrlGenerator.js +19 -0
  238. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  239. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.d.ts +13 -0
  240. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js +28 -0
  241. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js.map +1 -0
  242. package/features/file/FileUrlGenerator/abstractions.d.ts +20 -0
  243. package/features/file/FileUrlGenerator/abstractions.js +6 -0
  244. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  245. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  246. package/features/file/FileUrlGenerator/feature.js +13 -0
  247. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  248. package/features/file/FileUrlGenerator/index.d.ts +2 -0
  249. package/features/file/FileUrlGenerator/index.js +1 -0
  250. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  251. package/features/file/GetFile/GetFileRepository.js +34 -0
  252. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  253. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  254. package/features/file/GetFile/GetFileUseCase.js +29 -0
  255. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  256. package/features/file/GetFile/abstractions.d.ts +40 -0
  257. package/features/file/GetFile/abstractions.js +6 -0
  258. package/features/file/GetFile/abstractions.js.map +1 -0
  259. package/features/file/GetFile/feature.d.ts +4 -0
  260. package/features/file/GetFile/feature.js +13 -0
  261. package/features/file/GetFile/feature.js.map +1 -0
  262. package/features/file/GetFile/index.d.ts +1 -0
  263. package/features/file/GetFile/index.js +1 -0
  264. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  265. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  266. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  267. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  268. package/features/file/GetFileByUrl/abstractions.js +5 -0
  269. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  270. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  271. package/features/file/GetFileByUrl/feature.js +11 -0
  272. package/features/file/GetFileByUrl/feature.js.map +1 -0
  273. package/features/file/GetFileByUrl/index.d.ts +1 -0
  274. package/features/file/GetFileByUrl/index.js +1 -0
  275. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  276. package/features/file/GetFileContentsById/abstractions.js +5 -0
  277. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  278. package/features/file/GetFileContentsById/index.d.ts +1 -0
  279. package/features/file/GetFileContentsById/index.js +1 -0
  280. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  281. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  282. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  283. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  284. package/features/file/GetFileContentsByKey/index.js +1 -0
  285. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  286. package/features/file/ListFiles/ListFilesRepository.js +54 -0
  287. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  288. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  289. package/features/file/ListFiles/ListFilesUseCase.js +44 -0
  290. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  291. package/features/file/ListFiles/abstractions.d.ts +49 -0
  292. package/features/file/ListFiles/abstractions.js +6 -0
  293. package/features/file/ListFiles/abstractions.js.map +1 -0
  294. package/features/file/ListFiles/feature.d.ts +4 -0
  295. package/features/file/ListFiles/feature.js +13 -0
  296. package/features/file/ListFiles/feature.js.map +1 -0
  297. package/features/file/ListFiles/index.d.ts +1 -0
  298. package/features/file/ListFiles/index.js +1 -0
  299. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +37 -0
  300. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +56 -0
  301. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
  302. package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
  303. package/features/file/ListImagesByTagTool/feature.js +11 -0
  304. package/features/file/ListImagesByTagTool/feature.js.map +1 -0
  305. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  306. package/features/file/ListTags/ListTagsRepository.js +43 -0
  307. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  308. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  309. package/features/file/ListTags/ListTagsUseCase.js +31 -0
  310. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  311. package/features/file/ListTags/abstractions.d.ts +45 -0
  312. package/features/file/ListTags/abstractions.js +6 -0
  313. package/features/file/ListTags/abstractions.js.map +1 -0
  314. package/features/file/ListTags/feature.d.ts +4 -0
  315. package/features/file/ListTags/feature.js +13 -0
  316. package/features/file/ListTags/feature.js.map +1 -0
  317. package/features/file/ListTags/index.d.ts +1 -0
  318. package/features/file/ListTags/index.js +1 -0
  319. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  320. package/features/file/UpdateFile/UpdateFileRepository.js +38 -0
  321. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  322. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  323. package/features/file/UpdateFile/UpdateFileUseCase.js +71 -0
  324. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  325. package/features/file/UpdateFile/abstractions.d.ts +56 -0
  326. package/features/file/UpdateFile/abstractions.js +6 -0
  327. package/features/file/UpdateFile/abstractions.js.map +1 -0
  328. package/features/file/UpdateFile/events.d.ts +34 -0
  329. package/features/file/UpdateFile/events.js +23 -0
  330. package/features/file/UpdateFile/events.js.map +1 -0
  331. package/features/file/UpdateFile/feature.d.ts +4 -0
  332. package/features/file/UpdateFile/feature.js +13 -0
  333. package/features/file/UpdateFile/feature.js.map +1 -0
  334. package/features/file/UpdateFile/index.d.ts +2 -0
  335. package/features/file/UpdateFile/index.js +2 -0
  336. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  337. package/features/file/shared/EntryToFileMapper.js +28 -0
  338. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  339. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  340. package/features/file/shared/FileInputToEntryInputMapper.js +32 -0
  341. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  342. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  343. package/features/file/shared/FileToEntryMapper.js +31 -0
  344. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  345. package/features/permissions/abstractions.d.ts +21 -0
  346. package/features/permissions/abstractions.js +6 -0
  347. package/features/permissions/abstractions.js.map +1 -0
  348. package/features/permissions/feature.d.ts +4 -0
  349. package/features/permissions/feature.js +7 -0
  350. package/features/permissions/feature.js.map +1 -0
  351. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  352. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  353. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  354. package/features/settings/GetSettings/abstractions.d.ts +18 -0
  355. package/features/settings/GetSettings/abstractions.js +5 -0
  356. package/features/settings/GetSettings/abstractions.js.map +1 -0
  357. package/features/settings/GetSettings/feature.d.ts +4 -0
  358. package/features/settings/GetSettings/feature.js +11 -0
  359. package/features/settings/GetSettings/feature.js.map +1 -0
  360. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +17 -0
  361. package/features/settings/SettingsInstaller/SettingsInstaller.js +39 -0
  362. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  363. package/features/settings/SettingsInstaller/feature.d.ts +4 -0
  364. package/features/settings/SettingsInstaller/feature.js +11 -0
  365. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  366. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  367. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +55 -0
  368. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  369. package/features/settings/UpdateSettings/abstractions.d.ts +23 -0
  370. package/features/settings/UpdateSettings/abstractions.js +5 -0
  371. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  372. package/features/settings/UpdateSettings/events.d.ts +34 -0
  373. package/features/settings/UpdateSettings/events.js +23 -0
  374. package/features/settings/UpdateSettings/events.js.map +1 -0
  375. package/features/settings/UpdateSettings/feature.d.ts +4 -0
  376. package/features/settings/UpdateSettings/feature.js +11 -0
  377. package/features/settings/UpdateSettings/feature.js.map +1 -0
  378. package/features/settings/UpdateSettings/index.d.ts +2 -0
  379. package/features/settings/UpdateSettings/index.js +2 -0
  380. package/features/shared/abstractions.d.ts +1 -0
  381. package/features/shared/abstractions.js +1 -0
  382. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  383. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  384. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  385. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  386. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  387. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  388. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  389. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  390. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  391. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  392. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  393. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  394. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  395. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  396. package/features/upload/GetUploadPayload/index.js +1 -0
  397. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  398. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  399. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  400. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  401. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  402. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  403. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  404. package/features/upload/ReadFileMetadata/feature.js +11 -0
  405. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  406. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  407. package/features/upload/ReadFileMetadata/index.js +1 -0
  408. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  409. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  410. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  411. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  412. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  413. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  414. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  415. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  416. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  417. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  418. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  419. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  420. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  421. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  422. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  423. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  424. package/features/upload/WriteFileMetadata/feature.js +17 -0
  425. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  426. package/features/upload/index.d.ts +17 -0
  427. package/features/upload/index.js +10 -0
  428. package/features/upload/types.d.ts +28 -0
  429. package/features/upload/types.js +0 -0
  430. package/features/upload/utils/FileExtension.d.ts +6 -0
  431. package/features/upload/utils/FileExtension.js +16 -0
  432. package/features/upload/utils/FileExtension.js.map +1 -0
  433. package/features/upload/utils/FileKey.d.ts +11 -0
  434. package/features/upload/utils/FileKey.js +33 -0
  435. package/features/upload/utils/FileKey.js.map +1 -0
  436. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  437. package/features/upload/utils/FileNormalizer.js +41 -0
  438. package/features/upload/utils/FileNormalizer.js.map +1 -0
  439. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  440. package/features/upload/utils/FileUploadModifier.js +39 -0
  441. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  442. package/features/upload/utils/checkPermissions.d.ts +5 -0
  443. package/features/upload/utils/checkPermissions.js +22 -0
  444. package/features/upload/utils/checkPermissions.js.map +1 -0
  445. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  446. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  447. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  448. package/features/upload/utils/mimeTypes.d.ts +1 -0
  449. package/features/upload/utils/mimeTypes.js +9 -0
  450. package/features/upload/utils/mimeTypes.js.map +1 -0
  451. package/graphql/FmGraphQLSchema.d.ts +24 -0
  452. package/graphql/FmGraphQLSchema.js +458 -0
  453. package/graphql/FmGraphQLSchema.js.map +1 -0
  454. package/index.d.ts +4 -6
  455. package/index.js +14 -67
  456. package/index.js.map +1 -1
  457. package/package.json +40 -40
  458. package/types.d.ts +2 -351
  459. package/types.js +1 -27
  460. package/createFileManager/checkBasePermissions.d.ts +0 -5
  461. package/createFileManager/checkBasePermissions.js +0 -24
  462. package/createFileManager/checkBasePermissions.js.map +0 -1
  463. package/createFileManager/files.crud.d.ts +0 -3
  464. package/createFileManager/files.crud.js +0 -325
  465. package/createFileManager/files.crud.js.map +0 -1
  466. package/createFileManager/filevalidation.disabled.js +0 -55
  467. package/createFileManager/filevalidation.disabled.js.map +0 -1
  468. package/createFileManager/index.d.ts +0 -13
  469. package/createFileManager/index.js +0 -20
  470. package/createFileManager/index.js.map +0 -1
  471. package/createFileManager/settings.crud.d.ts +0 -3
  472. package/createFileManager/settings.crud.js +0 -91
  473. package/createFileManager/settings.crud.js.map +0 -1
  474. package/createFileManager/system.crud.d.ts +0 -3
  475. package/createFileManager/system.crud.js +0 -86
  476. package/createFileManager/system.crud.js.map +0 -1
  477. package/graphql/index.d.ts +0 -3
  478. package/graphql/index.js +0 -277
  479. package/graphql/index.js.map +0 -1
  480. package/handlers/download/byAlias.d.ts +0 -6
  481. package/handlers/download/byAlias.js +0 -89
  482. package/handlers/download/byAlias.js.map +0 -1
  483. package/handlers/download/byExactKey.d.ts +0 -2
  484. package/handlers/download/byExactKey.js +0 -57
  485. package/handlers/download/byExactKey.js.map +0 -1
  486. package/handlers/download/extractFileInformation.d.ts +0 -9
  487. package/handlers/download/extractFileInformation.js +0 -20
  488. package/handlers/download/extractFileInformation.js.map +0 -1
  489. package/handlers/download/getS3Object.d.ts +0 -10
  490. package/handlers/download/getS3Object.js +0 -57
  491. package/handlers/download/getS3Object.js.map +0 -1
  492. package/handlers/download/index.d.ts +0 -2
  493. package/handlers/download/index.js +0 -27
  494. package/handlers/download/index.js.map +0 -1
  495. package/handlers/manage/index.d.ts +0 -5
  496. package/handlers/manage/index.js +0 -55
  497. package/handlers/manage/index.js.map +0 -1
  498. package/handlers/transform/index.d.ts +0 -2
  499. package/handlers/transform/index.js +0 -89
  500. package/handlers/transform/index.js.map +0 -1
  501. package/handlers/transform/legacyUtils.d.ts +0 -17
  502. package/handlers/transform/legacyUtils.js +0 -42
  503. package/handlers/transform/legacyUtils.js.map +0 -1
  504. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  505. package/handlers/transform/loaders/imageLoader.js +0 -94
  506. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  507. package/handlers/transform/loaders/index.d.ts +0 -8
  508. package/handlers/transform/loaders/index.js +0 -10
  509. package/handlers/transform/loaders/index.js.map +0 -1
  510. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  511. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  512. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  513. package/handlers/transform/managers/imageManager.d.ts +0 -15
  514. package/handlers/transform/managers/imageManager.js +0 -74
  515. package/handlers/transform/managers/imageManager.js.map +0 -1
  516. package/handlers/transform/managers/index.d.ts +0 -5
  517. package/handlers/transform/managers/index.js +0 -10
  518. package/handlers/transform/managers/index.js.map +0 -1
  519. package/handlers/transform/optimizeImage.d.ts +0 -3
  520. package/handlers/transform/optimizeImage.js +0 -42
  521. package/handlers/transform/optimizeImage.js.map +0 -1
  522. package/handlers/transform/transformImage.d.ts +0 -10
  523. package/handlers/transform/transformImage.js +0 -25
  524. package/handlers/transform/transformImage.js.map +0 -1
  525. package/handlers/transform/utils.d.ts +0 -12
  526. package/handlers/transform/utils.js +0 -36
  527. package/handlers/transform/utils.js.map +0 -1
  528. package/handlers/types.d.ts +0 -8
  529. package/handlers/types.js +0 -5
  530. package/handlers/types.js.map +0 -1
  531. package/handlers/utils/getEnvironment.d.ts +0 -5
  532. package/handlers/utils/getEnvironment.js +0 -11
  533. package/handlers/utils/getEnvironment.js.map +0 -1
  534. package/handlers/utils/getObjectParams.d.ts +0 -9
  535. package/handlers/utils/getObjectParams.js +0 -21
  536. package/handlers/utils/getObjectParams.js.map +0 -1
  537. package/handlers/utils/index.d.ts +0 -2
  538. package/handlers/utils/index.js +0 -20
  539. package/handlers/utils/index.js.map +0 -1
  540. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
  541. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  542. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  543. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  544. package/plugins/FileStorageTransformPlugin.js +0 -40
  545. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  546. package/plugins/crud/files/validation.d.ts +0 -3
  547. package/plugins/crud/files/validation.js +0 -41
  548. package/plugins/crud/files/validation.js.map +0 -1
  549. package/plugins/crud/files.crud.d.ts +0 -4
  550. package/plugins/crud/files.crud.js +0 -431
  551. package/plugins/crud/files.crud.js.map +0 -1
  552. package/plugins/crud/settings.crud.d.ts +0 -5
  553. package/plugins/crud/settings.crud.js +0 -116
  554. package/plugins/crud/settings.crud.js.map +0 -1
  555. package/plugins/crud/system.crud.d.ts +0 -4
  556. package/plugins/crud/system.crud.js +0 -153
  557. package/plugins/crud/system.crud.js.map +0 -1
  558. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  559. package/plugins/crud/utils/checkBasePermissions.js +0 -33
  560. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  561. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  562. package/plugins/crud/utils/createFileModel.js +0 -77
  563. package/plugins/crud/utils/createFileModel.js.map +0 -1
  564. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  565. package/plugins/crud/utils/lifecycleEvents.js +0 -38
  566. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  567. package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
  568. package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
  569. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  570. package/plugins/definitions/FilePlugin.d.ts +0 -136
  571. package/plugins/definitions/FilePlugin.js +0 -70
  572. package/plugins/definitions/FilePlugin.js.map +0 -1
  573. package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
  574. package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
  575. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  576. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  577. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
  578. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  579. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  580. package/plugins/definitions/InstallationPlugin.js +0 -42
  581. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  582. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  583. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
  584. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  585. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  586. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
  587. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  588. package/plugins/graphql.d.ts +0 -4
  589. package/plugins/graphql.js +0 -290
  590. package/plugins/graphql.js.map +0 -1
  591. package/plugins/index.d.ts +0 -2
  592. package/plugins/index.js +0 -27
  593. package/plugins/index.js.map +0 -1
  594. package/plugins/storage/FileStorage.d.ts +0 -30
  595. package/plugins/storage/FileStorage.js +0 -103
  596. package/plugins/storage/FileStorage.js.map +0 -1
  597. package/plugins/storage/index.d.ts +0 -4
  598. package/plugins/storage/index.js +0 -26
  599. package/plugins/storage/index.js.map +0 -1
  600. package/storage/FileStorage.d.ts +0 -32
  601. package/storage/FileStorage.js +0 -86
  602. package/storage/FileStorage.js.map +0 -1
  603. package/types/file.d.ts +0 -33
  604. package/types/file.js +0 -5
  605. package/types/file.js.map +0 -1
  606. package/types/file.lifecycle.d.ts +0 -40
  607. package/types/file.lifecycle.js +0 -5
  608. package/types/file.lifecycle.js.map +0 -1
  609. package/types.js.map +0 -1
  610. package/utils.d.ts +0 -4
  611. package/utils.js +0 -16
  612. package/utils.js.map +0 -1
  613. /package/{createFileManager/filevalidation.disabled.d.ts → domain/file/types.js} +0 -0
@@ -0,0 +1,40 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { File } from "../../../domain/file/types.js";
3
+ import { type FilePersistenceError, type FileNotFoundError, FileNotAuthorizedError } from "../../../domain/file/errors.js";
4
+ /**
5
+ * GetFile repository interface
6
+ */
7
+ export interface IGetFileRepository {
8
+ execute(id: string): Promise<Result<File, RepositoryError>>;
9
+ }
10
+ export interface IGetFileRepositoryErrors {
11
+ notFound: FileNotFoundError;
12
+ notAuthorized: FileNotAuthorizedError;
13
+ persistence: FilePersistenceError;
14
+ }
15
+ type RepositoryError = IGetFileRepositoryErrors[keyof IGetFileRepositoryErrors];
16
+ /** Fetch a file from storage. */
17
+ export declare const GetFileRepository: import("@webiny/di").Abstraction<IGetFileRepository>;
18
+ export declare namespace GetFileRepository {
19
+ type Interface = IGetFileRepository;
20
+ type Error = RepositoryError;
21
+ }
22
+ /**
23
+ * GetFile use case interface
24
+ */
25
+ export interface IGetFileUseCase {
26
+ execute(id: string): Promise<Result<File, UseCaseError>>;
27
+ }
28
+ export interface IGetFileUseCaseErrors {
29
+ notAuthorized: FileNotAuthorizedError;
30
+ notFound: FileNotFoundError;
31
+ persistence: FilePersistenceError;
32
+ }
33
+ type UseCaseError = IGetFileUseCaseErrors[keyof IGetFileUseCaseErrors];
34
+ /** Retrieve a file by ID. */
35
+ export declare const GetFileUseCase: import("@webiny/di").Abstraction<IGetFileUseCase>;
36
+ export declare namespace GetFileUseCase {
37
+ type Interface = IGetFileUseCase;
38
+ type Error = UseCaseError;
39
+ }
40
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const GetFileRepository = createAbstraction("GetFileRepository");
3
+ const GetFileUseCase = createAbstraction("GetFileUseCase");
4
+ export { GetFileRepository, GetFileUseCase };
5
+
6
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFile/abstractions.js","sources":["../../../../src/features/file/GetFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { File } from \"~/domain/file/types.js\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\n\n/**\n * GetFile repository interface\n */\nexport interface IGetFileRepository {\n execute(id: string): Promise<Result<File, RepositoryError>>;\n}\n\nexport interface IGetFileRepositoryErrors {\n notFound: FileNotFoundError;\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IGetFileRepositoryErrors[keyof IGetFileRepositoryErrors];\n\n/** Fetch a file from storage. */\nexport const GetFileRepository = createAbstraction<IGetFileRepository>(\"GetFileRepository\");\n\nexport namespace GetFileRepository {\n export type Interface = IGetFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFile use case interface\n */\nexport interface IGetFileUseCase {\n execute(id: string): Promise<Result<File, UseCaseError>>;\n}\n\nexport interface IGetFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IGetFileUseCaseErrors[keyof IGetFileUseCaseErrors];\n\n/** Retrieve a file by ID. */\nexport const GetFileUseCase = createAbstraction<IGetFileUseCase>(\"GetFileUseCase\");\n\nexport namespace GetFileUseCase {\n export type Interface = IGetFileUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["GetFileRepository","createAbstraction","GetFileUseCase"],"mappings":";AAyBO,MAAMA,oBAAoBC,kBAAsC;AAuBhE,MAAMC,iBAAiBD,kBAAmC"}
@@ -0,0 +1,4 @@
1
+ export declare const GetFileFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { GetFileRepository } from "./GetFileRepository.js";
3
+ import { GetFileUseCase } from "./GetFileUseCase.js";
4
+ const GetFileFeature = createFeature({
5
+ name: "FileManager/GetFile",
6
+ register (container) {
7
+ container.register(GetFileUseCase);
8
+ container.register(GetFileRepository).inSingletonScope();
9
+ }
10
+ });
11
+ export { GetFileFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFile/feature.js","sources":["../../../../src/features/file/GetFile/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetFileRepository } from \"./GetFileRepository.js\";\nimport { GetFileUseCase } from \"./GetFileUseCase.js\";\n\nexport const GetFileFeature = createFeature({\n name: \"FileManager/GetFile\",\n register(container) {\n container.register(GetFileUseCase);\n container.register(GetFileRepository).inSingletonScope();\n }\n});\n"],"names":["GetFileFeature","createFeature","container","GetFileUseCase","GetFileRepository"],"mappings":";;;AAIO,MAAMA,iBAAiBC,cAAc;IACxC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,mBAAmB,gBAAgB;IAC1D;AACJ"}
@@ -0,0 +1 @@
1
+ export { GetFileUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { GetFileUseCase } from "./abstractions.js";
@@ -0,0 +1,15 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetFileByUrlUseCase as Abstraction } from "./abstractions.js";
3
+ import { ListFilesUseCase } from "../../../features/file/ListFiles/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
+ import type { File } from "../../../domain/file/types.js";
6
+ declare class GetFileByUrlUseCaseImpl implements Abstraction.Interface {
7
+ private readonly identityContext;
8
+ private readonly listFiles;
9
+ constructor(identityContext: IdentityContext.Interface, listFiles: ListFilesUseCase.Interface);
10
+ execute(url: string): Promise<Result<File | undefined, Abstraction.Error>>;
11
+ }
12
+ export declare const GetFileByUrlUseCase: typeof GetFileByUrlUseCaseImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileByUrlUseCase>;
14
+ };
15
+ export {};
@@ -0,0 +1,37 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetFileByUrlUseCase } from "./abstractions.js";
3
+ import { ListFilesUseCase } from "../ListFiles/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
+ import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
6
+ class GetFileByUrlUseCaseImpl {
7
+ constructor(identityContext, listFiles){
8
+ this.identityContext = identityContext;
9
+ this.listFiles = listFiles;
10
+ }
11
+ async execute(url) {
12
+ const identity = this.identityContext.getIdentity();
13
+ if (identity.isAnonymous()) return Result.fail(new FileNotAuthorizedError());
14
+ const { pathname } = new URL(url);
15
+ const query = pathname.replace("/files/", "").replace("/private/", "");
16
+ const filesResult = await this.listFiles.execute({
17
+ where: {
18
+ key: query
19
+ },
20
+ limit: 1
21
+ });
22
+ if (filesResult.isFail()) return Result.fail(filesResult.error);
23
+ const files = filesResult.value.items;
24
+ const file = files.length ? files[0] : void 0;
25
+ return Result.ok(file);
26
+ }
27
+ }
28
+ const GetFileByUrlUseCase_GetFileByUrlUseCase = GetFileByUrlUseCase.createImplementation({
29
+ implementation: GetFileByUrlUseCaseImpl,
30
+ dependencies: [
31
+ IdentityContext,
32
+ ListFilesUseCase
33
+ ]
34
+ });
35
+ export { GetFileByUrlUseCase_GetFileByUrlUseCase as GetFileByUrlUseCase };
36
+
37
+ //# sourceMappingURL=GetFileByUrlUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFileByUrl/GetFileByUrlUseCase.js","sources":["../../../../src/features/file/GetFileByUrl/GetFileByUrlUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetFileByUrlUseCase as Abstraction } from \"./abstractions.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport type { File } from \"~/domain/file/types.js\";\n\nclass GetFileByUrlUseCaseImpl implements Abstraction.Interface {\n public constructor(\n private readonly identityContext: IdentityContext.Interface,\n private readonly listFiles: ListFilesUseCase.Interface\n ) {}\n\n public async execute(url: string): Promise<Result<File | undefined, Abstraction.Error>> {\n const identity = this.identityContext.getIdentity();\n if (identity.isAnonymous()) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n const { pathname } = new URL(url);\n const query = pathname.replace(\"/files/\", \"\").replace(\"/private/\", \"\");\n\n const filesResult = await this.listFiles.execute({\n where: { key: query },\n limit: 1\n });\n\n if (filesResult.isFail()) {\n return Result.fail(filesResult.error);\n }\n\n const files = filesResult.value.items;\n const file = files.length ? files[0] : undefined;\n\n return Result.ok(file);\n }\n}\n\nexport const GetFileByUrlUseCase = Abstraction.createImplementation({\n implementation: GetFileByUrlUseCaseImpl,\n dependencies: [IdentityContext, ListFilesUseCase]\n});\n"],"names":["GetFileByUrlUseCaseImpl","identityContext","listFiles","url","identity","Result","FileNotAuthorizedError","pathname","URL","query","filesResult","files","file","undefined","GetFileByUrlUseCase","Abstraction","IdentityContext","ListFilesUseCase"],"mappings":";;;;;AAOA,MAAMA;IACF,YACqBC,eAA0C,EAC1CC,SAAqC,CACxD;aAFmBD,eAAe,GAAfA;aACAC,SAAS,GAATA;IAClB;IAEH,MAAa,QAAQC,GAAW,EAAwD;QACpF,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,IAAIA,SAAS,WAAW,IACpB,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAM,EAAEC,QAAQ,EAAE,GAAG,IAAIC,IAAIL;QAC7B,MAAMM,QAAQF,SAAS,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa;QAEnE,MAAMG,cAAc,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7C,OAAO;gBAAE,KAAKD;YAAM;YACpB,OAAO;QACX;QAEA,IAAIC,YAAY,MAAM,IAClB,OAAOL,OAAO,IAAI,CAACK,YAAY,KAAK;QAGxC,MAAMC,QAAQD,YAAY,KAAK,CAAC,KAAK;QACrC,MAAME,OAAOD,MAAM,MAAM,GAAGA,KAAK,CAAC,EAAE,GAAGE;QAEvC,OAAOR,OAAO,EAAE,CAACO;IACrB;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAAgC,CAAC;IAChE,gBAAgBf;IAChB,cAAc;QAACgB;QAAiBC;KAAiB;AACrD"}
@@ -0,0 +1,18 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { File } from "../../../domain/file/types.js";
3
+ import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
4
+ import type { FilePersistenceError } from "../../../domain/file/errors.js";
5
+ export interface IGetFileByUrlUseCase {
6
+ execute(url: string): Promise<Result<File | undefined, UseCaseError>>;
7
+ }
8
+ export interface IGetFileByUrlUseCaseErrors {
9
+ notAuthorized: FileNotAuthorizedError;
10
+ persistence: FilePersistenceError;
11
+ }
12
+ type UseCaseError = IGetFileByUrlUseCaseErrors[keyof IGetFileByUrlUseCaseErrors];
13
+ export declare const GetFileByUrlUseCase: import("@webiny/di").Abstraction<IGetFileByUrlUseCase>;
14
+ export declare namespace GetFileByUrlUseCase {
15
+ type Interface = IGetFileByUrlUseCase;
16
+ type Error = UseCaseError;
17
+ }
18
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const GetFileByUrlUseCase = createAbstraction("GetFileByUrlUseCase");
3
+ export { GetFileByUrlUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFileByUrl/abstractions.js","sources":["../../../../src/features/file/GetFileByUrl/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport type { FilePersistenceError } from \"~/domain/file/errors.js\";\n\nexport interface IGetFileByUrlUseCase {\n execute(url: string): Promise<Result<File | undefined, UseCaseError>>;\n}\n\nexport interface IGetFileByUrlUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IGetFileByUrlUseCaseErrors[keyof IGetFileByUrlUseCaseErrors];\n\n/* Retrieve a file by its public URL. */\nexport const GetFileByUrlUseCase = createAbstraction<IGetFileByUrlUseCase>(\"GetFileByUrlUseCase\");\n\nexport namespace GetFileByUrlUseCase {\n export type Interface = IGetFileByUrlUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["GetFileByUrlUseCase","createAbstraction"],"mappings":";AAkBO,MAAMA,sBAAsBC,kBAAwC"}
@@ -0,0 +1,4 @@
1
+ export declare const GetFileByUrlFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { GetFileByUrlUseCase } from "./GetFileByUrlUseCase.js";
3
+ const GetFileByUrlFeature = createFeature({
4
+ name: "FileManager/GetFileByUrl",
5
+ register (container) {
6
+ container.register(GetFileByUrlUseCase);
7
+ }
8
+ });
9
+ export { GetFileByUrlFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFileByUrl/feature.js","sources":["../../../../src/features/file/GetFileByUrl/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetFileByUrlUseCase } from \"./GetFileByUrlUseCase.js\";\n\nexport const GetFileByUrlFeature = createFeature({\n name: \"FileManager/GetFileByUrl\",\n register(container) {\n container.register(GetFileByUrlUseCase);\n }\n});\n"],"names":["GetFileByUrlFeature","createFeature","container","GetFileByUrlUseCase"],"mappings":";;AAGO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { GetFileByUrlUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { GetFileByUrlUseCase } from "./abstractions.js";
@@ -0,0 +1,20 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import { type FileNotFoundError, type FilePersistenceError } from "../../../domain/file/errors.js";
3
+ export interface FileContents {
4
+ buffer: Buffer;
5
+ contentType: string;
6
+ }
7
+ export interface IGetFileContentsByIdUseCase {
8
+ execute(fileId: string): Promise<Result<FileContents, GetFileContentsByIdError>>;
9
+ }
10
+ export interface IGetFileContentsByIdUseCaseErrors {
11
+ notFound: FileNotFoundError;
12
+ persistence: FilePersistenceError;
13
+ }
14
+ type GetFileContentsByIdError = IGetFileContentsByIdUseCaseErrors[keyof IGetFileContentsByIdUseCaseErrors];
15
+ export declare const GetFileContentsByIdUseCase: import("@webiny/di").Abstraction<IGetFileContentsByIdUseCase>;
16
+ export declare namespace GetFileContentsByIdUseCase {
17
+ type Interface = IGetFileContentsByIdUseCase;
18
+ type Error = GetFileContentsByIdError;
19
+ }
20
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const GetFileContentsByIdUseCase = createAbstraction("GetFileContentsByIdUseCase");
3
+ export { GetFileContentsByIdUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFileContentsById/abstractions.js","sources":["../../../../src/features/file/GetFileContentsById/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport { type FileNotFoundError, type FilePersistenceError } from \"~/domain/file/errors.js\";\n\nexport interface FileContents {\n buffer: Buffer;\n contentType: string;\n}\n\nexport interface IGetFileContentsByIdUseCase {\n execute(fileId: string): Promise<Result<FileContents, GetFileContentsByIdError>>;\n}\n\nexport interface IGetFileContentsByIdUseCaseErrors {\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype GetFileContentsByIdError =\n IGetFileContentsByIdUseCaseErrors[keyof IGetFileContentsByIdUseCaseErrors];\n\nexport const GetFileContentsByIdUseCase = createAbstraction<IGetFileContentsByIdUseCase>(\n \"GetFileContentsByIdUseCase\"\n);\n\nexport namespace GetFileContentsByIdUseCase {\n export type Interface = IGetFileContentsByIdUseCase;\n export type Error = GetFileContentsByIdError;\n}\n"],"names":["GetFileContentsByIdUseCase","createAbstraction"],"mappings":";AAqBO,MAAMA,6BAA6BC,kBACtC"}
@@ -0,0 +1 @@
1
+ export { GetFileContentsByIdUseCase, type FileContents } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { GetFileContentsByIdUseCase } from "./abstractions.js";
@@ -0,0 +1,17 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { FileContents } from "../../../features/file/GetFileContentsById/abstractions.js";
3
+ import { type FileNotFoundError, type FilePersistenceError } from "../../../domain/file/errors.js";
4
+ export interface IGetFileContentsByKeyUseCase {
5
+ execute(key: string): Promise<Result<FileContents, GetFileContentsByKeyError>>;
6
+ }
7
+ export interface IGetFileContentsByKeyUseCaseErrors {
8
+ notFound: FileNotFoundError;
9
+ persistence: FilePersistenceError;
10
+ }
11
+ type GetFileContentsByKeyError = IGetFileContentsByKeyUseCaseErrors[keyof IGetFileContentsByKeyUseCaseErrors];
12
+ export declare const GetFileContentsByKeyUseCase: import("@webiny/di").Abstraction<IGetFileContentsByKeyUseCase>;
13
+ export declare namespace GetFileContentsByKeyUseCase {
14
+ type Interface = IGetFileContentsByKeyUseCase;
15
+ type Error = GetFileContentsByKeyError;
16
+ }
17
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const GetFileContentsByKeyUseCase = createAbstraction("GetFileContentsByKeyUseCase");
3
+ export { GetFileContentsByKeyUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/GetFileContentsByKey/abstractions.js","sources":["../../../../src/features/file/GetFileContentsByKey/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileContents } from \"~/features/file/GetFileContentsById/abstractions.js\";\nimport { type FileNotFoundError, type FilePersistenceError } from \"~/domain/file/errors.js\";\n\nexport interface IGetFileContentsByKeyUseCase {\n execute(key: string): Promise<Result<FileContents, GetFileContentsByKeyError>>;\n}\n\nexport interface IGetFileContentsByKeyUseCaseErrors {\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype GetFileContentsByKeyError =\n IGetFileContentsByKeyUseCaseErrors[keyof IGetFileContentsByKeyUseCaseErrors];\n\nexport const GetFileContentsByKeyUseCase = createAbstraction<IGetFileContentsByKeyUseCase>(\n \"GetFileContentsByKeyUseCase\"\n);\n\nexport namespace GetFileContentsByKeyUseCase {\n export type Interface = IGetFileContentsByKeyUseCase;\n export type Error = GetFileContentsByKeyError;\n}\n"],"names":["GetFileContentsByKeyUseCase","createAbstraction"],"mappings":";AAiBO,MAAMA,8BAA8BC,kBACvC"}
@@ -0,0 +1 @@
1
+ export { GetFileContentsByKeyUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { GetFileContentsByKeyUseCase } from "./abstractions.js";
@@ -0,0 +1,18 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
3
+ import { ListFilesInput, ListFilesOutput, ListFilesRepository as RepositoryAbstraction } from "./abstractions.js";
4
+ import { FileModelProvider } from "../../../domain/file/abstractions.js";
5
+ import { CmsWhereMapper } from "@webiny/api-headless-cms";
6
+ import { CmsSortMapper } from "@webiny/api-headless-cms";
7
+ declare class ListFilesRepositoryImpl implements RepositoryAbstraction.Interface {
8
+ private listLatestEntries;
9
+ private fileModelProvider;
10
+ private cmsWhereMapper;
11
+ private cmsSortMapper;
12
+ constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, fileModelProvider: FileModelProvider.Interface, cmsWhereMapper: CmsWhereMapper.Interface, cmsSortMapper: CmsSortMapper.Interface);
13
+ execute(input: ListFilesInput): Promise<Result<ListFilesOutput, RepositoryAbstraction.Error>>;
14
+ }
15
+ export declare const ListFilesRepository: typeof ListFilesRepositoryImpl & {
16
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListFilesRepository>;
17
+ };
18
+ export {};
@@ -0,0 +1,54 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
3
+ import { ListFilesRepository } from "./abstractions.js";
4
+ import { FileModelProvider } from "../../../domain/file/abstractions.js";
5
+ import { FilePersistenceError } from "../../../domain/file/errors.js";
6
+ import { EntryToFileMapper } from "../shared/EntryToFileMapper.js";
7
+ import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
8
+ class ListFilesRepositoryImpl {
9
+ constructor(listLatestEntries, fileModelProvider, cmsWhereMapper, cmsSortMapper){
10
+ this.listLatestEntries = listLatestEntries;
11
+ this.fileModelProvider = fileModelProvider;
12
+ this.cmsWhereMapper = cmsWhereMapper;
13
+ this.cmsSortMapper = cmsSortMapper;
14
+ }
15
+ async execute(input) {
16
+ const fileModel = await this.fileModelProvider.get();
17
+ const where = this.cmsWhereMapper.map({
18
+ input: input.where || {},
19
+ fields: fileModel.fields
20
+ });
21
+ const sort = this.cmsSortMapper.map({
22
+ input: input.sort,
23
+ fields: fileModel.fields
24
+ });
25
+ const result = await this.listLatestEntries.execute(fileModel, {
26
+ where,
27
+ limit: input.limit || 40,
28
+ after: input.after || void 0,
29
+ sort: sort || [
30
+ "id_DESC"
31
+ ],
32
+ search: input.search
33
+ });
34
+ if (result.isFail()) return Result.fail(new FilePersistenceError(result.error));
35
+ const { entries, meta } = result.value;
36
+ const files = entries.map((entry)=>EntryToFileMapper.toFile(entry));
37
+ return Result.ok({
38
+ items: files,
39
+ meta
40
+ });
41
+ }
42
+ }
43
+ const ListFilesRepository_ListFilesRepository = ListFilesRepository.createImplementation({
44
+ implementation: ListFilesRepositoryImpl,
45
+ dependencies: [
46
+ ListLatestEntriesUseCase,
47
+ FileModelProvider,
48
+ CmsWhereMapper,
49
+ CmsSortMapper
50
+ ]
51
+ });
52
+ export { ListFilesRepository_ListFilesRepository as ListFilesRepository };
53
+
54
+ //# sourceMappingURL=ListFilesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/ListFiles/ListFilesRepository.js","sources":["../../../../src/features/file/ListFiles/ListFilesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport {\n ListFilesInput,\n ListFilesOutput,\n ListFilesRepository as RepositoryAbstraction\n} from \"./abstractions.js\";\nimport { FileModelProvider } from \"~/domain/file/abstractions.js\";\nimport { FilePersistenceError } from \"~/domain/file/errors.js\";\nimport { EntryToFileMapper } from \"../shared/EntryToFileMapper.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms\";\nimport { CmsSortMapper } from \"@webiny/api-headless-cms\";\nimport { GenericRecord } from \"@webiny/api/types.js\";\n\nclass ListFilesRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private fileModelProvider: FileModelProvider.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface,\n private cmsSortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(\n input: ListFilesInput\n ): Promise<Result<ListFilesOutput, RepositoryAbstraction.Error>> {\n const fileModel = await this.fileModelProvider.get();\n\n const where = this.cmsWhereMapper.map<GenericRecord>({\n input: input.where || {},\n fields: fileModel.fields\n });\n\n const sort = this.cmsSortMapper.map({\n input: input.sort,\n fields: fileModel.fields\n });\n\n const result = await this.listLatestEntries.execute(fileModel, {\n where,\n limit: input.limit || 40,\n after: input.after || undefined,\n sort: sort || [\"id_DESC\"],\n search: input.search\n });\n\n if (result.isFail()) {\n return Result.fail(new FilePersistenceError(result.error));\n }\n\n const { entries, meta } = result.value;\n\n const files = entries.map(entry => EntryToFileMapper.toFile(entry));\n\n return Result.ok({\n items: files,\n meta\n });\n }\n}\n\nexport const ListFilesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListFilesRepositoryImpl,\n dependencies: [ListLatestEntriesUseCase, FileModelProvider, CmsWhereMapper, CmsSortMapper]\n});\n"],"names":["ListFilesRepositoryImpl","listLatestEntries","fileModelProvider","cmsWhereMapper","cmsSortMapper","input","fileModel","where","sort","result","undefined","Result","FilePersistenceError","entries","meta","files","entry","EntryToFileMapper","ListFilesRepository","RepositoryAbstraction","ListLatestEntriesUseCase","FileModelProvider","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,iBAA8C,EAC9CC,cAAwC,EACxCC,aAAsC,CAChD;aAJUH,iBAAiB,GAAjBA;aACAC,iBAAiB,GAAjBA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QACFC,KAAqB,EACwC;QAC7D,MAAMC,YAAY,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG;QAElD,MAAMC,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAgB;YACjD,OAAOF,MAAM,KAAK,IAAI,CAAC;YACvB,QAAQC,UAAU,MAAM;QAC5B;QAEA,MAAME,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAChC,OAAOH,MAAM,IAAI;YACjB,QAAQC,UAAU,MAAM;QAC5B;QAEA,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACH,WAAW;YAC3DC;YACA,OAAOF,MAAM,KAAK,IAAI;YACtB,OAAOA,MAAM,KAAK,IAAIK;YACtB,MAAMF,QAAQ;gBAAC;aAAU;YACzB,QAAQH,MAAM,MAAM;QACxB;QAEA,IAAII,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAAC,IAAIC,qBAAqBH,OAAO,KAAK;QAG5D,MAAM,EAAEI,OAAO,EAAEC,IAAI,EAAE,GAAGL,OAAO,KAAK;QAEtC,MAAMM,QAAQF,QAAQ,GAAG,CAACG,CAAAA,QAASC,kBAAkB,MAAM,CAACD;QAE5D,OAAOL,OAAO,EAAE,CAAC;YACb,OAAOI;YACPD;QACJ;IACJ;AACJ;AAEO,MAAMI,0CAAsBC,oBAAAA,oBAA0C,CAAC;IAC1E,gBAAgBnB;IAChB,cAAc;QAACoB;QAA0BC;QAAmBC;QAAgBC;KAAc;AAC9F"}
@@ -0,0 +1,15 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListFilesUseCase as UseCaseAbstraction, ListFilesInput, ListFilesOutput, ListFilesRepository } from "./abstractions.js";
3
+ import { FmPermissions } from "../../../features/shared/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
+ declare class ListFilesUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private permissions;
7
+ private identityContext;
8
+ private repository;
9
+ constructor(permissions: FmPermissions.Interface, identityContext: IdentityContext.Interface, repository: ListFilesRepository.Interface);
10
+ execute(input: ListFilesInput): Promise<Result<ListFilesOutput, UseCaseAbstraction.Error>>;
11
+ }
12
+ export declare const ListFilesUseCase: typeof ListFilesUseCaseImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListFilesUseCase>;
14
+ };
15
+ export {};
@@ -0,0 +1,44 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListFilesRepository, ListFilesUseCase } from "./abstractions.js";
3
+ import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
4
+ import { FmPermissions } from "../../shared/abstractions.js";
5
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
6
+ class ListFilesUseCaseImpl {
7
+ constructor(permissions, identityContext, repository){
8
+ this.permissions = permissions;
9
+ this.identityContext = identityContext;
10
+ this.repository = repository;
11
+ }
12
+ async execute(input) {
13
+ const hasPermission = await this.permissions.canRead("file");
14
+ if (!hasPermission) return Result.fail(new FileNotAuthorizedError());
15
+ const where = {
16
+ ...input.where || {}
17
+ };
18
+ if (await this.permissions.onlyOwnRecords("file")) {
19
+ const identity = this.identityContext.getIdentity();
20
+ where.createdBy = identity.id;
21
+ }
22
+ const result = await this.repository.execute({
23
+ ...input,
24
+ where,
25
+ limit: input.limit || 40,
26
+ sort: input.sort && input.sort.length > 0 ? input.sort : [
27
+ "id_DESC"
28
+ ]
29
+ });
30
+ if (result.isFail()) return Result.fail(result.error);
31
+ return Result.ok(result.value);
32
+ }
33
+ }
34
+ const ListFilesUseCase_ListFilesUseCase = ListFilesUseCase.createImplementation({
35
+ implementation: ListFilesUseCaseImpl,
36
+ dependencies: [
37
+ FmPermissions,
38
+ IdentityContext,
39
+ ListFilesRepository
40
+ ]
41
+ });
42
+ export { ListFilesUseCase_ListFilesUseCase as ListFilesUseCase };
43
+
44
+ //# sourceMappingURL=ListFilesUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/ListFiles/ListFilesUseCase.js","sources":["../../../../src/features/file/ListFiles/ListFilesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ListFilesUseCase as UseCaseAbstraction,\n ListFilesInput,\n ListFilesOutput,\n ListFilesRepository\n} from \"./abstractions.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FmPermissions } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nclass ListFilesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: FmPermissions.Interface,\n private identityContext: IdentityContext.Interface,\n private repository: ListFilesRepository.Interface\n ) {}\n\n async execute(\n input: ListFilesInput\n ): Promise<Result<ListFilesOutput, UseCaseAbstraction.Error>> {\n const hasPermission = await this.permissions.canRead(\"file\");\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n // Build where clause.\n const where: ListFilesInput[\"where\"] = {\n ...(input.where || {})\n };\n\n // Filter by createdBy if user can only access own records.\n if (await this.permissions.onlyOwnRecords(\"file\")) {\n const identity = this.identityContext.getIdentity();\n where.createdBy = identity.id;\n }\n\n const result = await this.repository.execute({\n ...input,\n where,\n limit: input.limit || 40,\n sort: input.sort && input.sort.length > 0 ? input.sort : [\"id_DESC\"]\n });\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok(result.value);\n }\n}\n\nexport const ListFilesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListFilesUseCaseImpl,\n dependencies: [FmPermissions, IdentityContext, ListFilesRepository]\n});\n"],"names":["ListFilesUseCaseImpl","permissions","identityContext","repository","input","hasPermission","Result","FileNotAuthorizedError","where","identity","result","ListFilesUseCase","UseCaseAbstraction","FmPermissions","IdentityContext","ListFilesRepository"],"mappings":";;;;;AAWA,MAAMA;IACF,YACYC,WAAoC,EACpCC,eAA0C,EAC1CC,UAAyC,CACnD;aAHUF,WAAW,GAAXA;aACAC,eAAe,GAAfA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,KAAqB,EACqC;QAC1D,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,QAAiC;YACnC,GAAIJ,MAAM,KAAK,IAAI,CAAC,CAAC;QACzB;QAGA,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS;YAC/C,MAAMK,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;YACjDD,MAAM,SAAS,GAAGC,SAAS,EAAE;QACjC;QAEA,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,GAAGN,KAAK;YACRI;YACA,OAAOJ,MAAM,KAAK,IAAI;YACtB,MAAMA,MAAM,IAAI,IAAIA,MAAM,IAAI,CAAC,MAAM,GAAG,IAAIA,MAAM,IAAI,GAAG;gBAAC;aAAU;QACxE;QAEA,IAAIM,OAAO,MAAM,IACb,OAAOJ,OAAO,IAAI,CAACI,OAAO,KAAK;QAGnC,OAAOJ,OAAO,EAAE,CAACI,OAAO,KAAK;IACjC;AACJ;AAEO,MAAMC,oCAAmBC,iBAAAA,oBAAuC,CAAC;IACpE,gBAAgBZ;IAChB,cAAc;QAACa;QAAeC;QAAiBC;KAAoB;AACvE"}
@@ -0,0 +1,49 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { File } from "../../../domain/file/types.js";
3
+ import { type FilePersistenceError, FileNotAuthorizedError } from "../../../domain/file/errors.js";
4
+ import type { CmsEntryMeta } from "@webiny/api-headless-cms/types";
5
+ export interface ListFilesInput {
6
+ limit?: number;
7
+ after?: string | null;
8
+ where?: Record<string, any>;
9
+ sort?: Array<`${string}_ASC` | `${string}_DESC`>;
10
+ search?: string;
11
+ }
12
+ export interface ListFilesOutput {
13
+ items: File[];
14
+ meta: CmsEntryMeta;
15
+ }
16
+ /**
17
+ * ListFiles repository interface
18
+ */
19
+ export interface IListFilesRepository {
20
+ execute(input: ListFilesInput): Promise<Result<ListFilesOutput, RepositoryError>>;
21
+ }
22
+ export interface IListFilesRepositoryErrors {
23
+ persistence: FilePersistenceError;
24
+ }
25
+ type RepositoryError = IListFilesRepositoryErrors[keyof IListFilesRepositoryErrors];
26
+ /** Fetch files from storage with filtering. */
27
+ export declare const ListFilesRepository: import("@webiny/di").Abstraction<IListFilesRepository>;
28
+ export declare namespace ListFilesRepository {
29
+ type Interface = IListFilesRepository;
30
+ type Error = RepositoryError;
31
+ }
32
+ /**
33
+ * ListFiles use case interface
34
+ */
35
+ export interface IListFilesUseCase {
36
+ execute(input: ListFilesInput): Promise<Result<ListFilesOutput, UseCaseError>>;
37
+ }
38
+ export interface IListFilesUseCaseErrors {
39
+ notAuthorized: FileNotAuthorizedError;
40
+ persistence: FilePersistenceError;
41
+ }
42
+ type UseCaseError = IListFilesUseCaseErrors[keyof IListFilesUseCaseErrors];
43
+ /** List files with filtering and pagination. */
44
+ export declare const ListFilesUseCase: import("@webiny/di").Abstraction<IListFilesUseCase>;
45
+ export declare namespace ListFilesUseCase {
46
+ type Interface = IListFilesUseCase;
47
+ type Error = UseCaseError;
48
+ }
49
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListFilesRepository = createAbstraction("ListFilesRepository");
3
+ const ListFilesUseCase = createAbstraction("ListFilesUseCase");
4
+ export { ListFilesRepository, ListFilesUseCase };
5
+
6
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/ListFiles/abstractions.js","sources":["../../../../src/features/file/ListFiles/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { type FilePersistenceError, FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport type { CmsEntryMeta } from \"@webiny/api-headless-cms/types\";\n\nexport interface ListFilesInput {\n limit?: number;\n after?: string | null;\n where?: Record<string, any>;\n sort?: Array<`${string}_ASC` | `${string}_DESC`>;\n search?: string;\n}\n\nexport interface ListFilesOutput {\n items: File[];\n meta: CmsEntryMeta;\n}\n\n/**\n * ListFiles repository interface\n */\nexport interface IListFilesRepository {\n execute(input: ListFilesInput): Promise<Result<ListFilesOutput, RepositoryError>>;\n}\n\nexport interface IListFilesRepositoryErrors {\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IListFilesRepositoryErrors[keyof IListFilesRepositoryErrors];\n\n/** Fetch files from storage with filtering. */\nexport const ListFilesRepository = createAbstraction<IListFilesRepository>(\"ListFilesRepository\");\n\nexport namespace ListFilesRepository {\n export type Interface = IListFilesRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFiles use case interface\n */\nexport interface IListFilesUseCase {\n execute(input: ListFilesInput): Promise<Result<ListFilesOutput, UseCaseError>>;\n}\n\nexport interface IListFilesUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IListFilesUseCaseErrors[keyof IListFilesUseCaseErrors];\n\n/** List files with filtering and pagination. */\nexport const ListFilesUseCase = createAbstraction<IListFilesUseCase>(\"ListFilesUseCase\");\n\nexport namespace ListFilesUseCase {\n export type Interface = IListFilesUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["ListFilesRepository","createAbstraction","ListFilesUseCase"],"mappings":";AAiCO,MAAMA,sBAAsBC,kBAAwC;AAsBpE,MAAMC,mBAAmBD,kBAAqC"}
@@ -0,0 +1,4 @@
1
+ export declare const ListFilesFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListFilesRepository } from "./ListFilesRepository.js";
3
+ import { ListFilesUseCase } from "./ListFilesUseCase.js";
4
+ const ListFilesFeature = createFeature({
5
+ name: "FileManager/ListFiles",
6
+ register (container) {
7
+ container.register(ListFilesUseCase);
8
+ container.register(ListFilesRepository).inSingletonScope();
9
+ }
10
+ });
11
+ export { ListFilesFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/ListFiles/feature.js","sources":["../../../../src/features/file/ListFiles/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFilesRepository } from \"./ListFilesRepository.js\";\nimport { ListFilesUseCase } from \"./ListFilesUseCase.js\";\n\nexport const ListFilesFeature = createFeature({\n name: \"FileManager/ListFiles\",\n register(container) {\n container.register(ListFilesUseCase);\n container.register(ListFilesRepository).inSingletonScope();\n }\n});\n"],"names":["ListFilesFeature","createFeature","container","ListFilesUseCase","ListFilesRepository"],"mappings":";;;AAIO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,qBAAqB,gBAAgB;IAC5D;AACJ"}
@@ -0,0 +1 @@
1
+ export { ListFilesUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { ListFilesUseCase } from "./abstractions.js";
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ import { AiSdkToolDefinition, AiSdkToolHandler } from "@webiny/api-core/features/ai/index.js";
3
+ import { ListFilesUseCase } from "../../../features/file/ListFiles/index.js";
4
+ declare const inputSchema: z.ZodObject<{
5
+ tag: z.ZodString;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ interface ImageItem {
9
+ id: string;
10
+ name: string;
11
+ type: string;
12
+ tags: string[];
13
+ }
14
+ declare class ListImagesByTagToolHandlerImpl implements AiSdkToolHandler.Interface<Input> {
15
+ private listFiles;
16
+ constructor(listFiles: ListFilesUseCase.Interface);
17
+ execute(input: Input): Promise<ImageItem[]>;
18
+ }
19
+ declare class ListImagesByTagToolImpl implements AiSdkToolDefinition.Interface<Input> {
20
+ readonly name = "listImagesByTag";
21
+ readonly title = "List images by tag";
22
+ readonly description = "Lists images from the file manager filtered by a given tag. Returns name, type, and tags for each image.";
23
+ readonly inputSchema: z.ZodObject<{
24
+ tag: z.ZodString;
25
+ }, z.core.$strip>;
26
+ readonly annotations: {
27
+ readOnlyHint: boolean;
28
+ idempotentHint: boolean;
29
+ };
30
+ readonly handler: typeof ListImagesByTagToolHandlerImpl & {
31
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/ai/abstractions").IAiSdkToolHandler<any>>;
32
+ };
33
+ }
34
+ export declare const ListImagesByTagTool: typeof ListImagesByTagToolImpl & {
35
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/ai/abstractions").IAiSdkToolDefinition<any>>;
36
+ };
37
+ export {};