@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,11 @@
1
+ import type { File } from "../../../domain/file/types.js";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { type IAssetAuthorizer } from "../abstractions.js";
4
+ export declare class PrivateAuthenticatedAuthorizer implements IAssetAuthorizer {
5
+ private identityContext;
6
+ constructor(identityContext: IdentityContext.Interface);
7
+ authorize(file: File): Promise<void>;
8
+ }
9
+ export declare const PrivateAuthenticatedAuthorizerImpl: typeof PrivateAuthenticatedAuthorizer & {
10
+ __abstraction: import("@webiny/di").Abstraction<IAssetAuthorizer>;
11
+ };
@@ -0,0 +1,26 @@
1
+ import error from "@webiny/error";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { AssetAuthorizer } from "../abstractions.js";
4
+ class PrivateAuthenticatedAuthorizer {
5
+ constructor(identityContext){
6
+ this.identityContext = identityContext;
7
+ }
8
+ async authorize(file) {
9
+ if (file.accessControl && "private-authenticated" === file.accessControl.type) {
10
+ const identity = this.identityContext.getIdentity();
11
+ if (!identity) throw new error({
12
+ code: "NOT_AUTHORIZED",
13
+ message: "You're not authorized to access this asset!"
14
+ });
15
+ }
16
+ }
17
+ }
18
+ const PrivateAuthenticatedAuthorizerImpl = AssetAuthorizer.createImplementation({
19
+ implementation: PrivateAuthenticatedAuthorizer,
20
+ dependencies: [
21
+ IdentityContext
22
+ ]
23
+ });
24
+ export { PrivateAuthenticatedAuthorizer, PrivateAuthenticatedAuthorizerImpl };
25
+
26
+ //# sourceMappingURL=PrivateAuthenticatedAuthorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js","sources":["../../../../src/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.ts"],"sourcesContent":["import Error from \"@webiny/error\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { AssetAuthorizer, type IAssetAuthorizer } from \"../abstractions.js\";\n\nexport class PrivateAuthenticatedAuthorizer implements IAssetAuthorizer {\n private identityContext: IdentityContext.Interface;\n\n constructor(identityContext: IdentityContext.Interface) {\n this.identityContext = identityContext;\n }\n\n async authorize(file: File) {\n if (file.accessControl && file.accessControl.type === \"private-authenticated\") {\n const identity = this.identityContext.getIdentity();\n\n if (!identity) {\n throw new Error({\n code: \"NOT_AUTHORIZED\",\n message: \"You're not authorized to access this asset!\"\n });\n }\n }\n }\n}\n\nexport const PrivateAuthenticatedAuthorizerImpl = AssetAuthorizer.createImplementation({\n implementation: PrivateAuthenticatedAuthorizer,\n dependencies: [IdentityContext]\n});\n"],"names":["PrivateAuthenticatedAuthorizer","identityContext","file","identity","Error","PrivateAuthenticatedAuthorizerImpl","AssetAuthorizer","IdentityContext"],"mappings":";;;AAKO,MAAMA;IAGT,YAAYC,eAA0C,CAAE;QACpD,IAAI,CAAC,eAAe,GAAGA;IAC3B;IAEA,MAAM,UAAUC,IAAU,EAAE;QACxB,IAAIA,KAAK,aAAa,IAAIA,AAA4B,4BAA5BA,KAAK,aAAa,CAAC,IAAI,EAA8B;YAC3E,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;YAEjD,IAAI,CAACA,UACD,MAAM,IAAIC,MAAM;gBACZ,MAAM;gBACN,SAAS;YACb;QAER;IACJ;AACJ;AAEO,MAAMC,qCAAqCC,gBAAgB,oBAAoB,CAAC;IACnF,gBAAgBN;IAChB,cAAc;QAACO;KAAgB;AACnC"}
@@ -0,0 +1,8 @@
1
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
+ import type { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
3
+ import type { IAssetOutputStrategy } from "../abstractions.js";
4
+ export declare class PrivateCache implements IAssetOutputStrategy {
5
+ private strategy;
6
+ constructor(strategy: IAssetOutputStrategy);
7
+ output(asset: Asset): Promise<AssetReply>;
8
+ }
@@ -0,0 +1,22 @@
1
+ import { parse, stringify } from "cache-control-parser";
2
+ class PrivateCache {
3
+ constructor(strategy){
4
+ this.strategy = strategy;
5
+ }
6
+ async output(asset) {
7
+ const reply = await this.strategy.output(asset);
8
+ reply.setHeaders((headers)=>{
9
+ headers.set("cache-control", (value = "")=>{
10
+ const cacheControl = parse(value);
11
+ cacheControl["private"] = true;
12
+ cacheControl["public"] = false;
13
+ return stringify(cacheControl);
14
+ });
15
+ return headers;
16
+ });
17
+ return reply;
18
+ }
19
+ }
20
+ export { PrivateCache };
21
+
22
+ //# sourceMappingURL=PrivateCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/PrivateCache.js","sources":["../../../../src/features/assetDelivery/privateFiles/PrivateCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport type { IAssetOutputStrategy } from \"../abstractions.js\";\n\nexport class PrivateCache implements IAssetOutputStrategy {\n private strategy: IAssetOutputStrategy;\n\n constructor(strategy: IAssetOutputStrategy) {\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n headers.set(\"cache-control\", (value = \"\") => {\n const cacheControl = parse(value);\n cacheControl[\"private\"] = true;\n cacheControl[\"public\"] = false;\n return stringify(cacheControl);\n });\n return headers;\n });\n\n return reply;\n }\n}\n"],"names":["PrivateCache","strategy","asset","reply","headers","value","cacheControl","parse","stringify"],"mappings":";AAKO,MAAMA;IAGT,YAAYC,QAA8B,CAAE;QACxC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAM,OAAOC,KAAY,EAAuB;QAC5C,MAAMC,QAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACD;QAEzCC,MAAM,UAAU,CAACC,CAAAA;YACbA,QAAQ,GAAG,CAAC,iBAAiB,CAACC,QAAQ,EAAE;gBACpC,MAAMC,eAAeC,MAAMF;gBAC3BC,YAAY,CAAC,UAAU,GAAG;gBAC1BA,YAAY,CAAC,SAAS,GAAG;gBACzB,OAAOE,UAAUF;YACrB;YACA,OAAOF;QACX;QAEA,OAAOD;IACX;AACJ"}
@@ -0,0 +1,11 @@
1
+ import type { Request } from "@webiny/handler/types.js";
2
+ import { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
3
+ import { type IAssetRequestResolver } from "../abstractions.js";
4
+ export declare class PrivateFileAssetRequestResolver implements IAssetRequestResolver {
5
+ private readonly resolver;
6
+ constructor(resolver: IAssetRequestResolver);
7
+ resolve(request: Request): Promise<AssetRequest | undefined>;
8
+ }
9
+ export declare const PrivateFileAssetRequestResolverDecorator: typeof PrivateFileAssetRequestResolver & {
10
+ __abstraction: import("@webiny/di").Abstraction<IAssetRequestResolver>;
11
+ };
@@ -0,0 +1,31 @@
1
+ import { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
2
+ import { AssetRequestResolver } from "../abstractions.js";
3
+ class PrivateFileAssetRequestResolver {
4
+ constructor(resolver){
5
+ this.resolver = resolver;
6
+ }
7
+ async resolve(request) {
8
+ if (!request.url?.startsWith("/private/")) return this.resolver.resolve(request);
9
+ const params = request.params ?? {};
10
+ const query = request.query ?? {};
11
+ const path = params["*"];
12
+ return new AssetRequest({
13
+ key: decodeURI(path).replace("/private/", ""),
14
+ context: {
15
+ url: request.url ?? "",
16
+ private: true
17
+ },
18
+ options: {
19
+ ...query,
20
+ width: query.width ? parseInt(query.width) : void 0
21
+ }
22
+ });
23
+ }
24
+ }
25
+ const PrivateFileAssetRequestResolverDecorator = AssetRequestResolver.createDecorator({
26
+ decorator: PrivateFileAssetRequestResolver,
27
+ dependencies: []
28
+ });
29
+ export { PrivateFileAssetRequestResolver, PrivateFileAssetRequestResolverDecorator };
30
+
31
+ //# sourceMappingURL=PrivateFileAssetRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js","sources":["../../../../src/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.ts"],"sourcesContent":["import type { Request } from \"@webiny/handler/types.js\";\nimport { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { AssetRequestResolver, type IAssetRequestResolver } from \"../abstractions.js\";\n\nexport class PrivateFileAssetRequestResolver implements IAssetRequestResolver {\n private readonly resolver: IAssetRequestResolver;\n\n constructor(resolver: IAssetRequestResolver) {\n this.resolver = resolver;\n }\n\n async resolve(request: Request): Promise<AssetRequest | undefined> {\n if (!request.url?.startsWith(\"/private/\")) {\n return this.resolver.resolve(request);\n }\n\n const params = (request.params ?? {}) as Record<string, any>;\n const query = (request.query ?? {}) as Record<string, any>;\n\n const path = params[\"*\"];\n\n return new AssetRequest({\n key: decodeURI(path).replace(\"/private/\", \"\"),\n context: {\n url: request.url ?? \"\",\n private: true\n },\n options: {\n ...query,\n width: query.width ? parseInt(query.width) : undefined\n }\n });\n }\n}\n\nexport const PrivateFileAssetRequestResolverDecorator = AssetRequestResolver.createDecorator({\n decorator: PrivateFileAssetRequestResolver,\n dependencies: []\n});\n"],"names":["PrivateFileAssetRequestResolver","resolver","request","params","query","path","AssetRequest","decodeURI","parseInt","undefined","PrivateFileAssetRequestResolverDecorator","AssetRequestResolver"],"mappings":";;AAIO,MAAMA;IAGT,YAAYC,QAA+B,CAAE;QACzC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAM,QAAQC,OAAgB,EAAqC;QAC/D,IAAI,CAACA,QAAQ,GAAG,EAAE,WAAW,cACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACA;QAGjC,MAAMC,SAAUD,QAAQ,MAAM,IAAI,CAAC;QACnC,MAAME,QAASF,QAAQ,KAAK,IAAI,CAAC;QAEjC,MAAMG,OAAOF,MAAM,CAAC,IAAI;QAExB,OAAO,IAAIG,aAAa;YACpB,KAAKC,UAAUF,MAAM,OAAO,CAAC,aAAa;YAC1C,SAAS;gBACL,KAAKH,QAAQ,GAAG,IAAI;gBACpB,SAAS;YACb;YACA,SAAS;gBACL,GAAGE,KAAK;gBACR,OAAOA,MAAM,KAAK,GAAGI,SAASJ,MAAM,KAAK,IAAIK;YACjD;QACJ;IACJ;AACJ;AAEO,MAAMC,2CAA2CC,qBAAqB,eAAe,CAAC;IACzF,WAAWX;IACX,cAAc,EAAE;AACpB"}
@@ -0,0 +1,19 @@
1
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
+ import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
+ import { GetFileUseCase } from "../../../features/file/GetFile/index.js";
5
+ import { type IAssetProcessor, type IAssetAuthorizer } from "../abstractions.js";
6
+ export declare class PrivateFilesAssetProcessor implements IAssetProcessor {
7
+ private readonly identityContext;
8
+ private readonly getFile;
9
+ private readonly assetAuthorizer;
10
+ private readonly assetProcessor;
11
+ constructor(identityContext: IdentityContext.Interface, getFile: GetFileUseCase.Interface, assetAuthorizer: IAssetAuthorizer, assetProcessor: IAssetProcessor);
12
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
13
+ private isPrivate;
14
+ private requestedViaPrivateEndpoint;
15
+ private requestedViaPublicEndpoint;
16
+ }
17
+ export declare const PrivateFilesAssetProcessorDecorator: typeof PrivateFilesAssetProcessor & {
18
+ __abstraction: import("@webiny/di").Abstraction<IAssetProcessor>;
19
+ };
@@ -0,0 +1,65 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { GetFileUseCase } from "../../file/GetFile/index.js";
3
+ import { NotAuthorizedOutputStrategy } from "./NotAuthorizedOutputStrategy.js";
4
+ import { RedirectToPublicUrlOutputStrategy } from "./RedirectToPublicUrlOutputStrategy.js";
5
+ import { RedirectToPrivateUrlOutputStrategy } from "./RedirectToPrivateUrlOutputStrategy.js";
6
+ import { PrivateCache } from "./PrivateCache.js";
7
+ import { PublicCache } from "./PublicCache.js";
8
+ import { AssetAuthorizer, AssetProcessor } from "../abstractions.js";
9
+ class PrivateFilesAssetProcessor {
10
+ constructor(identityContext, getFile, assetAuthorizer, assetProcessor){
11
+ this.identityContext = identityContext;
12
+ this.getFile = getFile;
13
+ this.assetAuthorizer = assetAuthorizer;
14
+ this.assetProcessor = assetProcessor;
15
+ }
16
+ async process(assetRequest, asset) {
17
+ const id = asset.getId();
18
+ const file = await this.identityContext.withoutAuthorization(async ()=>{
19
+ const fileResult = await this.getFile.execute(id);
20
+ if (fileResult.isFail()) throw fileResult.error;
21
+ return fileResult.value;
22
+ });
23
+ const isPrivateFile = this.isPrivate(file);
24
+ if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {
25
+ asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));
26
+ return asset;
27
+ }
28
+ if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {
29
+ asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));
30
+ return asset;
31
+ }
32
+ try {
33
+ await this.assetAuthorizer.authorize(file);
34
+ } catch {
35
+ asset.setOutputStrategy(new NotAuthorizedOutputStrategy());
36
+ return asset;
37
+ }
38
+ const processedAsset = await this.assetProcessor.process(assetRequest, asset);
39
+ processedAsset.setOutputStrategy((strategy)=>{
40
+ if (!strategy) throw Error("No asset output strategy is configured!");
41
+ return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);
42
+ });
43
+ return processedAsset;
44
+ }
45
+ isPrivate(file) {
46
+ return file.accessControl && file.accessControl.type.startsWith("private-");
47
+ }
48
+ requestedViaPrivateEndpoint(assetRequest) {
49
+ return assetRequest.getContext().private;
50
+ }
51
+ requestedViaPublicEndpoint(assetRequest) {
52
+ return !this.requestedViaPrivateEndpoint(assetRequest);
53
+ }
54
+ }
55
+ const PrivateFilesAssetProcessorDecorator = AssetProcessor.createDecorator({
56
+ decorator: PrivateFilesAssetProcessor,
57
+ dependencies: [
58
+ IdentityContext,
59
+ GetFileUseCase,
60
+ AssetAuthorizer
61
+ ]
62
+ });
63
+ export { PrivateFilesAssetProcessor, PrivateFilesAssetProcessorDecorator };
64
+
65
+ //# sourceMappingURL=PrivateFilesAssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js","sources":["../../../../src/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.ts"],"sourcesContent":["import type { File } from \"~/domain/file/types.js\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/index.js\";\nimport { NotAuthorizedOutputStrategy } from \"./NotAuthorizedOutputStrategy.js\";\nimport { RedirectToPublicUrlOutputStrategy } from \"./RedirectToPublicUrlOutputStrategy.js\";\nimport { RedirectToPrivateUrlOutputStrategy } from \"./RedirectToPrivateUrlOutputStrategy.js\";\nimport { PrivateCache } from \"./PrivateCache.js\";\nimport { PublicCache } from \"./PublicCache.js\";\nimport {\n AssetProcessor,\n AssetAuthorizer,\n type IAssetProcessor,\n type IAssetAuthorizer\n} from \"../abstractions.js\";\n\ninterface MaybePrivate {\n private?: boolean;\n}\n\nexport class PrivateFilesAssetProcessor implements IAssetProcessor {\n private readonly identityContext: IdentityContext.Interface;\n private readonly getFile: GetFileUseCase.Interface;\n private readonly assetAuthorizer: IAssetAuthorizer;\n private readonly assetProcessor: IAssetProcessor;\n\n constructor(\n identityContext: IdentityContext.Interface,\n getFile: GetFileUseCase.Interface,\n assetAuthorizer: IAssetAuthorizer,\n assetProcessor: IAssetProcessor\n ) {\n this.identityContext = identityContext;\n this.getFile = getFile;\n this.assetAuthorizer = assetAuthorizer;\n this.assetProcessor = assetProcessor;\n }\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n // Only registered when private files are licensed (register-time gate in AssetDeliveryFeature),\n // so no per-request license guard is needed here.\n const id = asset.getId();\n\n const file = await this.identityContext.withoutAuthorization(async () => {\n const fileResult = await this.getFile.execute(id);\n if (fileResult.isFail()) {\n throw fileResult.error;\n }\n return fileResult.value;\n });\n\n const isPrivateFile = this.isPrivate(file);\n\n if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n try {\n await this.assetAuthorizer.authorize(file);\n } catch {\n asset.setOutputStrategy(new NotAuthorizedOutputStrategy());\n return asset;\n }\n\n const processedAsset = await this.assetProcessor.process(assetRequest, asset);\n\n processedAsset.setOutputStrategy(strategy => {\n if (!strategy) {\n throw Error(`No asset output strategy is configured!`);\n }\n return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);\n });\n\n return processedAsset;\n }\n\n private isPrivate(file: File) {\n return file.accessControl && file.accessControl.type.startsWith(\"private-\");\n }\n\n private requestedViaPrivateEndpoint(assetRequest: AssetRequest) {\n return assetRequest.getContext<MaybePrivate>().private;\n }\n\n private requestedViaPublicEndpoint(assetRequest: AssetRequest) {\n return !this.requestedViaPrivateEndpoint(assetRequest);\n }\n}\n\nexport const PrivateFilesAssetProcessorDecorator = AssetProcessor.createDecorator({\n decorator: PrivateFilesAssetProcessor,\n dependencies: [IdentityContext, GetFileUseCase, AssetAuthorizer]\n});\n"],"names":["PrivateFilesAssetProcessor","identityContext","getFile","assetAuthorizer","assetProcessor","assetRequest","asset","id","file","fileResult","isPrivateFile","RedirectToPublicUrlOutputStrategy","RedirectToPrivateUrlOutputStrategy","NotAuthorizedOutputStrategy","processedAsset","strategy","Error","PrivateCache","PublicCache","PrivateFilesAssetProcessorDecorator","AssetProcessor","IdentityContext","GetFileUseCase","AssetAuthorizer"],"mappings":";;;;;;;;AAqBO,MAAMA;IAMT,YACIC,eAA0C,EAC1CC,OAAiC,EACjCC,eAAiC,EACjCC,cAA+B,CACjC;QACE,IAAI,CAAC,eAAe,GAAGH;QACvB,IAAI,CAAC,OAAO,GAAGC;QACf,IAAI,CAAC,eAAe,GAAGC;QACvB,IAAI,CAAC,cAAc,GAAGC;IAC1B;IAEA,MAAM,QAAQC,YAA0B,EAAEC,KAAY,EAAkB;QAGpE,MAAMC,KAAKD,MAAM,KAAK;QAEtB,MAAME,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC;YACzD,MAAMC,aAAa,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACF;YAC9C,IAAIE,WAAW,MAAM,IACjB,MAAMA,WAAW,KAAK;YAE1B,OAAOA,WAAW,KAAK;QAC3B;QAEA,MAAMC,gBAAgB,IAAI,CAAC,SAAS,CAACF;QAErC,IAAI,CAACE,iBAAiB,IAAI,CAAC,2BAA2B,CAACL,eAAe;YAClEC,MAAM,iBAAiB,CAAC,IAAIK,kCAAkCN;YAC9D,OAAOC;QACX;QAEA,IAAII,iBAAiB,IAAI,CAAC,0BAA0B,CAACL,eAAe;YAChEC,MAAM,iBAAiB,CAAC,IAAIM,mCAAmCP;YAC/D,OAAOC;QACX;QAEA,IAAI;YACA,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAACE;QACzC,EAAE,OAAM;YACJF,MAAM,iBAAiB,CAAC,IAAIO;YAC5B,OAAOP;QACX;QAEA,MAAMQ,iBAAiB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACT,cAAcC;QAEvEQ,eAAe,iBAAiB,CAACC,CAAAA;YAC7B,IAAI,CAACA,UACD,MAAMC,MAAM;YAEhB,OAAON,gBAAgB,IAAIO,aAAaF,YAAY,IAAIG,YAAYH;QACxE;QAEA,OAAOD;IACX;IAEQ,UAAUN,IAAU,EAAE;QAC1B,OAAOA,KAAK,aAAa,IAAIA,KAAK,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;IACpE;IAEQ,4BAA4BH,YAA0B,EAAE;QAC5D,OAAOA,aAAa,UAAU,GAAiB,OAAO;IAC1D;IAEQ,2BAA2BA,YAA0B,EAAE;QAC3D,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAACA;IAC7C;AACJ;AAEO,MAAMc,sCAAsCC,eAAe,eAAe,CAAC;IAC9E,WAAWpB;IACX,cAAc;QAACqB;QAAiBC;QAAgBC;KAAgB;AACpE"}
@@ -0,0 +1,8 @@
1
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
+ import type { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
3
+ import type { IAssetOutputStrategy } from "../abstractions.js";
4
+ export declare class PublicCache implements IAssetOutputStrategy {
5
+ private strategy;
6
+ constructor(strategy: IAssetOutputStrategy);
7
+ output(asset: Asset): Promise<AssetReply>;
8
+ }
@@ -0,0 +1,22 @@
1
+ import { parse, stringify } from "cache-control-parser";
2
+ class PublicCache {
3
+ constructor(strategy){
4
+ this.strategy = strategy;
5
+ }
6
+ async output(asset) {
7
+ const reply = await this.strategy.output(asset);
8
+ reply.setHeaders((headers)=>{
9
+ headers.set("cache-control", (value = "")=>{
10
+ const cacheControl = parse(value);
11
+ cacheControl["private"] = false;
12
+ cacheControl["public"] = true;
13
+ return stringify(cacheControl);
14
+ });
15
+ return headers;
16
+ });
17
+ return reply;
18
+ }
19
+ }
20
+ export { PublicCache };
21
+
22
+ //# sourceMappingURL=PublicCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/PublicCache.js","sources":["../../../../src/features/assetDelivery/privateFiles/PublicCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport type { IAssetOutputStrategy } from \"../abstractions.js\";\n\nexport class PublicCache implements IAssetOutputStrategy {\n private strategy: IAssetOutputStrategy;\n\n constructor(strategy: IAssetOutputStrategy) {\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n headers.set(\"cache-control\", (value = \"\") => {\n const cacheControl = parse(value);\n cacheControl[\"private\"] = false;\n cacheControl[\"public\"] = true;\n return stringify(cacheControl);\n });\n return headers;\n });\n\n return reply;\n }\n}\n"],"names":["PublicCache","strategy","asset","reply","headers","value","cacheControl","parse","stringify"],"mappings":";AAKO,MAAMA;IAGT,YAAYC,QAA8B,CAAE;QACxC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAM,OAAOC,KAAY,EAAuB;QAC5C,MAAMC,QAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACD;QAEzCC,MAAM,UAAU,CAACC,CAAAA;YACbA,QAAQ,GAAG,CAAC,iBAAiB,CAACC,QAAQ,EAAE;gBACpC,MAAMC,eAAeC,MAAMF;gBAC3BC,YAAY,CAAC,UAAU,GAAG;gBAC1BA,YAAY,CAAC,SAAS,GAAG;gBACzB,OAAOE,UAAUF;YACrB;YACA,OAAOF;QACX;QAEA,OAAOD;IACX;AACJ"}
@@ -0,0 +1,9 @@
1
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
+ import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
3
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
4
+ import type { IAssetOutputStrategy } from "../abstractions.js";
5
+ export declare class RedirectToPrivateUrlOutputStrategy implements IAssetOutputStrategy {
6
+ private assetRequest;
7
+ constructor(assetRequest: AssetRequest);
8
+ output(asset: Asset): Promise<AssetReply>;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ class RedirectToPrivateUrlOutputStrategy {
4
+ constructor(assetRequest){
5
+ this.assetRequest = assetRequest;
6
+ }
7
+ async output(asset) {
8
+ const requestUrl = this.assetRequest.getContext().url;
9
+ return new AssetReply({
10
+ code: 301,
11
+ headers: ResponseHeaders.create({
12
+ location: requestUrl.replace("/files/", "/private/"),
13
+ "content-type": asset.getContentType(),
14
+ "cache-control": "public, max-age=2592000"
15
+ })
16
+ });
17
+ }
18
+ }
19
+ export { RedirectToPrivateUrlOutputStrategy };
20
+
21
+ //# sourceMappingURL=RedirectToPrivateUrlOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js","sources":["../../../../src/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\nimport type { IAssetOutputStrategy } from \"../abstractions.js\";\n\nexport class RedirectToPrivateUrlOutputStrategy implements IAssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/files/\", \"/private/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"names":["RedirectToPrivateUrlOutputStrategy","assetRequest","asset","requestUrl","AssetReply","ResponseHeaders"],"mappings":";;AAMO,MAAMA;IAGT,YAAYC,YAA0B,CAAE;QACpC,IAAI,CAAC,YAAY,GAAGA;IACxB;IAEA,MAAM,OAAOC,KAAY,EAAuB;QAC5C,MAAMC,aAAa,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,GAAG;QAErD,OAAO,IAAIC,WAAW;YAClB,MAAM;YACN,SAASC,gBAAgB,MAAM,CAAC;gBAC5B,UAAUF,WAAW,OAAO,CAAC,WAAW;gBACxC,gBAAgBD,MAAM,cAAc;gBACpC,iBAAiB;YACrB;QACJ;IACJ;AACJ"}
@@ -0,0 +1,9 @@
1
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
2
+ import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
3
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
4
+ import type { IAssetOutputStrategy } from "../abstractions.js";
5
+ export declare class RedirectToPublicUrlOutputStrategy implements IAssetOutputStrategy {
6
+ private assetRequest;
7
+ constructor(assetRequest: AssetRequest);
8
+ output(asset: Asset): Promise<AssetReply>;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ class RedirectToPublicUrlOutputStrategy {
4
+ constructor(assetRequest){
5
+ this.assetRequest = assetRequest;
6
+ }
7
+ async output(asset) {
8
+ const requestUrl = this.assetRequest.getContext().url;
9
+ return new AssetReply({
10
+ code: 301,
11
+ headers: ResponseHeaders.create({
12
+ location: requestUrl.replace("/private/", "/files/"),
13
+ "content-type": asset.getContentType(),
14
+ "cache-control": "public, max-age=2592000"
15
+ })
16
+ });
17
+ }
18
+ }
19
+ export { RedirectToPublicUrlOutputStrategy };
20
+
21
+ //# sourceMappingURL=RedirectToPublicUrlOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js","sources":["../../../../src/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\nimport type { IAssetOutputStrategy } from \"../abstractions.js\";\n\nexport class RedirectToPublicUrlOutputStrategy implements IAssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/private/\", \"/files/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"names":["RedirectToPublicUrlOutputStrategy","assetRequest","asset","requestUrl","AssetReply","ResponseHeaders"],"mappings":";;AAMO,MAAMA;IAGT,YAAYC,YAA0B,CAAE;QACpC,IAAI,CAAC,YAAY,GAAGA;IACxB;IAEA,MAAM,OAAOC,KAAY,EAAuB;QAC5C,MAAMC,aAAa,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,GAAG;QAErD,OAAO,IAAIC,WAAW;YAClB,MAAM;YACN,SAASC,gBAAgB,MAAM,CAAC;gBAC5B,UAAUF,WAAW,OAAO,CAAC,aAAa;gBAC1C,gBAAgBD,MAAM,cAAc;gBACpC,iBAAiB;YACrB;QACJ;IACJ;AACJ"}
@@ -0,0 +1,11 @@
1
+ import { AssetContentsReader } from "../../../features/assetDelivery/abstractions.js";
2
+ interface ContentsCallable {
3
+ (): Promise<Buffer> | Buffer;
4
+ }
5
+ export declare class CallableContentsReader implements AssetContentsReader.Interface {
6
+ private readonly callable;
7
+ static create(callable: ContentsCallable): CallableContentsReader;
8
+ private constructor();
9
+ read(): Promise<Buffer>;
10
+ }
11
+ export {};
@@ -0,0 +1,14 @@
1
+ class CallableContentsReader {
2
+ static create(callable) {
3
+ return new CallableContentsReader(callable);
4
+ }
5
+ constructor(callable){
6
+ this.callable = callable;
7
+ }
8
+ async read() {
9
+ return this.callable();
10
+ }
11
+ }
12
+ export { CallableContentsReader };
13
+
14
+ //# sourceMappingURL=CallableContentsReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/transformation/CallableContentsReader.js","sources":["../../../../src/features/assetDelivery/transformation/CallableContentsReader.ts"],"sourcesContent":["import { AssetContentsReader } from \"~/features/assetDelivery/abstractions.js\";\n\ninterface ContentsCallable {\n (): Promise<Buffer> | Buffer;\n}\n\nexport class CallableContentsReader implements AssetContentsReader.Interface {\n private readonly callable: ContentsCallable;\n\n public static create(callable: ContentsCallable) {\n return new CallableContentsReader(callable);\n }\n\n private constructor(callable: ContentsCallable) {\n this.callable = callable;\n }\n\n public async read(): Promise<Buffer> {\n return this.callable();\n }\n}\n"],"names":["CallableContentsReader","callable"],"mappings":"AAMO,MAAMA;IAGT,OAAc,OAAOC,QAA0B,EAAE;QAC7C,OAAO,IAAID,uBAAuBC;IACtC;IAEA,YAAoBA,QAA0B,CAAE;QAC5C,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAa,OAAwB;QACjC,OAAO,IAAI,CAAC,QAAQ;IACxB;AACJ"}
@@ -0,0 +1,9 @@
1
+ import type { Container } from "@webiny/di";
2
+ import type { Asset } from "../../../delivery/AssetDelivery/Asset.js";
3
+ import type { AssetRequest } from "../../../delivery/AssetDelivery/AssetRequest.js";
4
+ import type { IAssetProcessor } from "../abstractions.js";
5
+ export declare class TransformationAssetProcessor implements IAssetProcessor {
6
+ private readonly container;
7
+ constructor(container: Container);
8
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
9
+ }
@@ -0,0 +1,25 @@
1
+ import { AssetType } from "../abstractions/AssetType.js";
2
+ class TransformationAssetProcessor {
3
+ constructor(container){
4
+ this.container = container;
5
+ }
6
+ async process(assetRequest, asset) {
7
+ const { original } = assetRequest.getOptions();
8
+ if (original) {
9
+ console.log("Skip transformations; original asset was requested.");
10
+ return asset;
11
+ }
12
+ const assetTypes = this.container.resolveAll(AssetType);
13
+ const match = assetTypes.find((assetType)=>assetType.canHandle(asset));
14
+ if (!match) return asset;
15
+ try {
16
+ const handler = this.container.resolve(match.getHandlerAbstraction());
17
+ return handler.handle(assetRequest, asset);
18
+ } catch {
19
+ return asset;
20
+ }
21
+ }
22
+ }
23
+ export { TransformationAssetProcessor };
24
+
25
+ //# sourceMappingURL=TransformationAssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/transformation/TransformationAssetProcessor.js","sources":["../../../../src/features/assetDelivery/transformation/TransformationAssetProcessor.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport type { Asset } from \"~/delivery/AssetDelivery/Asset.js\";\nimport type { AssetRequest } from \"~/delivery/AssetDelivery/AssetRequest.js\";\nimport type { IAssetProcessor } from \"../abstractions.js\";\nimport { AssetType } from \"../abstractions/AssetType.js\";\n\nexport class TransformationAssetProcessor implements IAssetProcessor {\n constructor(private readonly container: Container) {}\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n const { original } = assetRequest.getOptions();\n\n if (original) {\n console.log(\"Skip transformations; original asset was requested.\");\n return asset;\n }\n\n const assetTypes = this.container.resolveAll(AssetType);\n const match = assetTypes.find(assetType => assetType.canHandle(asset));\n\n if (!match) {\n return asset;\n }\n\n try {\n const handler = this.container.resolve(match.getHandlerAbstraction());\n return handler.handle(assetRequest, asset);\n } catch {\n return asset;\n }\n }\n}\n"],"names":["TransformationAssetProcessor","container","assetRequest","asset","original","console","assetTypes","AssetType","match","assetType","handler"],"mappings":";AAMO,MAAMA;IACT,YAA6BC,SAAoB,CAAE;aAAtBA,SAAS,GAATA;IAAuB;IAEpD,MAAM,QAAQC,YAA0B,EAAEC,KAAY,EAAkB;QACpE,MAAM,EAAEC,QAAQ,EAAE,GAAGF,aAAa,UAAU;QAE5C,IAAIE,UAAU;YACVC,QAAQ,GAAG,CAAC;YACZ,OAAOF;QACX;QAEA,MAAMG,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,CAACC;QAC7C,MAAMC,QAAQF,WAAW,IAAI,CAACG,CAAAA,YAAaA,UAAU,SAAS,CAACN;QAE/D,IAAI,CAACK,OACD,OAAOL;QAGX,IAAI;YACA,MAAMO,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,MAAM,qBAAqB;YAClE,OAAOE,QAAQ,MAAM,CAACR,cAAcC;QACxC,EAAE,OAAM;YACJ,OAAOA;QACX;IACJ;AACJ"}
@@ -0,0 +1,5 @@
1
+ export { CallableContentsReader } from "./CallableContentsReader.js";
2
+ export { WidthCollection } from "../assetTypes/image/WidthCollection.js";
3
+ export { type ImageFormat, SUPPORTED_OUTPUT_FORMATS, DEFAULT_IMAGE_QUALITY, contentTypeForFormat, formatFromContentType, resolveRequestedFormat, clampQuality } from "../assetTypes/image/imageFormat.js";
4
+ export { ImageAssetType, ImageAssetTypeHandler, AssetKeyGenerator, SUPPORTED_TRANSFORMABLE_IMAGES, getImageKey, getCropSignature, getOptimizedImageKeyPrefix, getOptimizedTransformedImageKeyPrefix } from "../assetTypes/image/index.js";
5
+ export type { AssetCrop, AssetImageEdit } from "../assetTypes/image/index.js";
@@ -0,0 +1,4 @@
1
+ export { CallableContentsReader } from "./CallableContentsReader.js";
2
+ export { WidthCollection } from "../assetTypes/image/WidthCollection.js";
3
+ export { DEFAULT_IMAGE_QUALITY, SUPPORTED_OUTPUT_FORMATS, clampQuality, contentTypeForFormat, formatFromContentType, resolveRequestedFormat } from "../assetTypes/image/imageFormat.js";
4
+ export { AssetKeyGenerator, ImageAssetType, ImageAssetTypeHandler, SUPPORTED_TRANSFORMABLE_IMAGES, getCropSignature, getImageKey, getOptimizedImageKeyPrefix, getOptimizedTransformedImageKeyPrefix } from "../assetTypes/image/index.js";
@@ -0,0 +1,11 @@
1
+ import { FileAfterCreateEventHandler } from "../file/CreateFile/events.js";
2
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
3
+ declare class ExtractMetadataHandlerImpl implements FileAfterCreateEventHandler.Interface {
4
+ private readonly taskService;
5
+ constructor(taskService: TaskService.Interface);
6
+ handle(event: FileAfterCreateEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const ExtractMetadataHandler: typeof ExtractMetadataHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("../file/CreateFile/events.js").FileAfterCreateEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,25 @@
1
+ import { FileAfterCreateEventHandler } from "../file/CreateFile/events.js";
2
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
3
+ class ExtractMetadataHandlerImpl {
4
+ constructor(taskService){
5
+ this.taskService = taskService;
6
+ }
7
+ async handle(event) {
8
+ const { file } = event.payload;
9
+ await this.taskService.trigger({
10
+ definition: "fileManagerExtractMetadata",
11
+ input: {
12
+ fileId: file.id
13
+ }
14
+ });
15
+ }
16
+ }
17
+ const ExtractMetadataHandler = FileAfterCreateEventHandler.createImplementation({
18
+ implementation: ExtractMetadataHandlerImpl,
19
+ dependencies: [
20
+ TaskService
21
+ ]
22
+ });
23
+ export { ExtractMetadataHandler };
24
+
25
+ //# sourceMappingURL=ExtractMetadataHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/extractMetadata/ExtractMetadataHandler.js","sources":["../../../src/features/extractMetadata/ExtractMetadataHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"../file/CreateFile/events.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport type { ExtractMetadataInput } from \"./ExtractMetadataInput.js\";\n\nclass ExtractMetadataHandlerImpl implements FileAfterCreateEventHandler.Interface {\n constructor(private readonly taskService: TaskService.Interface) {}\n\n async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n\n await this.taskService.trigger<ExtractMetadataInput>({\n definition: \"fileManagerExtractMetadata\",\n input: {\n fileId: file.id\n }\n });\n }\n}\n\nexport const ExtractMetadataHandler = FileAfterCreateEventHandler.createImplementation({\n implementation: ExtractMetadataHandlerImpl,\n dependencies: [TaskService]\n});\n"],"names":["ExtractMetadataHandlerImpl","taskService","event","file","ExtractMetadataHandler","FileAfterCreateEventHandler","TaskService"],"mappings":";;AAIA,MAAMA;IACF,YAA6BC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAElE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAE9B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;YACjD,YAAY;YACZ,OAAO;gBACH,QAAQC,KAAK,EAAE;YACnB;QACJ;IACJ;AACJ;AAEO,MAAMC,yBAAyBC,4BAA4B,oBAAoB,CAAC;IACnF,gBAAgBL;IAChB,cAAc;QAACM;KAAY;AAC/B"}
@@ -0,0 +1,3 @@
1
+ export interface ExtractMetadataInput {
2
+ fileId: string;
3
+ }
@@ -0,0 +1,15 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CreateFileRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
4
+ import { FileModelProvider } from "../../../domain/file/abstractions.js";
5
+ import type { File, FileInput } from "../../../domain/file/types.js";
6
+ declare class CreateFileRepositoryImpl implements RepositoryAbstraction.Interface {
7
+ private createEntry;
8
+ private fileModelProvider;
9
+ constructor(createEntry: CreateEntryUseCase.Interface, fileModelProvider: FileModelProvider.Interface);
10
+ execute(data: FileInput): Promise<Result<File, RepositoryAbstraction.Error>>;
11
+ }
12
+ export declare const CreateFileRepository: typeof CreateFileRepositoryImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateFileRepository>;
14
+ };
15
+ export {};
@@ -0,0 +1,33 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CreateFileRepository } from "./abstractions.js";
3
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
4
+ import { FileModelProvider } from "../../../domain/file/abstractions.js";
5
+ import { EntryToFileMapper } from "../shared/EntryToFileMapper.js";
6
+ import { FileNotAuthorizedError, FilePersistenceError } from "../../../domain/file/errors.js";
7
+ import { FileInputToEntryInputMapper } from "../shared/FileInputToEntryInputMapper.js";
8
+ class CreateFileRepositoryImpl {
9
+ constructor(createEntry, fileModelProvider){
10
+ this.createEntry = createEntry;
11
+ this.fileModelProvider = fileModelProvider;
12
+ }
13
+ async execute(data) {
14
+ const fileModel = await this.fileModelProvider.get();
15
+ const result = await this.createEntry.execute(fileModel, FileInputToEntryInputMapper.toEntry(data));
16
+ if (result.isFail()) {
17
+ if ("Cms/Entry/NotAuthorized" === result.error.code) return Result.fail(new FileNotAuthorizedError());
18
+ return Result.fail(new FilePersistenceError(result.error));
19
+ }
20
+ const file = EntryToFileMapper.toFile(result.value);
21
+ return Result.ok(file);
22
+ }
23
+ }
24
+ const CreateFileRepository_CreateFileRepository = CreateFileRepository.createImplementation({
25
+ implementation: CreateFileRepositoryImpl,
26
+ dependencies: [
27
+ CreateEntryUseCase,
28
+ FileModelProvider
29
+ ]
30
+ });
31
+ export { CreateFileRepository_CreateFileRepository as CreateFileRepository };
32
+
33
+ //# sourceMappingURL=CreateFileRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/file/CreateFile/CreateFileRepository.js","sources":["../../../../src/features/file/CreateFile/CreateFileRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateFileRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry\";\nimport { FileModelProvider } from \"~/domain/file/abstractions.js\";\nimport type { File, FileInput } from \"~/domain/file/types.js\";\nimport { EntryToFileMapper } from \"../shared/EntryToFileMapper.js\";\nimport { FileNotAuthorizedError, FilePersistenceError } from \"~/domain/file/errors.js\";\nimport { FileInputToEntryInputMapper } from \"~/features/file/shared/FileInputToEntryInputMapper.js\";\n\nclass CreateFileRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private fileModelProvider: FileModelProvider.Interface\n ) {}\n\n async execute(data: FileInput): Promise<Result<File, RepositoryAbstraction.Error>> {\n const fileModel = await this.fileModelProvider.get();\n const result = await this.createEntry.execute(\n fileModel,\n FileInputToEntryInputMapper.toEntry(data)\n );\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotAuthorized\") {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n return Result.fail(new FilePersistenceError(result.error));\n }\n\n const file = EntryToFileMapper.toFile(result.value);\n return Result.ok(file);\n }\n}\n\nexport const CreateFileRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateFileRepositoryImpl,\n dependencies: [CreateEntryUseCase, FileModelProvider]\n});\n"],"names":["CreateFileRepositoryImpl","createEntry","fileModelProvider","data","fileModel","result","FileInputToEntryInputMapper","Result","FileNotAuthorizedError","FilePersistenceError","file","EntryToFileMapper","CreateFileRepository","RepositoryAbstraction","CreateEntryUseCase","FileModelProvider"],"mappings":";;;;;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,iBAA8C,CACxD;aAFUD,WAAW,GAAXA;aACAC,iBAAiB,GAAjBA;IACT;IAEH,MAAM,QAAQC,IAAe,EAAsD;QAC/E,MAAMC,YAAY,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG;QAClD,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CACzCD,WACAE,4BAA4B,OAAO,CAACH;QAGxC,IAAIE,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,8BAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOE,OAAO,IAAI,CAAC,IAAIC;YAG3B,OAAOD,OAAO,IAAI,CAAC,IAAIE,qBAAqBJ,OAAO,KAAK;QAC5D;QAEA,MAAMK,OAAOC,kBAAkB,MAAM,CAACN,OAAO,KAAK;QAClD,OAAOE,OAAO,EAAE,CAACG;IACrB;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAA0C,CAAC;IAC3E,gBAAgBb;IAChB,cAAc;QAACc;QAAoBC;KAAkB;AACzD"}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CreateFileUseCase as UseCaseAbstraction, CreateFileInput, CreateFileRepository } from "./abstractions.js";
3
+ import { GetSettingsUseCase } from "../../settings/GetSettings/abstractions.js";
4
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
5
+ import type { File } from "../../../domain/file/types.js";
6
+ import { FmPermissions } from "../../../features/shared/abstractions.js";
7
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
8
+ declare class CreateFileUseCaseImpl implements UseCaseAbstraction.Interface {
9
+ private identityContext;
10
+ private permissions;
11
+ private repository;
12
+ private getSettings;
13
+ private eventPublisher;
14
+ constructor(identityContext: IdentityContext.Interface, permissions: FmPermissions.Interface, repository: CreateFileRepository.Interface, getSettings: GetSettingsUseCase.Interface, eventPublisher: EventPublisher.Interface);
15
+ execute(input: CreateFileInput, meta?: Record<string, any>): Promise<Result<File, UseCaseAbstraction.Error>>;
16
+ private validateInput;
17
+ }
18
+ export declare const CreateFileUseCase: typeof CreateFileUseCaseImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICreateFileUseCase>;
20
+ };
21
+ export {};