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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/README.md +7 -13
  2. package/constants.d.ts +1 -0
  3. package/constants.js +4 -0
  4. package/constants.js.map +1 -0
  5. package/delivery/AssetDelivery/Asset.d.ts +29 -0
  6. package/delivery/AssetDelivery/Asset.js +56 -0
  7. package/delivery/AssetDelivery/Asset.js.map +1 -0
  8. package/delivery/AssetDelivery/AssetRequest.d.ts +26 -0
  9. package/delivery/AssetDelivery/AssetRequest.js +26 -0
  10. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  11. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +26 -0
  12. package/delivery/AssetDelivery/abstractions/AssetReply.js +37 -0
  13. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  14. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  15. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +7 -0
  16. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  17. package/delivery/index.d.ts +7 -0
  18. package/delivery/index.js +4 -0
  19. package/delivery/setupAssetDelivery.d.ts +1 -0
  20. package/delivery/setupAssetDelivery.js +72 -0
  21. package/delivery/setupAssetDelivery.js.map +1 -0
  22. package/domain/file/abstractions.d.ts +9 -0
  23. package/domain/file/abstractions.js +5 -0
  24. package/domain/file/abstractions.js.map +1 -0
  25. package/domain/file/errors.d.ts +59 -0
  26. package/domain/file/errors.js +80 -0
  27. package/domain/file/errors.js.map +1 -0
  28. package/domain/file/file.model.d.ts +12 -0
  29. package/domain/file/file.model.js +69 -0
  30. package/domain/file/file.model.js.map +1 -0
  31. package/domain/file/types.d.ts +53 -0
  32. package/domain/identity/Identity.d.ts +9 -0
  33. package/domain/identity/Identity.js +12 -0
  34. package/domain/identity/Identity.js.map +1 -0
  35. package/domain/permissionsSchema.d.ts +16 -0
  36. package/domain/permissionsSchema.js +30 -0
  37. package/domain/permissionsSchema.js.map +1 -0
  38. package/domain/settings/constants.d.ts +1 -0
  39. package/domain/settings/constants.js +4 -0
  40. package/domain/settings/constants.js.map +1 -0
  41. package/domain/settings/errors.d.ts +18 -0
  42. package/domain/settings/errors.js +28 -0
  43. package/domain/settings/errors.js.map +1 -0
  44. package/domain/settings/types.d.ts +10 -0
  45. package/domain/settings/types.js +0 -0
  46. package/domain/settings/validation.d.ts +6 -0
  47. package/domain/settings/validation.js +27 -0
  48. package/domain/settings/validation.js.map +1 -0
  49. package/exports/api/file-manager/assetDelivery.d.ts +18 -0
  50. package/exports/api/file-manager/assetDelivery.js +15 -0
  51. package/exports/api/file-manager/file.d.ts +13 -0
  52. package/exports/api/file-manager/file.js +13 -0
  53. package/exports/api/file-manager/permissions.d.ts +1 -0
  54. package/exports/api/file-manager/permissions.js +1 -0
  55. package/exports/api/file-manager/settings.d.ts +3 -0
  56. package/exports/api/file-manager/settings.js +3 -0
  57. package/features/FileManagerFeature.d.ts +4 -0
  58. package/features/FileManagerFeature.js +43 -0
  59. package/features/FileManagerFeature.js.map +1 -0
  60. package/features/assetDelivery/Asset/Asset.d.ts +8 -0
  61. package/features/assetDelivery/Asset/Asset.js +14 -0
  62. package/features/assetDelivery/Asset/Asset.js.map +1 -0
  63. package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
  64. package/features/assetDelivery/Asset/abstractions.js +5 -0
  65. package/features/assetDelivery/Asset/abstractions.js.map +1 -0
  66. package/features/assetDelivery/Asset/index.d.ts +1 -0
  67. package/features/assetDelivery/Asset/index.js +1 -0
  68. package/features/assetDelivery/AssetRequest/AssetRequest.d.ts +8 -0
  69. package/features/assetDelivery/AssetRequest/AssetRequest.js +14 -0
  70. package/features/assetDelivery/AssetRequest/AssetRequest.js.map +1 -0
  71. package/features/assetDelivery/AssetRequest/abstractions.d.ts +11 -0
  72. package/features/assetDelivery/AssetRequest/abstractions.js +5 -0
  73. package/features/assetDelivery/AssetRequest/abstractions.js.map +1 -0
  74. package/features/assetDelivery/AssetRequest/index.d.ts +1 -0
  75. package/features/assetDelivery/AssetRequest/index.js +1 -0
  76. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +11 -0
  77. package/features/assetDelivery/FilesAssetRequestResolver.js +33 -0
  78. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  79. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  80. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  81. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  82. package/features/assetDelivery/NullAssetReply.d.ts +5 -0
  83. package/features/assetDelivery/NullAssetReply.js +17 -0
  84. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  85. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  86. package/features/assetDelivery/NullAssetResolver.js +13 -0
  87. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  88. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  89. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  90. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  91. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  92. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  93. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  94. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  95. package/features/assetDelivery/ObjectKey/index.js +1 -0
  96. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  97. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  98. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  99. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  100. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  101. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  102. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  103. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  104. package/features/assetDelivery/abstractions/AssetAuthorizer.d.ts +9 -0
  105. package/features/assetDelivery/abstractions/AssetAuthorizer.js +5 -0
  106. package/features/assetDelivery/abstractions/AssetAuthorizer.js.map +1 -0
  107. package/features/assetDelivery/abstractions/AssetContentsReader.d.ts +9 -0
  108. package/features/assetDelivery/abstractions/AssetContentsReader.js +5 -0
  109. package/features/assetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  110. package/features/assetDelivery/abstractions/AssetOutputStrategy.d.ts +11 -0
  111. package/features/assetDelivery/abstractions/AssetOutputStrategy.js +5 -0
  112. package/features/assetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  113. package/features/assetDelivery/abstractions/AssetProcessor.d.ts +11 -0
  114. package/features/assetDelivery/abstractions/AssetProcessor.js +5 -0
  115. package/features/assetDelivery/abstractions/AssetProcessor.js.map +1 -0
  116. package/features/assetDelivery/abstractions/AssetRequestResolver.d.ts +11 -0
  117. package/features/assetDelivery/abstractions/AssetRequestResolver.js +5 -0
  118. package/features/assetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  119. package/features/assetDelivery/abstractions/AssetResolver.d.ts +11 -0
  120. package/features/assetDelivery/abstractions/AssetResolver.js +5 -0
  121. package/features/assetDelivery/abstractions/AssetResolver.js.map +1 -0
  122. package/features/assetDelivery/abstractions/AssetTransformationStrategy.d.ts +11 -0
  123. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js +5 -0
  124. package/features/assetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  125. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  126. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  127. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  128. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  129. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  130. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  131. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  132. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  133. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  134. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  135. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  136. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  137. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  138. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  139. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  140. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  141. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  142. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  143. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  144. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  145. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  146. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  147. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  148. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  149. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  150. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  151. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  152. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  153. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  154. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  155. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  156. package/features/assetDelivery/feature.d.ts +4 -0
  157. package/features/assetDelivery/feature.js +38 -0
  158. package/features/assetDelivery/feature.js.map +1 -0
  159. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  160. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  161. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  162. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  163. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  164. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  165. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  166. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  167. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  168. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  169. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  170. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  171. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +12 -0
  172. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +34 -0
  173. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  174. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  175. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +66 -0
  176. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  177. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  178. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  179. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  180. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +10 -0
  181. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +24 -0
  182. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  183. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +10 -0
  184. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +24 -0
  185. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  186. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  187. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  188. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  189. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +7 -0
  190. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  191. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  192. package/features/assetDelivery/transformation/index.d.ts +5 -0
  193. package/features/assetDelivery/transformation/index.js +4 -0
  194. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  195. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  196. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  197. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  198. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  199. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  200. package/features/file/CreateFile/CreateFileRepository.js +32 -0
  201. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  202. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  203. package/features/file/CreateFile/CreateFileUseCase.js +83 -0
  204. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  205. package/features/file/CreateFile/abstractions.d.ts +60 -0
  206. package/features/file/CreateFile/abstractions.js +6 -0
  207. package/features/file/CreateFile/abstractions.js.map +1 -0
  208. package/features/file/CreateFile/events.d.ts +31 -0
  209. package/features/file/CreateFile/events.js +23 -0
  210. package/features/file/CreateFile/events.js.map +1 -0
  211. package/features/file/CreateFile/feature.d.ts +4 -0
  212. package/features/file/CreateFile/feature.js +13 -0
  213. package/features/file/CreateFile/feature.js.map +1 -0
  214. package/features/file/CreateFile/index.d.ts +2 -0
  215. package/features/file/CreateFile/index.js +2 -0
  216. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  217. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +22 -0
  218. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  219. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  220. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +73 -0
  221. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  222. package/features/file/CreateFilesInBatch/abstractions.d.ts +42 -0
  223. package/features/file/CreateFilesInBatch/abstractions.js +6 -0
  224. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  225. package/features/file/CreateFilesInBatch/events.d.ts +31 -0
  226. package/features/file/CreateFilesInBatch/events.js +23 -0
  227. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  228. package/features/file/CreateFilesInBatch/feature.d.ts +4 -0
  229. package/features/file/CreateFilesInBatch/feature.js +13 -0
  230. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  231. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  232. package/features/file/CreateFilesInBatch/index.js +1 -0
  233. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  234. package/features/file/DeleteFile/DeleteFileRepository.js +31 -0
  235. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  236. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  237. package/features/file/DeleteFile/DeleteFileUseCase.js +43 -0
  238. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  239. package/features/file/DeleteFile/abstractions.d.ts +39 -0
  240. package/features/file/DeleteFile/abstractions.js +6 -0
  241. package/features/file/DeleteFile/abstractions.js.map +1 -0
  242. package/features/file/DeleteFile/events.d.ts +29 -0
  243. package/features/file/DeleteFile/events.js +23 -0
  244. package/features/file/DeleteFile/events.js.map +1 -0
  245. package/features/file/DeleteFile/feature.d.ts +4 -0
  246. package/features/file/DeleteFile/feature.js +13 -0
  247. package/features/file/DeleteFile/feature.js.map +1 -0
  248. package/features/file/DeleteFile/index.d.ts +2 -0
  249. package/features/file/DeleteFile/index.js +2 -0
  250. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +15 -0
  251. package/features/file/FileUrlGenerator/FileUrlGenerator.js +33 -0
  252. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  253. package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
  254. package/features/file/FileUrlGenerator/abstractions.js +5 -0
  255. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  256. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  257. package/features/file/FileUrlGenerator/feature.js +11 -0
  258. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  259. package/features/file/FileUrlGenerator/index.d.ts +1 -0
  260. package/features/file/FileUrlGenerator/index.js +1 -0
  261. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  262. package/features/file/GetFile/GetFileRepository.js +33 -0
  263. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  264. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  265. package/features/file/GetFile/GetFileUseCase.js +29 -0
  266. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  267. package/features/file/GetFile/abstractions.d.ts +40 -0
  268. package/features/file/GetFile/abstractions.js +6 -0
  269. package/features/file/GetFile/abstractions.js.map +1 -0
  270. package/features/file/GetFile/feature.d.ts +4 -0
  271. package/features/file/GetFile/feature.js +13 -0
  272. package/features/file/GetFile/feature.js.map +1 -0
  273. package/features/file/GetFile/index.d.ts +1 -0
  274. package/features/file/GetFile/index.js +1 -0
  275. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  276. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  277. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  278. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  279. package/features/file/GetFileByUrl/abstractions.js +5 -0
  280. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  281. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  282. package/features/file/GetFileByUrl/feature.js +11 -0
  283. package/features/file/GetFileByUrl/feature.js.map +1 -0
  284. package/features/file/GetFileByUrl/index.d.ts +1 -0
  285. package/features/file/GetFileByUrl/index.js +1 -0
  286. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  287. package/features/file/GetFileContentsById/abstractions.js +5 -0
  288. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  289. package/features/file/GetFileContentsById/index.d.ts +1 -0
  290. package/features/file/GetFileContentsById/index.js +1 -0
  291. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  292. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  293. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  294. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  295. package/features/file/GetFileContentsByKey/index.js +1 -0
  296. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  297. package/features/file/ListFiles/ListFilesRepository.js +53 -0
  298. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  299. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  300. package/features/file/ListFiles/ListFilesUseCase.js +44 -0
  301. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  302. package/features/file/ListFiles/abstractions.d.ts +49 -0
  303. package/features/file/ListFiles/abstractions.js +6 -0
  304. package/features/file/ListFiles/abstractions.js.map +1 -0
  305. package/features/file/ListFiles/feature.d.ts +4 -0
  306. package/features/file/ListFiles/feature.js +13 -0
  307. package/features/file/ListFiles/feature.js.map +1 -0
  308. package/features/file/ListFiles/index.d.ts +1 -0
  309. package/features/file/ListFiles/index.js +1 -0
  310. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
  311. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
  312. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
  313. package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
  314. package/features/file/ListImagesByTagTool/feature.js +11 -0
  315. package/features/file/ListImagesByTagTool/feature.js.map +1 -0
  316. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  317. package/features/file/ListTags/ListTagsRepository.js +42 -0
  318. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  319. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  320. package/features/file/ListTags/ListTagsUseCase.js +31 -0
  321. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  322. package/features/file/ListTags/abstractions.d.ts +45 -0
  323. package/features/file/ListTags/abstractions.js +6 -0
  324. package/features/file/ListTags/abstractions.js.map +1 -0
  325. package/features/file/ListTags/feature.d.ts +4 -0
  326. package/features/file/ListTags/feature.js +13 -0
  327. package/features/file/ListTags/feature.js.map +1 -0
  328. package/features/file/ListTags/index.d.ts +1 -0
  329. package/features/file/ListTags/index.js +1 -0
  330. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  331. package/features/file/UpdateFile/UpdateFileRepository.js +37 -0
  332. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  333. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  334. package/features/file/UpdateFile/UpdateFileUseCase.js +71 -0
  335. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  336. package/features/file/UpdateFile/abstractions.d.ts +56 -0
  337. package/features/file/UpdateFile/abstractions.js +6 -0
  338. package/features/file/UpdateFile/abstractions.js.map +1 -0
  339. package/features/file/UpdateFile/events.d.ts +34 -0
  340. package/features/file/UpdateFile/events.js +23 -0
  341. package/features/file/UpdateFile/events.js.map +1 -0
  342. package/features/file/UpdateFile/feature.d.ts +4 -0
  343. package/features/file/UpdateFile/feature.js +13 -0
  344. package/features/file/UpdateFile/feature.js.map +1 -0
  345. package/features/file/UpdateFile/index.d.ts +2 -0
  346. package/features/file/UpdateFile/index.js +2 -0
  347. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  348. package/features/file/shared/EntryToFileMapper.js +28 -0
  349. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  350. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  351. package/features/file/shared/FileInputToEntryInputMapper.js +32 -0
  352. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  353. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  354. package/features/file/shared/FileToEntryMapper.js +31 -0
  355. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  356. package/features/permissions/abstractions.d.ts +21 -0
  357. package/features/permissions/abstractions.js +6 -0
  358. package/features/permissions/abstractions.js.map +1 -0
  359. package/features/permissions/feature.d.ts +4 -0
  360. package/features/permissions/feature.js +7 -0
  361. package/features/permissions/feature.js.map +1 -0
  362. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  363. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  364. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  365. package/features/settings/GetSettings/abstractions.d.ts +18 -0
  366. package/features/settings/GetSettings/abstractions.js +5 -0
  367. package/features/settings/GetSettings/abstractions.js.map +1 -0
  368. package/features/settings/GetSettings/feature.d.ts +4 -0
  369. package/features/settings/GetSettings/feature.js +11 -0
  370. package/features/settings/GetSettings/feature.js.map +1 -0
  371. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
  372. package/features/settings/SettingsInstaller/SettingsInstaller.js +36 -0
  373. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  374. package/features/settings/SettingsInstaller/feature.d.ts +4 -0
  375. package/features/settings/SettingsInstaller/feature.js +11 -0
  376. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  377. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  378. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +55 -0
  379. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  380. package/features/settings/UpdateSettings/abstractions.d.ts +23 -0
  381. package/features/settings/UpdateSettings/abstractions.js +5 -0
  382. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  383. package/features/settings/UpdateSettings/events.d.ts +34 -0
  384. package/features/settings/UpdateSettings/events.js +23 -0
  385. package/features/settings/UpdateSettings/events.js.map +1 -0
  386. package/features/settings/UpdateSettings/feature.d.ts +4 -0
  387. package/features/settings/UpdateSettings/feature.js +11 -0
  388. package/features/settings/UpdateSettings/feature.js.map +1 -0
  389. package/features/settings/UpdateSettings/index.d.ts +2 -0
  390. package/features/settings/UpdateSettings/index.js +2 -0
  391. package/features/shared/abstractions.d.ts +1 -0
  392. package/features/shared/abstractions.js +1 -0
  393. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  394. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  395. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  396. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  397. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  398. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  399. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  400. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  401. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  402. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  403. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  404. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  405. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  406. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  407. package/features/upload/GetUploadPayload/index.js +1 -0
  408. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  409. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  410. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  411. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  412. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  413. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  414. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  415. package/features/upload/ReadFileMetadata/feature.js +11 -0
  416. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  417. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  418. package/features/upload/ReadFileMetadata/index.js +1 -0
  419. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  420. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  421. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  422. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  423. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  424. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  425. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  426. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  427. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  428. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  429. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  430. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  431. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  432. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  433. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  434. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  435. package/features/upload/WriteFileMetadata/feature.js +17 -0
  436. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  437. package/features/upload/index.d.ts +17 -0
  438. package/features/upload/index.js +10 -0
  439. package/features/upload/types.d.ts +28 -0
  440. package/features/upload/types.js +0 -0
  441. package/features/upload/utils/FileExtension.d.ts +6 -0
  442. package/features/upload/utils/FileExtension.js +16 -0
  443. package/features/upload/utils/FileExtension.js.map +1 -0
  444. package/features/upload/utils/FileKey.d.ts +11 -0
  445. package/features/upload/utils/FileKey.js +33 -0
  446. package/features/upload/utils/FileKey.js.map +1 -0
  447. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  448. package/features/upload/utils/FileNormalizer.js +41 -0
  449. package/features/upload/utils/FileNormalizer.js.map +1 -0
  450. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  451. package/features/upload/utils/FileUploadModifier.js +39 -0
  452. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  453. package/features/upload/utils/checkPermissions.d.ts +5 -0
  454. package/features/upload/utils/checkPermissions.js +22 -0
  455. package/features/upload/utils/checkPermissions.js.map +1 -0
  456. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  457. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  458. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  459. package/features/upload/utils/mimeTypes.d.ts +1 -0
  460. package/features/upload/utils/mimeTypes.js +9 -0
  461. package/features/upload/utils/mimeTypes.js.map +1 -0
  462. package/graphql/FmGraphQLSchema.d.ts +25 -0
  463. package/graphql/FmGraphQLSchema.js +450 -0
  464. package/graphql/FmGraphQLSchema.js.map +1 -0
  465. package/graphql/FmUploadGraphQLSchema.d.ts +11 -0
  466. package/graphql/FmUploadGraphQLSchema.js +229 -0
  467. package/graphql/FmUploadGraphQLSchema.js.map +1 -0
  468. package/index.d.ts +3 -5
  469. package/index.js +41 -66
  470. package/index.js.map +1 -1
  471. package/package.json +40 -40
  472. package/types.d.ts +2 -355
  473. package/types.js +1 -27
  474. package/createFileManager/checkBasePermissions.d.ts +0 -5
  475. package/createFileManager/checkBasePermissions.js +0 -24
  476. package/createFileManager/checkBasePermissions.js.map +0 -1
  477. package/createFileManager/files.crud.d.ts +0 -3
  478. package/createFileManager/files.crud.js +0 -318
  479. package/createFileManager/files.crud.js.map +0 -1
  480. package/createFileManager/filevalidation.disabled.js +0 -55
  481. package/createFileManager/filevalidation.disabled.js.map +0 -1
  482. package/createFileManager/index.d.ts +0 -13
  483. package/createFileManager/index.js +0 -20
  484. package/createFileManager/index.js.map +0 -1
  485. package/createFileManager/settings.crud.d.ts +0 -3
  486. package/createFileManager/settings.crud.js +0 -91
  487. package/createFileManager/settings.crud.js.map +0 -1
  488. package/createFileManager/system.crud.d.ts +0 -3
  489. package/createFileManager/system.crud.js +0 -86
  490. package/createFileManager/system.crud.js.map +0 -1
  491. package/graphql/index.d.ts +0 -3
  492. package/graphql/index.js +0 -288
  493. package/graphql/index.js.map +0 -1
  494. package/handlers/download/byAlias.d.ts +0 -6
  495. package/handlers/download/byAlias.js +0 -89
  496. package/handlers/download/byAlias.js.map +0 -1
  497. package/handlers/download/byExactKey.d.ts +0 -2
  498. package/handlers/download/byExactKey.js +0 -57
  499. package/handlers/download/byExactKey.js.map +0 -1
  500. package/handlers/download/extractFileInformation.d.ts +0 -9
  501. package/handlers/download/extractFileInformation.js +0 -20
  502. package/handlers/download/extractFileInformation.js.map +0 -1
  503. package/handlers/download/getS3Object.d.ts +0 -10
  504. package/handlers/download/getS3Object.js +0 -57
  505. package/handlers/download/getS3Object.js.map +0 -1
  506. package/handlers/download/index.d.ts +0 -2
  507. package/handlers/download/index.js +0 -27
  508. package/handlers/download/index.js.map +0 -1
  509. package/handlers/manage/index.d.ts +0 -5
  510. package/handlers/manage/index.js +0 -55
  511. package/handlers/manage/index.js.map +0 -1
  512. package/handlers/transform/index.d.ts +0 -2
  513. package/handlers/transform/index.js +0 -89
  514. package/handlers/transform/index.js.map +0 -1
  515. package/handlers/transform/legacyUtils.d.ts +0 -17
  516. package/handlers/transform/legacyUtils.js +0 -42
  517. package/handlers/transform/legacyUtils.js.map +0 -1
  518. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  519. package/handlers/transform/loaders/imageLoader.js +0 -94
  520. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  521. package/handlers/transform/loaders/index.d.ts +0 -8
  522. package/handlers/transform/loaders/index.js +0 -10
  523. package/handlers/transform/loaders/index.js.map +0 -1
  524. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  525. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  526. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  527. package/handlers/transform/managers/imageManager.d.ts +0 -15
  528. package/handlers/transform/managers/imageManager.js +0 -74
  529. package/handlers/transform/managers/imageManager.js.map +0 -1
  530. package/handlers/transform/managers/index.d.ts +0 -5
  531. package/handlers/transform/managers/index.js +0 -10
  532. package/handlers/transform/managers/index.js.map +0 -1
  533. package/handlers/transform/optimizeImage.d.ts +0 -3
  534. package/handlers/transform/optimizeImage.js +0 -42
  535. package/handlers/transform/optimizeImage.js.map +0 -1
  536. package/handlers/transform/transformImage.d.ts +0 -10
  537. package/handlers/transform/transformImage.js +0 -25
  538. package/handlers/transform/transformImage.js.map +0 -1
  539. package/handlers/transform/utils.d.ts +0 -12
  540. package/handlers/transform/utils.js +0 -36
  541. package/handlers/transform/utils.js.map +0 -1
  542. package/handlers/types.d.ts +0 -8
  543. package/handlers/types.js +0 -5
  544. package/handlers/types.js.map +0 -1
  545. package/handlers/utils/getEnvironment.d.ts +0 -5
  546. package/handlers/utils/getEnvironment.js +0 -11
  547. package/handlers/utils/getEnvironment.js.map +0 -1
  548. package/handlers/utils/getObjectParams.d.ts +0 -9
  549. package/handlers/utils/getObjectParams.js +0 -21
  550. package/handlers/utils/getObjectParams.js.map +0 -1
  551. package/handlers/utils/index.d.ts +0 -2
  552. package/handlers/utils/index.js +0 -20
  553. package/handlers/utils/index.js.map +0 -1
  554. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
  555. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  556. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  557. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  558. package/plugins/FileStorageTransformPlugin.js +0 -40
  559. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  560. package/plugins/crud/files/validation.d.ts +0 -3
  561. package/plugins/crud/files/validation.js +0 -41
  562. package/plugins/crud/files/validation.js.map +0 -1
  563. package/plugins/crud/files.crud.d.ts +0 -4
  564. package/plugins/crud/files.crud.js +0 -431
  565. package/plugins/crud/files.crud.js.map +0 -1
  566. package/plugins/crud/settings.crud.d.ts +0 -5
  567. package/plugins/crud/settings.crud.js +0 -116
  568. package/plugins/crud/settings.crud.js.map +0 -1
  569. package/plugins/crud/system.crud.d.ts +0 -4
  570. package/plugins/crud/system.crud.js +0 -153
  571. package/plugins/crud/system.crud.js.map +0 -1
  572. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  573. package/plugins/crud/utils/checkBasePermissions.js +0 -33
  574. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  575. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  576. package/plugins/crud/utils/createFileModel.js +0 -77
  577. package/plugins/crud/utils/createFileModel.js.map +0 -1
  578. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  579. package/plugins/crud/utils/lifecycleEvents.js +0 -38
  580. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  581. package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
  582. package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
  583. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  584. package/plugins/definitions/FilePlugin.d.ts +0 -136
  585. package/plugins/definitions/FilePlugin.js +0 -70
  586. package/plugins/definitions/FilePlugin.js.map +0 -1
  587. package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
  588. package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
  589. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  590. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  591. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
  592. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  593. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  594. package/plugins/definitions/InstallationPlugin.js +0 -42
  595. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  596. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  597. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
  598. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  599. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  600. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
  601. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  602. package/plugins/graphql.d.ts +0 -4
  603. package/plugins/graphql.js +0 -290
  604. package/plugins/graphql.js.map +0 -1
  605. package/plugins/index.d.ts +0 -2
  606. package/plugins/index.js +0 -27
  607. package/plugins/index.js.map +0 -1
  608. package/plugins/storage/FileStorage.d.ts +0 -30
  609. package/plugins/storage/FileStorage.js +0 -103
  610. package/plugins/storage/FileStorage.js.map +0 -1
  611. package/plugins/storage/index.d.ts +0 -4
  612. package/plugins/storage/index.js +0 -26
  613. package/plugins/storage/index.js.map +0 -1
  614. package/storage/FileStorage.d.ts +0 -32
  615. package/storage/FileStorage.js +0 -86
  616. package/storage/FileStorage.js.map +0 -1
  617. package/types/file.d.ts +0 -33
  618. package/types/file.js +0 -5
  619. package/types/file.js.map +0 -1
  620. package/types/file.lifecycle.d.ts +0 -40
  621. package/types/file.lifecycle.js +0 -5
  622. package/types/file.lifecycle.js.map +0 -1
  623. package/types.js.map +0 -1
  624. package/utils.d.ts +0 -4
  625. package/utils.js +0 -16
  626. package/utils.js.map +0 -1
  627. /package/{createFileManager/filevalidation.disabled.d.ts → domain/file/types.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/feature.js","sources":["../../../src/features/assetDelivery/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { AssetFactory } from \"./Asset/Asset.js\";\nimport { AssetRequestFactory } from \"./AssetRequest/AssetRequest.js\";\nimport { FilesAssetRequestResolver } from \"./FilesAssetRequestResolver.js\";\nimport { NullAssetResolver } from \"./NullAssetResolver.js\";\nimport { NullAssetOutputStrategy } from \"./NullAssetOutputStrategy.js\";\nimport { StreamAssetReply } from \"./StreamAssetReply/StreamAssetReply.js\";\nimport { ObjectKey } from \"./ObjectKey/ObjectKey.js\";\nimport { AssetProcessor } from \"./abstractions/AssetProcessor.js\";\nimport { TransformationAssetProcessor } from \"./transformation/TransformationAssetProcessor.js\";\nimport { ImageAssetType } from \"./assetTypes/image/ImageAssetType.js\";\nimport { PrivateFileAssetRequestResolver } from \"./privateFiles/PrivateFileAssetRequestResolver.js\";\nimport { PrivateAuthenticatedAuthorizer } from \"./privateFiles/PrivateAuthenticatedAuthorizer.js\";\nimport { PrivateFilesAssetProcessor } from \"./privateFiles/PrivateFilesAssetProcessor.js\";\n\nexport const AssetDeliveryFeature = createFeature({\n name: \"AssetDelivery\",\n register(container) {\n container.register(AssetFactory).inSingletonScope();\n container.register(AssetRequestFactory).inSingletonScope();\n container.register(FilesAssetRequestResolver).inSingletonScope();\n container.register(NullAssetResolver).inSingletonScope();\n container.register(NullAssetOutputStrategy).inSingletonScope();\n container.register(StreamAssetReply).inSingletonScope();\n container.register(ObjectKey).inSingletonScope();\n container.register(ImageAssetType);\n container.registerInstance(AssetProcessor, new TransformationAssetProcessor(container));\n\n container.registerDecorator(PrivateFileAssetRequestResolver);\n\n const wcp = container.resolve(WcpContext);\n if (wcp.canUsePrivateFiles()) {\n container.register(PrivateAuthenticatedAuthorizer);\n container.registerDecorator(PrivateFilesAssetProcessor);\n }\n }\n});\n"],"names":["AssetDeliveryFeature","createFeature","container","AssetFactory","AssetRequestFactory","FilesAssetRequestResolver","NullAssetResolver","NullAssetOutputStrategy","StreamAssetReply","ObjectKey","ImageAssetType","AssetProcessor","TransformationAssetProcessor","PrivateFileAssetRequestResolver","wcp","WcpContext","PrivateAuthenticatedAuthorizer","PrivateFilesAssetProcessor"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,cAAc,gBAAgB;QACjDD,UAAU,QAAQ,CAACE,qBAAqB,gBAAgB;QACxDF,UAAU,QAAQ,CAACG,2BAA2B,gBAAgB;QAC9DH,UAAU,QAAQ,CAACI,mBAAmB,gBAAgB;QACtDJ,UAAU,QAAQ,CAACK,yBAAyB,gBAAgB;QAC5DL,UAAU,QAAQ,CAACM,kBAAkB,gBAAgB;QACrDN,UAAU,QAAQ,CAACO,WAAW,gBAAgB;QAC9CP,UAAU,QAAQ,CAACQ;QACnBR,UAAU,gBAAgB,CAACS,gBAAgB,IAAIC,6BAA6BV;QAE5EA,UAAU,iBAAiB,CAACW;QAE5B,MAAMC,MAAMZ,UAAU,OAAO,CAACa;QAC9B,IAAID,IAAI,kBAAkB,IAAI;YAC1BZ,UAAU,QAAQ,CAACc;YACnBd,UAAU,iBAAiB,CAACe;QAChC;IACJ;AACJ"}
@@ -0,0 +1,4 @@
1
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ export declare class NotAuthorizedAssetReply extends AssetReply {
3
+ constructor();
4
+ }
@@ -0,0 +1,20 @@
1
+ import { ResponseHeaders } from "@webiny/handler";
2
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
3
+ class NotAuthorizedAssetReply extends AssetReply {
4
+ constructor(){
5
+ super({
6
+ code: 403,
7
+ headers: ResponseHeaders.create({
8
+ "cache-control": "no-store",
9
+ "content-type": "application/json; charset=utf-8"
10
+ }),
11
+ body: ()=>({
12
+ error: "Not authorized!",
13
+ code: "NOT_AUTHORIZED"
14
+ })
15
+ });
16
+ }
17
+ }
18
+ export { NotAuthorizedAssetReply };
19
+
20
+ //# sourceMappingURL=NotAuthorizedAssetReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js","sources":["../../../../src/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\nimport { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\n\nexport class NotAuthorizedAssetReply extends AssetReply {\n constructor() {\n super({\n code: 403,\n headers: ResponseHeaders.create({\n \"cache-control\": \"no-store\",\n \"content-type\": \"application/json; charset=utf-8\"\n }),\n body: () => ({ error: \"Not authorized!\", code: \"NOT_AUTHORIZED\" })\n });\n }\n}\n"],"names":["NotAuthorizedAssetReply","AssetReply","ResponseHeaders"],"mappings":";;AAGO,MAAMA,gCAAgCC;IACzC,aAAc;QACV,KAAK,CAAC;YACF,MAAM;YACN,SAASC,gBAAgB,MAAM,CAAC;gBAC5B,iBAAiB;gBACjB,gBAAgB;YACpB;YACA,MAAM,IAAO;oBAAE,OAAO;oBAAmB,MAAM;gBAAiB;QACpE;IACJ;AACJ"}
@@ -0,0 +1,5 @@
1
+ import type { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ import { AssetOutputStrategy } from "../abstractions/AssetOutputStrategy.js";
3
+ export declare class NotAuthorizedOutputStrategy implements AssetOutputStrategy.Interface {
4
+ output(): Promise<AssetReply>;
5
+ }
@@ -0,0 +1,9 @@
1
+ import { NotAuthorizedAssetReply } from "./NotAuthorizedAssetReply.js";
2
+ class NotAuthorizedOutputStrategy {
3
+ async output() {
4
+ return new NotAuthorizedAssetReply();
5
+ }
6
+ }
7
+ export { NotAuthorizedOutputStrategy };
8
+
9
+ //# sourceMappingURL=NotAuthorizedOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js","sources":["../../../../src/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.ts"],"sourcesContent":["import type { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\nimport { NotAuthorizedAssetReply } from \"./NotAuthorizedAssetReply.js\";\nimport { AssetOutputStrategy } from \"../abstractions/AssetOutputStrategy.js\";\n\nexport class NotAuthorizedOutputStrategy implements AssetOutputStrategy.Interface {\n async output(): Promise<AssetReply> {\n return new NotAuthorizedAssetReply();\n }\n}\n"],"names":["NotAuthorizedOutputStrategy","NotAuthorizedAssetReply"],"mappings":";AAIO,MAAMA;IACT,MAAM,SAA8B;QAChC,OAAO,IAAIC;IACf;AACJ"}
@@ -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 { AssetAuthorizer } from "../abstractions/AssetAuthorizer.js";
4
+ export declare class PrivateAuthenticatedAuthorizer implements AssetAuthorizer.Interface {
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<import("../abstractions/AssetAuthorizer.js").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/AssetAuthorizer.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 } from \"../abstractions/AssetAuthorizer.js\";\n\nexport class PrivateAuthenticatedAuthorizer implements AssetAuthorizer.Interface {\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 { AssetOutputStrategy } from "../abstractions/AssetOutputStrategy.js";
4
+ export declare class PrivateCache implements AssetOutputStrategy.Interface {
5
+ private strategy;
6
+ constructor(strategy: AssetOutputStrategy.Interface);
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 { AssetOutputStrategy } from \"../abstractions/AssetOutputStrategy.js\";\n\nexport class PrivateCache implements AssetOutputStrategy.Interface {\n private strategy: AssetOutputStrategy.Interface;\n\n constructor(strategy: AssetOutputStrategy.Interface) {\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,QAAuC,CAAE;QACjD,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,12 @@
1
+ import { AssetRequestResolver } from "../abstractions/AssetRequestResolver.js";
2
+ import { AssetRequestFactory } from "../AssetRequest/abstractions.js";
3
+ declare class PrivateFileAssetRequestResolverImpl implements AssetRequestResolver.Interface {
4
+ private readonly assetRequestFactory;
5
+ private readonly resolver;
6
+ constructor(assetRequestFactory: AssetRequestFactory.Interface, resolver: AssetRequestResolver.Interface);
7
+ resolve(request: AssetRequestResolver.Request): Promise<AssetRequestResolver.AssetRequest | undefined>;
8
+ }
9
+ export declare const PrivateFileAssetRequestResolver: typeof PrivateFileAssetRequestResolverImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/AssetRequestResolver.js").IAssetRequestResolver>;
11
+ };
12
+ export {};
@@ -0,0 +1,34 @@
1
+ import { AssetRequestResolver } from "../abstractions/AssetRequestResolver.js";
2
+ import { AssetRequestFactory } from "../AssetRequest/abstractions.js";
3
+ class PrivateFileAssetRequestResolverImpl {
4
+ constructor(assetRequestFactory, resolver){
5
+ this.assetRequestFactory = assetRequestFactory;
6
+ this.resolver = resolver;
7
+ }
8
+ async resolve(request) {
9
+ if (!request.url.startsWith("/private/")) return this.resolver.resolve(request);
10
+ const params = request.params ?? {};
11
+ const query = request.query ?? {};
12
+ const path = params["*"];
13
+ return this.assetRequestFactory.create({
14
+ key: decodeURI(path).replace("/private/", ""),
15
+ context: {
16
+ url: request.url,
17
+ private: true,
18
+ accept: request.headers?.accept
19
+ },
20
+ options: {
21
+ ...query
22
+ }
23
+ });
24
+ }
25
+ }
26
+ const PrivateFileAssetRequestResolver = AssetRequestResolver.createDecorator({
27
+ decorator: PrivateFileAssetRequestResolverImpl,
28
+ dependencies: [
29
+ AssetRequestFactory
30
+ ]
31
+ });
32
+ export { PrivateFileAssetRequestResolver };
33
+
34
+ //# 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 { AssetRequestResolver } from \"../abstractions/AssetRequestResolver.js\";\nimport { AssetRequestFactory } from \"../AssetRequest/abstractions.js\";\n\nclass PrivateFileAssetRequestResolverImpl implements AssetRequestResolver.Interface {\n private readonly assetRequestFactory: AssetRequestFactory.Interface;\n private readonly resolver: AssetRequestResolver.Interface;\n\n constructor(\n assetRequestFactory: AssetRequestFactory.Interface,\n resolver: AssetRequestResolver.Interface\n ) {\n this.assetRequestFactory = assetRequestFactory;\n this.resolver = resolver;\n }\n\n async resolve(\n request: AssetRequestResolver.Request\n ): Promise<AssetRequestResolver.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 this.assetRequestFactory.create({\n key: decodeURI(path).replace(\"/private/\", \"\"),\n context: {\n url: request.url,\n private: true,\n accept: request.headers?.accept as string | undefined\n },\n options: { ...query }\n });\n }\n}\n\nexport const PrivateFileAssetRequestResolver = AssetRequestResolver.createDecorator({\n decorator: PrivateFileAssetRequestResolverImpl,\n dependencies: [AssetRequestFactory]\n});\n"],"names":["PrivateFileAssetRequestResolverImpl","assetRequestFactory","resolver","request","params","query","path","decodeURI","PrivateFileAssetRequestResolver","AssetRequestResolver","AssetRequestFactory"],"mappings":";;AAGA,MAAMA;IAIF,YACIC,mBAAkD,EAClDC,QAAwC,CAC1C;QACE,IAAI,CAAC,mBAAmB,GAAGD;QAC3B,IAAI,CAAC,QAAQ,GAAGC;IACpB;IAEA,MAAM,QACFC,OAAqC,EACiB;QACtD,IAAI,CAACA,QAAQ,GAAG,CAAC,UAAU,CAAC,cACxB,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,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACnC,KAAKG,UAAUD,MAAM,OAAO,CAAC,aAAa;YAC1C,SAAS;gBACL,KAAKH,QAAQ,GAAG;gBAChB,SAAS;gBACT,QAAQA,QAAQ,OAAO,EAAE;YAC7B;YACA,SAAS;gBAAE,GAAGE,KAAK;YAAC;QACxB;IACJ;AACJ;AAEO,MAAMG,kCAAkCC,qBAAqB,eAAe,CAAC;IAChF,WAAWT;IACX,cAAc;QAACU;KAAoB;AACvC"}
@@ -0,0 +1,19 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { GetFileUseCase } from "../../../features/file/GetFile/index.js";
3
+ import { AssetAuthorizer } from "../abstractions/AssetAuthorizer.js";
4
+ import { AssetProcessor } from "../abstractions/AssetProcessor.js";
5
+ declare class PrivateFilesAssetProcessorImpl implements AssetProcessor.Interface {
6
+ private readonly identityContext;
7
+ private readonly getFile;
8
+ private readonly assetAuthorizer;
9
+ private readonly assetProcessor;
10
+ constructor(identityContext: IdentityContext.Interface, getFile: GetFileUseCase.Interface, assetAuthorizer: AssetAuthorizer.Interface, assetProcessor: AssetProcessor.Interface);
11
+ process(assetRequest: AssetProcessor.AssetRequest, asset: AssetProcessor.Asset): Promise<AssetProcessor.Asset>;
12
+ private isPrivate;
13
+ private requestedViaPrivateEndpoint;
14
+ private requestedViaPublicEndpoint;
15
+ }
16
+ export declare const PrivateFilesAssetProcessor: typeof PrivateFilesAssetProcessorImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/AssetProcessor.js").IAssetProcessor>;
18
+ };
19
+ export {};
@@ -0,0 +1,66 @@
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 } from "../abstractions/AssetAuthorizer.js";
9
+ import { AssetProcessor } from "../abstractions/AssetProcessor.js";
10
+ class PrivateFilesAssetProcessorImpl {
11
+ constructor(identityContext, getFile, assetAuthorizer, assetProcessor){
12
+ this.identityContext = identityContext;
13
+ this.getFile = getFile;
14
+ this.assetAuthorizer = assetAuthorizer;
15
+ this.assetProcessor = assetProcessor;
16
+ }
17
+ async process(assetRequest, asset) {
18
+ const id = asset.getId();
19
+ const file = await this.identityContext.withoutAuthorization(async ()=>{
20
+ const fileResult = await this.getFile.execute(id);
21
+ if (fileResult.isFail()) throw fileResult.error;
22
+ return fileResult.value;
23
+ });
24
+ const isPrivateFile = this.isPrivate(file);
25
+ if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {
26
+ asset.setOutputStrategy(RedirectToPublicUrlOutputStrategy.create(assetRequest));
27
+ return asset;
28
+ }
29
+ if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {
30
+ asset.setOutputStrategy(RedirectToPrivateUrlOutputStrategy.create(assetRequest));
31
+ return asset;
32
+ }
33
+ try {
34
+ await this.assetAuthorizer.authorize(file);
35
+ } catch {
36
+ asset.setOutputStrategy(new NotAuthorizedOutputStrategy());
37
+ return asset;
38
+ }
39
+ const processedAsset = await this.assetProcessor.process(assetRequest, asset);
40
+ processedAsset.setOutputStrategy((strategy)=>{
41
+ if (!strategy) throw Error("No asset output strategy is configured!");
42
+ return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);
43
+ });
44
+ return processedAsset;
45
+ }
46
+ isPrivate(file) {
47
+ return file.accessControl && file.accessControl.type.startsWith("private-");
48
+ }
49
+ requestedViaPrivateEndpoint(assetRequest) {
50
+ return assetRequest.getContext().private;
51
+ }
52
+ requestedViaPublicEndpoint(assetRequest) {
53
+ return !this.requestedViaPrivateEndpoint(assetRequest);
54
+ }
55
+ }
56
+ const PrivateFilesAssetProcessor = AssetProcessor.createDecorator({
57
+ decorator: PrivateFilesAssetProcessorImpl,
58
+ dependencies: [
59
+ IdentityContext,
60
+ GetFileUseCase,
61
+ AssetAuthorizer
62
+ ]
63
+ });
64
+ export { PrivateFilesAssetProcessor };
65
+
66
+ //# 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 { 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 { AssetAuthorizer } from \"../abstractions/AssetAuthorizer.js\";\nimport { AssetProcessor } from \"../abstractions/AssetProcessor.js\";\nimport type { File as IFile } from \"~/domain/file/types.js\";\n\ninterface MaybePrivate {\n private?: boolean;\n}\n\nclass PrivateFilesAssetProcessorImpl implements AssetProcessor.Interface {\n constructor(\n private readonly identityContext: IdentityContext.Interface,\n private readonly getFile: GetFileUseCase.Interface,\n private readonly assetAuthorizer: AssetAuthorizer.Interface,\n private readonly assetProcessor: AssetProcessor.Interface\n ) {}\n\n async process(\n assetRequest: AssetProcessor.AssetRequest,\n asset: AssetProcessor.Asset\n ): Promise<AssetProcessor.Asset> {\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(RedirectToPublicUrlOutputStrategy.create(assetRequest));\n return asset;\n }\n\n if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {\n asset.setOutputStrategy(RedirectToPrivateUrlOutputStrategy.create(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: IFile) {\n return file.accessControl && file.accessControl.type.startsWith(\"private-\");\n }\n\n private requestedViaPrivateEndpoint(assetRequest: AssetProcessor.AssetRequest) {\n return assetRequest.getContext<MaybePrivate>().private;\n }\n\n private requestedViaPublicEndpoint(assetRequest: AssetProcessor.AssetRequest) {\n return !this.requestedViaPrivateEndpoint(assetRequest);\n }\n}\n\nexport const PrivateFilesAssetProcessor = AssetProcessor.createDecorator({\n decorator: PrivateFilesAssetProcessorImpl,\n dependencies: [IdentityContext, GetFileUseCase, AssetAuthorizer]\n});\n"],"names":["PrivateFilesAssetProcessorImpl","identityContext","getFile","assetAuthorizer","assetProcessor","assetRequest","asset","id","file","fileResult","isPrivateFile","RedirectToPublicUrlOutputStrategy","RedirectToPrivateUrlOutputStrategy","NotAuthorizedOutputStrategy","processedAsset","strategy","Error","PrivateCache","PublicCache","PrivateFilesAssetProcessor","AssetProcessor","IdentityContext","GetFileUseCase","AssetAuthorizer"],"mappings":";;;;;;;;;AAeA,MAAMA;IACF,YACqBC,eAA0C,EAC1CC,OAAiC,EACjCC,eAA0C,EAC1CC,cAAwC,CAC3D;aAJmBH,eAAe,GAAfA;aACAC,OAAO,GAAPA;aACAC,eAAe,GAAfA;aACAC,cAAc,GAAdA;IAClB;IAEH,MAAM,QACFC,YAAyC,EACzCC,KAA2B,EACE;QAC7B,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,CAACK,kCAAkC,MAAM,CAACN;YACjE,OAAOC;QACX;QAEA,IAAII,iBAAiB,IAAI,CAAC,0BAA0B,CAACL,eAAe;YAChEC,MAAM,iBAAiB,CAACM,mCAAmC,MAAM,CAACP;YAClE,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,IAAW,EAAE;QAC3B,OAAOA,KAAK,aAAa,IAAIA,KAAK,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;IACpE;IAEQ,4BAA4BH,YAAyC,EAAE;QAC3E,OAAOA,aAAa,UAAU,GAAiB,OAAO;IAC1D;IAEQ,2BAA2BA,YAAyC,EAAE;QAC1E,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAACA;IAC7C;AACJ;AAEO,MAAMc,6BAA6BC,eAAe,eAAe,CAAC;IACrE,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 { AssetOutputStrategy } from "../abstractions/AssetOutputStrategy.js";
4
+ export declare class PublicCache implements AssetOutputStrategy.Interface {
5
+ private strategy;
6
+ constructor(strategy: AssetOutputStrategy.Interface);
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 { AssetOutputStrategy } from \"../abstractions/AssetOutputStrategy.js\";\n\nexport class PublicCache implements AssetOutputStrategy.Interface {\n private strategy: AssetOutputStrategy.Interface;\n\n constructor(strategy: AssetOutputStrategy.Interface) {\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,QAAuC,CAAE;QACjD,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,10 @@
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 { AssetOutputStrategy } from "../abstractions/AssetOutputStrategy.js";
5
+ export declare class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy.Interface {
6
+ private readonly assetRequest;
7
+ static create(assetRequest: AssetRequest): RedirectToPrivateUrlOutputStrategy;
8
+ private constructor();
9
+ output(asset: Asset): Promise<AssetReply>;
10
+ }
@@ -0,0 +1,24 @@
1
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ class RedirectToPrivateUrlOutputStrategy {
4
+ static create(assetRequest) {
5
+ return new RedirectToPrivateUrlOutputStrategy(assetRequest);
6
+ }
7
+ constructor(assetRequest){
8
+ this.assetRequest = assetRequest;
9
+ }
10
+ async output(asset) {
11
+ const requestUrl = this.assetRequest.getContext().url;
12
+ return AssetReply.create({
13
+ code: 301,
14
+ headers: ResponseHeaders.create({
15
+ location: requestUrl.replace("/files/", "/private/"),
16
+ "content-type": asset.getContentType(),
17
+ "cache-control": "public, max-age=2592000"
18
+ })
19
+ });
20
+ }
21
+ }
22
+ export { RedirectToPrivateUrlOutputStrategy };
23
+
24
+ //# 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 { AssetOutputStrategy } from \"../abstractions/AssetOutputStrategy.js\";\n\nexport class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy.Interface {\n private readonly assetRequest: AssetRequest;\n\n public static create(assetRequest: AssetRequest) {\n return new RedirectToPrivateUrlOutputStrategy(assetRequest);\n }\n\n private constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n public async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return AssetReply.create({\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,OAAc,OAAOC,YAA0B,EAAE;QAC7C,OAAO,IAAID,mCAAmCC;IAClD;IAEA,YAAoBA,YAA0B,CAAE;QAC5C,IAAI,CAAC,YAAY,GAAGA;IACxB;IAEA,MAAa,OAAOC,KAAY,EAAuB;QACnD,MAAMC,aAAa,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,GAAG;QAErD,OAAOC,WAAW,MAAM,CAAC;YACrB,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,10 @@
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 { AssetOutputStrategy } from "../abstractions/AssetOutputStrategy.js";
5
+ export declare class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy.Interface {
6
+ private readonly assetRequest;
7
+ static create(assetRequest: AssetRequest): RedirectToPublicUrlOutputStrategy;
8
+ private constructor();
9
+ output(asset: Asset): Promise<AssetReply>;
10
+ }
@@ -0,0 +1,24 @@
1
+ import { AssetReply } from "../../../delivery/AssetDelivery/abstractions/AssetReply.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ class RedirectToPublicUrlOutputStrategy {
4
+ static create(assetRequest) {
5
+ return new RedirectToPublicUrlOutputStrategy(assetRequest);
6
+ }
7
+ constructor(assetRequest){
8
+ this.assetRequest = assetRequest;
9
+ }
10
+ async output(asset) {
11
+ const requestUrl = this.assetRequest.getContext().url;
12
+ return AssetReply.create({
13
+ code: 301,
14
+ headers: ResponseHeaders.create({
15
+ location: requestUrl.replace("/private/", "/files/"),
16
+ "content-type": asset.getContentType(),
17
+ "cache-control": "public, max-age=2592000"
18
+ })
19
+ });
20
+ }
21
+ }
22
+ export { RedirectToPublicUrlOutputStrategy };
23
+
24
+ //# 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 { AssetOutputStrategy } from \"../abstractions/AssetOutputStrategy.js\";\n\nexport class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy.Interface {\n private readonly assetRequest: AssetRequest;\n\n public static create(assetRequest: AssetRequest) {\n return new RedirectToPublicUrlOutputStrategy(assetRequest);\n }\n\n private constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n public async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return AssetReply.create({\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,OAAc,OAAOC,YAA0B,EAAE;QAC7C,OAAO,IAAID,kCAAkCC;IACjD;IAEA,YAAoBA,YAA0B,CAAE;QAC5C,IAAI,CAAC,YAAY,GAAGA;IACxB;IAEA,MAAa,OAAOC,KAAY,EAAuB;QACnD,MAAMC,aAAa,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,GAAG;QAErD,OAAOC,WAAW,MAAM,CAAC;YACrB,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/AssetContentsReader.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/AssetContentsReader.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,7 @@
1
+ import type { Container } from "@webiny/di";
2
+ import { AssetProcessor } from "../abstractions/AssetProcessor.js";
3
+ export declare class TransformationAssetProcessor implements AssetProcessor.Interface {
4
+ private readonly container;
5
+ constructor(container: Container);
6
+ process(assetRequest: AssetProcessor.AssetRequest, asset: AssetProcessor.Asset): Promise<AssetProcessor.Asset>;
7
+ }
@@ -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 { AssetProcessor } from \"../abstractions/AssetProcessor.js\";\nimport { AssetType } from \"../abstractions/AssetType.js\";\n\nexport class TransformationAssetProcessor implements AssetProcessor.Interface {\n constructor(private readonly container: Container) {}\n\n async process(\n assetRequest: AssetProcessor.AssetRequest,\n asset: AssetProcessor.Asset\n ): Promise<AssetProcessor.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":";AAIO,MAAMA;IACT,YAA6BC,SAAoB,CAAE;aAAtBA,SAAS,GAATA;IAAuB;IAEpD,MAAM,QACFC,YAAyC,EACzCC,KAA2B,EACE;QAC7B,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 { FileModel } 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 fileModel;
9
+ constructor(createEntry: CreateEntryUseCase.Interface, fileModel: FileModel.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 {};