@webiny/api-file-manager 0.0.0-unstable.aa00eecd97 → 0.0.0-unstable.ac6ebf63c6

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 (425) hide show
  1. package/README.md +7 -13
  2. package/contants.d.ts +1 -0
  3. package/contants.js +3 -0
  4. package/contants.js.map +1 -0
  5. package/delivery/AssetDelivery/Asset.d.ts +28 -0
  6. package/delivery/AssetDelivery/Asset.js +59 -0
  7. package/delivery/AssetDelivery/Asset.js.map +1 -0
  8. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +65 -0
  9. package/delivery/AssetDelivery/AssetDeliveryConfig.js +94 -0
  10. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
  11. package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
  12. package/delivery/AssetDelivery/AssetRequest.js +22 -0
  13. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  14. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
  15. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +30 -0
  16. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
  17. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
  18. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +8 -0
  19. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
  20. package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
  21. package/delivery/AssetDelivery/NullAssetReply.js +13 -0
  22. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
  23. package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
  24. package/delivery/AssetDelivery/NullAssetResolver.js +7 -0
  25. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
  26. package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
  27. package/delivery/AssetDelivery/NullRequestResolver.js +7 -0
  28. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
  29. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
  30. package/delivery/AssetDelivery/SetCacheControlHeaders.js +18 -0
  31. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
  32. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
  33. package/delivery/AssetDelivery/SetResponseHeaders.js +18 -0
  34. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
  35. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +4 -0
  36. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +3 -0
  37. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  38. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
  39. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +3 -0
  40. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  41. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
  42. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +3 -0
  43. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
  44. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  45. package/delivery/AssetDelivery/abstractions/AssetReply.js +31 -0
  46. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  47. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
  48. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +3 -0
  49. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  50. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
  51. package/delivery/AssetDelivery/abstractions/AssetResolver.js +3 -0
  52. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
  53. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
  54. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +3 -0
  55. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  56. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  57. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +8 -0
  58. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  59. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
  60. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +3 -0
  61. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
  62. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  63. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +19 -0
  64. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  65. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
  66. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +8 -0
  67. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  68. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +8 -0
  69. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +20 -0
  70. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  71. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +6 -0
  72. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +21 -0
  73. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
  74. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +8 -0
  75. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +30 -0
  76. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  77. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
  78. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +63 -0
  79. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  80. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +6 -0
  81. package/delivery/AssetDelivery/privateFiles/PublicCache.js +21 -0
  82. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
  83. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +7 -0
  84. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +20 -0
  85. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  86. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +7 -0
  87. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +20 -0
  88. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  89. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
  90. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +7 -0
  91. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
  92. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
  93. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +7 -0
  94. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  95. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
  96. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +19 -0
  97. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  98. package/delivery/index.d.ts +16 -0
  99. package/delivery/index.js +12 -0
  100. package/delivery/index.js.map +1 -0
  101. package/delivery/setupAssetDelivery.d.ts +2 -0
  102. package/delivery/setupAssetDelivery.js +114 -0
  103. package/delivery/setupAssetDelivery.js.map +1 -0
  104. package/domain/file/abstractions.d.ts +9 -0
  105. package/domain/file/abstractions.js +8 -0
  106. package/domain/file/abstractions.js.map +1 -0
  107. package/domain/file/errors.d.ts +59 -0
  108. package/domain/file/errors.js +89 -0
  109. package/domain/file/errors.js.map +1 -0
  110. package/domain/file/file.model.d.ts +12 -0
  111. package/domain/file/file.model.js +56 -0
  112. package/domain/file/file.model.js.map +1 -0
  113. package/domain/file/types.d.ts +51 -0
  114. package/domain/file/types.js +3 -0
  115. package/domain/file/types.js.map +1 -0
  116. package/domain/identity/Identity.d.ts +9 -0
  117. package/domain/identity/Identity.js +11 -0
  118. package/domain/identity/Identity.js.map +1 -0
  119. package/domain/settings/constants.d.ts +1 -0
  120. package/domain/settings/constants.js +3 -0
  121. package/domain/settings/constants.js.map +1 -0
  122. package/domain/settings/errors.d.ts +18 -0
  123. package/domain/settings/errors.js +30 -0
  124. package/domain/settings/errors.js.map +1 -0
  125. package/domain/settings/types.d.ts +10 -0
  126. package/domain/settings/types.js +3 -0
  127. package/domain/settings/types.js.map +1 -0
  128. package/domain/settings/validation.d.ts +14 -0
  129. package/domain/settings/validation.js +36 -0
  130. package/domain/settings/validation.js.map +1 -0
  131. package/features/FileManagerFeature.d.ts +1 -0
  132. package/features/FileManagerFeature.js +28 -0
  133. package/features/FileManagerFeature.js.map +1 -0
  134. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  135. package/features/file/CreateFile/CreateFileRepository.js +30 -0
  136. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  137. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  138. package/features/file/CreateFile/CreateFileUseCase.js +91 -0
  139. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  140. package/features/file/CreateFile/abstractions.d.ts +57 -0
  141. package/features/file/CreateFile/abstractions.js +15 -0
  142. package/features/file/CreateFile/abstractions.js.map +1 -0
  143. package/features/file/CreateFile/events.d.ts +29 -0
  144. package/features/file/CreateFile/events.js +28 -0
  145. package/features/file/CreateFile/events.js.map +1 -0
  146. package/features/file/CreateFile/feature.d.ts +1 -0
  147. package/features/file/CreateFile/feature.js +12 -0
  148. package/features/file/CreateFile/feature.js.map +1 -0
  149. package/features/file/CreateFile/index.d.ts +2 -0
  150. package/features/file/CreateFile/index.js +4 -0
  151. package/features/file/CreateFile/index.js.map +1 -0
  152. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  153. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +24 -0
  154. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  155. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  156. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +87 -0
  157. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  158. package/features/file/CreateFilesInBatch/abstractions.d.ts +40 -0
  159. package/features/file/CreateFilesInBatch/abstractions.js +15 -0
  160. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  161. package/features/file/CreateFilesInBatch/events.d.ts +29 -0
  162. package/features/file/CreateFilesInBatch/events.js +28 -0
  163. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  164. package/features/file/CreateFilesInBatch/feature.d.ts +1 -0
  165. package/features/file/CreateFilesInBatch/feature.js +12 -0
  166. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  167. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  168. package/features/file/CreateFilesInBatch/index.js +3 -0
  169. package/features/file/CreateFilesInBatch/index.js.map +1 -0
  170. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  171. package/features/file/DeleteFile/DeleteFileRepository.js +30 -0
  172. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  173. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  174. package/features/file/DeleteFile/DeleteFileUseCase.js +48 -0
  175. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  176. package/features/file/DeleteFile/abstractions.d.ts +37 -0
  177. package/features/file/DeleteFile/abstractions.js +15 -0
  178. package/features/file/DeleteFile/abstractions.js.map +1 -0
  179. package/features/file/DeleteFile/events.d.ts +27 -0
  180. package/features/file/DeleteFile/events.js +28 -0
  181. package/features/file/DeleteFile/events.js.map +1 -0
  182. package/features/file/DeleteFile/feature.d.ts +1 -0
  183. package/features/file/DeleteFile/feature.js +12 -0
  184. package/features/file/DeleteFile/feature.js.map +1 -0
  185. package/features/file/DeleteFile/index.d.ts +2 -0
  186. package/features/file/DeleteFile/index.js +4 -0
  187. package/features/file/DeleteFile/index.js.map +1 -0
  188. package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
  189. package/features/file/FileUrlGenerator/abstractions.js +4 -0
  190. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  191. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  192. package/features/file/GetFile/GetFileRepository.js +33 -0
  193. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  194. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  195. package/features/file/GetFile/GetFileUseCase.js +39 -0
  196. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  197. package/features/file/GetFile/abstractions.d.ts +38 -0
  198. package/features/file/GetFile/abstractions.js +15 -0
  199. package/features/file/GetFile/abstractions.js.map +1 -0
  200. package/features/file/GetFile/feature.d.ts +1 -0
  201. package/features/file/GetFile/feature.js +12 -0
  202. package/features/file/GetFile/feature.js.map +1 -0
  203. package/features/file/GetFile/index.d.ts +1 -0
  204. package/features/file/GetFile/index.js +3 -0
  205. package/features/file/GetFile/index.js.map +1 -0
  206. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  207. package/features/file/ListFiles/ListFilesRepository.js +51 -0
  208. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  209. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  210. package/features/file/ListFiles/ListFilesUseCase.js +48 -0
  211. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  212. package/features/file/ListFiles/abstractions.d.ts +47 -0
  213. package/features/file/ListFiles/abstractions.js +15 -0
  214. package/features/file/ListFiles/abstractions.js.map +1 -0
  215. package/features/file/ListFiles/feature.d.ts +1 -0
  216. package/features/file/ListFiles/feature.js +12 -0
  217. package/features/file/ListFiles/feature.js.map +1 -0
  218. package/features/file/ListFiles/index.d.ts +1 -0
  219. package/features/file/ListFiles/index.js +3 -0
  220. package/features/file/ListFiles/index.js.map +1 -0
  221. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  222. package/features/file/ListTags/ListTagsRepository.js +47 -0
  223. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  224. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  225. package/features/file/ListTags/ListTagsUseCase.js +32 -0
  226. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  227. package/features/file/ListTags/abstractions.d.ts +43 -0
  228. package/features/file/ListTags/abstractions.js +15 -0
  229. package/features/file/ListTags/abstractions.js.map +1 -0
  230. package/features/file/ListTags/feature.d.ts +1 -0
  231. package/features/file/ListTags/feature.js +12 -0
  232. package/features/file/ListTags/feature.js.map +1 -0
  233. package/features/file/ListTags/index.d.ts +1 -0
  234. package/features/file/ListTags/index.js +3 -0
  235. package/features/file/ListTags/index.js.map +1 -0
  236. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  237. package/features/file/UpdateFile/UpdateFileRepository.js +39 -0
  238. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  239. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  240. package/features/file/UpdateFile/UpdateFileUseCase.js +81 -0
  241. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  242. package/features/file/UpdateFile/abstractions.d.ts +53 -0
  243. package/features/file/UpdateFile/abstractions.js +15 -0
  244. package/features/file/UpdateFile/abstractions.js.map +1 -0
  245. package/features/file/UpdateFile/events.d.ts +32 -0
  246. package/features/file/UpdateFile/events.js +28 -0
  247. package/features/file/UpdateFile/events.js.map +1 -0
  248. package/features/file/UpdateFile/feature.d.ts +1 -0
  249. package/features/file/UpdateFile/feature.js +12 -0
  250. package/features/file/UpdateFile/feature.js.map +1 -0
  251. package/features/file/UpdateFile/index.d.ts +2 -0
  252. package/features/file/UpdateFile/index.js +4 -0
  253. package/features/file/UpdateFile/index.js.map +1 -0
  254. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  255. package/features/file/shared/EntryToFileMapper.js +26 -0
  256. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  257. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  258. package/features/file/shared/FileInputToEntryInputMapper.js +30 -0
  259. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  260. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  261. package/features/file/shared/FileToEntryMapper.js +29 -0
  262. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  263. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  264. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  265. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  266. package/features/settings/GetSettings/abstractions.d.ts +17 -0
  267. package/features/settings/GetSettings/abstractions.js +9 -0
  268. package/features/settings/GetSettings/abstractions.js.map +1 -0
  269. package/features/settings/GetSettings/feature.d.ts +1 -0
  270. package/features/settings/GetSettings/feature.js +10 -0
  271. package/features/settings/GetSettings/feature.js.map +1 -0
  272. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
  273. package/features/settings/SettingsInstaller/SettingsInstaller.js +35 -0
  274. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  275. package/features/settings/SettingsInstaller/feature.d.ts +1 -0
  276. package/features/settings/SettingsInstaller/feature.js +10 -0
  277. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  278. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  279. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +62 -0
  280. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  281. package/features/settings/UpdateSettings/abstractions.d.ts +22 -0
  282. package/features/settings/UpdateSettings/abstractions.js +9 -0
  283. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  284. package/features/settings/UpdateSettings/events.d.ts +32 -0
  285. package/features/settings/UpdateSettings/events.js +28 -0
  286. package/features/settings/UpdateSettings/events.js.map +1 -0
  287. package/features/settings/UpdateSettings/feature.d.ts +1 -0
  288. package/features/settings/UpdateSettings/feature.js +10 -0
  289. package/features/settings/UpdateSettings/feature.js.map +1 -0
  290. package/features/settings/UpdateSettings/index.d.ts +2 -0
  291. package/features/settings/UpdateSettings/index.js +4 -0
  292. package/features/settings/UpdateSettings/index.js.map +1 -0
  293. package/features/shared/abstractions.d.ts +13 -0
  294. package/features/shared/abstractions.js +5 -0
  295. package/features/shared/abstractions.js.map +1 -0
  296. package/graphql/baseSchema.d.ts +3 -0
  297. package/graphql/baseSchema.js +103 -0
  298. package/graphql/baseSchema.js.map +1 -0
  299. package/graphql/createFilesTypeDefs.d.ts +7 -0
  300. package/graphql/createFilesTypeDefs.js +199 -0
  301. package/graphql/createFilesTypeDefs.js.map +1 -0
  302. package/graphql/filesSchema.d.ts +4 -0
  303. package/graphql/filesSchema.js +116 -0
  304. package/graphql/filesSchema.js.map +1 -0
  305. package/graphql/getFileByUrl.d.ts +3 -0
  306. package/graphql/getFileByUrl.js +69 -0
  307. package/graphql/getFileByUrl.js.map +1 -0
  308. package/graphql/index.d.ts +3 -2
  309. package/graphql/index.js +51 -286
  310. package/graphql/index.js.map +1 -1
  311. package/graphql/utils.d.ts +11 -0
  312. package/graphql/utils.js +17 -0
  313. package/graphql/utils.js.map +1 -0
  314. package/index.d.ts +6 -5
  315. package/index.js +47 -63
  316. package/index.js.map +1 -1
  317. package/modelModifier/CmsModelModifier.d.ts +26 -0
  318. package/modelModifier/CmsModelModifier.js +54 -0
  319. package/modelModifier/CmsModelModifier.js.map +1 -0
  320. package/package.json +26 -37
  321. package/permissions/FilesPermissions.d.ts +4 -0
  322. package/permissions/FilesPermissions.js +4 -0
  323. package/permissions/FilesPermissions.js.map +1 -0
  324. package/permissions/SettingsPermissions.d.ts +4 -0
  325. package/permissions/SettingsPermissions.js +4 -0
  326. package/permissions/SettingsPermissions.js.map +1 -0
  327. package/types.d.ts +3 -354
  328. package/types.js +2 -26
  329. package/types.js.map +1 -1
  330. package/createFileManager/checkBasePermissions.d.ts +0 -5
  331. package/createFileManager/checkBasePermissions.js +0 -24
  332. package/createFileManager/checkBasePermissions.js.map +0 -1
  333. package/createFileManager/files.crud.d.ts +0 -3
  334. package/createFileManager/files.crud.js +0 -322
  335. package/createFileManager/files.crud.js.map +0 -1
  336. package/createFileManager/filevalidation.disabled.d.ts +0 -0
  337. package/createFileManager/filevalidation.disabled.js +0 -55
  338. package/createFileManager/filevalidation.disabled.js.map +0 -1
  339. package/createFileManager/index.d.ts +0 -13
  340. package/createFileManager/index.js +0 -20
  341. package/createFileManager/index.js.map +0 -1
  342. package/createFileManager/settings.crud.d.ts +0 -3
  343. package/createFileManager/settings.crud.js +0 -91
  344. package/createFileManager/settings.crud.js.map +0 -1
  345. package/createFileManager/system.crud.d.ts +0 -3
  346. package/createFileManager/system.crud.js +0 -86
  347. package/createFileManager/system.crud.js.map +0 -1
  348. package/handlers/download/byAlias.d.ts +0 -6
  349. package/handlers/download/byAlias.js +0 -89
  350. package/handlers/download/byAlias.js.map +0 -1
  351. package/handlers/download/byExactKey.d.ts +0 -2
  352. package/handlers/download/byExactKey.js +0 -57
  353. package/handlers/download/byExactKey.js.map +0 -1
  354. package/handlers/download/extractFileInformation.d.ts +0 -9
  355. package/handlers/download/extractFileInformation.js +0 -20
  356. package/handlers/download/extractFileInformation.js.map +0 -1
  357. package/handlers/download/getS3Object.d.ts +0 -10
  358. package/handlers/download/getS3Object.js +0 -57
  359. package/handlers/download/getS3Object.js.map +0 -1
  360. package/handlers/download/index.d.ts +0 -2
  361. package/handlers/download/index.js +0 -27
  362. package/handlers/download/index.js.map +0 -1
  363. package/handlers/manage/index.d.ts +0 -5
  364. package/handlers/manage/index.js +0 -55
  365. package/handlers/manage/index.js.map +0 -1
  366. package/handlers/transform/index.d.ts +0 -2
  367. package/handlers/transform/index.js +0 -89
  368. package/handlers/transform/index.js.map +0 -1
  369. package/handlers/transform/legacyUtils.d.ts +0 -17
  370. package/handlers/transform/legacyUtils.js +0 -42
  371. package/handlers/transform/legacyUtils.js.map +0 -1
  372. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  373. package/handlers/transform/loaders/imageLoader.js +0 -94
  374. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  375. package/handlers/transform/loaders/index.d.ts +0 -8
  376. package/handlers/transform/loaders/index.js +0 -10
  377. package/handlers/transform/loaders/index.js.map +0 -1
  378. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  379. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  380. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  381. package/handlers/transform/managers/imageManager.d.ts +0 -15
  382. package/handlers/transform/managers/imageManager.js +0 -74
  383. package/handlers/transform/managers/imageManager.js.map +0 -1
  384. package/handlers/transform/managers/index.d.ts +0 -5
  385. package/handlers/transform/managers/index.js +0 -10
  386. package/handlers/transform/managers/index.js.map +0 -1
  387. package/handlers/transform/optimizeImage.d.ts +0 -3
  388. package/handlers/transform/optimizeImage.js +0 -42
  389. package/handlers/transform/optimizeImage.js.map +0 -1
  390. package/handlers/transform/transformImage.d.ts +0 -10
  391. package/handlers/transform/transformImage.js +0 -25
  392. package/handlers/transform/transformImage.js.map +0 -1
  393. package/handlers/transform/utils.d.ts +0 -12
  394. package/handlers/transform/utils.js +0 -36
  395. package/handlers/transform/utils.js.map +0 -1
  396. package/handlers/types.d.ts +0 -8
  397. package/handlers/types.js +0 -5
  398. package/handlers/types.js.map +0 -1
  399. package/handlers/utils/getEnvironment.d.ts +0 -5
  400. package/handlers/utils/getEnvironment.js +0 -11
  401. package/handlers/utils/getEnvironment.js.map +0 -1
  402. package/handlers/utils/getObjectParams.d.ts +0 -9
  403. package/handlers/utils/getObjectParams.js +0 -21
  404. package/handlers/utils/getObjectParams.js.map +0 -1
  405. package/handlers/utils/index.d.ts +0 -2
  406. package/handlers/utils/index.js +0 -20
  407. package/handlers/utils/index.js.map +0 -1
  408. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
  409. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  410. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  411. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  412. package/plugins/FileStorageTransformPlugin.js +0 -40
  413. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  414. package/plugins/index.d.ts +0 -2
  415. package/plugins/index.js +0 -27
  416. package/plugins/index.js.map +0 -1
  417. package/storage/FileStorage.d.ts +0 -32
  418. package/storage/FileStorage.js +0 -86
  419. package/storage/FileStorage.js.map +0 -1
  420. package/types/file.d.ts +0 -33
  421. package/types/file.js +0 -5
  422. package/types/file.js.map +0 -1
  423. package/types/file.lifecycle.d.ts +0 -44
  424. package/types/file.lifecycle.js +0 -5
  425. package/types/file.lifecycle.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import { ResponseHeaders } from "@webiny/handler";
2
+ interface HeadersSetter {
3
+ (headers: ResponseHeaders): ResponseHeaders;
4
+ }
5
+ interface AssetReplyParams {
6
+ code: number;
7
+ headers?: ResponseHeaders;
8
+ body?: AssetReplyBody;
9
+ }
10
+ interface AssetReplyBody {
11
+ (): Promise<unknown> | unknown;
12
+ }
13
+ export declare class AssetReply {
14
+ private headers;
15
+ private code;
16
+ private body;
17
+ constructor(params?: AssetReplyParams);
18
+ setHeaders(cb: HeadersSetter): void;
19
+ getHeaders(): ResponseHeaders;
20
+ setCode(code: number): void;
21
+ getCode(): number;
22
+ setBody(body: AssetReplyBody): void;
23
+ getBody(): unknown;
24
+ }
25
+ export {};
@@ -0,0 +1,31 @@
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
+ }
29
+ }
30
+
31
+ //# sourceMappingURL=AssetReply.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,5 @@
1
+ import type { Request } from "@webiny/handler/types.js";
2
+ import type { AssetRequest } from "../../../delivery/index.js";
3
+ export interface AssetRequestResolver {
4
+ resolve(request: Request): Promise<AssetRequest | undefined>;
5
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=AssetRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetRequestResolver.ts"],"sourcesContent":["import type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Asset, AssetRequest } from "../../../delivery/index.js";
2
+ export interface AssetResolver {
3
+ resolve(request: AssetRequest): Promise<Asset | undefined>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=AssetResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetResolver.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Asset, AssetRequest } from "../../../delivery/index.js";
2
+ export interface AssetTransformationStrategy {
3
+ transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=AssetTransformationStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset, AssetRequest } from \"~/delivery/index.js\";\n\nexport interface AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { PluginFactory } from "@webiny/plugins/types.js";
2
+ export declare const createAssetDeliveryPluginLoader: (cb: PluginFactory) => PluginFactory;
@@ -0,0 +1,8 @@
1
+ export const createAssetDeliveryPluginLoader = cb => {
2
+ if (process.env.WEBINY_FUNCTION_TYPE === "asset-delivery") {
3
+ return () => cb();
4
+ }
5
+ return () => Promise.resolve([]);
6
+ };
7
+
8
+ //# sourceMappingURL=createAssetDeliveryPluginLoader.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,4 @@
1
+ import { File } from "../../../domain/file/types.js";
2
+ export interface AssetAuthorizer {
3
+ authorize(file: File): Promise<void>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=AssetAuthorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetAuthorizer.ts"],"sourcesContent":["import { File } from \"~/domain/file/types.js\";\n\nexport interface AssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { AssetReply } from "../../../delivery/index.js";
2
+ export declare class NotAuthorizedAssetReply extends AssetReply {
3
+ constructor();
4
+ }
@@ -0,0 +1,19 @@
1
+ import { ResponseHeaders } from "@webiny/handler";
2
+ import { AssetReply } from "../../index.js";
3
+ export 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
+
19
+ //# sourceMappingURL=NotAuthorizedAssetReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ResponseHeaders","AssetReply","NotAuthorizedAssetReply","constructor","code","headers","create","body","error"],"sources":["NotAuthorizedAssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\nimport { AssetReply } from \"~/delivery/index.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"],"mappings":"AAAA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,UAAU;AAEnB,OAAO,MAAMC,uBAAuB,SAASD,UAAU,CAAC;EACpDE,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEL,eAAe,CAACM,MAAM,CAAC;QAC5B,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE;MACpB,CAAC,CAAC;MACFC,IAAI,EAAEA,CAAA,MAAO;QAAEC,KAAK,EAAE,iBAAiB;QAAEJ,IAAI,EAAE;MAAiB,CAAC;IACrE,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { AssetOutputStrategy, AssetReply } from "../../../delivery/index.js";
2
+ export declare class NotAuthorizedOutputStrategy implements AssetOutputStrategy {
3
+ output(): Promise<AssetReply>;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { NotAuthorizedAssetReply } from "./NotAuthorizedAssetReply.js";
2
+ export class NotAuthorizedOutputStrategy {
3
+ async output() {
4
+ return new NotAuthorizedAssetReply();
5
+ }
6
+ }
7
+
8
+ //# sourceMappingURL=NotAuthorizedOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NotAuthorizedAssetReply","NotAuthorizedOutputStrategy","output"],"sources":["NotAuthorizedOutputStrategy.ts"],"sourcesContent":["import type { AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\nimport { NotAuthorizedAssetReply } from \"./NotAuthorizedAssetReply.js\";\n\nexport class NotAuthorizedOutputStrategy implements AssetOutputStrategy {\n async output(): Promise<AssetReply> {\n return new NotAuthorizedAssetReply();\n }\n}\n"],"mappings":"AACA,SAASA,uBAAuB;AAEhC,OAAO,MAAMC,2BAA2B,CAAgC;EACpE,MAAMC,MAAMA,CAAA,EAAwB;IAChC,OAAO,IAAIF,uBAAuB,CAAC,CAAC;EACxC;AACJ","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { File } from "../../../domain/file/types.js";
2
+ import type { AssetAuthorizer } from "./AssetAuthorizer.js";
3
+ import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
4
+ export declare class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {
5
+ private context;
6
+ constructor(context: ApiCoreContext);
7
+ authorize(file: File): Promise<void>;
8
+ }
@@ -0,0 +1,20 @@
1
+ import Error from "@webiny/error";
2
+ export class PrivateAuthenticatedAuthorizer {
3
+ constructor(context) {
4
+ this.context = context;
5
+ }
6
+ async authorize(file) {
7
+ if (file.accessControl && file.accessControl.type === "private-authenticated") {
8
+ // Make sure there's a valid identity!
9
+ const identity = this.context.security.getIdentity();
10
+ if (!identity) {
11
+ throw new Error({
12
+ code: "NOT_AUTHORIZED",
13
+ message: "You're not authorized to access this asset!"
14
+ });
15
+ }
16
+ }
17
+ }
18
+ }
19
+
20
+ //# sourceMappingURL=PrivateAuthenticatedAuthorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Error","PrivateAuthenticatedAuthorizer","constructor","context","authorize","file","accessControl","type","identity","security","getIdentity","code","message"],"sources":["PrivateAuthenticatedAuthorizer.ts"],"sourcesContent":["import Error from \"@webiny/error\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { AssetAuthorizer } from \"./AssetAuthorizer.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {\n private context: ApiCoreContext;\n\n constructor(context: ApiCoreContext) {\n this.context = context;\n }\n\n async authorize(file: File) {\n if (file.accessControl && file.accessControl.type === \"private-authenticated\") {\n // Make sure there's a valid identity!\n const identity = this.context.security.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"],"mappings":"AAAA,OAAOA,KAAK,MAAM,eAAe;AAKjC,OAAO,MAAMC,8BAA8B,CAA4B;EAGnEC,WAAWA,CAACC,OAAuB,EAAE;IACjC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,SAASA,CAACC,IAAU,EAAE;IACxB,IAAIA,IAAI,CAACC,aAAa,IAAID,IAAI,CAACC,aAAa,CAACC,IAAI,KAAK,uBAAuB,EAAE;MAC3E;MACA,MAAMC,QAAQ,GAAG,IAAI,CAACL,OAAO,CAACM,QAAQ,CAACC,WAAW,CAAC,CAAC;MAEpD,IAAI,CAACF,QAAQ,EAAE;QACX,MAAM,IAAIR,KAAK,CAAC;UACZW,IAAI,EAAE,gBAAgB;UACtBC,OAAO,EAAE;QACb,CAAC,CAAC;MACN;IACJ;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { Asset, AssetOutputStrategy, AssetReply } from "../../../delivery/index.js";
2
+ export declare class PrivateCache implements AssetOutputStrategy {
3
+ private strategy;
4
+ constructor(strategy: AssetOutputStrategy);
5
+ output(asset: Asset): Promise<AssetReply>;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { parse, stringify } from "cache-control-parser";
2
+ export 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
+
21
+ //# sourceMappingURL=PrivateCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parse","stringify","PrivateCache","constructor","strategy","output","asset","reply","setHeaders","headers","set","value","cacheControl"],"sources":["PrivateCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\n\nexport class PrivateCache implements AssetOutputStrategy {\n private strategy: AssetOutputStrategy;\n\n constructor(strategy: AssetOutputStrategy) {\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"],"mappings":"AAAA,SAASA,KAAK,EAAEC,SAAS,QAAQ,sBAAsB;AAGvD,OAAO,MAAMC,YAAY,CAAgC;EAGrDC,WAAWA,CAACC,QAA6B,EAAE;IACvC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CC,KAAK,CAACC,UAAU,CAACC,OAAO,IAAI;MACxBA,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE,KAAK;QACzC,MAAMC,YAAY,GAAGZ,KAAK,CAACW,KAAK,CAAC;QACjCC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI;QAC9BA,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK;QAC9B,OAAOX,SAAS,CAACW,YAAY,CAAC;MAClC,CAAC,CAAC;MACF,OAAOH,OAAO;IAClB,CAAC,CAAC;IAEF,OAAOF,KAAK;EAChB;AACJ","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { AssetRequestResolver } from "../../../delivery/index.js";
2
+ import { AssetRequest } from "../../../delivery/index.js";
3
+ import type { Request } from "@webiny/handler/types.js";
4
+ export declare class PrivateFileAssetRequestResolver implements AssetRequestResolver {
5
+ private readonly resolver;
6
+ constructor(resolver: AssetRequestResolver);
7
+ resolve(request: Request): Promise<AssetRequest | undefined>;
8
+ }
@@ -0,0 +1,30 @@
1
+ import { AssetRequest } from "../../index.js";
2
+ export class PrivateFileAssetRequestResolver {
3
+ constructor(resolver) {
4
+ this.resolver = resolver;
5
+ }
6
+ async resolve(request) {
7
+ // Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300
8
+ if (!request.url.startsWith("/private/")) {
9
+ return this.resolver.resolve(request);
10
+ }
11
+ const params = request.params ?? {};
12
+ const query = request.query ?? {};
13
+
14
+ // Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },
15
+ const path = params["*"];
16
+ return new AssetRequest({
17
+ key: decodeURI(path).replace("/private/", ""),
18
+ context: {
19
+ url: request.url,
20
+ private: true
21
+ },
22
+ options: {
23
+ ...query,
24
+ width: query.width ? parseInt(query.width) : undefined
25
+ }
26
+ });
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=PrivateFileAssetRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AssetRequest","PrivateFileAssetRequestResolver","constructor","resolver","resolve","request","url","startsWith","params","query","path","key","decodeURI","replace","context","private","options","width","parseInt","undefined"],"sources":["PrivateFileAssetRequestResolver.ts"],"sourcesContent":["import type { AssetRequestResolver } from \"~/delivery/index.js\";\nimport { AssetRequest } from \"~/delivery/index.js\";\nimport type { Request } from \"@webiny/handler/types.js\";\n\nexport class PrivateFileAssetRequestResolver implements AssetRequestResolver {\n private readonly resolver: AssetRequestResolver;\n\n constructor(resolver: AssetRequestResolver) {\n this.resolver = resolver;\n }\n\n async resolve(request: Request): Promise<AssetRequest | undefined> {\n // Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300\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 // Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },\n const path = params[\"*\"];\n\n return new AssetRequest({\n key: decodeURI(path).replace(\"/private/\", \"\"),\n context: {\n url: request.url,\n private: true\n },\n options: {\n ...query,\n width: query.width ? parseInt(query.width) : undefined\n }\n });\n }\n}\n"],"mappings":"AACA,SAASA,YAAY;AAGrB,OAAO,MAAMC,+BAA+B,CAAiC;EAGzEC,WAAWA,CAACC,QAA8B,EAAE;IACxC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,OAAOA,CAACC,OAAgB,EAAqC;IAC/D;IACA,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;MACtC,OAAO,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC;IACzC;IAEA,MAAMG,MAAM,GAAIH,OAAO,CAACG,MAAM,IAAI,CAAC,CAAyB;IAC5D,MAAMC,KAAK,GAAIJ,OAAO,CAACI,KAAK,IAAI,CAAC,CAAyB;;IAE1D;IACA,MAAMC,IAAI,GAAGF,MAAM,CAAC,GAAG,CAAC;IAExB,OAAO,IAAIR,YAAY,CAAC;MACpBW,GAAG,EAAEC,SAAS,CAACF,IAAI,CAAC,CAACG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MAC7CC,OAAO,EAAE;QACLR,GAAG,EAAED,OAAO,CAACC,GAAG;QAChBS,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACL,GAAGP,KAAK;QACRQ,KAAK,EAAER,KAAK,CAACQ,KAAK,GAAGC,QAAQ,CAACT,KAAK,CAACQ,KAAK,CAAC,GAAGE;MACjD;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
2
+ import type { Asset, AssetProcessor, AssetRequest } from "../../../delivery/index.js";
3
+ import type { AssetAuthorizer } from "./AssetAuthorizer.js";
4
+ export declare class PrivateFilesAssetProcessor implements AssetProcessor {
5
+ private readonly context;
6
+ private assetProcessor;
7
+ private assetAuthorizer;
8
+ constructor(context: ApiCoreContext, assetAuthorizer: AssetAuthorizer, assetProcessor: AssetProcessor);
9
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
10
+ private isPrivate;
11
+ private requestedViaPrivateEndpoint;
12
+ private requestedViaPublicEndpoint;
13
+ }
@@ -0,0 +1,63 @@
1
+ import { NotAuthorizedOutputStrategy } from "./NotAuthorizedOutputStrategy.js";
2
+ import { RedirectToPublicUrlOutputStrategy } from "./RedirectToPublicUrlOutputStrategy.js";
3
+ import { RedirectToPrivateUrlOutputStrategy } from "./RedirectToPrivateUrlOutputStrategy.js";
4
+ import { PrivateCache } from "./PrivateCache.js";
5
+ import { PublicCache } from "./PublicCache.js";
6
+ import { GetFileUseCase } from "../../../features/file/GetFile/index.js";
7
+ export class PrivateFilesAssetProcessor {
8
+ constructor(context, assetAuthorizer, assetProcessor) {
9
+ this.assetAuthorizer = assetAuthorizer;
10
+ this.context = context;
11
+ this.assetProcessor = assetProcessor;
12
+ }
13
+ async process(assetRequest, asset) {
14
+ const id = asset.getId();
15
+ const {
16
+ security
17
+ } = this.context;
18
+ const getFile = this.context.container.resolve(GetFileUseCase);
19
+
20
+ // Get file from File Manager by `id`.
21
+ const file = await security.withoutAuthorization(async () => {
22
+ const fileResult = await getFile.execute(id);
23
+ if (fileResult.isFail()) {
24
+ throw fileResult.error;
25
+ }
26
+ return fileResult.value;
27
+ });
28
+ const isPrivateFile = this.isPrivate(file);
29
+ if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {
30
+ asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));
31
+ return asset;
32
+ }
33
+ if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {
34
+ asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));
35
+ return asset;
36
+ }
37
+ try {
38
+ await this.assetAuthorizer.authorize(file);
39
+ } catch {
40
+ asset.setOutputStrategy(new NotAuthorizedOutputStrategy());
41
+ return asset;
42
+ }
43
+ const processedAsset = await this.assetProcessor.process(assetRequest, asset);
44
+ processedAsset.setOutputStrategy(strategy => {
45
+ if (!strategy) {
46
+ throw Error(`No asset output strategy is configured!`);
47
+ }
48
+ return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);
49
+ });
50
+ return processedAsset;
51
+ }
52
+ isPrivate(file) {
53
+ return file.accessControl && file.accessControl.type.startsWith("private-");
54
+ }
55
+ requestedViaPrivateEndpoint(assetRequest) {
56
+ return assetRequest.getContext().private;
57
+ }
58
+ requestedViaPublicEndpoint(assetRequest) {
59
+ return !this.requestedViaPrivateEndpoint(assetRequest);
60
+ }
61
+ }
62
+
63
+ //# sourceMappingURL=PrivateFilesAssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NotAuthorizedOutputStrategy","RedirectToPublicUrlOutputStrategy","RedirectToPrivateUrlOutputStrategy","PrivateCache","PublicCache","GetFileUseCase","PrivateFilesAssetProcessor","constructor","context","assetAuthorizer","assetProcessor","process","assetRequest","asset","id","getId","security","getFile","container","resolve","file","withoutAuthorization","fileResult","execute","isFail","error","value","isPrivateFile","isPrivate","requestedViaPrivateEndpoint","setOutputStrategy","requestedViaPublicEndpoint","authorize","processedAsset","strategy","Error","accessControl","type","startsWith","getContext","private"],"sources":["PrivateFilesAssetProcessor.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { Asset, AssetProcessor, AssetRequest } from \"~/delivery/index.js\";\nimport type { AssetAuthorizer } from \"./AssetAuthorizer.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 { GetFileUseCase } from \"~/features/file/GetFile/index.js\";\n\ninterface MaybePrivate {\n private?: boolean;\n}\n\nexport class PrivateFilesAssetProcessor implements AssetProcessor {\n private readonly context: ApiCoreContext;\n private assetProcessor: AssetProcessor;\n private assetAuthorizer: AssetAuthorizer;\n\n constructor(\n context: ApiCoreContext,\n assetAuthorizer: AssetAuthorizer,\n assetProcessor: AssetProcessor\n ) {\n this.assetAuthorizer = assetAuthorizer;\n this.context = context;\n this.assetProcessor = assetProcessor;\n }\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n const id = asset.getId();\n const { security } = this.context;\n const getFile = this.context.container.resolve(GetFileUseCase);\n\n // Get file from File Manager by `id`.\n const file = await security.withoutAuthorization(async () => {\n const fileResult = await getFile.execute(id);\n if (fileResult.isFail()) {\n throw fileResult.error;\n }\n return fileResult.value;\n });\n\n const isPrivateFile = this.isPrivate(file);\n\n if (!isPrivateFile && this.requestedViaPrivateEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPublicUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n if (isPrivateFile && this.requestedViaPublicEndpoint(assetRequest)) {\n asset.setOutputStrategy(new RedirectToPrivateUrlOutputStrategy(assetRequest));\n return asset;\n }\n\n try {\n await this.assetAuthorizer.authorize(file);\n } catch {\n asset.setOutputStrategy(new NotAuthorizedOutputStrategy());\n\n return asset;\n }\n\n const processedAsset = await this.assetProcessor.process(assetRequest, asset);\n\n processedAsset.setOutputStrategy(strategy => {\n if (!strategy) {\n throw Error(`No asset output strategy is configured!`);\n }\n return isPrivateFile ? new PrivateCache(strategy) : new PublicCache(strategy);\n });\n\n return processedAsset;\n }\n\n private isPrivate(file: File) {\n return file.accessControl && file.accessControl.type.startsWith(\"private-\");\n }\n\n private requestedViaPrivateEndpoint(assetRequest: AssetRequest) {\n return assetRequest.getContext<MaybePrivate>().private;\n }\n\n private requestedViaPublicEndpoint(assetRequest: AssetRequest) {\n return !this.requestedViaPrivateEndpoint(assetRequest);\n }\n}\n"],"mappings":"AAIA,SAASA,2BAA2B;AACpC,SAASC,iCAAiC;AAC1C,SAASC,kCAAkC;AAC3C,SAASC,YAAY;AACrB,SAASC,WAAW;AACpB,SAASC,cAAc;AAMvB,OAAO,MAAMC,0BAA0B,CAA2B;EAK9DC,WAAWA,CACPC,OAAuB,EACvBC,eAAgC,EAChCC,cAA8B,EAChC;IACE,IAAI,CAACD,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IACpE,MAAMC,EAAE,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;IACxB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACR,OAAO;IACjC,MAAMS,OAAO,GAAG,IAAI,CAACT,OAAO,CAACU,SAAS,CAACC,OAAO,CAACd,cAAc,CAAC;;IAE9D;IACA,MAAMe,IAAI,GAAG,MAAMJ,QAAQ,CAACK,oBAAoB,CAAC,YAAY;MACzD,MAAMC,UAAU,GAAG,MAAML,OAAO,CAACM,OAAO,CAACT,EAAE,CAAC;MAC5C,IAAIQ,UAAU,CAACE,MAAM,CAAC,CAAC,EAAE;QACrB,MAAMF,UAAU,CAACG,KAAK;MAC1B;MACA,OAAOH,UAAU,CAACI,KAAK;IAC3B,CAAC,CAAC;IAEF,MAAMC,aAAa,GAAG,IAAI,CAACC,SAAS,CAACR,IAAI,CAAC;IAE1C,IAAI,CAACO,aAAa,IAAI,IAAI,CAACE,2BAA2B,CAACjB,YAAY,CAAC,EAAE;MAClEC,KAAK,CAACiB,iBAAiB,CAAC,IAAI7B,iCAAiC,CAACW,YAAY,CAAC,CAAC;MAC5E,OAAOC,KAAK;IAChB;IAEA,IAAIc,aAAa,IAAI,IAAI,CAACI,0BAA0B,CAACnB,YAAY,CAAC,EAAE;MAChEC,KAAK,CAACiB,iBAAiB,CAAC,IAAI5B,kCAAkC,CAACU,YAAY,CAAC,CAAC;MAC7E,OAAOC,KAAK;IAChB;IAEA,IAAI;MACA,MAAM,IAAI,CAACJ,eAAe,CAACuB,SAAS,CAACZ,IAAI,CAAC;IAC9C,CAAC,CAAC,MAAM;MACJP,KAAK,CAACiB,iBAAiB,CAAC,IAAI9B,2BAA2B,CAAC,CAAC,CAAC;MAE1D,OAAOa,KAAK;IAChB;IAEA,MAAMoB,cAAc,GAAG,MAAM,IAAI,CAACvB,cAAc,CAACC,OAAO,CAACC,YAAY,EAAEC,KAAK,CAAC;IAE7EoB,cAAc,CAACH,iBAAiB,CAACI,QAAQ,IAAI;MACzC,IAAI,CAACA,QAAQ,EAAE;QACX,MAAMC,KAAK,CAAC,yCAAyC,CAAC;MAC1D;MACA,OAAOR,aAAa,GAAG,IAAIxB,YAAY,CAAC+B,QAAQ,CAAC,GAAG,IAAI9B,WAAW,CAAC8B,QAAQ,CAAC;IACjF,CAAC,CAAC;IAEF,OAAOD,cAAc;EACzB;EAEQL,SAASA,CAACR,IAAU,EAAE;IAC1B,OAAOA,IAAI,CAACgB,aAAa,IAAIhB,IAAI,CAACgB,aAAa,CAACC,IAAI,CAACC,UAAU,CAAC,UAAU,CAAC;EAC/E;EAEQT,2BAA2BA,CAACjB,YAA0B,EAAE;IAC5D,OAAOA,YAAY,CAAC2B,UAAU,CAAe,CAAC,CAACC,OAAO;EAC1D;EAEQT,0BAA0BA,CAACnB,YAA0B,EAAE;IAC3D,OAAO,CAAC,IAAI,CAACiB,2BAA2B,CAACjB,YAAY,CAAC;EAC1D;AACJ","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { Asset, AssetOutputStrategy, AssetReply } from "../../../delivery/index.js";
2
+ export declare class PublicCache implements AssetOutputStrategy {
3
+ private strategy;
4
+ constructor(strategy: AssetOutputStrategy);
5
+ output(asset: Asset): Promise<AssetReply>;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { parse, stringify } from "cache-control-parser";
2
+ export 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
+
21
+ //# sourceMappingURL=PublicCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parse","stringify","PublicCache","constructor","strategy","output","asset","reply","setHeaders","headers","set","value","cacheControl"],"sources":["PublicCache.ts"],"sourcesContent":["import { parse, stringify } from \"cache-control-parser\";\nimport type { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\n\nexport class PublicCache implements AssetOutputStrategy {\n private strategy: AssetOutputStrategy;\n\n constructor(strategy: AssetOutputStrategy) {\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"],"mappings":"AAAA,SAASA,KAAK,EAAEC,SAAS,QAAQ,sBAAsB;AAGvD,OAAO,MAAMC,WAAW,CAAgC;EAGpDC,WAAWA,CAACC,QAA6B,EAAE;IACvC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CC,KAAK,CAACC,UAAU,CAACC,OAAO,IAAI;MACxBA,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE,KAAK;QACzC,MAAMC,YAAY,GAAGZ,KAAK,CAACW,KAAK,CAAC;QACjCC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK;QAC/BA,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;QAC7B,OAAOX,SAAS,CAACW,YAAY,CAAC;MAClC,CAAC,CAAC;MACF,OAAOH,OAAO;IAClB,CAAC,CAAC;IAEF,OAAOF,KAAK;EAChB;AACJ","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { Asset, AssetOutputStrategy, AssetRequest } from "../../../delivery/index.js";
2
+ import { AssetReply } from "../../../delivery/index.js";
3
+ export declare class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy {
4
+ private assetRequest;
5
+ constructor(assetRequest: AssetRequest);
6
+ output(asset: Asset): Promise<AssetReply>;
7
+ }
@@ -0,0 +1,20 @@
1
+ import { AssetReply } from "../../index.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ export class RedirectToPrivateUrlOutputStrategy {
4
+ constructor(assetRequest) {
5
+ this.assetRequest = assetRequest;
6
+ }
7
+ async output(asset) {
8
+ const requestUrl = this.assetRequest.getContext().url;
9
+ return new AssetReply({
10
+ code: 301,
11
+ headers: ResponseHeaders.create({
12
+ location: requestUrl.replace("/files/", "/private/"),
13
+ "content-type": asset.getContentType(),
14
+ "cache-control": `public, max-age=${86400 * 30}`
15
+ })
16
+ });
17
+ }
18
+ }
19
+
20
+ //# sourceMappingURL=RedirectToPrivateUrlOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AssetReply","ResponseHeaders","RedirectToPrivateUrlOutputStrategy","constructor","assetRequest","output","asset","requestUrl","getContext","url","code","headers","create","location","replace","getContentType"],"sources":["RedirectToPrivateUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset, AssetOutputStrategy, AssetRequest } from \"~/delivery/index.js\";\nimport { AssetReply } from \"~/delivery/index.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class RedirectToPrivateUrlOutputStrategy implements AssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/files/\", \"/private/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,eAAe,QAAQ,iBAAiB;AAEjD,OAAO,MAAMC,kCAAkC,CAAgC;EAG3EC,WAAWA,CAACC,YAA0B,EAAE;IACpC,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,UAAU,GAAG,IAAI,CAACH,YAAY,CAACI,UAAU,CAAC,CAAC,CAACC,GAAG;IAErD,OAAO,IAAIT,UAAU,CAAC;MAClBU,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEV,eAAe,CAACW,MAAM,CAAC;QAC5BC,QAAQ,EAAEN,UAAU,CAACO,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;QACpD,cAAc,EAAER,KAAK,CAACS,cAAc,CAAC,CAAC;QACtC,eAAe,EAAE,mBAAmB,KAAK,GAAG,EAAE;MAClD,CAAC;IACL,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { Asset, AssetOutputStrategy, AssetRequest } from "../../../delivery/index.js";
2
+ import { AssetReply } from "../../../delivery/index.js";
3
+ export declare class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy {
4
+ private assetRequest;
5
+ constructor(assetRequest: AssetRequest);
6
+ output(asset: Asset): Promise<AssetReply>;
7
+ }
@@ -0,0 +1,20 @@
1
+ import { AssetReply } from "../../index.js";
2
+ import { ResponseHeaders } from "@webiny/handler";
3
+ export class RedirectToPublicUrlOutputStrategy {
4
+ constructor(assetRequest) {
5
+ this.assetRequest = assetRequest;
6
+ }
7
+ async output(asset) {
8
+ const requestUrl = this.assetRequest.getContext().url;
9
+ return new AssetReply({
10
+ code: 301,
11
+ headers: ResponseHeaders.create({
12
+ location: requestUrl.replace("/private/", "/files/"),
13
+ "content-type": asset.getContentType(),
14
+ "cache-control": `public, max-age=${86400 * 30}`
15
+ })
16
+ });
17
+ }
18
+ }
19
+
20
+ //# sourceMappingURL=RedirectToPublicUrlOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AssetReply","ResponseHeaders","RedirectToPublicUrlOutputStrategy","constructor","assetRequest","output","asset","requestUrl","getContext","url","code","headers","create","location","replace","getContentType"],"sources":["RedirectToPublicUrlOutputStrategy.ts"],"sourcesContent":["import type { Asset, AssetOutputStrategy, AssetRequest } from \"~/delivery/index.js\";\nimport { AssetReply } from \"~/delivery/index.js\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class RedirectToPublicUrlOutputStrategy implements AssetOutputStrategy {\n private assetRequest: AssetRequest;\n\n constructor(assetRequest: AssetRequest) {\n this.assetRequest = assetRequest;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const requestUrl = this.assetRequest.getContext().url;\n\n return new AssetReply({\n code: 301,\n headers: ResponseHeaders.create({\n location: requestUrl.replace(\"/private/\", \"/files/\"),\n \"content-type\": asset.getContentType(),\n \"cache-control\": `public, max-age=${86400 * 30}`\n })\n });\n }\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,eAAe,QAAQ,iBAAiB;AAEjD,OAAO,MAAMC,iCAAiC,CAAgC;EAG1EC,WAAWA,CAACC,YAA0B,EAAE;IACpC,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,UAAU,GAAG,IAAI,CAACH,YAAY,CAACI,UAAU,CAAC,CAAC,CAACC,GAAG;IAErD,OAAO,IAAIT,UAAU,CAAC;MAClBU,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEV,eAAe,CAACW,MAAM,CAAC;QAC5BC,QAAQ,EAAEN,UAAU,CAACO,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;QACpD,cAAc,EAAER,KAAK,CAACS,cAAc,CAAC,CAAC;QACtC,eAAe,EAAE,mBAAmB,KAAK,GAAG,EAAE;MAClD,CAAC;IACL,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Asset, AssetProcessor, AssetRequest } from "../../../delivery/index.js";
2
+ export declare class PassthroughAssetProcessor implements AssetProcessor {
3
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
4
+ }
@@ -0,0 +1,7 @@
1
+ export class PassthroughAssetProcessor {
2
+ process(assetRequest, asset) {
3
+ return Promise.resolve(asset);
4
+ }
5
+ }
6
+
7
+ //# sourceMappingURL=PassthroughAssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PassthroughAssetProcessor","process","assetRequest","asset","Promise","resolve"],"sources":["PassthroughAssetProcessor.ts"],"sourcesContent":["import type { Asset, AssetProcessor, AssetRequest } from \"~/delivery/index.js\";\n\nexport class PassthroughAssetProcessor implements AssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAAyB,CAA2B;EAC7DC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IAC9D,OAAOC,OAAO,CAACC,OAAO,CAACF,KAAK,CAAC;EACjC;AACJ","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Asset, AssetTransformationStrategy, AssetRequest } from "../../../delivery/index.js";
2
+ export declare class PassthroughAssetTransformationStrategy implements AssetTransformationStrategy {
3
+ transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
4
+ }
@@ -0,0 +1,7 @@
1
+ export class PassthroughAssetTransformationStrategy {
2
+ transform(assetRequest, asset) {
3
+ return Promise.resolve(asset);
4
+ }
5
+ }
6
+
7
+ //# sourceMappingURL=PassthroughAssetTransformationStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PassthroughAssetTransformationStrategy","transform","assetRequest","asset","Promise","resolve"],"sources":["PassthroughAssetTransformationStrategy.ts"],"sourcesContent":["import type { Asset, AssetTransformationStrategy, AssetRequest } from \"~/delivery/index.js\";\n\nexport class PassthroughAssetTransformationStrategy implements AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n return Promise.resolve(asset);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,sCAAsC,CAAwC;EACvFC,SAASA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IAChE,OAAOC,OAAO,CAACC,OAAO,CAACF,KAAK,CAAC;EACjC;AACJ","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { Asset, AssetProcessor, AssetRequest, AssetTransformationStrategy } from "../../../delivery/index.js";
2
+ export declare class TransformationAssetProcessor implements AssetProcessor {
3
+ private strategy;
4
+ constructor(strategy: AssetTransformationStrategy);
5
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
6
+ }
@@ -0,0 +1,19 @@
1
+ export class TransformationAssetProcessor {
2
+ constructor(strategy) {
3
+ this.strategy = strategy;
4
+ }
5
+ async process(assetRequest, asset) {
6
+ const {
7
+ original
8
+ } = assetRequest.getOptions();
9
+
10
+ // If the `original` image was requested, we skip all transformations.
11
+ if (original) {
12
+ console.log("Skip transformations; original asset was requested.");
13
+ return asset;
14
+ }
15
+ return this.strategy.transform(assetRequest, asset);
16
+ }
17
+ }
18
+
19
+ //# sourceMappingURL=TransformationAssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TransformationAssetProcessor","constructor","strategy","process","assetRequest","asset","original","getOptions","console","log","transform"],"sources":["TransformationAssetProcessor.ts"],"sourcesContent":["import type {\n Asset,\n AssetProcessor,\n AssetRequest,\n AssetTransformationStrategy\n} from \"~/delivery/index.js\";\n\nexport class TransformationAssetProcessor implements AssetProcessor {\n private strategy: AssetTransformationStrategy;\n\n constructor(strategy: AssetTransformationStrategy) {\n this.strategy = strategy;\n }\n\n async process(assetRequest: AssetRequest, asset: Asset): Promise<Asset> {\n const { original } = assetRequest.getOptions();\n\n // If the `original` image was requested, we skip all transformations.\n if (original) {\n console.log(\"Skip transformations; original asset was requested.\");\n return asset;\n }\n\n return this.strategy.transform(assetRequest, asset);\n }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,4BAA4B,CAA2B;EAGhEC,WAAWA,CAACC,QAAqC,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,OAAOA,CAACC,YAA0B,EAAEC,KAAY,EAAkB;IACpE,MAAM;MAAEC;IAAS,CAAC,GAAGF,YAAY,CAACG,UAAU,CAAC,CAAC;;IAE9C;IACA,IAAID,QAAQ,EAAE;MACVE,OAAO,CAACC,GAAG,CAAC,qDAAqD,CAAC;MAClE,OAAOJ,KAAK;IAChB;IAEA,OAAO,IAAI,CAACH,QAAQ,CAACQ,SAAS,CAACN,YAAY,EAAEC,KAAK,CAAC;EACvD;AACJ","ignoreList":[]}