@webiny/api-file-manager 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.eb81deee7e

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 (518) hide show
  1. package/FileManagerAppFeature.d.ts +5 -0
  2. package/FileManagerAppFeature.js +21 -0
  3. package/FileManagerAppFeature.js.map +1 -0
  4. package/contants.js +2 -1
  5. package/contants.js.map +1 -1
  6. package/delivery/AssetDelivery/Asset.js +50 -56
  7. package/delivery/AssetDelivery/Asset.js.map +1 -1
  8. package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
  9. package/delivery/AssetDelivery/AssetRequest.js +20 -19
  10. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  11. package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
  12. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  13. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
  14. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
  15. package/delivery/AssetDeliveryRoute.d.ts +24 -0
  16. package/delivery/AssetDeliveryRoute.js +69 -0
  17. package/delivery/AssetDeliveryRoute.js.map +1 -0
  18. package/delivery/index.d.ts +3 -12
  19. package/delivery/index.js +2 -8
  20. package/delivery/setupAssetDelivery.d.ts +1 -2
  21. package/delivery/setupAssetDelivery.js +2 -112
  22. package/delivery/setupAssetDelivery.js.map +1 -1
  23. package/domain/file/abstractions.d.ts +13 -5
  24. package/domain/file/abstractions.js +2 -5
  25. package/domain/file/abstractions.js.map +1 -1
  26. package/domain/file/errors.js +67 -76
  27. package/domain/file/errors.js.map +1 -1
  28. package/domain/file/file.model.d.ts +3 -3
  29. package/domain/file/file.model.js +63 -50
  30. package/domain/file/file.model.js.map +1 -1
  31. package/domain/file/types.js +0 -3
  32. package/domain/identity/Identity.js +9 -8
  33. package/domain/identity/Identity.js.map +1 -1
  34. package/domain/permissionsSchema.js +26 -15
  35. package/domain/permissionsSchema.js.map +1 -1
  36. package/domain/settings/constants.js +2 -1
  37. package/domain/settings/constants.js.map +1 -1
  38. package/domain/settings/errors.js +22 -24
  39. package/domain/settings/errors.js.map +1 -1
  40. package/domain/settings/types.js +0 -3
  41. package/domain/settings/validation.js +19 -28
  42. package/domain/settings/validation.js.map +1 -1
  43. package/exports/api/file-manager/assetDelivery.d.ts +10 -0
  44. package/exports/api/file-manager/assetDelivery.js +8 -0
  45. package/exports/api/file-manager/file.d.ts +2 -1
  46. package/exports/api/file-manager/file.js +2 -3
  47. package/exports/api/file-manager/permissions.js +0 -2
  48. package/exports/api/file-manager/settings.js +0 -2
  49. package/features/FileManagerFeature.js +22 -15
  50. package/features/FileManagerFeature.js.map +1 -1
  51. package/features/assetDelivery/Asset/Asset.d.ts +8 -0
  52. package/features/assetDelivery/Asset/Asset.js +14 -0
  53. package/features/assetDelivery/Asset/Asset.js.map +1 -0
  54. package/features/assetDelivery/Asset/abstractions.d.ts +10 -0
  55. package/features/assetDelivery/Asset/abstractions.js +5 -0
  56. package/features/assetDelivery/Asset/abstractions.js.map +1 -0
  57. package/features/assetDelivery/Asset/index.d.ts +1 -0
  58. package/features/assetDelivery/Asset/index.js +1 -0
  59. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
  60. package/features/assetDelivery/FilesAssetRequestResolver.js +29 -0
  61. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  62. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  63. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  64. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  65. package/features/assetDelivery/NullAssetReply.js +14 -0
  66. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  67. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  68. package/features/assetDelivery/NullAssetResolver.js +13 -0
  69. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  70. package/features/assetDelivery/ObjectKey/ObjectKey.d.ts +8 -0
  71. package/features/assetDelivery/ObjectKey/ObjectKey.js +28 -0
  72. package/features/assetDelivery/ObjectKey/ObjectKey.js.map +1 -0
  73. package/features/assetDelivery/ObjectKey/abstractions.d.ts +12 -0
  74. package/features/assetDelivery/ObjectKey/abstractions.js +5 -0
  75. package/features/assetDelivery/ObjectKey/abstractions.js.map +1 -0
  76. package/features/assetDelivery/ObjectKey/index.d.ts +1 -0
  77. package/features/assetDelivery/ObjectKey/index.js +1 -0
  78. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.d.ts +8 -0
  79. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js +22 -0
  80. package/features/assetDelivery/StreamAssetReply/StreamAssetReply.js.map +1 -0
  81. package/features/assetDelivery/StreamAssetReply/abstractions.d.ts +11 -0
  82. package/features/assetDelivery/StreamAssetReply/abstractions.js +5 -0
  83. package/features/assetDelivery/StreamAssetReply/abstractions.js.map +1 -0
  84. package/features/assetDelivery/StreamAssetReply/index.d.ts +1 -0
  85. package/features/assetDelivery/StreamAssetReply/index.js +1 -0
  86. package/features/assetDelivery/abstractions/AssetType.d.ts +17 -0
  87. package/features/assetDelivery/abstractions/AssetType.js +5 -0
  88. package/features/assetDelivery/abstractions/AssetType.js.map +1 -0
  89. package/features/assetDelivery/abstractions.d.ts +65 -0
  90. package/features/assetDelivery/abstractions.js +11 -0
  91. package/features/assetDelivery/abstractions.js.map +1 -0
  92. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.d.ts +12 -0
  93. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js +30 -0
  94. package/features/assetDelivery/assetTypes/image/AssetKeyGenerator.js.map +1 -0
  95. package/features/assetDelivery/assetTypes/image/ImageAssetType.d.ts +9 -0
  96. package/features/assetDelivery/assetTypes/image/ImageAssetType.js +18 -0
  97. package/features/assetDelivery/assetTypes/image/ImageAssetType.js.map +1 -0
  98. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.d.ts +5 -0
  99. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js +5 -0
  100. package/features/assetDelivery/assetTypes/image/ImageAssetTypeHandler.js.map +1 -0
  101. package/features/assetDelivery/assetTypes/image/SharpTransformer.d.ts +18 -0
  102. package/features/assetDelivery/assetTypes/image/SharpTransformer.js +47 -0
  103. package/features/assetDelivery/assetTypes/image/SharpTransformer.js.map +1 -0
  104. package/features/assetDelivery/assetTypes/image/WidthCollection.d.ts +8 -0
  105. package/features/assetDelivery/assetTypes/image/WidthCollection.js +22 -0
  106. package/features/assetDelivery/assetTypes/image/WidthCollection.js.map +1 -0
  107. package/features/assetDelivery/assetTypes/image/imageFormat.d.ts +26 -0
  108. package/features/assetDelivery/assetTypes/image/imageFormat.js +51 -0
  109. package/features/assetDelivery/assetTypes/image/imageFormat.js.map +1 -0
  110. package/features/assetDelivery/assetTypes/image/imageTypes.d.ts +39 -0
  111. package/features/assetDelivery/assetTypes/image/imageTypes.js +0 -0
  112. package/features/assetDelivery/assetTypes/image/index.d.ts +5 -0
  113. package/features/assetDelivery/assetTypes/image/index.js +4 -0
  114. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.d.ts +6 -0
  115. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js +56 -0
  116. package/features/assetDelivery/assetTypes/image/normalizeImageOptions.js.map +1 -0
  117. package/features/assetDelivery/assetTypes/image/transformImage.d.ts +59 -0
  118. package/features/assetDelivery/assetTypes/image/transformImage.js +146 -0
  119. package/features/assetDelivery/assetTypes/image/transformImage.js.map +1 -0
  120. package/features/assetDelivery/assetTypes/image/utils.d.ts +26 -0
  121. package/features/assetDelivery/assetTypes/image/utils.js +47 -0
  122. package/features/assetDelivery/assetTypes/image/utils.js.map +1 -0
  123. package/features/assetDelivery/feature.d.ts +4 -0
  124. package/features/assetDelivery/feature.js +35 -0
  125. package/features/assetDelivery/feature.js.map +1 -0
  126. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  127. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  128. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  129. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  130. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  131. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  132. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  133. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  134. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  135. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  136. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  137. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  138. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +11 -0
  139. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -0
  140. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  141. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  142. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +65 -0
  143. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  144. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  145. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  146. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  147. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +9 -0
  148. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
  149. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  150. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
  151. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
  152. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  153. package/features/assetDelivery/transformation/CallableContentsReader.d.ts +11 -0
  154. package/features/assetDelivery/transformation/CallableContentsReader.js +14 -0
  155. package/features/assetDelivery/transformation/CallableContentsReader.js.map +1 -0
  156. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +9 -0
  157. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  158. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  159. package/features/assetDelivery/transformation/index.d.ts +5 -0
  160. package/features/assetDelivery/transformation/index.js +4 -0
  161. package/features/extractMetadata/ExtractMetadataHandler.d.ts +11 -0
  162. package/features/extractMetadata/ExtractMetadataHandler.js +25 -0
  163. package/features/extractMetadata/ExtractMetadataHandler.js.map +1 -0
  164. package/features/extractMetadata/ExtractMetadataInput.d.ts +3 -0
  165. package/features/extractMetadata/ExtractMetadataInput.js +0 -0
  166. package/features/file/CreateFile/CreateFileRepository.d.ts +3 -3
  167. package/features/file/CreateFile/CreateFileRepository.js +22 -19
  168. package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
  169. package/features/file/CreateFile/CreateFileUseCase.js +68 -75
  170. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
  171. package/features/file/CreateFile/abstractions.js +3 -14
  172. package/features/file/CreateFile/abstractions.js.map +1 -1
  173. package/features/file/CreateFile/events.js +17 -26
  174. package/features/file/CreateFile/events.js.map +1 -1
  175. package/features/file/CreateFile/feature.js +7 -6
  176. package/features/file/CreateFile/feature.js.map +1 -1
  177. package/features/file/CreateFile/index.js +0 -2
  178. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
  179. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
  180. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +59 -70
  181. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
  182. package/features/file/CreateFilesInBatch/abstractions.js +3 -14
  183. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
  184. package/features/file/CreateFilesInBatch/events.js +17 -26
  185. package/features/file/CreateFilesInBatch/events.js.map +1 -1
  186. package/features/file/CreateFilesInBatch/feature.js +7 -6
  187. package/features/file/CreateFilesInBatch/feature.js.map +1 -1
  188. package/features/file/CreateFilesInBatch/index.js +0 -2
  189. package/features/file/DeleteFile/DeleteFileRepository.d.ts +3 -3
  190. package/features/file/DeleteFile/DeleteFileRepository.js +23 -21
  191. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
  192. package/features/file/DeleteFile/DeleteFileUseCase.js +31 -33
  193. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
  194. package/features/file/DeleteFile/abstractions.js +3 -14
  195. package/features/file/DeleteFile/abstractions.js.map +1 -1
  196. package/features/file/DeleteFile/events.js +17 -26
  197. package/features/file/DeleteFile/events.js.map +1 -1
  198. package/features/file/DeleteFile/feature.js +7 -6
  199. package/features/file/DeleteFile/feature.js.map +1 -1
  200. package/features/file/DeleteFile/index.js +1 -3
  201. package/features/file/FileModelProvider.d.ts +31 -0
  202. package/features/file/FileModelProvider.js +22 -0
  203. package/features/file/FileModelProvider.js.map +1 -0
  204. package/features/file/FileUrlGenerator/FileUrlGenerator.d.ts +12 -0
  205. package/features/file/FileUrlGenerator/FileUrlGenerator.js +19 -0
  206. package/features/file/FileUrlGenerator/FileUrlGenerator.js.map +1 -0
  207. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.d.ts +13 -0
  208. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js +28 -0
  209. package/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.js.map +1 -0
  210. package/features/file/FileUrlGenerator/abstractions.d.ts +15 -4
  211. package/features/file/FileUrlGenerator/abstractions.js +3 -2
  212. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  213. package/features/file/FileUrlGenerator/feature.d.ts +4 -0
  214. package/features/file/FileUrlGenerator/feature.js +13 -0
  215. package/features/file/FileUrlGenerator/feature.js.map +1 -0
  216. package/features/file/FileUrlGenerator/index.d.ts +2 -0
  217. package/features/file/FileUrlGenerator/index.js +1 -0
  218. package/features/file/GetFile/GetFileRepository.d.ts +3 -3
  219. package/features/file/GetFile/GetFileRepository.js +24 -23
  220. package/features/file/GetFile/GetFileRepository.js.map +1 -1
  221. package/features/file/GetFile/GetFileUseCase.js +19 -21
  222. package/features/file/GetFile/GetFileUseCase.js.map +1 -1
  223. package/features/file/GetFile/abstractions.js +3 -14
  224. package/features/file/GetFile/abstractions.js.map +1 -1
  225. package/features/file/GetFile/feature.js +7 -6
  226. package/features/file/GetFile/feature.js.map +1 -1
  227. package/features/file/GetFile/index.js +0 -2
  228. package/features/file/GetFileByUrl/GetFileByUrlUseCase.d.ts +15 -0
  229. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js +37 -0
  230. package/features/file/GetFileByUrl/GetFileByUrlUseCase.js.map +1 -0
  231. package/features/file/GetFileByUrl/abstractions.d.ts +18 -0
  232. package/features/file/GetFileByUrl/abstractions.js +5 -0
  233. package/features/file/GetFileByUrl/abstractions.js.map +1 -0
  234. package/features/file/GetFileByUrl/feature.d.ts +4 -0
  235. package/features/file/GetFileByUrl/feature.js +11 -0
  236. package/features/file/GetFileByUrl/feature.js.map +1 -0
  237. package/features/file/GetFileByUrl/index.d.ts +1 -0
  238. package/features/file/GetFileByUrl/index.js +1 -0
  239. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  240. package/features/file/GetFileContentsById/abstractions.js +5 -0
  241. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  242. package/features/file/GetFileContentsById/index.d.ts +1 -0
  243. package/features/file/GetFileContentsById/index.js +1 -0
  244. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  245. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  246. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  247. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  248. package/features/file/GetFileContentsByKey/index.js +1 -0
  249. package/features/file/ListFiles/ListFilesRepository.d.ts +3 -3
  250. package/features/file/ListFiles/ListFilesRepository.js +44 -41
  251. package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
  252. package/features/file/ListFiles/ListFilesUseCase.js +33 -34
  253. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
  254. package/features/file/ListFiles/abstractions.js +3 -14
  255. package/features/file/ListFiles/abstractions.js.map +1 -1
  256. package/features/file/ListFiles/feature.js +7 -6
  257. package/features/file/ListFiles/feature.js.map +1 -1
  258. package/features/file/ListFiles/index.js +0 -2
  259. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +15 -5
  260. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +46 -29
  261. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
  262. package/features/file/ListImagesByTagTool/feature.js +6 -5
  263. package/features/file/ListImagesByTagTool/feature.js.map +1 -1
  264. package/features/file/ListTags/ListTagsRepository.d.ts +3 -3
  265. package/features/file/ListTags/ListTagsRepository.js +33 -37
  266. package/features/file/ListTags/ListTagsRepository.js.map +1 -1
  267. package/features/file/ListTags/ListTagsUseCase.js +21 -21
  268. package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
  269. package/features/file/ListTags/abstractions.js +3 -14
  270. package/features/file/ListTags/abstractions.js.map +1 -1
  271. package/features/file/ListTags/feature.js +7 -6
  272. package/features/file/ListTags/feature.js.map +1 -1
  273. package/features/file/ListTags/index.js +0 -2
  274. package/features/file/UpdateFile/UpdateFileRepository.d.ts +3 -3
  275. package/features/file/UpdateFile/UpdateFileRepository.js +28 -29
  276. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
  277. package/features/file/UpdateFile/UpdateFileUseCase.js +57 -65
  278. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
  279. package/features/file/UpdateFile/abstractions.js +3 -14
  280. package/features/file/UpdateFile/abstractions.js.map +1 -1
  281. package/features/file/UpdateFile/events.js +17 -26
  282. package/features/file/UpdateFile/events.js.map +1 -1
  283. package/features/file/UpdateFile/feature.js +7 -6
  284. package/features/file/UpdateFile/feature.js.map +1 -1
  285. package/features/file/UpdateFile/index.js +1 -3
  286. package/features/file/shared/EntryToFileMapper.js +25 -24
  287. package/features/file/shared/EntryToFileMapper.js.map +1 -1
  288. package/features/file/shared/FileInputToEntryInputMapper.js +29 -28
  289. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
  290. package/features/file/shared/FileToEntryMapper.js +28 -27
  291. package/features/file/shared/FileToEntryMapper.js.map +1 -1
  292. package/features/permissions/abstractions.js +2 -1
  293. package/features/permissions/abstractions.js.map +1 -1
  294. package/features/permissions/feature.js +2 -1
  295. package/features/permissions/feature.js.map +1 -1
  296. package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
  297. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
  298. package/features/settings/GetSettings/abstractions.js +2 -7
  299. package/features/settings/GetSettings/abstractions.js.map +1 -1
  300. package/features/settings/GetSettings/feature.js +6 -5
  301. package/features/settings/GetSettings/feature.js.map +1 -1
  302. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +3 -1
  303. package/features/settings/SettingsInstaller/SettingsInstaller.js +29 -25
  304. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  305. package/features/settings/SettingsInstaller/feature.js +6 -5
  306. package/features/settings/SettingsInstaller/feature.js.map +1 -1
  307. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +41 -48
  308. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
  309. package/features/settings/UpdateSettings/abstractions.js +2 -7
  310. package/features/settings/UpdateSettings/abstractions.js.map +1 -1
  311. package/features/settings/UpdateSettings/events.js +17 -26
  312. package/features/settings/UpdateSettings/events.js.map +1 -1
  313. package/features/settings/UpdateSettings/feature.js +6 -5
  314. package/features/settings/UpdateSettings/feature.js.map +1 -1
  315. package/features/settings/UpdateSettings/index.js +0 -2
  316. package/features/shared/abstractions.js +0 -2
  317. package/features/upload/CompleteMultiPartUpload/abstractions.d.ts +12 -0
  318. package/features/upload/CompleteMultiPartUpload/abstractions.js +5 -0
  319. package/features/upload/CompleteMultiPartUpload/abstractions.js.map +1 -0
  320. package/features/upload/CompleteMultiPartUpload/index.d.ts +1 -0
  321. package/features/upload/CompleteMultiPartUpload/index.js +1 -0
  322. package/features/upload/CreateMultiPartUpload/abstractions.d.ts +14 -0
  323. package/features/upload/CreateMultiPartUpload/abstractions.js +5 -0
  324. package/features/upload/CreateMultiPartUpload/abstractions.js.map +1 -0
  325. package/features/upload/CreateMultiPartUpload/index.d.ts +1 -0
  326. package/features/upload/CreateMultiPartUpload/index.js +1 -0
  327. package/features/upload/GetUploadPayload/abstractions.d.ts +10 -0
  328. package/features/upload/GetUploadPayload/abstractions.js +5 -0
  329. package/features/upload/GetUploadPayload/abstractions.js.map +1 -0
  330. package/features/upload/GetUploadPayload/index.d.ts +1 -0
  331. package/features/upload/GetUploadPayload/index.js +1 -0
  332. package/features/upload/ReadFileMetadata/MetadataReader.d.ts +11 -0
  333. package/features/upload/ReadFileMetadata/MetadataReader.js +21 -0
  334. package/features/upload/ReadFileMetadata/MetadataReader.js.map +1 -0
  335. package/features/upload/ReadFileMetadata/abstractions.d.ts +15 -0
  336. package/features/upload/ReadFileMetadata/abstractions.js +5 -0
  337. package/features/upload/ReadFileMetadata/abstractions.js.map +1 -0
  338. package/features/upload/ReadFileMetadata/feature.d.ts +4 -0
  339. package/features/upload/ReadFileMetadata/feature.js +11 -0
  340. package/features/upload/ReadFileMetadata/feature.js.map +1 -0
  341. package/features/upload/ReadFileMetadata/index.d.ts +1 -0
  342. package/features/upload/ReadFileMetadata/index.js +1 -0
  343. package/features/upload/WriteFileMetadata/MetadataWriter.d.ts +14 -0
  344. package/features/upload/WriteFileMetadata/MetadataWriter.js +36 -0
  345. package/features/upload/WriteFileMetadata/MetadataWriter.js.map +1 -0
  346. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +11 -0
  347. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +20 -0
  348. package/features/upload/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +1 -0
  349. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +11 -0
  350. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +22 -0
  351. package/features/upload/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +1 -0
  352. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.d.ts +11 -0
  353. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js +22 -0
  354. package/features/upload/WriteFileMetadata/WriteMetadataAfterUpdateHandler.js.map +1 -0
  355. package/features/upload/WriteFileMetadata/abstractions.d.ts +9 -0
  356. package/features/upload/WriteFileMetadata/abstractions.js +5 -0
  357. package/features/upload/WriteFileMetadata/abstractions.js.map +1 -0
  358. package/features/upload/WriteFileMetadata/feature.d.ts +4 -0
  359. package/features/upload/WriteFileMetadata/feature.js +17 -0
  360. package/features/upload/WriteFileMetadata/feature.js.map +1 -0
  361. package/features/upload/index.d.ts +17 -0
  362. package/features/upload/index.js +10 -0
  363. package/features/upload/types.d.ts +28 -0
  364. package/features/upload/types.js +0 -0
  365. package/features/upload/utils/FileExtension.d.ts +6 -0
  366. package/features/upload/utils/FileExtension.js +16 -0
  367. package/features/upload/utils/FileExtension.js.map +1 -0
  368. package/features/upload/utils/FileKey.d.ts +11 -0
  369. package/features/upload/utils/FileKey.js +33 -0
  370. package/features/upload/utils/FileKey.js.map +1 -0
  371. package/features/upload/utils/FileNormalizer.d.ts +13 -0
  372. package/features/upload/utils/FileNormalizer.js +41 -0
  373. package/features/upload/utils/FileNormalizer.js.map +1 -0
  374. package/features/upload/utils/FileUploadModifier.d.ts +30 -0
  375. package/features/upload/utils/FileUploadModifier.js +39 -0
  376. package/features/upload/utils/FileUploadModifier.js.map +1 -0
  377. package/features/upload/utils/checkPermissions.d.ts +5 -0
  378. package/features/upload/utils/checkPermissions.js +22 -0
  379. package/features/upload/utils/checkPermissions.js.map +1 -0
  380. package/features/upload/utils/createFileNormalizerFromContext.d.ts +3 -0
  381. package/features/upload/utils/createFileNormalizerFromContext.js +9 -0
  382. package/features/upload/utils/createFileNormalizerFromContext.js.map +1 -0
  383. package/features/upload/utils/mimeTypes.d.ts +1 -0
  384. package/features/upload/utils/mimeTypes.js +9 -0
  385. package/features/upload/utils/mimeTypes.js.map +1 -0
  386. package/graphql/FmGraphQLSchema.d.ts +24 -0
  387. package/graphql/FmGraphQLSchema.js +458 -0
  388. package/graphql/FmGraphQLSchema.js.map +1 -0
  389. package/index.d.ts +3 -6
  390. package/index.js +11 -33
  391. package/index.js.map +1 -1
  392. package/package.json +28 -21
  393. package/types.d.ts +1 -1
  394. package/types.js +1 -3
  395. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +0 -65
  396. package/delivery/AssetDelivery/AssetDeliveryConfig.js +0 -94
  397. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +0 -1
  398. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +0 -6
  399. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +0 -30
  400. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +0 -1
  401. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +0 -4
  402. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +0 -8
  403. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +0 -1
  404. package/delivery/AssetDelivery/NullAssetReply.js +0 -13
  405. package/delivery/AssetDelivery/NullAssetReply.js.map +0 -1
  406. package/delivery/AssetDelivery/NullAssetResolver.d.ts +0 -5
  407. package/delivery/AssetDelivery/NullAssetResolver.js +0 -7
  408. package/delivery/AssetDelivery/NullAssetResolver.js.map +0 -1
  409. package/delivery/AssetDelivery/NullRequestResolver.d.ts +0 -4
  410. package/delivery/AssetDelivery/NullRequestResolver.js +0 -7
  411. package/delivery/AssetDelivery/NullRequestResolver.js.map +0 -1
  412. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +0 -8
  413. package/delivery/AssetDelivery/SetCacheControlHeaders.js +0 -18
  414. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +0 -1
  415. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +0 -18
  416. package/delivery/AssetDelivery/SetResponseHeaders.js +0 -18
  417. package/delivery/AssetDelivery/SetResponseHeaders.js.map +0 -1
  418. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +0 -4
  419. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
  420. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
  421. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +0 -4
  422. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
  423. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
  424. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +0 -4
  425. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
  426. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
  427. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +0 -5
  428. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
  429. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
  430. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +0 -4
  431. package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
  432. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
  433. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +0 -4
  434. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
  435. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
  436. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +0 -4
  437. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
  438. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
  439. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +0 -4
  440. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +0 -19
  441. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +0 -1
  442. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +0 -4
  443. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +0 -8
  444. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +0 -1
  445. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +0 -8
  446. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +0 -20
  447. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +0 -1
  448. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +0 -6
  449. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +0 -21
  450. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +0 -1
  451. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +0 -8
  452. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +0 -30
  453. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +0 -1
  454. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +0 -13
  455. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +0 -63
  456. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +0 -1
  457. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +0 -6
  458. package/delivery/AssetDelivery/privateFiles/PublicCache.js +0 -21
  459. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +0 -1
  460. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +0 -7
  461. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +0 -20
  462. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +0 -1
  463. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +0 -7
  464. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +0 -20
  465. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +0 -1
  466. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +0 -4
  467. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +0 -7
  468. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +0 -1
  469. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -4
  470. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -7
  471. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
  472. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +0 -6
  473. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +0 -19
  474. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +0 -1
  475. package/delivery/index.js.map +0 -1
  476. package/domain/file/types.js.map +0 -1
  477. package/domain/settings/types.js.map +0 -1
  478. package/exports/api/file-manager/file.js.map +0 -1
  479. package/exports/api/file-manager/permissions.js.map +0 -1
  480. package/exports/api/file-manager/settings.js.map +0 -1
  481. package/features/file/CreateFile/index.js.map +0 -1
  482. package/features/file/CreateFilesInBatch/index.js.map +0 -1
  483. package/features/file/DeleteFile/index.js.map +0 -1
  484. package/features/file/GetFile/index.js.map +0 -1
  485. package/features/file/GetFileContents/abstractions.d.ts +0 -20
  486. package/features/file/GetFileContents/abstractions.js +0 -4
  487. package/features/file/GetFileContents/abstractions.js.map +0 -1
  488. package/features/file/GetFileContents/index.d.ts +0 -1
  489. package/features/file/GetFileContents/index.js +0 -3
  490. package/features/file/GetFileContents/index.js.map +0 -1
  491. package/features/file/ListFiles/index.js.map +0 -1
  492. package/features/file/ListTags/index.js.map +0 -1
  493. package/features/file/UpdateFile/index.js.map +0 -1
  494. package/features/settings/UpdateSettings/index.js.map +0 -1
  495. package/features/shared/abstractions.js.map +0 -1
  496. package/graphql/baseSchema.d.ts +0 -3
  497. package/graphql/baseSchema.js +0 -103
  498. package/graphql/baseSchema.js.map +0 -1
  499. package/graphql/createFilesTypeDefs.d.ts +0 -8
  500. package/graphql/createFilesTypeDefs.js +0 -199
  501. package/graphql/createFilesTypeDefs.js.map +0 -1
  502. package/graphql/filesSchema.d.ts +0 -4
  503. package/graphql/filesSchema.js +0 -116
  504. package/graphql/filesSchema.js.map +0 -1
  505. package/graphql/getFileByUrl.d.ts +0 -3
  506. package/graphql/getFileByUrl.js +0 -69
  507. package/graphql/getFileByUrl.js.map +0 -1
  508. package/graphql/index.d.ts +0 -4
  509. package/graphql/index.js +0 -54
  510. package/graphql/index.js.map +0 -1
  511. package/graphql/utils.d.ts +0 -11
  512. package/graphql/utils.js +0 -17
  513. package/graphql/utils.js.map +0 -1
  514. package/modelModifier/CmsModelModifier.d.ts +0 -26
  515. package/modelModifier/CmsModelModifier.js +0 -54
  516. package/modelModifier/CmsModelModifier.js.map +0 -1
  517. package/types.js.map +0 -1
  518. /package/{delivery/AssetDelivery → features/assetDelivery}/NullAssetReply.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql/FmGraphQLSchema.js","sources":["../../src/graphql/FmGraphQLSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { createModelSchemaKey } from \"@webiny/api-headless-cms/utils/createModelSchemaKey.js\";\nimport { ErrorResponse } from \"@webiny/api-graphql\";\nimport { ListResponse } from \"@webiny/api-graphql\";\nimport { NotFoundResponse } from \"@webiny/api-graphql\";\nimport { Response } from \"@webiny/api-graphql\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport { GetFileUseCase } from \"~/features/file/GetFile/abstractions.js\";\nimport { ListFilesUseCase } from \"~/features/file/ListFiles/abstractions.js\";\nimport { ListTagsUseCase } from \"~/features/file/ListTags/abstractions.js\";\nimport { CreateFileUseCase } from \"~/features/file/CreateFile/abstractions.js\";\nimport { CreateFilesInBatchUseCase } from \"~/features/file/CreateFilesInBatch/abstractions.js\";\nimport { UpdateFileUseCase } from \"~/features/file/UpdateFile/abstractions.js\";\nimport { DeleteFileUseCase } from \"~/features/file/DeleteFile/abstractions.js\";\nimport { GetFileByUrlUseCase } from \"~/features/file/GetFileByUrl/abstractions.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { FileUrlGenerator } from \"~/features/file/FileUrlGenerator/abstractions.js\";\nimport { FileModelProvider } from \"~/domain/file/abstractions.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nconst removeFieldRequiredValidation = (field: CmsModelField) => {\n if (field.validation) {\n field.validation = field.validation.filter(validation => validation.name !== \"required\");\n }\n if (field.listValidation) {\n field.listValidation = field.listValidation.filter(v => v.name !== \"required\");\n }\n return field;\n};\n\nconst createUpdateFields = (fields: CmsModelField[]): CmsModelField[] => {\n return fields.reduce<CmsModelField[]>((collection, field) => {\n collection.push(removeFieldRequiredValidation({ ...field }));\n return collection;\n }, []);\n};\n\nclass FmGraphQLSchema_ implements GraphQLSchemaFactory.Interface {\n public constructor(\n private readonly identityContext: IdentityContext.Interface,\n private readonly listModelsUseCase: ListModelsUseCase.Interface,\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface,\n private readonly fileModelProvider: FileModelProvider.Interface\n ) {}\n\n public async getSchemaKey(): Promise<string> {\n const models = await this.loadModels();\n const fileModel = await this.fileModelProvider.get();\n const modelKey = createModelSchemaKey([fileModel], models);\n return `FileManager:${modelKey}`;\n }\n\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n this.addBaseTypeDefs(builder);\n await this.addFileTypeDefs(builder);\n this.addSettingsResolvers(builder);\n this.addFileQueryResolvers(builder);\n this.addFileMutationResolvers(builder);\n\n return builder;\n }\n\n private addBaseTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addTypeDefs(/* GraphQL */ `\n type FmError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type FmCreatedBy {\n id: ID\n displayName: String\n type: String\n }\n\n type FmListMeta {\n cursor: String\n totalCount: Int\n hasMoreItems: Boolean\n }\n\n type FmBooleanResponse {\n data: Boolean\n error: FmError\n }\n\n type FmSettings {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n input FmSettingsInput {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n type FmSettingsResponse {\n data: FmSettings\n error: FmError\n }\n\n type FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\n }\n\n type FmMutation {\n updateSettings(data: FmSettingsInput): FmSettingsResponse\n }\n\n extend type Query {\n fileManager: FmQuery\n }\n\n extend type Mutation {\n fileManager: FmMutation\n }\n `);\n\n builder.addResolver({\n path: \"Query.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n\n builder.addResolver({\n path: \"Mutation.fileManager\",\n resolver: () => {\n return () => ({});\n }\n });\n }\n\n private async addFileTypeDefs(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<void> {\n const models = await this.loadModels();\n const fileModel = await this.fileModelProvider.get();\n const { fields } = fileModel;\n\n const fieldTypes = renderFields({\n models,\n model: fileModel,\n fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry\n });\n\n const inputCreateFields = renderInputFields({\n models,\n model: fileModel,\n fields,\n fieldRegistry: this.fieldRegistry\n });\n\n const inputUpdateFields = renderInputFields({\n models,\n model: fileModel,\n fields: createUpdateFields(fields),\n fieldRegistry: this.fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model: fileModel,\n fields: fileModel.fields,\n type: \"manage\",\n fieldRegistry: this.fieldRegistry,\n excludeFields: [\"entryId\", \"status\"]\n });\n\n builder.addTypeDefs(/* GraphQL */ `\n type FmFile_Location {\n folderId: ID!\n }\n\n input FmFile_LocationInput {\n folderId: ID!\n }\n\n input FmFile_LocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n\n ${fieldTypes.map(f => f.typeDefs).join(\"\\n\")}\n\n type FmFile {\n id: ID!\n createdOn: DateTime!\n modifiedOn: DateTime\n savedOn: DateTime!\n createdBy: FmCreatedBy!\n modifiedBy: FmCreatedBy\n savedBy: FmCreatedBy!\n location: FmFile_Location!\n src: String\n ${fieldTypes.map(f => f.fields).join(\"\\n\")}\n }\n\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n\n input FmCreatedByInput {\n id: ID!\n displayName: String!\n type: String!\n }\n\n input FmFileCreateInput {\n id: ID!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input FmFileUpdateInput {\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: FmCreatedByInput\n modifiedBy: FmCreatedByInput\n savedBy: FmCreatedByInput\n location: FmFile_LocationInput\n ${inputUpdateFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type FmFileResponse {\n data: FmFile\n error: FmError\n }\n\n input FmFileListWhereInput {\n ${listFilterFieldsRender.allFiltersAsString()}\n location: FmFile_LocationWhereInput\n AND: [FmFileListWhereInput!]\n OR: [FmFileListWhereInput!]\n }\n\n type FmFileListResponse {\n data: [FmFile!]\n error: FmError\n meta: FmListMeta\n }\n\n enum FmFileListSorter {\n savedOn_ASC\n savedOn_DESC\n createdOn_ASC\n createdOn_DESC\n name_ASC\n name_DESC\n key_ASC\n key_DESC\n type_ASC\n type_DESC\n size_ASC\n size_DESC\n }\n\n input FmTagsListWhereInput {\n createdBy: String\n tags_startsWith: String\n tags_not_startsWith: String\n }\n\n type FmTag {\n tag: String!\n count: Number!\n }\n\n type FmTagsListResponse {\n data: [FmTag!]\n error: FmError\n }\n\n type FmCreateFilesResponse {\n data: [FmFile!]\n error: FmError\n }\n\n type FmFileModelResponse {\n data: JSON\n error: FmError\n }\n\n extend type FmQuery {\n getFileModel: FmFileModelResponse!\n getFile(id: ID!): FmFileResponse!\n getFileByUrl(url: String!): FmFileResponse\n listFiles(\n search: String\n where: FmFileListWhereInput\n limit: Int\n after: String\n sort: [FmFileListSorter!]\n ): FmFileListResponse!\n listTags(where: FmTagsListWhereInput): FmTagsListResponse!\n }\n\n extend type FmMutation {\n createFile(data: FmFileCreateInput!): FmFileResponse!\n createFiles(data: [FmFileCreateInput!]!): FmCreateFilesResponse!\n updateFile(id: ID!, data: FmFileUpdateInput!): FmFileResponse!\n deleteFile(id: ID!): FmBooleanResponse!\n }\n `);\n }\n\n private addSettingsResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmQuery.getSettings\",\n dependencies: [GetSettingsUseCase],\n resolver: (getSettings: GetSettingsUseCase.Interface) => {\n return async () => {\n const result = await getSettings.execute();\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.updateSettings\",\n dependencies: [UpdateSettingsUseCase],\n resolver: (updateSettings: UpdateSettingsUseCase.Interface) => {\n return async ({ args }) => {\n const result = await updateSettings.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n }\n\n private addFileQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmFile.src\",\n dependencies: [FileUrlGenerator],\n resolver: (urlGenerator: FileUrlGenerator.Interface) => {\n return ({ parent }) => {\n return urlGenerator.generateUrl(parent);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.getFileModel\",\n dependencies: [FileModelProvider],\n resolver: (fileModelProvider: FileModelProvider.Interface) => {\n return async () => {\n return new Response(await fileModelProvider.get());\n };\n }\n });\n\n builder.addResolver<{ id: string }>({\n path: \"FmQuery.getFile\",\n dependencies: [GetFileUseCase],\n resolver: (getFile: GetFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listFiles\",\n dependencies: [ListFilesUseCase],\n resolver: (listFiles: ListFilesUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listFiles.execute(args);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new ListResponse(result.value.items, result.value.meta);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmQuery.listTags\",\n dependencies: [ListTagsUseCase],\n resolver: (listTags: ListTagsUseCase.Interface) => {\n return async ({ args }) => {\n const result = await listTags.execute(args || {});\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver<{ url: string }>({\n path: \"FmQuery.getFileByUrl\",\n dependencies: [GetFileByUrlUseCase],\n resolver: (getFileByUrl: GetFileByUrlUseCase.Interface) => {\n return async ({ args }) => {\n const result = await getFileByUrl.execute(args.url);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n if (!result.value) {\n return new NotFoundResponse(\"File not found!\");\n }\n\n return new Response(result.value);\n };\n }\n });\n }\n\n private addFileMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"FmMutation.createFile\",\n dependencies: [CreateFileUseCase],\n resolver: (createFile: CreateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFile.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.createFiles\",\n dependencies: [CreateFilesInBatchUseCase],\n resolver: (createFilesInBatch: CreateFilesInBatchUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createFilesInBatch.execute({\n files: args.data,\n meta: args.meta\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.updateFile\",\n dependencies: [UpdateFileUseCase],\n resolver: (updateFile: UpdateFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await updateFile.execute({\n id: args.id,\n ...args.data\n });\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"FmMutation.deleteFile\",\n dependencies: [DeleteFileUseCase],\n resolver: (deleteFile: DeleteFileUseCase.Interface) => {\n return async ({ args }) => {\n const result = await deleteFile.execute(args.id);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n }\n\n private async loadModels() {\n const modelsResult = await this.identityContext.withoutAuthorization(() => {\n return this.listModelsUseCase.execute();\n });\n\n return modelsResult.value;\n }\n}\n\nexport const FmGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: FmGraphQLSchema_,\n dependencies: [\n IdentityContext,\n ListModelsUseCase,\n CmsModelFieldToGraphQLRegistry,\n FileModelProvider\n ]\n});\n"],"names":["removeFieldRequiredValidation","field","validation","v","createUpdateFields","fields","collection","FmGraphQLSchema_","identityContext","listModelsUseCase","fieldRegistry","fileModelProvider","models","fileModel","modelKey","createModelSchemaKey","builder","fieldTypes","renderFields","inputCreateFields","renderInputFields","inputUpdateFields","listFilterFieldsRender","renderListFilterFields","f","GetSettingsUseCase","getSettings","result","ErrorResponse","Response","UpdateSettingsUseCase","updateSettings","args","FileUrlGenerator","urlGenerator","parent","FileModelProvider","GetFileUseCase","getFile","ListFilesUseCase","listFiles","ListResponse","ListTagsUseCase","listTags","GetFileByUrlUseCase","getFileByUrl","NotFoundResponse","CreateFileUseCase","createFile","CreateFilesInBatchUseCase","createFilesInBatch","UpdateFileUseCase","updateFile","DeleteFileUseCase","deleteFile","modelsResult","FmGraphQLSchema","GraphQLSchemaFactory","IdentityContext","ListModelsUseCase","CmsModelFieldToGraphQLRegistry"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
2
- import { ContextPlugin } from "@webiny/api";
3
- export * from "./modelModifier/CmsModelModifier.js";
4
1
  export * from "./delivery/index.js";
5
- export declare const createFileManagerContext: () => ContextPlugin<ApiCoreContext>;
6
- export declare const createFileManagerGraphQL: () => (import("@webiny/handler-graphql/index.js").GraphQLSchemaPlugin<ApiCoreContext> | ContextPlugin<ApiCoreContext>)[];
7
- export declare const createAssetDelivery: () => (import("./index.js").AssetDeliveryConfigModifierPlugin | import("@webiny/handler/index.js").ModifyFastifyPlugin)[];
2
+ export declare const createAssetDelivery: () => import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>[];
3
+ export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
4
+ export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
package/index.js CHANGED
@@ -1,37 +1,15 @@
1
- import { ContextPlugin } from "@webiny/api";
2
1
  import { setupAssetDelivery } from "./delivery/setupAssetDelivery.js";
3
- import { createGraphQLSchemaPlugin } from "./graphql/index.js";
4
- import { FileManagerFeature } from "./features/FileManagerFeature.js";
5
- import { FmPermissionsFeature } from "./features/permissions/feature.js";
6
- import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
7
- import { FileModel as FileModelAbstraction } from "./domain/file/abstractions.js";
8
- import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
9
- import { FileModel, FILE_MODEL_ID } from "./domain/file/file.model.js";
10
- export * from "./modelModifier/CmsModelModifier.js";
2
+ import { createRegisterExtensionPlugin } from "@webiny/handler";
3
+ import { AssetDeliveryFeature } from "./features/assetDelivery/feature.js";
11
4
  export * from "./delivery/index.js";
12
- export const createFileManagerContext = () => {
13
- const plugin = new ContextPlugin(async context => {
14
- const tenantContext = context.container.resolve(TenantContext);
15
- const getModel = context.container.resolve(GetModelUseCase);
16
- if (!tenantContext.getTenant()) {
17
- return;
18
- }
19
- context.container.register(FileModel);
20
- await context.security.withoutAuthorization(async () => {
21
- const fileModel = await getModel.execute(FILE_MODEL_ID);
22
- context.container.registerInstance(FileModelAbstraction, fileModel.value);
23
- });
24
- FmPermissionsFeature.register(context.container);
25
- FileManagerFeature.register(context.container);
26
- });
27
- plugin.name = "file-manager.createContext";
28
- return plugin;
29
- };
30
- export const createFileManagerGraphQL = () => {
31
- return createGraphQLSchemaPlugin();
32
- };
33
- export const createAssetDelivery = () => {
34
- return setupAssetDelivery();
35
- };
5
+ const createAssetDelivery = ()=>[
6
+ createRegisterExtensionPlugin((context)=>{
7
+ AssetDeliveryFeature.register(context.container);
8
+ }),
9
+ ...setupAssetDelivery()
10
+ ];
11
+ export { FileManagerAppFeature } from "./FileManagerAppFeature.js";
12
+ export { AssetDeliveryRoute } from "./delivery/AssetDeliveryRoute.js";
13
+ export { createAssetDelivery };
36
14
 
37
15
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","setupAssetDelivery","createGraphQLSchemaPlugin","FileManagerFeature","FmPermissionsFeature","GetModelUseCase","FileModel","FileModelAbstraction","TenantContext","FILE_MODEL_ID","createFileManagerContext","plugin","context","tenantContext","container","resolve","getModel","getTenant","register","security","withoutAuthorization","fileModel","execute","registerInstance","value","name","createFileManagerGraphQL","createAssetDelivery"],"sources":["index.ts"],"sourcesContent":["import type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { createGraphQLSchemaPlugin } from \"./graphql/index.js\";\nimport { FileManagerFeature } from \"~/features/FileManagerFeature.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { FileModel as FileModelAbstraction } from \"~/domain/file/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { FileModel, FILE_MODEL_ID } from \"~/domain/file/file.model.js\";\n\nexport * from \"./modelModifier/CmsModelModifier.js\";\nexport * from \"./delivery/index.js\";\n\nexport const createFileManagerContext = () => {\n const plugin = new ContextPlugin<ApiCoreContext>(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const getModel = context.container.resolve(GetModelUseCase);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n context.container.register(FileModel);\n\n await context.security.withoutAuthorization(async () => {\n const fileModel = await getModel.execute(FILE_MODEL_ID);\n context.container.registerInstance(FileModelAbstraction, fileModel.value);\n });\n\n FmPermissionsFeature.register(context.container);\n FileManagerFeature.register(context.container);\n });\n\n plugin.name = \"file-manager.createContext\";\n\n return plugin;\n};\n\nexport const createFileManagerGraphQL = () => {\n return createGraphQLSchemaPlugin();\n};\n\nexport const createAssetDelivery = () => {\n return setupAssetDelivery();\n};\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,aAAa;AAC3C,SAASC,kBAAkB;AAC3B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAC3B,SAASC,oBAAoB;AAC7B,SAASC,eAAe,QAAQ,kEAAkE;AAClG,SAASC,SAAS,IAAIC,oBAAoB;AAC1C,SAASC,aAAa,QAAQ,0DAA0D;AACxF,SAASF,SAAS,EAAEG,aAAa;AAEjC;AACA;AAEA,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,MAAM,GAAG,IAAIX,aAAa,CAAiB,MAAMY,OAAO,IAAI;IAC9D,MAAMC,aAAa,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACP,aAAa,CAAC;IAC9D,MAAMQ,QAAQ,GAAGJ,OAAO,CAACE,SAAS,CAACC,OAAO,CAACV,eAAe,CAAC;IAE3D,IAAI,CAACQ,aAAa,CAACI,SAAS,CAAC,CAAC,EAAE;MAC5B;IACJ;IAEAL,OAAO,CAACE,SAAS,CAACI,QAAQ,CAACZ,SAAS,CAAC;IAErC,MAAMM,OAAO,CAACO,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MACpD,MAAMC,SAAS,GAAG,MAAML,QAAQ,CAACM,OAAO,CAACb,aAAa,CAAC;MACvDG,OAAO,CAACE,SAAS,CAACS,gBAAgB,CAAChB,oBAAoB,EAAEc,SAAS,CAACG,KAAK,CAAC;IAC7E,CAAC,CAAC;IAEFpB,oBAAoB,CAACc,QAAQ,CAACN,OAAO,CAACE,SAAS,CAAC;IAChDX,kBAAkB,CAACe,QAAQ,CAACN,OAAO,CAACE,SAAS,CAAC;EAClD,CAAC,CAAC;EAEFH,MAAM,CAACc,IAAI,GAAG,4BAA4B;EAE1C,OAAOd,MAAM;AACjB,CAAC;AAED,OAAO,MAAMe,wBAAwB,GAAGA,CAAA,KAAM;EAC1C,OAAOxB,yBAAyB,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,MAAMyB,mBAAmB,GAAGA,CAAA,KAAM;EACrC,OAAO1B,kBAAkB,CAAC,CAAC;AAC/B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { setupAssetDelivery } from \"./delivery/setupAssetDelivery.js\";\nimport { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { AssetDeliveryFeature } from \"~/features/assetDelivery/feature.js\";\n\nexport * from \"./delivery/index.js\";\n\nexport const createAssetDelivery = () => {\n return [\n createRegisterExtensionPlugin(context => {\n AssetDeliveryFeature.register(context.container);\n }),\n ...setupAssetDelivery()\n ];\n};\n\nexport { FileManagerAppFeature } from \"./FileManagerAppFeature.js\";\nexport { AssetDeliveryRoute } from \"./delivery/AssetDeliveryRoute.js\";\n"],"names":["createAssetDelivery","createRegisterExtensionPlugin","context","AssetDeliveryFeature","setupAssetDelivery"],"mappings":";;;;AAMO,MAAMA,sBAAsB,IACxB;QACHC,8BAA8BC,CAAAA;YAC1BC,qBAAqB,QAAQ,CAACD,QAAQ,SAAS;QACnD;WACGE;KACN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-file-manager",
3
- "version": "0.0.0-unstable.e6f0dc8ca7",
3
+ "version": "0.0.0-unstable.eb81deee7e",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -22,33 +22,37 @@
22
22
  ],
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@webiny/api": "0.0.0-unstable.e6f0dc8ca7",
26
- "@webiny/api-core": "0.0.0-unstable.e6f0dc8ca7",
27
- "@webiny/api-headless-cms": "0.0.0-unstable.e6f0dc8ca7",
28
- "@webiny/build-tools": "0.0.0-unstable.e6f0dc8ca7",
29
- "@webiny/di": "0.2.3",
30
- "@webiny/error": "0.0.0-unstable.e6f0dc8ca7",
31
- "@webiny/feature": "0.0.0-unstable.e6f0dc8ca7",
32
- "@webiny/handler": "0.0.0-unstable.e6f0dc8ca7",
33
- "@webiny/handler-graphql": "0.0.0-unstable.e6f0dc8ca7",
34
- "@webiny/plugins": "0.0.0-unstable.e6f0dc8ca7",
35
- "@webiny/tasks": "0.0.0-unstable.e6f0dc8ca7",
36
- "@webiny/wcp": "0.0.0-unstable.e6f0dc8ca7",
25
+ "@webiny/api": "0.0.0-unstable.eb81deee7e",
26
+ "@webiny/api-core": "0.0.0-unstable.eb81deee7e",
27
+ "@webiny/api-graphql": "0.0.0-unstable.eb81deee7e",
28
+ "@webiny/api-headless-cms": "0.0.0-unstable.eb81deee7e",
29
+ "@webiny/background-tasks": "0.0.0-unstable.eb81deee7e",
30
+ "@webiny/build-tools": "0.0.0-unstable.eb81deee7e",
31
+ "@webiny/di": "1.1.0",
32
+ "@webiny/error": "0.0.0-unstable.eb81deee7e",
33
+ "@webiny/event-handler-core": "0.0.0-unstable.eb81deee7e",
34
+ "@webiny/feature": "0.0.0-unstable.eb81deee7e",
35
+ "@webiny/handler": "0.0.0-unstable.eb81deee7e",
36
+ "@webiny/plugins": "0.0.0-unstable.eb81deee7e",
37
+ "@webiny/wcp": "0.0.0-unstable.eb81deee7e",
37
38
  "cache-control-parser": "2.2.0",
39
+ "graphql": "16.14.2",
40
+ "mime": "4.1.0",
41
+ "object-hash": "3.0.0",
42
+ "p-reduce": "3.0.0",
43
+ "sanitize-filename": "1.6.4",
38
44
  "zod": "4.4.3"
39
45
  },
40
46
  "devDependencies": {
41
47
  "@types/object-hash": "3.0.6",
42
- "@webiny/handler-aws": "0.0.0-unstable.e6f0dc8ca7",
43
- "@webiny/project-utils": "0.0.0-unstable.e6f0dc8ca7",
44
- "@webiny/utils": "0.0.0-unstable.e6f0dc8ca7",
45
- "@webiny/wcp": "0.0.0",
48
+ "@webiny/api-core-testing": "0.0.0-unstable.eb81deee7e",
49
+ "@webiny/utils": "0.0.0-unstable.eb81deee7e",
50
+ "@webiny/wcp": "0.0.0-unstable.eb81deee7e",
46
51
  "rimraf": "6.1.3",
47
- "typescript": "6.0.3"
52
+ "typescript": "7.0.2"
48
53
  },
49
54
  "publishConfig": {
50
- "access": "public",
51
- "directory": "dist"
55
+ "access": "public"
52
56
  },
53
57
  "adio": {
54
58
  "ignoreDirs": [
@@ -63,5 +67,8 @@
63
67
  ]
64
68
  }
65
69
  },
66
- "gitHead": "e6f0dc8ca741c1fcc3fec9a5b9e86fdd49544641"
70
+ "gitHead": "8476da73b653c89cc1474d968baf55c1b0ae0e5f",
71
+ "webiny": {
72
+ "publishFrom": "dist"
73
+ }
67
74
  }
package/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import "@webiny/tasks/features/TaskController/augmentation.js";
1
+ import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
2
2
  import type { SecurityPermission } from "@webiny/api-core/types/security.js";
3
3
  export interface FilePermission extends SecurityPermission {
4
4
  name: "fm.file";
package/types.js CHANGED
@@ -1,3 +1 @@
1
- import "@webiny/tasks/features/TaskController/augmentation.js";
2
-
3
- //# sourceMappingURL=types.js.map
1
+ import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
@@ -1,65 +0,0 @@
1
- import { Plugin } from "@webiny/plugins";
2
- import type { AssetRequestResolver, AssetResolver, AssetProcessor, AssetOutputStrategy, AssetRequest, Asset, AssetTransformationStrategy, ResponseHeadersSetter } from "../../delivery/index.js";
3
- import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
4
- import { Container } from "@webiny/di";
5
- type Setter<TParams, TReturn> = (params: TParams) => TReturn;
6
- export type AssetRequestResolverDecorator = Setter<{
7
- assetRequestResolver: AssetRequestResolver;
8
- }, AssetRequestResolver>;
9
- export type AssetResolverDecorator = Setter<{
10
- assetResolver: AssetResolver;
11
- container: Container;
12
- }, AssetResolver>;
13
- export type AssetProcessorDecorator = Setter<{
14
- context: ApiCoreContext;
15
- assetProcessor: AssetProcessor;
16
- }, AssetProcessor>;
17
- export type AssetTransformationDecorator = Setter<{
18
- context: ApiCoreContext;
19
- assetTransformationStrategy: AssetTransformationStrategy;
20
- }, AssetTransformationStrategy>;
21
- export interface AssetOutputStrategyDecoratorParams {
22
- context: ApiCoreContext;
23
- assetRequest: AssetRequest;
24
- asset: Asset;
25
- assetOutputStrategy: AssetOutputStrategy;
26
- }
27
- export type AssetOutputStrategyDecorator = Setter<AssetOutputStrategyDecoratorParams, AssetOutputStrategy>;
28
- export declare class AssetDeliveryConfigBuilder {
29
- private assetRequestResolverDecorators;
30
- private assetResolverDecorators;
31
- private assetProcessorDecorators;
32
- private assetTransformationStrategyDecorators;
33
- private assetOutputStrategyDecorators;
34
- setResponseHeaders(setter: ResponseHeadersSetter): void;
35
- decorateAssetRequestResolver(decorator: AssetRequestResolverDecorator): void;
36
- decorateAssetResolver(decorator: AssetResolverDecorator): void;
37
- decorateAssetProcessor(decorator: AssetProcessorDecorator): void;
38
- decorateAssetTransformationStrategy(decorator: AssetTransformationDecorator): void;
39
- decorateAssetOutputStrategy(decorator: AssetOutputStrategyDecorator): void;
40
- /**
41
- * @internal
42
- */
43
- getAssetRequestResolver(): AssetRequestResolver;
44
- /**
45
- * @internal
46
- */
47
- getAssetResolver(container: Container): AssetResolver;
48
- /**
49
- * @internal
50
- */
51
- getAssetProcessor(context: ApiCoreContext): AssetProcessor;
52
- getAssetOutputStrategy(context: ApiCoreContext, assetRequest: AssetRequest, asset: Asset): AssetOutputStrategy;
53
- getAssetTransformationStrategy(context: ApiCoreContext): AssetTransformationStrategy;
54
- }
55
- export interface AssetDeliveryConfigModifier {
56
- (config: AssetDeliveryConfigBuilder): Promise<void> | void;
57
- }
58
- export declare class AssetDeliveryConfigModifierPlugin extends Plugin {
59
- static type: string;
60
- private readonly cb;
61
- constructor(cb: AssetDeliveryConfigModifier);
62
- buildConfig(configBuilder: AssetDeliveryConfigBuilder): Promise<void>;
63
- }
64
- export declare const createAssetDeliveryConfig: (cb: AssetDeliveryConfigModifier) => AssetDeliveryConfigModifierPlugin;
65
- export {};
@@ -1,94 +0,0 @@
1
- import { Plugin } from "@webiny/plugins";
2
- import { SetResponseHeaders } from "../index.js";
3
- import { NullRequestResolver } from "./NullRequestResolver.js";
4
- import { NullAssetResolver } from "./NullAssetResolver.js";
5
- import { NullAssetOutputStrategy } from "./NullAssetOutputStrategy.js";
6
- import { TransformationAssetProcessor } from "./transformation/TransformationAssetProcessor.js";
7
- import { PassthroughAssetTransformationStrategy } from "./transformation/PassthroughAssetTransformationStrategy.js";
8
- export class AssetDeliveryConfigBuilder {
9
- assetRequestResolverDecorators = [];
10
- assetResolverDecorators = [];
11
- assetProcessorDecorators = [];
12
- assetTransformationStrategyDecorators = [];
13
- assetOutputStrategyDecorators = [];
14
- setResponseHeaders(setter) {
15
- this.decorateAssetOutputStrategy(params => {
16
- return new SetResponseHeaders(setter, params);
17
- });
18
- }
19
- decorateAssetRequestResolver(decorator) {
20
- this.assetRequestResolverDecorators.push(decorator);
21
- }
22
- decorateAssetResolver(decorator) {
23
- this.assetResolverDecorators.push(decorator);
24
- }
25
- decorateAssetProcessor(decorator) {
26
- this.assetProcessorDecorators.push(decorator);
27
- }
28
- decorateAssetTransformationStrategy(decorator) {
29
- this.assetTransformationStrategyDecorators.push(decorator);
30
- }
31
- decorateAssetOutputStrategy(decorator) {
32
- this.assetOutputStrategyDecorators.push(decorator);
33
- }
34
-
35
- /**
36
- * @internal
37
- */
38
- getAssetRequestResolver() {
39
- return this.assetRequestResolverDecorators.reduce((value, decorator) => decorator({
40
- assetRequestResolver: value
41
- }), new NullRequestResolver());
42
- }
43
-
44
- /**
45
- * @internal
46
- */
47
- getAssetResolver(container) {
48
- return this.assetResolverDecorators.reduce((value, decorator) => decorator({
49
- container,
50
- assetResolver: value
51
- }), new NullAssetResolver());
52
- }
53
-
54
- /**
55
- * @internal
56
- */
57
- getAssetProcessor(context) {
58
- return this.assetProcessorDecorators.reduce((value, decorator) => decorator({
59
- assetProcessor: value,
60
- context
61
- }), new TransformationAssetProcessor(this.getAssetTransformationStrategy(context)));
62
- }
63
- getAssetOutputStrategy(context, assetRequest, asset) {
64
- return this.assetOutputStrategyDecorators.reduce((value, decorator) => {
65
- return decorator({
66
- context,
67
- assetRequest,
68
- asset,
69
- assetOutputStrategy: value
70
- });
71
- }, new NullAssetOutputStrategy());
72
- }
73
- getAssetTransformationStrategy(context) {
74
- return this.assetTransformationStrategyDecorators.reduce((value, decorator) => decorator({
75
- context,
76
- assetTransformationStrategy: value
77
- }), new PassthroughAssetTransformationStrategy());
78
- }
79
- }
80
- export class AssetDeliveryConfigModifierPlugin extends Plugin {
81
- static type = "fm.config-modifier";
82
- constructor(cb) {
83
- super();
84
- this.cb = cb;
85
- }
86
- async buildConfig(configBuilder) {
87
- await this.cb(configBuilder);
88
- }
89
- }
90
- export const createAssetDeliveryConfig = cb => {
91
- return new AssetDeliveryConfigModifierPlugin(cb);
92
- };
93
-
94
- //# sourceMappingURL=AssetDeliveryConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Plugin","SetResponseHeaders","NullRequestResolver","NullAssetResolver","NullAssetOutputStrategy","TransformationAssetProcessor","PassthroughAssetTransformationStrategy","AssetDeliveryConfigBuilder","assetRequestResolverDecorators","assetResolverDecorators","assetProcessorDecorators","assetTransformationStrategyDecorators","assetOutputStrategyDecorators","setResponseHeaders","setter","decorateAssetOutputStrategy","params","decorateAssetRequestResolver","decorator","push","decorateAssetResolver","decorateAssetProcessor","decorateAssetTransformationStrategy","getAssetRequestResolver","reduce","value","assetRequestResolver","getAssetResolver","container","assetResolver","getAssetProcessor","context","assetProcessor","getAssetTransformationStrategy","getAssetOutputStrategy","assetRequest","asset","assetOutputStrategy","assetTransformationStrategy","AssetDeliveryConfigModifierPlugin","type","constructor","cb","buildConfig","configBuilder","createAssetDeliveryConfig"],"sources":["AssetDeliveryConfig.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type {\n AssetRequestResolver,\n AssetResolver,\n AssetProcessor,\n AssetOutputStrategy,\n AssetRequest,\n Asset,\n AssetTransformationStrategy,\n ResponseHeadersSetter\n} from \"~/delivery/index.js\";\nimport { SetResponseHeaders } from \"~/delivery/index.js\";\nimport { NullRequestResolver } from \"~/delivery/AssetDelivery/NullRequestResolver.js\";\nimport { NullAssetResolver } from \"~/delivery/AssetDelivery/NullAssetResolver.js\";\nimport { NullAssetOutputStrategy } from \"./NullAssetOutputStrategy.js\";\nimport { TransformationAssetProcessor } from \"./transformation/TransformationAssetProcessor.js\";\nimport { PassthroughAssetTransformationStrategy } from \"./transformation/PassthroughAssetTransformationStrategy.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { Container } from \"@webiny/di\";\n\ntype Setter<TParams, TReturn> = (params: TParams) => TReturn;\n\nexport type AssetRequestResolverDecorator = Setter<\n { assetRequestResolver: AssetRequestResolver },\n AssetRequestResolver\n>;\n\nexport type AssetResolverDecorator = Setter<\n { assetResolver: AssetResolver; container: Container },\n AssetResolver\n>;\n\nexport type AssetProcessorDecorator = Setter<\n { context: ApiCoreContext; assetProcessor: AssetProcessor },\n AssetProcessor\n>;\n\nexport type AssetTransformationDecorator = Setter<\n { context: ApiCoreContext; assetTransformationStrategy: AssetTransformationStrategy },\n AssetTransformationStrategy\n>;\n\nexport interface AssetOutputStrategyDecoratorParams {\n context: ApiCoreContext;\n assetRequest: AssetRequest;\n asset: Asset;\n assetOutputStrategy: AssetOutputStrategy;\n}\n\nexport type AssetOutputStrategyDecorator = Setter<\n AssetOutputStrategyDecoratorParams,\n AssetOutputStrategy\n>;\n\nexport class AssetDeliveryConfigBuilder {\n private assetRequestResolverDecorators: AssetRequestResolverDecorator[] = [];\n private assetResolverDecorators: AssetResolverDecorator[] = [];\n private assetProcessorDecorators: AssetProcessorDecorator[] = [];\n private assetTransformationStrategyDecorators: AssetTransformationDecorator[] = [];\n private assetOutputStrategyDecorators: AssetOutputStrategyDecorator[] = [];\n\n setResponseHeaders(setter: ResponseHeadersSetter) {\n this.decorateAssetOutputStrategy(params => {\n return new SetResponseHeaders(setter, params);\n });\n }\n\n decorateAssetRequestResolver(decorator: AssetRequestResolverDecorator) {\n this.assetRequestResolverDecorators.push(decorator);\n }\n\n decorateAssetResolver(decorator: AssetResolverDecorator) {\n this.assetResolverDecorators.push(decorator);\n }\n\n decorateAssetProcessor(decorator: AssetProcessorDecorator) {\n this.assetProcessorDecorators.push(decorator);\n }\n\n decorateAssetTransformationStrategy(decorator: AssetTransformationDecorator) {\n this.assetTransformationStrategyDecorators.push(decorator);\n }\n\n decorateAssetOutputStrategy(decorator: AssetOutputStrategyDecorator) {\n this.assetOutputStrategyDecorators.push(decorator);\n }\n\n /**\n * @internal\n */\n getAssetRequestResolver() {\n return this.assetRequestResolverDecorators.reduce<AssetRequestResolver>(\n (value, decorator) => decorator({ assetRequestResolver: value }),\n new NullRequestResolver()\n );\n }\n\n /**\n * @internal\n */\n getAssetResolver(container: Container) {\n return this.assetResolverDecorators.reduce<AssetResolver>(\n (value, decorator) => decorator({ container, assetResolver: value }),\n new NullAssetResolver()\n );\n }\n\n /**\n * @internal\n */\n getAssetProcessor(context: ApiCoreContext) {\n return this.assetProcessorDecorators.reduce<AssetProcessor>(\n (value, decorator) => decorator({ assetProcessor: value, context }),\n new TransformationAssetProcessor(this.getAssetTransformationStrategy(context))\n );\n }\n\n getAssetOutputStrategy(context: ApiCoreContext, assetRequest: AssetRequest, asset: Asset) {\n return this.assetOutputStrategyDecorators.reduce<AssetOutputStrategy>(\n (value, decorator) => {\n return decorator({ context, assetRequest, asset, assetOutputStrategy: value });\n },\n new NullAssetOutputStrategy()\n );\n }\n\n getAssetTransformationStrategy(context: ApiCoreContext) {\n return this.assetTransformationStrategyDecorators.reduce<AssetTransformationStrategy>(\n (value, decorator) => decorator({ context, assetTransformationStrategy: value }),\n new PassthroughAssetTransformationStrategy()\n );\n }\n}\n\nexport interface AssetDeliveryConfigModifier {\n (config: AssetDeliveryConfigBuilder): Promise<void> | void;\n}\n\nexport class AssetDeliveryConfigModifierPlugin extends Plugin {\n public static override type = \"fm.config-modifier\";\n private readonly cb: AssetDeliveryConfigModifier;\n\n constructor(cb: AssetDeliveryConfigModifier) {\n super();\n this.cb = cb;\n }\n\n async buildConfig(configBuilder: AssetDeliveryConfigBuilder): Promise<void> {\n await this.cb(configBuilder);\n }\n}\n\nexport const createAssetDeliveryConfig = (cb: AssetDeliveryConfigModifier) => {\n return new AssetDeliveryConfigModifierPlugin(cb);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import type { Request } from "@webiny/handler/types.js";
2
- import type { AssetRequestResolver } from "./abstractions/AssetRequestResolver.js";
3
- import { AssetRequest } from "./AssetRequest.js";
4
- export declare class FilesAssetRequestResolver implements AssetRequestResolver {
5
- resolve(request: Request): Promise<AssetRequest | undefined>;
6
- }
@@ -1,30 +0,0 @@
1
- import { AssetRequest } from "./AssetRequest.js";
2
- export class FilesAssetRequestResolver {
3
- async resolve(request) {
4
- // Example: /files/65722cb5c7824a0008d05963/image-48.jpg?width=300
5
- if (!request.url.startsWith("/files/")) {
6
- return undefined;
7
- }
8
- const params = request.params ?? {};
9
- const query = request.query ?? {};
10
-
11
- // Example: { '*': '/files/65722cb5c7824a0008d05963/image-48.jpg' },
12
- const path = params["*"];
13
- const options = {
14
- ...query,
15
- original: "original" in query
16
- };
17
- if (query.width) {
18
- options.width = parseInt(query.width);
19
- }
20
- return new AssetRequest({
21
- key: decodeURI(path).replace("/files/", ""),
22
- context: {
23
- url: request.url
24
- },
25
- options
26
- });
27
- }
28
- }
29
-
30
- //# sourceMappingURL=FilesAssetRequestResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AssetRequest","FilesAssetRequestResolver","resolve","request","url","startsWith","undefined","params","query","path","options","original","width","parseInt","key","decodeURI","replace","context"],"sources":["FilesAssetRequestResolver.ts"],"sourcesContent":["import type { Request } from \"@webiny/handler/types.js\";\nimport type { AssetRequestResolver } from \"./abstractions/AssetRequestResolver.js\";\nimport type { AssetRequestOptions } from \"./AssetRequest.js\";\nimport { AssetRequest } from \"./AssetRequest.js\";\n\nexport class FilesAssetRequestResolver implements AssetRequestResolver {\n async resolve(request: Request): Promise<AssetRequest | undefined> {\n // Example: /files/65722cb5c7824a0008d05963/image-48.jpg?width=300\n if (!request.url.startsWith(\"/files/\")) {\n return undefined;\n }\n\n const params = (request.params as Record<string, any>) ?? {};\n const query = (request.query as Record<string, any>) ?? {};\n\n // Example: { '*': '/files/65722cb5c7824a0008d05963/image-48.jpg' },\n const path = params[\"*\"];\n\n const options: AssetRequestOptions = {\n ...query,\n original: \"original\" in query\n };\n\n if (query.width) {\n options.width = parseInt(query.width);\n }\n\n return new AssetRequest({\n key: decodeURI(path).replace(\"/files/\", \"\"),\n context: {\n url: request.url\n },\n options\n });\n }\n}\n"],"mappings":"AAGA,SAASA,YAAY;AAErB,OAAO,MAAMC,yBAAyB,CAAiC;EACnE,MAAMC,OAAOA,CAACC,OAAgB,EAAqC;IAC/D;IACA,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MACpC,OAAOC,SAAS;IACpB;IAEA,MAAMC,MAAM,GAAIJ,OAAO,CAACI,MAAM,IAA4B,CAAC,CAAC;IAC5D,MAAMC,KAAK,GAAIL,OAAO,CAACK,KAAK,IAA4B,CAAC,CAAC;;IAE1D;IACA,MAAMC,IAAI,GAAGF,MAAM,CAAC,GAAG,CAAC;IAExB,MAAMG,OAA4B,GAAG;MACjC,GAAGF,KAAK;MACRG,QAAQ,EAAE,UAAU,IAAIH;IAC5B,CAAC;IAED,IAAIA,KAAK,CAACI,KAAK,EAAE;MACbF,OAAO,CAACE,KAAK,GAAGC,QAAQ,CAACL,KAAK,CAACI,KAAK,CAAC;IACzC;IAEA,OAAO,IAAIZ,YAAY,CAAC;MACpBc,GAAG,EAAEC,SAAS,CAACN,IAAI,CAAC,CAACO,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;MAC3CC,OAAO,EAAE;QACLb,GAAG,EAAED,OAAO,CAACC;MACjB,CAAC;MACDM;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import type { AssetOutputStrategy, AssetReply } from "../../delivery/index.js";
2
- export declare class NullAssetOutputStrategy implements AssetOutputStrategy {
3
- output(): Promise<AssetReply>;
4
- }
@@ -1,8 +0,0 @@
1
- import { NullAssetReply } from "./NullAssetReply.js";
2
- export class NullAssetOutputStrategy {
3
- async output() {
4
- return new NullAssetReply();
5
- }
6
- }
7
-
8
- //# sourceMappingURL=NullAssetOutputStrategy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NullAssetReply","NullAssetOutputStrategy","output"],"sources":["NullAssetOutputStrategy.ts"],"sourcesContent":["import type { AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\nimport { NullAssetReply } from \"./NullAssetReply.js\";\n\nexport class NullAssetOutputStrategy implements AssetOutputStrategy {\n async output(): Promise<AssetReply> {\n return new NullAssetReply();\n }\n}\n"],"mappings":"AACA,SAASA,cAAc;AAEvB,OAAO,MAAMC,uBAAuB,CAAgC;EAChE,MAAMC,MAAMA,CAAA,EAAwB;IAChC,OAAO,IAAIF,cAAc,CAAC,CAAC;EAC/B;AACJ","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import { AssetReply } from "./abstractions/AssetReply.js";
2
- export class NullAssetReply extends AssetReply {
3
- constructor() {
4
- super({
5
- code: 404,
6
- body: () => ({
7
- error: "Asset output strategy is not implemented!"
8
- })
9
- });
10
- }
11
- }
12
-
13
- //# sourceMappingURL=NullAssetReply.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AssetReply","NullAssetReply","constructor","code","body","error"],"sources":["NullAssetReply.ts"],"sourcesContent":["import { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply.js\";\n\nexport class NullAssetReply extends AssetReply {\n constructor() {\n super({\n code: 404,\n body: () => ({ error: \"Asset output strategy is not implemented!\" })\n });\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU;AAEnB,OAAO,MAAMC,cAAc,SAASD,UAAU,CAAC;EAC3CE,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,IAAI,EAAE,GAAG;MACTC,IAAI,EAAEA,CAAA,MAAO;QAAEC,KAAK,EAAE;MAA4C,CAAC;IACvE,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- import type { AssetResolver } from "./abstractions/AssetResolver.js";
2
- import type { Asset } from "./Asset.js";
3
- export declare class NullAssetResolver implements AssetResolver {
4
- resolve(): Promise<Asset | undefined>;
5
- }
@@ -1,7 +0,0 @@
1
- export class NullAssetResolver {
2
- resolve() {
3
- return Promise.resolve(undefined);
4
- }
5
- }
6
-
7
- //# sourceMappingURL=NullAssetResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NullAssetResolver","resolve","Promise","undefined"],"sources":["NullAssetResolver.ts"],"sourcesContent":["import type { AssetResolver } from \"./abstractions/AssetResolver.js\";\nimport type { Asset } from \"./Asset.js\";\n\nexport class NullAssetResolver implements AssetResolver {\n resolve(): Promise<Asset | undefined> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,iBAAiB,CAA0B;EACpDC,OAAOA,CAAA,EAA+B;IAClC,OAAOC,OAAO,CAACD,OAAO,CAACE,SAAS,CAAC;EACrC;AACJ","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import type { AssetRequest, AssetRequestResolver } from "../../delivery/index.js";
2
- export declare class NullRequestResolver implements AssetRequestResolver {
3
- resolve(): Promise<AssetRequest | undefined>;
4
- }
@@ -1,7 +0,0 @@
1
- export class NullRequestResolver {
2
- resolve() {
3
- return Promise.resolve(undefined);
4
- }
5
- }
6
-
7
- //# sourceMappingURL=NullRequestResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NullRequestResolver","resolve","Promise","undefined"],"sources":["NullRequestResolver.ts"],"sourcesContent":["import type { AssetRequest, AssetRequestResolver } from \"~/delivery/index.js\";\n\nexport class NullRequestResolver implements AssetRequestResolver {\n resolve(): Promise<AssetRequest | undefined> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,CAAiC;EAC7DC,OAAOA,CAAA,EAAsC;IACzC,OAAOC,OAAO,CAACD,OAAO,CAACE,SAAS,CAAC;EACrC;AACJ","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import type { ResponseHeaders } from "@webiny/handler";
2
- import type { Asset, AssetOutputStrategy, AssetReply } from "../../delivery/index.js";
3
- export declare class SetCacheControlHeaders implements AssetOutputStrategy {
4
- private readonly strategy;
5
- private readonly headers;
6
- constructor(headers: ResponseHeaders, strategy: AssetOutputStrategy | undefined);
7
- output(asset: Asset): Promise<AssetReply>;
8
- }
@@ -1,18 +0,0 @@
1
- export class SetCacheControlHeaders {
2
- constructor(headers, strategy) {
3
- this.headers = headers;
4
- this.strategy = strategy;
5
- }
6
- async output(asset) {
7
- if (!this.strategy) {
8
- throw Error(`No asset output strategy is configured!`);
9
- }
10
- const reply = await this.strategy.output(asset);
11
- reply.setHeaders(headers => {
12
- return headers.merge(this.headers);
13
- });
14
- return reply;
15
- }
16
- }
17
-
18
- //# sourceMappingURL=SetCacheControlHeaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SetCacheControlHeaders","constructor","headers","strategy","output","asset","Error","reply","setHeaders","merge"],"sources":["SetCacheControlHeaders.ts"],"sourcesContent":["import type { ResponseHeaders } from \"@webiny/handler\";\nimport type { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery/index.js\";\n\nexport class SetCacheControlHeaders implements AssetOutputStrategy {\n private readonly strategy: AssetOutputStrategy | undefined;\n private readonly headers: ResponseHeaders;\n\n constructor(headers: ResponseHeaders, strategy: AssetOutputStrategy | undefined) {\n this.headers = headers;\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n if (!this.strategy) {\n throw Error(`No asset output strategy is configured!`);\n }\n\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n return headers.merge(this.headers);\n });\n\n return reply;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,sBAAsB,CAAgC;EAI/DC,WAAWA,CAACC,OAAwB,EAAEC,QAAyC,EAAE;IAC7E,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,IAAI,CAAC,IAAI,CAACF,QAAQ,EAAE;MAChB,MAAMG,KAAK,CAAC,yCAAyC,CAAC;IAC1D;IAEA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CE,KAAK,CAACC,UAAU,CAACN,OAAO,IAAI;MACxB,OAAOA,OAAO,CAACO,KAAK,CAAC,IAAI,CAACP,OAAO,CAAC;IACtC,CAAC,CAAC;IAEF,OAAOK,KAAK;EAChB;AACJ","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- import type { AssetOutputStrategy, Asset, AssetReply, AssetRequest, AssetOutputStrategyDecoratorParams } from "../../delivery/index.js";
2
- import type { ResponseHeaders } from "@webiny/handler";
3
- import type { ApiCoreContext } from "@webiny/api-core/types/core.js";
4
- export interface ResponseHeadersParams {
5
- headers: ResponseHeaders;
6
- context: ApiCoreContext;
7
- assetRequest: AssetRequest;
8
- asset: Asset;
9
- }
10
- export interface ResponseHeadersSetter {
11
- (params: ResponseHeadersParams): Promise<void> | void;
12
- }
13
- export declare class SetResponseHeaders implements AssetOutputStrategy {
14
- private readonly setter;
15
- private strategyDecoratorParams;
16
- constructor(setter: ResponseHeadersSetter, strategyDecoratorParams: AssetOutputStrategyDecoratorParams);
17
- output(asset: Asset): Promise<AssetReply>;
18
- }
@@ -1,18 +0,0 @@
1
- export class SetResponseHeaders {
2
- constructor(setter, strategyDecoratorParams) {
3
- this.strategyDecoratorParams = strategyDecoratorParams;
4
- this.setter = setter;
5
- }
6
- async output(asset) {
7
- const reply = await this.strategyDecoratorParams.assetOutputStrategy.output(asset);
8
- await this.setter({
9
- asset: this.strategyDecoratorParams.asset,
10
- assetRequest: this.strategyDecoratorParams.assetRequest,
11
- context: this.strategyDecoratorParams.context,
12
- headers: reply.getHeaders()
13
- });
14
- return reply;
15
- }
16
- }
17
-
18
- //# sourceMappingURL=SetResponseHeaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SetResponseHeaders","constructor","setter","strategyDecoratorParams","output","asset","reply","assetOutputStrategy","assetRequest","context","headers","getHeaders"],"sources":["SetResponseHeaders.ts"],"sourcesContent":["import type {\n AssetOutputStrategy,\n Asset,\n AssetReply,\n AssetRequest,\n AssetOutputStrategyDecoratorParams\n} from \"~/delivery/index.js\";\nimport type { ResponseHeaders } from \"@webiny/handler\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport interface ResponseHeadersParams {\n headers: ResponseHeaders;\n context: ApiCoreContext;\n assetRequest: AssetRequest;\n asset: Asset;\n}\n\nexport interface ResponseHeadersSetter {\n (params: ResponseHeadersParams): Promise<void> | void;\n}\n\nexport class SetResponseHeaders implements AssetOutputStrategy {\n private readonly setter: ResponseHeadersSetter;\n private strategyDecoratorParams: AssetOutputStrategyDecoratorParams;\n\n constructor(\n setter: ResponseHeadersSetter,\n strategyDecoratorParams: AssetOutputStrategyDecoratorParams\n ) {\n this.strategyDecoratorParams = strategyDecoratorParams;\n this.setter = setter;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategyDecoratorParams.assetOutputStrategy.output(asset);\n\n await this.setter({\n asset: this.strategyDecoratorParams.asset,\n assetRequest: this.strategyDecoratorParams.assetRequest,\n context: this.strategyDecoratorParams.context,\n headers: reply.getHeaders()\n });\n\n return reply;\n }\n}\n"],"mappings":"AAqBA,OAAO,MAAMA,kBAAkB,CAAgC;EAI3DC,WAAWA,CACPC,MAA6B,EAC7BC,uBAA2D,EAC7D;IACE,IAAI,CAACA,uBAAuB,GAAGA,uBAAuB;IACtD,IAAI,CAACD,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAME,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,uBAAuB,CAACI,mBAAmB,CAACH,MAAM,CAACC,KAAK,CAAC;IAElF,MAAM,IAAI,CAACH,MAAM,CAAC;MACdG,KAAK,EAAE,IAAI,CAACF,uBAAuB,CAACE,KAAK;MACzCG,YAAY,EAAE,IAAI,CAACL,uBAAuB,CAACK,YAAY;MACvDC,OAAO,EAAE,IAAI,CAACN,uBAAuB,CAACM,OAAO;MAC7CC,OAAO,EAAEJ,KAAK,CAACK,UAAU,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAOL,KAAK;EAChB;AACJ","ignoreList":[]}