@webiny/api-file-manager 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (377) hide show
  1. package/contants.js +2 -1
  2. package/contants.js.map +1 -1
  3. package/delivery/AssetDelivery/Asset.js +50 -56
  4. package/delivery/AssetDelivery/Asset.js.map +1 -1
  5. package/delivery/AssetDelivery/AssetRequest.js +20 -19
  6. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  7. package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
  8. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  9. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
  10. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
  11. package/delivery/index.d.ts +3 -12
  12. package/delivery/index.js +2 -8
  13. package/delivery/setupAssetDelivery.d.ts +1 -2
  14. package/delivery/setupAssetDelivery.js +60 -105
  15. package/delivery/setupAssetDelivery.js.map +1 -1
  16. package/domain/file/abstractions.js +2 -5
  17. package/domain/file/abstractions.js.map +1 -1
  18. package/domain/file/errors.js +67 -76
  19. package/domain/file/errors.js.map +1 -1
  20. package/domain/file/file.model.js +57 -45
  21. package/domain/file/file.model.js.map +1 -1
  22. package/domain/file/types.d.ts +2 -0
  23. package/domain/file/types.js +0 -3
  24. package/domain/identity/Identity.js +9 -8
  25. package/domain/identity/Identity.js.map +1 -1
  26. package/domain/permissionsSchema.d.ts +16 -0
  27. package/domain/permissionsSchema.js +30 -0
  28. package/domain/permissionsSchema.js.map +1 -0
  29. package/domain/settings/constants.js +2 -1
  30. package/domain/settings/constants.js.map +1 -1
  31. package/domain/settings/errors.js +22 -24
  32. package/domain/settings/errors.js.map +1 -1
  33. package/domain/settings/types.js +0 -3
  34. package/domain/settings/validation.d.ts +4 -12
  35. package/domain/settings/validation.js +18 -27
  36. package/domain/settings/validation.js.map +1 -1
  37. package/exports/api/file-manager/file.d.ts +12 -0
  38. package/exports/api/file-manager/file.js +12 -0
  39. package/exports/api/file-manager/permissions.d.ts +1 -0
  40. package/exports/api/file-manager/permissions.js +1 -0
  41. package/exports/api/file-manager/settings.d.ts +3 -0
  42. package/exports/api/file-manager/settings.js +3 -0
  43. package/features/FileManagerFeature.d.ts +4 -1
  44. package/features/FileManagerFeature.js +17 -14
  45. package/features/FileManagerFeature.js.map +1 -1
  46. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
  47. package/features/assetDelivery/FilesAssetRequestResolver.js +29 -0
  48. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  49. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  50. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  51. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  52. package/features/assetDelivery/NullAssetReply.js +14 -0
  53. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  54. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  55. package/features/assetDelivery/NullAssetResolver.js +13 -0
  56. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  57. package/features/assetDelivery/abstractions.d.ts +54 -0
  58. package/features/assetDelivery/abstractions.js +11 -0
  59. package/features/assetDelivery/abstractions.js.map +1 -0
  60. package/features/assetDelivery/feature.d.ts +4 -0
  61. package/features/assetDelivery/feature.js +29 -0
  62. package/features/assetDelivery/feature.js.map +1 -0
  63. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  64. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  65. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  66. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  67. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  68. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  69. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  70. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  71. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  72. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  73. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  74. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  75. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +11 -0
  76. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -0
  77. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  78. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  79. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +65 -0
  80. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  81. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  82. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  83. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  84. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +9 -0
  85. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
  86. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  87. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
  88. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
  89. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  90. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +9 -0
  91. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +13 -0
  92. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  93. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +11 -0
  94. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +23 -0
  95. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  96. package/features/file/CreateFile/CreateFileRepository.js +20 -18
  97. package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
  98. package/features/file/CreateFile/CreateFileUseCase.d.ts +4 -4
  99. package/features/file/CreateFile/CreateFileUseCase.js +70 -78
  100. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
  101. package/features/file/CreateFile/abstractions.d.ts +3 -0
  102. package/features/file/CreateFile/abstractions.js +3 -12
  103. package/features/file/CreateFile/abstractions.js.map +1 -1
  104. package/features/file/CreateFile/events.d.ts +8 -6
  105. package/features/file/CreateFile/events.js +18 -23
  106. package/features/file/CreateFile/events.js.map +1 -1
  107. package/features/file/CreateFile/feature.d.ts +4 -1
  108. package/features/file/CreateFile/feature.js +7 -6
  109. package/features/file/CreateFile/feature.js.map +1 -1
  110. package/features/file/CreateFile/index.d.ts +1 -1
  111. package/features/file/CreateFile/index.js +1 -3
  112. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
  113. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
  114. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +4 -4
  115. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +61 -75
  116. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
  117. package/features/file/CreateFilesInBatch/abstractions.d.ts +2 -0
  118. package/features/file/CreateFilesInBatch/abstractions.js +3 -12
  119. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
  120. package/features/file/CreateFilesInBatch/events.d.ts +8 -6
  121. package/features/file/CreateFilesInBatch/events.js +18 -23
  122. package/features/file/CreateFilesInBatch/events.js.map +1 -1
  123. package/features/file/CreateFilesInBatch/feature.d.ts +4 -1
  124. package/features/file/CreateFilesInBatch/feature.js +7 -6
  125. package/features/file/CreateFilesInBatch/feature.js.map +1 -1
  126. package/features/file/CreateFilesInBatch/index.js +0 -2
  127. package/features/file/DeleteFile/DeleteFileRepository.js +21 -20
  128. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
  129. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +4 -4
  130. package/features/file/DeleteFile/DeleteFileUseCase.js +33 -38
  131. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
  132. package/features/file/DeleteFile/abstractions.d.ts +2 -0
  133. package/features/file/DeleteFile/abstractions.js +3 -12
  134. package/features/file/DeleteFile/abstractions.js.map +1 -1
  135. package/features/file/DeleteFile/events.d.ts +8 -6
  136. package/features/file/DeleteFile/events.js +18 -23
  137. package/features/file/DeleteFile/events.js.map +1 -1
  138. package/features/file/DeleteFile/feature.d.ts +4 -1
  139. package/features/file/DeleteFile/feature.js +7 -6
  140. package/features/file/DeleteFile/feature.js.map +1 -1
  141. package/features/file/DeleteFile/index.d.ts +1 -1
  142. package/features/file/DeleteFile/index.js +1 -3
  143. package/features/file/FileUrlGenerator/abstractions.d.ts +1 -0
  144. package/features/file/FileUrlGenerator/abstractions.js +2 -1
  145. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  146. package/features/file/GetFile/GetFileRepository.js +22 -22
  147. package/features/file/GetFile/GetFileRepository.js.map +1 -1
  148. package/features/file/GetFile/GetFileUseCase.d.ts +3 -3
  149. package/features/file/GetFile/GetFileUseCase.js +20 -30
  150. package/features/file/GetFile/GetFileUseCase.js.map +1 -1
  151. package/features/file/GetFile/abstractions.d.ts +2 -0
  152. package/features/file/GetFile/abstractions.js +3 -12
  153. package/features/file/GetFile/abstractions.js.map +1 -1
  154. package/features/file/GetFile/feature.d.ts +4 -1
  155. package/features/file/GetFile/feature.js +7 -6
  156. package/features/file/GetFile/feature.js.map +1 -1
  157. package/features/file/GetFile/index.js +0 -2
  158. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  159. package/features/file/GetFileContentsById/abstractions.js +5 -0
  160. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  161. package/features/file/GetFileContentsById/index.d.ts +1 -0
  162. package/features/file/GetFileContentsById/index.js +1 -0
  163. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  164. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  165. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  166. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  167. package/features/file/GetFileContentsByKey/index.js +1 -0
  168. package/features/file/ListFiles/ListFilesRepository.d.ts +3 -1
  169. package/features/file/ListFiles/ListFilesRepository.js +42 -34
  170. package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
  171. package/features/file/ListFiles/ListFilesUseCase.d.ts +4 -4
  172. package/features/file/ListFiles/ListFilesUseCase.js +35 -39
  173. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
  174. package/features/file/ListFiles/abstractions.d.ts +2 -0
  175. package/features/file/ListFiles/abstractions.js +3 -12
  176. package/features/file/ListFiles/abstractions.js.map +1 -1
  177. package/features/file/ListFiles/feature.d.ts +4 -1
  178. package/features/file/ListFiles/feature.js +7 -6
  179. package/features/file/ListFiles/feature.js.map +1 -1
  180. package/features/file/ListFiles/index.js +0 -2
  181. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
  182. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
  183. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
  184. package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
  185. package/features/file/ListImagesByTagTool/feature.js +11 -0
  186. package/features/file/ListImagesByTagTool/feature.js.map +1 -0
  187. package/features/file/ListTags/ListTagsRepository.js +31 -36
  188. package/features/file/ListTags/ListTagsRepository.js.map +1 -1
  189. package/features/file/ListTags/ListTagsUseCase.d.ts +3 -3
  190. package/features/file/ListTags/ListTagsUseCase.js +22 -23
  191. package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
  192. package/features/file/ListTags/abstractions.d.ts +2 -0
  193. package/features/file/ListTags/abstractions.js +3 -12
  194. package/features/file/ListTags/abstractions.js.map +1 -1
  195. package/features/file/ListTags/feature.d.ts +4 -1
  196. package/features/file/ListTags/feature.js +7 -6
  197. package/features/file/ListTags/feature.js.map +1 -1
  198. package/features/file/ListTags/index.js +0 -2
  199. package/features/file/UpdateFile/UpdateFileRepository.js +26 -28
  200. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
  201. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +5 -5
  202. package/features/file/UpdateFile/UpdateFileUseCase.js +60 -70
  203. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
  204. package/features/file/UpdateFile/abstractions.d.ts +3 -0
  205. package/features/file/UpdateFile/abstractions.js +3 -12
  206. package/features/file/UpdateFile/abstractions.js.map +1 -1
  207. package/features/file/UpdateFile/events.d.ts +8 -6
  208. package/features/file/UpdateFile/events.js +18 -23
  209. package/features/file/UpdateFile/events.js.map +1 -1
  210. package/features/file/UpdateFile/feature.d.ts +4 -1
  211. package/features/file/UpdateFile/feature.js +7 -6
  212. package/features/file/UpdateFile/feature.js.map +1 -1
  213. package/features/file/UpdateFile/index.d.ts +1 -1
  214. package/features/file/UpdateFile/index.js +1 -3
  215. package/features/file/shared/EntryToFileMapper.js +25 -23
  216. package/features/file/shared/EntryToFileMapper.js.map +1 -1
  217. package/features/file/shared/FileInputToEntryInputMapper.js +29 -27
  218. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
  219. package/features/file/shared/FileToEntryMapper.js +28 -26
  220. package/features/file/shared/FileToEntryMapper.js.map +1 -1
  221. package/features/permissions/abstractions.d.ts +21 -0
  222. package/features/permissions/abstractions.js +6 -0
  223. package/features/permissions/abstractions.js.map +1 -0
  224. package/features/permissions/feature.d.ts +4 -0
  225. package/features/permissions/feature.js +7 -0
  226. package/features/permissions/feature.js.map +1 -0
  227. package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
  228. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
  229. package/features/settings/GetSettings/abstractions.d.ts +1 -0
  230. package/features/settings/GetSettings/abstractions.js +2 -6
  231. package/features/settings/GetSettings/abstractions.js.map +1 -1
  232. package/features/settings/GetSettings/feature.d.ts +4 -1
  233. package/features/settings/GetSettings/feature.js +6 -5
  234. package/features/settings/GetSettings/feature.js.map +1 -1
  235. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +1 -1
  236. package/features/settings/SettingsInstaller/SettingsInstaller.js +26 -25
  237. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  238. package/features/settings/SettingsInstaller/feature.d.ts +4 -1
  239. package/features/settings/SettingsInstaller/feature.js +6 -5
  240. package/features/settings/SettingsInstaller/feature.js.map +1 -1
  241. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +1 -1
  242. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +42 -49
  243. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
  244. package/features/settings/UpdateSettings/abstractions.d.ts +1 -0
  245. package/features/settings/UpdateSettings/abstractions.js +2 -6
  246. package/features/settings/UpdateSettings/abstractions.js.map +1 -1
  247. package/features/settings/UpdateSettings/events.d.ts +8 -6
  248. package/features/settings/UpdateSettings/events.js +18 -23
  249. package/features/settings/UpdateSettings/events.js.map +1 -1
  250. package/features/settings/UpdateSettings/feature.d.ts +4 -1
  251. package/features/settings/UpdateSettings/feature.js +6 -5
  252. package/features/settings/UpdateSettings/feature.js.map +1 -1
  253. package/features/settings/UpdateSettings/index.d.ts +1 -1
  254. package/features/settings/UpdateSettings/index.js +1 -3
  255. package/features/shared/abstractions.d.ts +1 -13
  256. package/features/shared/abstractions.js +1 -5
  257. package/graphql/baseSchema.js +30 -33
  258. package/graphql/baseSchema.js.map +1 -1
  259. package/graphql/createFilesTypeDefs.d.ts +3 -2
  260. package/graphql/createFilesTypeDefs.js +61 -66
  261. package/graphql/createFilesTypeDefs.js.map +1 -1
  262. package/graphql/filesSchema.js +79 -99
  263. package/graphql/filesSchema.js.map +1 -1
  264. package/graphql/getFileByUrl.js +45 -53
  265. package/graphql/getFileByUrl.js.map +1 -1
  266. package/graphql/index.js +37 -43
  267. package/graphql/index.js.map +1 -1
  268. package/graphql/utils.js +9 -14
  269. package/graphql/utils.js.map +1 -1
  270. package/index.d.ts +2 -2
  271. package/index.js +31 -39
  272. package/index.js.map +1 -1
  273. package/modelModifier/CmsModelModifier.js +40 -43
  274. package/modelModifier/CmsModelModifier.js.map +1 -1
  275. package/package.json +28 -23
  276. package/types.d.ts +1 -3
  277. package/types.js +1 -3
  278. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +0 -65
  279. package/delivery/AssetDelivery/AssetDeliveryConfig.js +0 -94
  280. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +0 -1
  281. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +0 -6
  282. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +0 -30
  283. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +0 -1
  284. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +0 -4
  285. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +0 -8
  286. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +0 -1
  287. package/delivery/AssetDelivery/NullAssetReply.js +0 -13
  288. package/delivery/AssetDelivery/NullAssetReply.js.map +0 -1
  289. package/delivery/AssetDelivery/NullAssetResolver.d.ts +0 -5
  290. package/delivery/AssetDelivery/NullAssetResolver.js +0 -7
  291. package/delivery/AssetDelivery/NullAssetResolver.js.map +0 -1
  292. package/delivery/AssetDelivery/NullRequestResolver.d.ts +0 -4
  293. package/delivery/AssetDelivery/NullRequestResolver.js +0 -7
  294. package/delivery/AssetDelivery/NullRequestResolver.js.map +0 -1
  295. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +0 -8
  296. package/delivery/AssetDelivery/SetCacheControlHeaders.js +0 -18
  297. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +0 -1
  298. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +0 -18
  299. package/delivery/AssetDelivery/SetResponseHeaders.js +0 -18
  300. package/delivery/AssetDelivery/SetResponseHeaders.js.map +0 -1
  301. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +0 -4
  302. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
  303. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
  304. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +0 -4
  305. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
  306. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
  307. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +0 -4
  308. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
  309. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
  310. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +0 -5
  311. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
  312. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
  313. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +0 -4
  314. package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
  315. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
  316. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +0 -4
  317. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
  318. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
  319. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +0 -4
  320. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
  321. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
  322. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +0 -4
  323. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +0 -19
  324. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +0 -1
  325. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +0 -4
  326. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +0 -8
  327. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +0 -1
  328. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +0 -8
  329. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +0 -20
  330. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +0 -1
  331. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +0 -6
  332. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +0 -21
  333. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +0 -1
  334. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +0 -8
  335. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +0 -30
  336. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +0 -1
  337. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +0 -13
  338. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +0 -63
  339. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +0 -1
  340. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +0 -6
  341. package/delivery/AssetDelivery/privateFiles/PublicCache.js +0 -21
  342. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +0 -1
  343. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +0 -7
  344. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +0 -20
  345. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +0 -1
  346. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +0 -7
  347. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +0 -20
  348. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +0 -1
  349. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +0 -4
  350. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +0 -7
  351. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +0 -1
  352. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -4
  353. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -7
  354. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
  355. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +0 -6
  356. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +0 -19
  357. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +0 -1
  358. package/delivery/index.js.map +0 -1
  359. package/domain/file/types.js.map +0 -1
  360. package/domain/settings/types.js.map +0 -1
  361. package/features/file/CreateFile/index.js.map +0 -1
  362. package/features/file/CreateFilesInBatch/index.js.map +0 -1
  363. package/features/file/DeleteFile/index.js.map +0 -1
  364. package/features/file/GetFile/index.js.map +0 -1
  365. package/features/file/ListFiles/index.js.map +0 -1
  366. package/features/file/ListTags/index.js.map +0 -1
  367. package/features/file/UpdateFile/index.js.map +0 -1
  368. package/features/settings/UpdateSettings/index.js.map +0 -1
  369. package/features/shared/abstractions.js.map +0 -1
  370. package/permissions/FilesPermissions.d.ts +0 -4
  371. package/permissions/FilesPermissions.js +0 -4
  372. package/permissions/FilesPermissions.js.map +0 -1
  373. package/permissions/SettingsPermissions.d.ts +0 -4
  374. package/permissions/SettingsPermissions.js +0 -4
  375. package/permissions/SettingsPermissions.js.map +0 -1
  376. package/types.js.map +0 -1
  377. /package/{delivery/AssetDelivery → features/assetDelivery}/NullAssetReply.d.ts +0 -0
package/contants.js CHANGED
@@ -1,3 +1,4 @@
1
- export const ROOT_FOLDER = "root";
1
+ const ROOT_FOLDER = "root";
2
+ export { ROOT_FOLDER };
2
3
 
3
4
  //# sourceMappingURL=contants.js.map
package/contants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ROOT_FOLDER"],"sources":["contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"contants.js","sources":["../src/contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"names":["ROOT_FOLDER"],"mappings":"AAAO,MAAMA,cAAc"}
@@ -1,59 +1,53 @@
1
- export class Asset {
2
- constructor(props) {
3
- this.props = props;
4
- }
5
- clone() {
6
- return this.withProps(structuredClone(this.props));
7
- }
8
- withProps(props) {
9
- const newAsset = new Asset({
10
- ...this.props,
11
- ...props
12
- });
13
- newAsset.contentsReader = this.contentsReader;
14
- newAsset.outputStrategy = this.outputStrategy;
15
- return newAsset;
16
- }
17
- getId() {
18
- return this.props.id;
19
- }
20
- getTenant() {
21
- return this.props.tenant;
22
- }
23
- getKey() {
24
- return this.props.key;
25
- }
26
- getSize() {
27
- return this.props.size;
28
- }
29
- getContentType() {
30
- return this.props.contentType;
31
- }
32
- getExtension() {
33
- return this.getKey().split(".").pop() ?? "";
34
- }
35
- getContents() {
36
- if (!this.contentsReader) {
37
- throw Error(`Asset contents reader was not configured!`);
38
- }
39
- return this.contentsReader.read(this);
40
- }
41
- setContentsReader(reader) {
42
- this.contentsReader = reader;
43
- }
44
- output() {
45
- if (!this.outputStrategy) {
46
- throw Error(`Asset output strategy was not configured!`);
47
- }
48
- return this.outputStrategy.output(this);
49
- }
50
- setOutputStrategy(setter) {
51
- if (typeof setter === "function") {
52
- this.outputStrategy = setter(this.outputStrategy);
53
- } else {
54
- this.outputStrategy = setter;
55
- }
56
- }
1
+ class Asset {
2
+ constructor(props){
3
+ this.props = props;
4
+ }
5
+ clone() {
6
+ return this.withProps(structuredClone(this.props));
7
+ }
8
+ withProps(props) {
9
+ const newAsset = new Asset({
10
+ ...this.props,
11
+ ...props
12
+ });
13
+ newAsset.contentsReader = this.contentsReader;
14
+ newAsset.outputStrategy = this.outputStrategy;
15
+ return newAsset;
16
+ }
17
+ getId() {
18
+ return this.props.id;
19
+ }
20
+ getTenant() {
21
+ return this.props.tenant;
22
+ }
23
+ getKey() {
24
+ return this.props.key;
25
+ }
26
+ getSize() {
27
+ return this.props.size;
28
+ }
29
+ getContentType() {
30
+ return this.props.contentType;
31
+ }
32
+ getExtension() {
33
+ return this.getKey().split(".").pop() ?? "";
34
+ }
35
+ getContents() {
36
+ if (!this.contentsReader) throw Error("Asset contents reader was not configured!");
37
+ return this.contentsReader.read(this);
38
+ }
39
+ setContentsReader(reader) {
40
+ this.contentsReader = reader;
41
+ }
42
+ output() {
43
+ if (!this.outputStrategy) throw Error("Asset output strategy was not configured!");
44
+ return this.outputStrategy.output(this);
45
+ }
46
+ setOutputStrategy(setter) {
47
+ if ("function" == typeof setter) this.outputStrategy = setter(this.outputStrategy);
48
+ else this.outputStrategy = setter;
49
+ }
57
50
  }
51
+ export { Asset };
58
52
 
59
53
  //# sourceMappingURL=Asset.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Asset","constructor","props","clone","withProps","structuredClone","newAsset","contentsReader","outputStrategy","getId","id","getTenant","tenant","getKey","key","getSize","size","getContentType","contentType","getExtension","split","pop","getContents","Error","read","setContentsReader","reader","output","setOutputStrategy","setter"],"sources":["Asset.ts"],"sourcesContent":["import type { AssetContentsReader, AssetOutputStrategy } from \"~/delivery/index.js\";\n\ntype Setter<T> = (arg: T | undefined) => T;\n\nexport interface AssetData {\n id: string;\n tenant: string;\n key: string;\n size: number;\n contentType: string;\n}\n\nexport class Asset {\n protected readonly props: AssetData;\n private outputStrategy: AssetOutputStrategy | undefined;\n private contentsReader: AssetContentsReader | undefined;\n\n constructor(props: AssetData) {\n this.props = props;\n }\n\n clone() {\n return this.withProps(structuredClone(this.props));\n }\n\n withProps(props: Partial<AssetData>) {\n const newAsset = new Asset({ ...this.props, ...props });\n newAsset.contentsReader = this.contentsReader;\n newAsset.outputStrategy = this.outputStrategy;\n return newAsset;\n }\n\n getId() {\n return this.props.id;\n }\n getTenant() {\n return this.props.tenant;\n }\n getKey() {\n return this.props.key;\n }\n getSize() {\n return this.props.size;\n }\n getContentType() {\n return this.props.contentType;\n }\n getExtension() {\n return this.getKey().split(\".\").pop() ?? \"\";\n }\n\n getContents() {\n if (!this.contentsReader) {\n throw Error(`Asset contents reader was not configured!`);\n }\n return this.contentsReader.read(this);\n }\n\n setContentsReader(reader: AssetContentsReader) {\n this.contentsReader = reader;\n }\n\n output() {\n if (!this.outputStrategy) {\n throw Error(`Asset output strategy was not configured!`);\n }\n\n return this.outputStrategy.output(this);\n }\n\n setOutputStrategy(setter: Setter<AssetOutputStrategy> | AssetOutputStrategy) {\n if (typeof setter === \"function\") {\n this.outputStrategy = setter(this.outputStrategy);\n } else {\n this.outputStrategy = setter;\n }\n }\n}\n"],"mappings":"AAYA,OAAO,MAAMA,KAAK,CAAC;EAKfC,WAAWA,CAACC,KAAgB,EAAE;IAC1B,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEAC,KAAKA,CAAA,EAAG;IACJ,OAAO,IAAI,CAACC,SAAS,CAACC,eAAe,CAAC,IAAI,CAACH,KAAK,CAAC,CAAC;EACtD;EAEAE,SAASA,CAACF,KAAyB,EAAE;IACjC,MAAMI,QAAQ,GAAG,IAAIN,KAAK,CAAC;MAAE,GAAG,IAAI,CAACE,KAAK;MAAE,GAAGA;IAAM,CAAC,CAAC;IACvDI,QAAQ,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc;IAC7CD,QAAQ,CAACE,cAAc,GAAG,IAAI,CAACA,cAAc;IAC7C,OAAOF,QAAQ;EACnB;EAEAG,KAAKA,CAAA,EAAG;IACJ,OAAO,IAAI,CAACP,KAAK,CAACQ,EAAE;EACxB;EACAC,SAASA,CAAA,EAAG;IACR,OAAO,IAAI,CAACT,KAAK,CAACU,MAAM;EAC5B;EACAC,MAAMA,CAAA,EAAG;IACL,OAAO,IAAI,CAACX,KAAK,CAACY,GAAG;EACzB;EACAC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACb,KAAK,CAACc,IAAI;EAC1B;EACAC,cAAcA,CAAA,EAAG;IACb,OAAO,IAAI,CAACf,KAAK,CAACgB,WAAW;EACjC;EACAC,YAAYA,CAAA,EAAG;IACX,OAAO,IAAI,CAACN,MAAM,CAAC,CAAC,CAACO,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,EAAE;EAC/C;EAEAC,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC,IAAI,CAACf,cAAc,EAAE;MACtB,MAAMgB,KAAK,CAAC,2CAA2C,CAAC;IAC5D;IACA,OAAO,IAAI,CAAChB,cAAc,CAACiB,IAAI,CAAC,IAAI,CAAC;EACzC;EAEAC,iBAAiBA,CAACC,MAA2B,EAAE;IAC3C,IAAI,CAACnB,cAAc,GAAGmB,MAAM;EAChC;EAEAC,MAAMA,CAAA,EAAG;IACL,IAAI,CAAC,IAAI,CAACnB,cAAc,EAAE;MACtB,MAAMe,KAAK,CAAC,2CAA2C,CAAC;IAC5D;IAEA,OAAO,IAAI,CAACf,cAAc,CAACmB,MAAM,CAAC,IAAI,CAAC;EAC3C;EAEAC,iBAAiBA,CAACC,MAAyD,EAAE;IACzE,IAAI,OAAOA,MAAM,KAAK,UAAU,EAAE;MAC9B,IAAI,CAACrB,cAAc,GAAGqB,MAAM,CAAC,IAAI,CAACrB,cAAc,CAAC;IACrD,CAAC,MAAM;MACH,IAAI,CAACA,cAAc,GAAGqB,MAAM;IAChC;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"delivery/AssetDelivery/Asset.js","sources":["../../../src/delivery/AssetDelivery/Asset.ts"],"sourcesContent":["import type { AssetContentsReader, AssetOutputStrategy } from \"~/delivery/index.js\";\n\ntype Setter<T> = (arg: T | undefined) => T;\n\nexport interface AssetData {\n id: string;\n tenant: string;\n key: string;\n size: number;\n contentType: string;\n}\n\nexport class Asset {\n protected readonly props: AssetData;\n private outputStrategy: AssetOutputStrategy | undefined;\n private contentsReader: AssetContentsReader | undefined;\n\n constructor(props: AssetData) {\n this.props = props;\n }\n\n clone() {\n return this.withProps(structuredClone(this.props));\n }\n\n withProps(props: Partial<AssetData>) {\n const newAsset = new Asset({ ...this.props, ...props });\n newAsset.contentsReader = this.contentsReader;\n newAsset.outputStrategy = this.outputStrategy;\n return newAsset;\n }\n\n getId() {\n return this.props.id;\n }\n getTenant() {\n return this.props.tenant;\n }\n getKey() {\n return this.props.key;\n }\n getSize() {\n return this.props.size;\n }\n getContentType() {\n return this.props.contentType;\n }\n getExtension() {\n return this.getKey().split(\".\").pop() ?? \"\";\n }\n\n getContents() {\n if (!this.contentsReader) {\n throw Error(`Asset contents reader was not configured!`);\n }\n return this.contentsReader.read(this);\n }\n\n setContentsReader(reader: AssetContentsReader) {\n this.contentsReader = reader;\n }\n\n output() {\n if (!this.outputStrategy) {\n throw Error(`Asset output strategy was not configured!`);\n }\n\n return this.outputStrategy.output(this);\n }\n\n setOutputStrategy(setter: Setter<AssetOutputStrategy> | AssetOutputStrategy) {\n if (typeof setter === \"function\") {\n this.outputStrategy = setter(this.outputStrategy);\n } else {\n this.outputStrategy = setter;\n }\n }\n}\n"],"names":["Asset","props","structuredClone","newAsset","Error","reader","setter"],"mappings":"AAYO,MAAMA;IAKT,YAAYC,KAAgB,CAAE;QAC1B,IAAI,CAAC,KAAK,GAAGA;IACjB;IAEA,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAACC,gBAAgB,IAAI,CAAC,KAAK;IACpD;IAEA,UAAUD,KAAyB,EAAE;QACjC,MAAME,WAAW,IAAIH,MAAM;YAAE,GAAG,IAAI,CAAC,KAAK;YAAE,GAAGC,KAAK;QAAC;QACrDE,SAAS,cAAc,GAAG,IAAI,CAAC,cAAc;QAC7CA,SAAS,cAAc,GAAG,IAAI,CAAC,cAAc;QAC7C,OAAOA;IACX;IAEA,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;IACxB;IACA,YAAY;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;IAC5B;IACA,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG;IACzB;IACA,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;IAC1B;IACA,iBAAiB;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;IACjC;IACA,eAAe;QACX,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;IAC7C;IAEA,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,cAAc,EACpB,MAAMC,MAAM;QAEhB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;IACxC;IAEA,kBAAkBC,MAA2B,EAAE;QAC3C,IAAI,CAAC,cAAc,GAAGA;IAC1B;IAEA,SAAS;QACL,IAAI,CAAC,IAAI,CAAC,cAAc,EACpB,MAAMD,MAAM;QAGhB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;IAC1C;IAEA,kBAAkBE,MAAyD,EAAE;QACzE,IAAI,AAAkB,cAAlB,OAAOA,QACP,IAAI,CAAC,cAAc,GAAGA,OAAO,IAAI,CAAC,cAAc;aAEhD,IAAI,CAAC,cAAc,GAAGA;IAE9B;AACJ"}
@@ -1,22 +1,23 @@
1
- export class AssetRequest {
2
- constructor(data) {
3
- this.data = data;
4
- }
5
- getKey() {
6
- return this.data.key;
7
- }
8
- getOptions() {
9
- return this.data.options;
10
- }
11
- setOptions(options) {
12
- this.data.options = options;
13
- }
14
- getContext() {
15
- return this.data.context;
16
- }
17
- getExtension() {
18
- return this.data.key.split(".").pop();
19
- }
1
+ class AssetRequest {
2
+ constructor(data){
3
+ this.data = data;
4
+ }
5
+ getKey() {
6
+ return this.data.key;
7
+ }
8
+ getOptions() {
9
+ return this.data.options;
10
+ }
11
+ setOptions(options) {
12
+ this.data.options = options;
13
+ }
14
+ getContext() {
15
+ return this.data.context;
16
+ }
17
+ getExtension() {
18
+ return this.data.key.split(".").pop();
19
+ }
20
20
  }
21
+ export { AssetRequest };
21
22
 
22
23
  //# sourceMappingURL=AssetRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AssetRequest","constructor","data","getKey","key","getOptions","options","setOptions","getContext","context","getExtension","split","pop"],"sources":["AssetRequest.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface AssetRequestOptions {\n original?: boolean;\n width?: number;\n}\n\nexport type AssetRequestContext<T extends GenericRecord = GenericRecord> = T & {\n /**\n * Asset request URL.\n */\n url: string;\n};\n\nexport interface AssetRequestData<TOptions> {\n key: string;\n context: AssetRequestContext;\n options: TOptions;\n}\n\nexport class AssetRequest<TOptions extends AssetRequestOptions = AssetRequestOptions> {\n private data: AssetRequestData<TOptions>;\n\n constructor(data: AssetRequestData<TOptions>) {\n this.data = data;\n }\n\n getKey() {\n return this.data.key;\n }\n\n getOptions(): TOptions {\n return this.data.options;\n }\n\n setOptions(options: TOptions) {\n this.data.options = options;\n }\n\n getContext<T extends GenericRecord = GenericRecord>() {\n return this.data.context as AssetRequestContext<T>;\n }\n\n getExtension() {\n return this.data.key.split(\".\").pop();\n }\n}\n"],"mappings":"AAoBA,OAAO,MAAMA,YAAY,CAA6D;EAGlFC,WAAWA,CAACC,IAAgC,EAAE;IAC1C,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAC,MAAMA,CAAA,EAAG;IACL,OAAO,IAAI,CAACD,IAAI,CAACE,GAAG;EACxB;EAEAC,UAAUA,CAAA,EAAa;IACnB,OAAO,IAAI,CAACH,IAAI,CAACI,OAAO;EAC5B;EAEAC,UAAUA,CAACD,OAAiB,EAAE;IAC1B,IAAI,CAACJ,IAAI,CAACI,OAAO,GAAGA,OAAO;EAC/B;EAEAE,UAAUA,CAAA,EAA4C;IAClD,OAAO,IAAI,CAACN,IAAI,CAACO,OAAO;EAC5B;EAEAC,YAAYA,CAAA,EAAG;IACX,OAAO,IAAI,CAACR,IAAI,CAACE,GAAG,CAACO,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;EACzC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"delivery/AssetDelivery/AssetRequest.js","sources":["../../../src/delivery/AssetDelivery/AssetRequest.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface AssetRequestOptions {\n original?: boolean;\n width?: number;\n}\n\nexport type AssetRequestContext<T extends GenericRecord = GenericRecord> = T & {\n /**\n * Asset request URL.\n */\n url: string;\n};\n\nexport interface AssetRequestData<TOptions> {\n key: string;\n context: AssetRequestContext;\n options: TOptions;\n}\n\nexport class AssetRequest<TOptions extends AssetRequestOptions = AssetRequestOptions> {\n private data: AssetRequestData<TOptions>;\n\n constructor(data: AssetRequestData<TOptions>) {\n this.data = data;\n }\n\n getKey() {\n return this.data.key;\n }\n\n getOptions(): TOptions {\n return this.data.options;\n }\n\n setOptions(options: TOptions) {\n this.data.options = options;\n }\n\n getContext<T extends GenericRecord = GenericRecord>() {\n return this.data.context as AssetRequestContext<T>;\n }\n\n getExtension() {\n return this.data.key.split(\".\").pop();\n }\n}\n"],"names":["AssetRequest","data","options"],"mappings":"AAoBO,MAAMA;IAGT,YAAYC,IAAgC,CAAE;QAC1C,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,SAAS;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG;IACxB;IAEA,aAAuB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;IAC5B;IAEA,WAAWC,OAAiB,EAAE;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAGA;IACxB;IAEA,aAAsD;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;IAC5B;IAEA,eAAe;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;IACvC;AACJ"}
@@ -1,31 +1,32 @@
1
1
  import { ResponseHeaders } from "@webiny/handler";
2
- const defaultBody = () => "";
3
- export class AssetReply {
4
- constructor(params = {
5
- code: 200
6
- }) {
7
- this.code = params.code;
8
- this.headers = params.headers || ResponseHeaders.create();
9
- this.body = params.body || defaultBody;
10
- }
11
- setHeaders(cb) {
12
- this.headers = cb(this.headers);
13
- }
14
- getHeaders() {
15
- return this.headers;
16
- }
17
- setCode(code) {
18
- this.code = code;
19
- }
20
- getCode() {
21
- return this.code;
22
- }
23
- setBody(body) {
24
- this.body = body;
25
- }
26
- getBody() {
27
- return this.body();
28
- }
2
+ const defaultBody = ()=>"";
3
+ class AssetReply {
4
+ constructor(params = {
5
+ code: 200
6
+ }){
7
+ this.code = params.code;
8
+ this.headers = params.headers || ResponseHeaders.create();
9
+ this.body = params.body || defaultBody;
10
+ }
11
+ setHeaders(cb) {
12
+ this.headers = cb(this.headers);
13
+ }
14
+ getHeaders() {
15
+ return this.headers;
16
+ }
17
+ setCode(code) {
18
+ this.code = code;
19
+ }
20
+ getCode() {
21
+ return this.code;
22
+ }
23
+ setBody(body) {
24
+ this.body = body;
25
+ }
26
+ getBody() {
27
+ return this.body();
28
+ }
29
29
  }
30
+ export { AssetReply };
30
31
 
31
32
  //# sourceMappingURL=AssetReply.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ResponseHeaders","defaultBody","AssetReply","constructor","params","code","headers","create","body","setHeaders","cb","getHeaders","setCode","getCode","setBody","getBody"],"sources":["AssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\n\ninterface HeadersSetter {\n (headers: ResponseHeaders): ResponseHeaders;\n}\n\ninterface AssetReplyParams {\n code: number;\n headers?: ResponseHeaders;\n body?: AssetReplyBody;\n}\n\ninterface AssetReplyBody {\n (): Promise<unknown> | unknown;\n}\n\nconst defaultBody = () => \"\";\n\nexport class AssetReply {\n private headers: ResponseHeaders;\n private code: number;\n private body: AssetReplyBody;\n\n constructor(params: AssetReplyParams = { code: 200 }) {\n this.code = params.code;\n this.headers = params.headers || ResponseHeaders.create();\n this.body = params.body || defaultBody;\n }\n\n setHeaders(cb: HeadersSetter) {\n this.headers = cb(this.headers);\n }\n\n getHeaders() {\n return this.headers;\n }\n\n setCode(code: number) {\n this.code = code;\n }\n\n getCode() {\n return this.code;\n }\n\n setBody(body: AssetReplyBody) {\n this.body = body;\n }\n\n getBody() {\n return this.body();\n }\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,iBAAiB;AAgBjD,MAAMC,WAAW,GAAGA,CAAA,KAAM,EAAE;AAE5B,OAAO,MAAMC,UAAU,CAAC;EAKpBC,WAAWA,CAACC,MAAwB,GAAG;IAAEC,IAAI,EAAE;EAAI,CAAC,EAAE;IAClD,IAAI,CAACA,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAIN,eAAe,CAACO,MAAM,CAAC,CAAC;IACzD,IAAI,CAACC,IAAI,GAAGJ,MAAM,CAACI,IAAI,IAAIP,WAAW;EAC1C;EAEAQ,UAAUA,CAACC,EAAiB,EAAE;IAC1B,IAAI,CAACJ,OAAO,GAAGI,EAAE,CAAC,IAAI,CAACJ,OAAO,CAAC;EACnC;EAEAK,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACL,OAAO;EACvB;EAEAM,OAAOA,CAACP,IAAY,EAAE;IAClB,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAQ,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACR,IAAI;EACpB;EAEAS,OAAOA,CAACN,IAAoB,EAAE;IAC1B,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAO,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACP,IAAI,CAAC,CAAC;EACtB;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"delivery/AssetDelivery/abstractions/AssetReply.js","sources":["../../../../src/delivery/AssetDelivery/abstractions/AssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\n\ninterface HeadersSetter {\n (headers: ResponseHeaders): ResponseHeaders;\n}\n\ninterface AssetReplyParams {\n code: number;\n headers?: ResponseHeaders;\n body?: AssetReplyBody;\n}\n\ninterface AssetReplyBody {\n (): Promise<unknown> | unknown;\n}\n\nconst defaultBody = () => \"\";\n\nexport class AssetReply {\n private headers: ResponseHeaders;\n private code: number;\n private body: AssetReplyBody;\n\n constructor(params: AssetReplyParams = { code: 200 }) {\n this.code = params.code;\n this.headers = params.headers || ResponseHeaders.create();\n this.body = params.body || defaultBody;\n }\n\n setHeaders(cb: HeadersSetter) {\n this.headers = cb(this.headers);\n }\n\n getHeaders() {\n return this.headers;\n }\n\n setCode(code: number) {\n this.code = code;\n }\n\n getCode() {\n return this.code;\n }\n\n setBody(body: AssetReplyBody) {\n this.body = body;\n }\n\n getBody() {\n return this.body();\n }\n}\n"],"names":["defaultBody","AssetReply","params","ResponseHeaders","cb","code","body"],"mappings":";AAgBA,MAAMA,cAAc,IAAM;AAEnB,MAAMC;IAKT,YAAYC,SAA2B;QAAE,MAAM;IAAI,CAAC,CAAE;QAClD,IAAI,CAAC,IAAI,GAAGA,OAAO,IAAI;QACvB,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO,IAAIC,gBAAgB,MAAM;QACvD,IAAI,CAAC,IAAI,GAAGD,OAAO,IAAI,IAAIF;IAC/B;IAEA,WAAWI,EAAiB,EAAE;QAC1B,IAAI,CAAC,OAAO,GAAGA,GAAG,IAAI,CAAC,OAAO;IAClC;IAEA,aAAa;QACT,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,QAAQC,IAAY,EAAE;QAClB,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,UAAU;QACN,OAAO,IAAI,CAAC,IAAI;IACpB;IAEA,QAAQC,IAAoB,EAAE;QAC1B,IAAI,CAAC,IAAI,GAAGA;IAChB;IAEA,UAAU;QACN,OAAO,IAAI,CAAC,IAAI;IACpB;AACJ"}
@@ -1,8 +1,7 @@
1
- export const createAssetDeliveryPluginLoader = cb => {
2
- if (process.env.WEBINY_FUNCTION_TYPE === "asset-delivery") {
3
- return () => cb();
4
- }
5
- return () => Promise.resolve([]);
1
+ const createAssetDeliveryPluginLoader = (cb)=>{
2
+ if ("asset-delivery" === process.env.WEBINY_FUNCTION_TYPE) return ()=>cb();
3
+ return ()=>Promise.resolve([]);
6
4
  };
5
+ export { createAssetDeliveryPluginLoader };
7
6
 
8
7
  //# sourceMappingURL=createAssetDeliveryPluginLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAssetDeliveryPluginLoader","cb","process","env","WEBINY_FUNCTION_TYPE","Promise","resolve"],"sources":["createAssetDeliveryPluginLoader.ts"],"sourcesContent":["import type { PluginFactory } from \"@webiny/plugins/types.js\";\n\nexport const createAssetDeliveryPluginLoader = (cb: PluginFactory): PluginFactory => {\n if (process.env.WEBINY_FUNCTION_TYPE === \"asset-delivery\") {\n return () => cb();\n }\n\n return () => Promise.resolve([]);\n};\n"],"mappings":"AAEA,OAAO,MAAMA,+BAA+B,GAAIC,EAAiB,IAAoB;EACjF,IAAIC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,gBAAgB,EAAE;IACvD,OAAO,MAAMH,EAAE,CAAC,CAAC;EACrB;EAEA,OAAO,MAAMI,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;AACpC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"delivery/AssetDelivery/createAssetDeliveryPluginLoader.js","sources":["../../../src/delivery/AssetDelivery/createAssetDeliveryPluginLoader.ts"],"sourcesContent":["import type { PluginFactory } from \"@webiny/plugins/types.js\";\n\nexport const createAssetDeliveryPluginLoader = (cb: PluginFactory): PluginFactory => {\n if (process.env.WEBINY_FUNCTION_TYPE === \"asset-delivery\") {\n return () => cb();\n }\n\n return () => Promise.resolve([]);\n};\n"],"names":["createAssetDeliveryPluginLoader","cb","process","Promise"],"mappings":"AAEO,MAAMA,kCAAkC,CAACC;IAC5C,IAAIC,AAAqC,qBAArCA,QAAQ,GAAG,CAAC,oBAAoB,EAChC,OAAO,IAAMD;IAGjB,OAAO,IAAME,QAAQ,OAAO,CAAC,EAAE;AACnC"}
@@ -1,16 +1,7 @@
1
- export * from "./AssetDelivery/AssetDeliveryConfig.js";
2
1
  export * from "./AssetDelivery/Asset.js";
3
2
  export * from "./AssetDelivery/AssetRequest.js";
4
- export type * from "./AssetDelivery/abstractions/AssetRequestResolver.js";
5
- export type * from "./AssetDelivery/abstractions/AssetResolver.js";
6
- export type * from "./AssetDelivery/abstractions/AssetProcessor.js";
7
- export type * from "./AssetDelivery/abstractions/AssetContentsReader.js";
8
- export type * from "./AssetDelivery/abstractions/AssetOutputStrategy.js";
9
- export type * from "./AssetDelivery/abstractions/AssetTransformationStrategy.js";
10
3
  export * from "./AssetDelivery/abstractions/AssetReply.js";
11
4
  export * from "./AssetDelivery/createAssetDeliveryPluginLoader.js";
12
- export * from "./AssetDelivery/FilesAssetRequestResolver.js";
13
- export * from "./AssetDelivery/SetCacheControlHeaders.js";
14
- export * from "./AssetDelivery/SetResponseHeaders.js";
15
- export * from "./AssetDelivery/privateFiles/PublicCache.js";
16
- export * from "./AssetDelivery/privateFiles/PrivateCache.js";
5
+ export type { IAssetRequestResolver as AssetRequestResolver, IAssetResolver as AssetResolver, IAssetProcessor as AssetProcessor, IAssetOutputStrategy as AssetOutputStrategy, IAssetTransformationStrategy as AssetTransformationStrategy, IAssetContentsReader as AssetContentsReader } from "../features/assetDelivery/abstractions.js";
6
+ export { PublicCache } from "../features/assetDelivery/privateFiles/PublicCache.js";
7
+ export { PrivateCache } from "../features/assetDelivery/privateFiles/PrivateCache.js";
package/delivery/index.js CHANGED
@@ -1,12 +1,6 @@
1
- export * from "./AssetDelivery/AssetDeliveryConfig.js";
2
1
  export * from "./AssetDelivery/Asset.js";
3
2
  export * from "./AssetDelivery/AssetRequest.js";
4
3
  export * from "./AssetDelivery/abstractions/AssetReply.js";
5
4
  export * from "./AssetDelivery/createAssetDeliveryPluginLoader.js";
6
- export * from "./AssetDelivery/FilesAssetRequestResolver.js";
7
- export * from "./AssetDelivery/SetCacheControlHeaders.js";
8
- export * from "./AssetDelivery/SetResponseHeaders.js";
9
- export * from "./AssetDelivery/privateFiles/PublicCache.js";
10
- export * from "./AssetDelivery/privateFiles/PrivateCache.js";
11
-
12
- //# sourceMappingURL=index.js.map
5
+ export { PublicCache } from "../features/assetDelivery/privateFiles/PublicCache.js";
6
+ export { PrivateCache } from "../features/assetDelivery/privateFiles/PrivateCache.js";
@@ -1,2 +1 @@
1
- import { AssetDeliveryConfigModifierPlugin } from "./index.js";
2
- export declare const setupAssetDelivery: () => (AssetDeliveryConfigModifierPlugin | import("@webiny/handler").ModifyFastifyPlugin)[];
1
+ export declare const setupAssetDelivery: () => import("@webiny/handler").ModifyFastifyPlugin[];
@@ -1,114 +1,69 @@
1
- import { createHandlerOnRequest, createModifyFastifyPlugin, createRoute, ResponseHeaders } from "@webiny/handler";
2
- import { PrivateFilesAssetProcessor } from "./AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js";
3
- import { PrivateAuthenticatedAuthorizer } from "./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js";
4
- import { PrivateFileAssetRequestResolver } from "./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js";
5
- import { AssetDeliveryConfigBuilder, AssetDeliveryConfigModifierPlugin, FilesAssetRequestResolver, createAssetDeliveryConfig } from "./index.js";
1
+ import { ResponseHeaders, createHandlerOnRequest, createModifyFastifyPlugin, createRoute } from "@webiny/handler";
2
+ import { AssetOutputStrategy, AssetProcessor, AssetRequestResolver, AssetResolver } from "../features/assetDelivery/abstractions.js";
6
3
  const noCacheHeaders = ResponseHeaders.create({
7
- "content-type": "application/json",
8
- "cache-control": "no-cache, no-store, must-revalidate"
4
+ "content-type": "application/json",
5
+ "cache-control": "no-cache, no-store, must-revalidate"
9
6
  });
10
7
  function assertAssetRequestWasResolved(request) {
11
- if (request === undefined) {
12
- throw new Error("Not an AssetRequest!");
13
- }
8
+ if (void 0 === request) throw new Error("Not an AssetRequest!");
14
9
  }
15
10
  function assertAssetWasResolved(asset) {
16
- if (asset === undefined) {
17
- throw new Error("Not an Asset!");
18
- }
11
+ if (void 0 === asset) throw new Error("Not an Asset!");
19
12
  }
20
- export const setupAssetDelivery = () => {
21
- const outputAsset = async (reply, asset) => {
22
- const assetReply = await asset.output();
23
- const headers = assetReply.getHeaders();
24
-
25
- // Set default headers.
26
- headers.set("x-webiny-base64-encoded", "true");
27
- reply.code(assetReply.getCode());
28
- reply.headers(headers.getHeaders());
29
- return reply.send(await assetReply.getBody());
30
- };
31
- return [createModifyFastifyPlugin(app => {
32
- // Config builder allows config modification via plugins.
33
- const configBuilder = new AssetDeliveryConfigBuilder();
34
-
35
- // Apply config modifications.
36
- const configPlugins = app.webiny.plugins.byType(AssetDeliveryConfigModifierPlugin.type);
37
- configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));
38
- let resolvedRequest;
39
- let resolvedAsset;
40
-
41
- // Create a `HandlerOnRequest` plugin to resolve `tenant`, and allow the system to bootstrap.
42
- const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {
43
- const requestResolver = configBuilder.getAssetRequestResolver();
44
- resolvedRequest = await requestResolver.resolve(request);
45
- if (!resolvedRequest) {
46
- reply.code(404).headers(noCacheHeaders.getHeaders()).send({
47
- error: "Unable to resolve the request!"
48
- }).hijack();
49
- return false;
50
- }
51
- const container = app.webiny.container;
52
- const assetResolver = configBuilder.getAssetResolver(container);
53
- resolvedAsset = await assetResolver.resolve(resolvedRequest);
54
- if (!resolvedAsset) {
55
- reply.code(404).headers(noCacheHeaders.getHeaders()).send({
56
- error: "Asset not found!"
57
- }).hijack();
58
- return false;
59
- }
60
- request.headers = {
61
- ...request.headers,
62
- "x-tenant": resolvedAsset.getTenant()
63
- };
64
- return;
65
- });
66
-
67
- // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.
68
- const deliveryRoute = createRoute(({
69
- onGet,
70
- context
71
- }) => {
72
- onGet("*", async (_, reply) => {
73
- assertAssetRequestWasResolved(resolvedRequest);
74
- assertAssetWasResolved(resolvedAsset);
75
- if (context.wcp.canUsePrivateFiles()) {
76
- configBuilder.decorateAssetProcessor(({
77
- assetProcessor,
78
- context
79
- }) => {
80
- // Currently, we only have one authorizer.
81
- const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);
82
- return new PrivateFilesAssetProcessor(context, assetAuthorizer, assetProcessor);
83
- });
84
- }
85
- const outputStrategy = configBuilder.getAssetOutputStrategy(context, resolvedRequest, resolvedAsset);
86
- resolvedAsset.setOutputStrategy(outputStrategy);
87
- const assetProcessor = configBuilder.getAssetProcessor(context);
88
- const processedAsset = await assetProcessor.process(resolvedRequest, resolvedAsset);
89
-
90
- // Get reply object (runs the output strategy under the hood).
91
- console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);
92
- return outputAsset(reply, processedAsset);
93
- }, {
94
- override: true
95
- });
96
- });
97
- app.webiny.plugins.register(handlerOnRequest, deliveryRoute);
98
- }),
99
- // Create the default configuration
100
- createAssetDeliveryConfig(config => {
101
- config.decorateAssetRequestResolver(() => {
102
- // This resolver works with `/files/*` requests.
103
- return new FilesAssetRequestResolver();
104
- });
105
- config.decorateAssetRequestResolver(({
106
- assetRequestResolver
107
- }) => {
108
- // This resolver works with `/private/*` requests.
109
- return new PrivateFileAssetRequestResolver(assetRequestResolver);
110
- });
111
- })];
13
+ const setupAssetDelivery = ()=>{
14
+ const outputAsset = async (reply, asset)=>{
15
+ const assetReply = await asset.output();
16
+ const headers = assetReply.getHeaders();
17
+ headers.set("x-webiny-base64-encoded", "true");
18
+ reply.code(assetReply.getCode());
19
+ reply.headers(headers.getHeaders());
20
+ return reply.send(await assetReply.getBody());
21
+ };
22
+ return [
23
+ createModifyFastifyPlugin((app)=>{
24
+ const container = app.webiny.container;
25
+ let resolvedRequest;
26
+ let resolvedAsset;
27
+ const handlerOnRequest = createHandlerOnRequest(async (request, reply)=>{
28
+ const requestResolver = container.resolve(AssetRequestResolver);
29
+ resolvedRequest = await requestResolver.resolve(request);
30
+ if (!resolvedRequest) {
31
+ reply.code(404).headers(noCacheHeaders.getHeaders()).send({
32
+ error: "Unable to resolve the request!"
33
+ }).hijack();
34
+ return false;
35
+ }
36
+ const assetResolver = container.resolve(AssetResolver);
37
+ resolvedAsset = await assetResolver.resolve(resolvedRequest);
38
+ if (!resolvedAsset) {
39
+ reply.code(404).headers(noCacheHeaders.getHeaders()).send({
40
+ error: "Asset not found!"
41
+ }).hijack();
42
+ return false;
43
+ }
44
+ request.headers = {
45
+ ...request.headers,
46
+ "x-tenant": resolvedAsset.getTenant()
47
+ };
48
+ });
49
+ const deliveryRoute = createRoute(({ onGet, context })=>{
50
+ onGet("*", async (_, reply)=>{
51
+ assertAssetRequestWasResolved(resolvedRequest);
52
+ assertAssetWasResolved(resolvedAsset);
53
+ const outputStrategy = context.container.resolve(AssetOutputStrategy);
54
+ resolvedAsset.setOutputStrategy(outputStrategy);
55
+ const assetProcessor = context.container.resolve(AssetProcessor);
56
+ const processedAsset = await assetProcessor.process(resolvedRequest, resolvedAsset);
57
+ console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);
58
+ return outputAsset(reply, processedAsset);
59
+ }, {
60
+ override: true
61
+ });
62
+ });
63
+ app.webiny.plugins.register(handlerOnRequest, deliveryRoute);
64
+ })
65
+ ];
112
66
  };
67
+ export { setupAssetDelivery };
113
68
 
114
69
  //# sourceMappingURL=setupAssetDelivery.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createHandlerOnRequest","createModifyFastifyPlugin","createRoute","ResponseHeaders","PrivateFilesAssetProcessor","PrivateAuthenticatedAuthorizer","PrivateFileAssetRequestResolver","AssetDeliveryConfigBuilder","AssetDeliveryConfigModifierPlugin","FilesAssetRequestResolver","createAssetDeliveryConfig","noCacheHeaders","create","assertAssetRequestWasResolved","request","undefined","Error","assertAssetWasResolved","asset","setupAssetDelivery","outputAsset","reply","assetReply","output","headers","getHeaders","set","code","getCode","send","getBody","app","configBuilder","configPlugins","webiny","plugins","byType","type","forEach","configPlugin","buildConfig","resolvedRequest","resolvedAsset","handlerOnRequest","requestResolver","getAssetRequestResolver","resolve","error","hijack","container","assetResolver","getAssetResolver","getTenant","deliveryRoute","onGet","context","_","wcp","canUsePrivateFiles","decorateAssetProcessor","assetProcessor","assetAuthorizer","outputStrategy","getAssetOutputStrategy","setOutputStrategy","getAssetProcessor","processedAsset","process","console","log","getSize","override","register","config","decorateAssetRequestResolver","assetRequestResolver"],"sources":["setupAssetDelivery.ts"],"sourcesContent":["import {\n createHandlerOnRequest,\n createModifyFastifyPlugin,\n createRoute,\n ResponseHeaders\n} from \"@webiny/handler\";\nimport { PrivateFilesAssetProcessor } from \"./AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js\";\nimport { PrivateAuthenticatedAuthorizer } from \"./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js\";\nimport { PrivateFileAssetRequestResolver } from \"./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js\";\nimport type { Asset, AssetRequest } from \"./index.js\";\nimport {\n AssetDeliveryConfigBuilder,\n AssetDeliveryConfigModifierPlugin,\n FilesAssetRequestResolver,\n createAssetDeliveryConfig\n} from \"./index.js\";\nimport type { Reply } from \"@webiny/handler/types.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nconst noCacheHeaders = ResponseHeaders.create({\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache, no-store, must-revalidate\"\n});\n\nfunction assertAssetRequestWasResolved(request: any): asserts request is AssetRequest {\n if (request === undefined) {\n throw new Error(\"Not an AssetRequest!\");\n }\n}\n\nfunction assertAssetWasResolved(asset: Asset | undefined): asserts asset is Asset {\n if (asset === undefined) {\n throw new Error(\"Not an Asset!\");\n }\n}\n\nexport const setupAssetDelivery = () => {\n const outputAsset = async (reply: Reply, asset: Asset) => {\n const assetReply = await asset.output();\n const headers = assetReply.getHeaders();\n\n // Set default headers.\n headers.set(\"x-webiny-base64-encoded\", \"true\");\n\n reply.code(assetReply.getCode());\n reply.headers(headers.getHeaders());\n return reply.send(await assetReply.getBody());\n };\n\n return [\n createModifyFastifyPlugin(app => {\n // Config builder allows config modification via plugins.\n const configBuilder = new AssetDeliveryConfigBuilder();\n\n // Apply config modifications.\n const configPlugins = app.webiny.plugins.byType<AssetDeliveryConfigModifierPlugin>(\n AssetDeliveryConfigModifierPlugin.type\n );\n\n configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));\n\n let resolvedRequest: AssetRequest | undefined;\n let resolvedAsset: Asset | undefined;\n\n // Create a `HandlerOnRequest` plugin to resolve `tenant`, and allow the system to bootstrap.\n const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {\n const requestResolver = configBuilder.getAssetRequestResolver();\n resolvedRequest = await requestResolver.resolve(request);\n\n if (!resolvedRequest) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Unable to resolve the request!\" })\n .hijack();\n\n return false;\n }\n\n const container = app.webiny.container;\n const assetResolver = configBuilder.getAssetResolver(container);\n\n resolvedAsset = await assetResolver.resolve(resolvedRequest);\n\n if (!resolvedAsset) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Asset not found!\" })\n .hijack();\n\n return false;\n }\n\n request.headers = {\n ...request.headers,\n \"x-tenant\": resolvedAsset.getTenant()\n };\n\n return;\n });\n\n // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.\n const deliveryRoute = createRoute<ApiCoreContext>(({ onGet, context }) => {\n onGet(\n \"*\",\n async (_, reply) => {\n assertAssetRequestWasResolved(resolvedRequest);\n assertAssetWasResolved(resolvedAsset);\n\n if (context.wcp.canUsePrivateFiles()) {\n configBuilder.decorateAssetProcessor(({ assetProcessor, context }) => {\n // Currently, we only have one authorizer.\n const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);\n\n return new PrivateFilesAssetProcessor(\n context,\n assetAuthorizer,\n assetProcessor\n );\n });\n }\n\n const outputStrategy = configBuilder.getAssetOutputStrategy(\n context,\n resolvedRequest,\n resolvedAsset\n );\n\n resolvedAsset.setOutputStrategy(outputStrategy);\n\n const assetProcessor = configBuilder.getAssetProcessor(context);\n\n const processedAsset = await assetProcessor.process(\n resolvedRequest,\n resolvedAsset\n );\n\n // Get reply object (runs the output strategy under the hood).\n console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);\n return outputAsset(reply, processedAsset);\n },\n { override: true }\n );\n });\n\n app.webiny.plugins.register(handlerOnRequest, deliveryRoute);\n }),\n // Create the default configuration\n createAssetDeliveryConfig(config => {\n config.decorateAssetRequestResolver(() => {\n // This resolver works with `/files/*` requests.\n return new FilesAssetRequestResolver();\n });\n\n config.decorateAssetRequestResolver(({ assetRequestResolver }) => {\n // This resolver works with `/private/*` requests.\n return new PrivateFileAssetRequestResolver(assetRequestResolver);\n });\n })\n ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"delivery/setupAssetDelivery.js","sources":["../../src/delivery/setupAssetDelivery.ts"],"sourcesContent":["import {\n createHandlerOnRequest,\n createModifyFastifyPlugin,\n createRoute,\n ResponseHeaders\n} from \"@webiny/handler\";\nimport type { Asset, AssetRequest } from \"./index.js\";\nimport type { Reply } from \"@webiny/handler/types.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport {\n AssetRequestResolver,\n AssetResolver,\n AssetProcessor,\n AssetOutputStrategy\n} from \"~/features/assetDelivery/abstractions.js\";\n\nconst noCacheHeaders = ResponseHeaders.create({\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache, no-store, must-revalidate\"\n});\n\nfunction assertAssetRequestWasResolved(request: any): asserts request is AssetRequest {\n if (request === undefined) {\n throw new Error(\"Not an AssetRequest!\");\n }\n}\n\nfunction assertAssetWasResolved(asset: Asset | undefined): asserts asset is Asset {\n if (asset === undefined) {\n throw new Error(\"Not an Asset!\");\n }\n}\n\nexport const setupAssetDelivery = () => {\n const outputAsset = async (reply: Reply, asset: Asset) => {\n const assetReply = await asset.output();\n const headers = assetReply.getHeaders();\n\n headers.set(\"x-webiny-base64-encoded\", \"true\");\n\n reply.code(assetReply.getCode());\n reply.headers(headers.getHeaders());\n return reply.send(await assetReply.getBody());\n };\n\n return [\n createModifyFastifyPlugin(app => {\n const container = app.webiny.container;\n\n let resolvedRequest: AssetRequest | undefined;\n let resolvedAsset: Asset | undefined;\n\n const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {\n const requestResolver = container.resolve(AssetRequestResolver);\n resolvedRequest = await requestResolver.resolve(request);\n\n if (!resolvedRequest) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Unable to resolve the request!\" })\n .hijack();\n\n return false;\n }\n\n const assetResolver = container.resolve(AssetResolver);\n resolvedAsset = await assetResolver.resolve(resolvedRequest);\n\n if (!resolvedAsset) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Asset not found!\" })\n .hijack();\n\n return false;\n }\n\n request.headers = {\n ...request.headers,\n \"x-tenant\": resolvedAsset.getTenant()\n };\n\n return;\n });\n\n const deliveryRoute = createRoute<ApiCoreContext>(({ onGet, context }) => {\n onGet(\n \"*\",\n async (_, reply) => {\n assertAssetRequestWasResolved(resolvedRequest);\n assertAssetWasResolved(resolvedAsset);\n\n const outputStrategy = context.container.resolve(AssetOutputStrategy);\n resolvedAsset.setOutputStrategy(outputStrategy);\n\n const assetProcessor = context.container.resolve(AssetProcessor);\n const processedAsset = await assetProcessor.process(\n resolvedRequest,\n resolvedAsset\n );\n\n console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);\n return outputAsset(reply, processedAsset);\n },\n { override: true }\n );\n });\n\n app.webiny.plugins.register(handlerOnRequest, deliveryRoute);\n })\n ];\n};\n"],"names":["noCacheHeaders","ResponseHeaders","assertAssetRequestWasResolved","request","undefined","Error","assertAssetWasResolved","asset","setupAssetDelivery","outputAsset","reply","assetReply","headers","createModifyFastifyPlugin","app","container","resolvedRequest","resolvedAsset","handlerOnRequest","createHandlerOnRequest","requestResolver","AssetRequestResolver","assetResolver","AssetResolver","deliveryRoute","createRoute","onGet","context","_","outputStrategy","AssetOutputStrategy","assetProcessor","AssetProcessor","processedAsset","console"],"mappings":";;AAgBA,MAAMA,iBAAiBC,gBAAgB,MAAM,CAAC;IAC1C,gBAAgB;IAChB,iBAAiB;AACrB;AAEA,SAASC,8BAA8BC,OAAY;IAC/C,IAAIA,AAAYC,WAAZD,SACA,MAAM,IAAIE,MAAM;AAExB;AAEA,SAASC,uBAAuBC,KAAwB;IACpD,IAAIA,AAAUH,WAAVG,OACA,MAAM,IAAIF,MAAM;AAExB;AAEO,MAAMG,qBAAqB;IAC9B,MAAMC,cAAc,OAAOC,OAAcH;QACrC,MAAMI,aAAa,MAAMJ,MAAM,MAAM;QACrC,MAAMK,UAAUD,WAAW,UAAU;QAErCC,QAAQ,GAAG,CAAC,2BAA2B;QAEvCF,MAAM,IAAI,CAACC,WAAW,OAAO;QAC7BD,MAAM,OAAO,CAACE,QAAQ,UAAU;QAChC,OAAOF,MAAM,IAAI,CAAC,MAAMC,WAAW,OAAO;IAC9C;IAEA,OAAO;QACHE,0BAA0BC,CAAAA;YACtB,MAAMC,YAAYD,IAAI,MAAM,CAAC,SAAS;YAEtC,IAAIE;YACJ,IAAIC;YAEJ,MAAMC,mBAAmBC,uBAAuB,OAAOhB,SAASO;gBAC5D,MAAMU,kBAAkBL,UAAU,OAAO,CAACM;gBAC1CL,kBAAkB,MAAMI,gBAAgB,OAAO,CAACjB;gBAEhD,IAAI,CAACa,iBAAiB;oBAClBN,MACK,IAAI,CAAC,KACL,OAAO,CAACV,eAAe,UAAU,IACjC,IAAI,CAAC;wBAAE,OAAO;oBAAiC,GAC/C,MAAM;oBAEX,OAAO;gBACX;gBAEA,MAAMsB,gBAAgBP,UAAU,OAAO,CAACQ;gBACxCN,gBAAgB,MAAMK,cAAc,OAAO,CAACN;gBAE5C,IAAI,CAACC,eAAe;oBAChBP,MACK,IAAI,CAAC,KACL,OAAO,CAACV,eAAe,UAAU,IACjC,IAAI,CAAC;wBAAE,OAAO;oBAAmB,GACjC,MAAM;oBAEX,OAAO;gBACX;gBAEAG,QAAQ,OAAO,GAAG;oBACd,GAAGA,QAAQ,OAAO;oBAClB,YAAYc,cAAc,SAAS;gBACvC;YAGJ;YAEA,MAAMO,gBAAgBC,YAA4B,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAE;gBACjED,MACI,KACA,OAAOE,GAAGlB;oBACNR,8BAA8Bc;oBAC9BV,uBAAuBW;oBAEvB,MAAMY,iBAAiBF,QAAQ,SAAS,CAAC,OAAO,CAACG;oBACjDb,cAAc,iBAAiB,CAACY;oBAEhC,MAAME,iBAAiBJ,QAAQ,SAAS,CAAC,OAAO,CAACK;oBACjD,MAAMC,iBAAiB,MAAMF,eAAe,OAAO,CAC/Cf,iBACAC;oBAGJiB,QAAQ,GAAG,CAAC,CAAC,oBAAoB,EAAED,eAAe,OAAO,GAAG,QAAQ,CAAC;oBACrE,OAAOxB,YAAYC,OAAOuB;gBAC9B,GACA;oBAAE,UAAU;gBAAK;YAEzB;YAEAnB,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAACI,kBAAkBM;QAClD;KACH;AACL"}
@@ -1,8 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- /**
3
- * FileModel abstraction - represents the fmFile CMS model.
4
- * This will be registered via container.registerInstance in the composite feature.
5
- */
6
- export const FileModel = createAbstraction("FileModel");
2
+ const FileModel = createAbstraction("FileModel");
3
+ export { FileModel };
7
4
 
8
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FileModel"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FileModel abstraction - represents the fmFile CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FileModel = createAbstraction<CmsModel>(\"FileModel\");\n\nexport namespace FileModel {\n export type Interface = CmsModel;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAGD,iBAAiB,CAAW,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/file/abstractions.js","sources":["../../../src/domain/file/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FileModel abstraction - represents the fmFile CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FileModel = createAbstraction<CmsModel>(\"FileModel\");\n\nexport namespace FileModel {\n export type Interface = CmsModel;\n}\n"],"names":["FileModel","createAbstraction"],"mappings":";AAOO,MAAMA,YAAYC,kBAA4B"}