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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/contants.js +2 -1
  2. package/contants.js.map +1 -1
  3. package/delivery/AssetDelivery/Asset.js +50 -56
  4. package/delivery/AssetDelivery/Asset.js.map +1 -1
  5. package/delivery/AssetDelivery/AssetRequest.js +20 -19
  6. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  7. package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
  8. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  9. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
  10. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
  11. package/delivery/index.d.ts +3 -12
  12. package/delivery/index.js +2 -8
  13. package/delivery/setupAssetDelivery.d.ts +1 -2
  14. package/delivery/setupAssetDelivery.js +60 -105
  15. package/delivery/setupAssetDelivery.js.map +1 -1
  16. package/domain/file/abstractions.js +2 -5
  17. package/domain/file/abstractions.js.map +1 -1
  18. package/domain/file/errors.js +67 -76
  19. package/domain/file/errors.js.map +1 -1
  20. package/domain/file/file.model.js +57 -45
  21. package/domain/file/file.model.js.map +1 -1
  22. package/domain/file/types.d.ts +2 -0
  23. package/domain/file/types.js +0 -3
  24. package/domain/identity/Identity.js +9 -8
  25. package/domain/identity/Identity.js.map +1 -1
  26. package/domain/permissionsSchema.d.ts +16 -0
  27. package/domain/permissionsSchema.js +30 -0
  28. package/domain/permissionsSchema.js.map +1 -0
  29. package/domain/settings/constants.js +2 -1
  30. package/domain/settings/constants.js.map +1 -1
  31. package/domain/settings/errors.js +22 -24
  32. package/domain/settings/errors.js.map +1 -1
  33. package/domain/settings/types.js +0 -3
  34. package/domain/settings/validation.d.ts +4 -12
  35. package/domain/settings/validation.js +18 -27
  36. package/domain/settings/validation.js.map +1 -1
  37. package/exports/api/file-manager/file.d.ts +12 -0
  38. package/exports/api/file-manager/file.js +12 -0
  39. package/exports/api/file-manager/permissions.d.ts +1 -0
  40. package/exports/api/file-manager/permissions.js +1 -0
  41. package/exports/api/file-manager/settings.d.ts +3 -0
  42. package/exports/api/file-manager/settings.js +3 -0
  43. package/features/FileManagerFeature.d.ts +4 -1
  44. package/features/FileManagerFeature.js +17 -14
  45. package/features/FileManagerFeature.js.map +1 -1
  46. package/features/assetDelivery/FilesAssetRequestResolver.d.ts +9 -0
  47. package/features/assetDelivery/FilesAssetRequestResolver.js +29 -0
  48. package/features/assetDelivery/FilesAssetRequestResolver.js.map +1 -0
  49. package/features/assetDelivery/NullAssetOutputStrategy.d.ts +8 -0
  50. package/features/assetDelivery/NullAssetOutputStrategy.js +14 -0
  51. package/features/assetDelivery/NullAssetOutputStrategy.js.map +1 -0
  52. package/features/assetDelivery/NullAssetReply.js +14 -0
  53. package/features/assetDelivery/NullAssetReply.js.map +1 -0
  54. package/features/assetDelivery/NullAssetResolver.d.ts +8 -0
  55. package/features/assetDelivery/NullAssetResolver.js +13 -0
  56. package/features/assetDelivery/NullAssetResolver.js.map +1 -0
  57. package/features/assetDelivery/abstractions.d.ts +54 -0
  58. package/features/assetDelivery/abstractions.js +11 -0
  59. package/features/assetDelivery/abstractions.js.map +1 -0
  60. package/features/assetDelivery/feature.d.ts +4 -0
  61. package/features/assetDelivery/feature.js +29 -0
  62. package/features/assetDelivery/feature.js.map +1 -0
  63. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  64. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js +20 -0
  65. package/features/assetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  66. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +5 -0
  67. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +9 -0
  68. package/features/assetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  69. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +11 -0
  70. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +26 -0
  71. package/features/assetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  72. package/features/assetDelivery/privateFiles/PrivateCache.d.ts +8 -0
  73. package/features/assetDelivery/privateFiles/PrivateCache.js +22 -0
  74. package/features/assetDelivery/privateFiles/PrivateCache.js.map +1 -0
  75. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +11 -0
  76. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +31 -0
  77. package/features/assetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  78. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +19 -0
  79. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js +65 -0
  80. package/features/assetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  81. package/features/assetDelivery/privateFiles/PublicCache.d.ts +8 -0
  82. package/features/assetDelivery/privateFiles/PublicCache.js +22 -0
  83. package/features/assetDelivery/privateFiles/PublicCache.js.map +1 -0
  84. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +9 -0
  85. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +21 -0
  86. package/features/assetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  87. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +9 -0
  88. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +21 -0
  89. package/features/assetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  90. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +9 -0
  91. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js +13 -0
  92. package/features/assetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  93. package/features/assetDelivery/transformation/TransformationAssetProcessor.d.ts +11 -0
  94. package/features/assetDelivery/transformation/TransformationAssetProcessor.js +23 -0
  95. package/features/assetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  96. package/features/file/CreateFile/CreateFileRepository.js +20 -18
  97. package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
  98. package/features/file/CreateFile/CreateFileUseCase.d.ts +4 -4
  99. package/features/file/CreateFile/CreateFileUseCase.js +70 -78
  100. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
  101. package/features/file/CreateFile/abstractions.d.ts +3 -0
  102. package/features/file/CreateFile/abstractions.js +3 -12
  103. package/features/file/CreateFile/abstractions.js.map +1 -1
  104. package/features/file/CreateFile/events.d.ts +8 -6
  105. package/features/file/CreateFile/events.js +18 -23
  106. package/features/file/CreateFile/events.js.map +1 -1
  107. package/features/file/CreateFile/feature.d.ts +4 -1
  108. package/features/file/CreateFile/feature.js +7 -6
  109. package/features/file/CreateFile/feature.js.map +1 -1
  110. package/features/file/CreateFile/index.d.ts +1 -1
  111. package/features/file/CreateFile/index.js +1 -3
  112. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
  113. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
  114. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +4 -4
  115. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +61 -75
  116. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
  117. package/features/file/CreateFilesInBatch/abstractions.d.ts +2 -0
  118. package/features/file/CreateFilesInBatch/abstractions.js +3 -12
  119. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
  120. package/features/file/CreateFilesInBatch/events.d.ts +8 -6
  121. package/features/file/CreateFilesInBatch/events.js +18 -23
  122. package/features/file/CreateFilesInBatch/events.js.map +1 -1
  123. package/features/file/CreateFilesInBatch/feature.d.ts +4 -1
  124. package/features/file/CreateFilesInBatch/feature.js +7 -6
  125. package/features/file/CreateFilesInBatch/feature.js.map +1 -1
  126. package/features/file/CreateFilesInBatch/index.js +0 -2
  127. package/features/file/DeleteFile/DeleteFileRepository.js +21 -20
  128. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
  129. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +4 -4
  130. package/features/file/DeleteFile/DeleteFileUseCase.js +33 -38
  131. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
  132. package/features/file/DeleteFile/abstractions.d.ts +2 -0
  133. package/features/file/DeleteFile/abstractions.js +3 -12
  134. package/features/file/DeleteFile/abstractions.js.map +1 -1
  135. package/features/file/DeleteFile/events.d.ts +8 -6
  136. package/features/file/DeleteFile/events.js +18 -23
  137. package/features/file/DeleteFile/events.js.map +1 -1
  138. package/features/file/DeleteFile/feature.d.ts +4 -1
  139. package/features/file/DeleteFile/feature.js +7 -6
  140. package/features/file/DeleteFile/feature.js.map +1 -1
  141. package/features/file/DeleteFile/index.d.ts +1 -1
  142. package/features/file/DeleteFile/index.js +1 -3
  143. package/features/file/FileUrlGenerator/abstractions.d.ts +1 -0
  144. package/features/file/FileUrlGenerator/abstractions.js +2 -1
  145. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  146. package/features/file/GetFile/GetFileRepository.js +22 -22
  147. package/features/file/GetFile/GetFileRepository.js.map +1 -1
  148. package/features/file/GetFile/GetFileUseCase.d.ts +3 -3
  149. package/features/file/GetFile/GetFileUseCase.js +20 -30
  150. package/features/file/GetFile/GetFileUseCase.js.map +1 -1
  151. package/features/file/GetFile/abstractions.d.ts +2 -0
  152. package/features/file/GetFile/abstractions.js +3 -12
  153. package/features/file/GetFile/abstractions.js.map +1 -1
  154. package/features/file/GetFile/feature.d.ts +4 -1
  155. package/features/file/GetFile/feature.js +7 -6
  156. package/features/file/GetFile/feature.js.map +1 -1
  157. package/features/file/GetFile/index.js +0 -2
  158. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  159. package/features/file/GetFileContentsById/abstractions.js +5 -0
  160. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  161. package/features/file/GetFileContentsById/index.d.ts +1 -0
  162. package/features/file/GetFileContentsById/index.js +1 -0
  163. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  164. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  165. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  166. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  167. package/features/file/GetFileContentsByKey/index.js +1 -0
  168. package/features/file/ListFiles/ListFilesRepository.d.ts +3 -1
  169. package/features/file/ListFiles/ListFilesRepository.js +42 -34
  170. package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
  171. package/features/file/ListFiles/ListFilesUseCase.d.ts +4 -4
  172. package/features/file/ListFiles/ListFilesUseCase.js +35 -39
  173. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
  174. package/features/file/ListFiles/abstractions.d.ts +2 -0
  175. package/features/file/ListFiles/abstractions.js +3 -12
  176. package/features/file/ListFiles/abstractions.js.map +1 -1
  177. package/features/file/ListFiles/feature.d.ts +4 -1
  178. package/features/file/ListFiles/feature.js +7 -6
  179. package/features/file/ListFiles/feature.js.map +1 -1
  180. package/features/file/ListFiles/index.js +0 -2
  181. package/features/file/ListImagesByTagTool/ListImagesByTagTool.d.ts +27 -0
  182. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +42 -0
  183. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -0
  184. package/features/file/ListImagesByTagTool/feature.d.ts +4 -0
  185. package/features/file/ListImagesByTagTool/feature.js +11 -0
  186. package/features/file/ListImagesByTagTool/feature.js.map +1 -0
  187. package/features/file/ListTags/ListTagsRepository.js +31 -36
  188. package/features/file/ListTags/ListTagsRepository.js.map +1 -1
  189. package/features/file/ListTags/ListTagsUseCase.d.ts +3 -3
  190. package/features/file/ListTags/ListTagsUseCase.js +22 -23
  191. package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
  192. package/features/file/ListTags/abstractions.d.ts +2 -0
  193. package/features/file/ListTags/abstractions.js +3 -12
  194. package/features/file/ListTags/abstractions.js.map +1 -1
  195. package/features/file/ListTags/feature.d.ts +4 -1
  196. package/features/file/ListTags/feature.js +7 -6
  197. package/features/file/ListTags/feature.js.map +1 -1
  198. package/features/file/ListTags/index.js +0 -2
  199. package/features/file/UpdateFile/UpdateFileRepository.js +26 -28
  200. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
  201. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +5 -5
  202. package/features/file/UpdateFile/UpdateFileUseCase.js +60 -70
  203. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
  204. package/features/file/UpdateFile/abstractions.d.ts +3 -0
  205. package/features/file/UpdateFile/abstractions.js +3 -12
  206. package/features/file/UpdateFile/abstractions.js.map +1 -1
  207. package/features/file/UpdateFile/events.d.ts +8 -6
  208. package/features/file/UpdateFile/events.js +18 -23
  209. package/features/file/UpdateFile/events.js.map +1 -1
  210. package/features/file/UpdateFile/feature.d.ts +4 -1
  211. package/features/file/UpdateFile/feature.js +7 -6
  212. package/features/file/UpdateFile/feature.js.map +1 -1
  213. package/features/file/UpdateFile/index.d.ts +1 -1
  214. package/features/file/UpdateFile/index.js +1 -3
  215. package/features/file/shared/EntryToFileMapper.js +25 -23
  216. package/features/file/shared/EntryToFileMapper.js.map +1 -1
  217. package/features/file/shared/FileInputToEntryInputMapper.js +29 -27
  218. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
  219. package/features/file/shared/FileToEntryMapper.js +28 -26
  220. package/features/file/shared/FileToEntryMapper.js.map +1 -1
  221. package/features/permissions/abstractions.d.ts +21 -0
  222. package/features/permissions/abstractions.js +6 -0
  223. package/features/permissions/abstractions.js.map +1 -0
  224. package/features/permissions/feature.d.ts +4 -0
  225. package/features/permissions/feature.js +7 -0
  226. package/features/permissions/feature.js.map +1 -0
  227. package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
  228. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
  229. package/features/settings/GetSettings/abstractions.d.ts +1 -0
  230. package/features/settings/GetSettings/abstractions.js +2 -6
  231. package/features/settings/GetSettings/abstractions.js.map +1 -1
  232. package/features/settings/GetSettings/feature.d.ts +4 -1
  233. package/features/settings/GetSettings/feature.js +6 -5
  234. package/features/settings/GetSettings/feature.js.map +1 -1
  235. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +1 -1
  236. package/features/settings/SettingsInstaller/SettingsInstaller.js +26 -25
  237. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  238. package/features/settings/SettingsInstaller/feature.d.ts +4 -1
  239. package/features/settings/SettingsInstaller/feature.js +6 -5
  240. package/features/settings/SettingsInstaller/feature.js.map +1 -1
  241. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +1 -1
  242. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +42 -49
  243. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
  244. package/features/settings/UpdateSettings/abstractions.d.ts +1 -0
  245. package/features/settings/UpdateSettings/abstractions.js +2 -6
  246. package/features/settings/UpdateSettings/abstractions.js.map +1 -1
  247. package/features/settings/UpdateSettings/events.d.ts +8 -6
  248. package/features/settings/UpdateSettings/events.js +18 -23
  249. package/features/settings/UpdateSettings/events.js.map +1 -1
  250. package/features/settings/UpdateSettings/feature.d.ts +4 -1
  251. package/features/settings/UpdateSettings/feature.js +6 -5
  252. package/features/settings/UpdateSettings/feature.js.map +1 -1
  253. package/features/settings/UpdateSettings/index.d.ts +1 -1
  254. package/features/settings/UpdateSettings/index.js +1 -3
  255. package/features/shared/abstractions.d.ts +1 -13
  256. package/features/shared/abstractions.js +1 -5
  257. package/graphql/baseSchema.js +30 -33
  258. package/graphql/baseSchema.js.map +1 -1
  259. package/graphql/createFilesTypeDefs.d.ts +3 -2
  260. package/graphql/createFilesTypeDefs.js +61 -66
  261. package/graphql/createFilesTypeDefs.js.map +1 -1
  262. package/graphql/filesSchema.js +79 -99
  263. package/graphql/filesSchema.js.map +1 -1
  264. package/graphql/getFileByUrl.js +45 -53
  265. package/graphql/getFileByUrl.js.map +1 -1
  266. package/graphql/index.js +37 -43
  267. package/graphql/index.js.map +1 -1
  268. package/graphql/utils.js +9 -14
  269. package/graphql/utils.js.map +1 -1
  270. package/index.d.ts +2 -2
  271. package/index.js +31 -39
  272. package/index.js.map +1 -1
  273. package/modelModifier/CmsModelModifier.js +40 -43
  274. package/modelModifier/CmsModelModifier.js.map +1 -1
  275. package/package.json +28 -23
  276. package/types.d.ts +1 -3
  277. package/types.js +1 -3
  278. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +0 -65
  279. package/delivery/AssetDelivery/AssetDeliveryConfig.js +0 -94
  280. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +0 -1
  281. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +0 -6
  282. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +0 -30
  283. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +0 -1
  284. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +0 -4
  285. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +0 -8
  286. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +0 -1
  287. package/delivery/AssetDelivery/NullAssetReply.js +0 -13
  288. package/delivery/AssetDelivery/NullAssetReply.js.map +0 -1
  289. package/delivery/AssetDelivery/NullAssetResolver.d.ts +0 -5
  290. package/delivery/AssetDelivery/NullAssetResolver.js +0 -7
  291. package/delivery/AssetDelivery/NullAssetResolver.js.map +0 -1
  292. package/delivery/AssetDelivery/NullRequestResolver.d.ts +0 -4
  293. package/delivery/AssetDelivery/NullRequestResolver.js +0 -7
  294. package/delivery/AssetDelivery/NullRequestResolver.js.map +0 -1
  295. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +0 -8
  296. package/delivery/AssetDelivery/SetCacheControlHeaders.js +0 -18
  297. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +0 -1
  298. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +0 -18
  299. package/delivery/AssetDelivery/SetResponseHeaders.js +0 -18
  300. package/delivery/AssetDelivery/SetResponseHeaders.js.map +0 -1
  301. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +0 -4
  302. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
  303. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
  304. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +0 -4
  305. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
  306. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
  307. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +0 -4
  308. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
  309. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
  310. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +0 -5
  311. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
  312. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
  313. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +0 -4
  314. package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
  315. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
  316. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +0 -4
  317. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
  318. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
  319. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +0 -4
  320. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
  321. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
  322. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +0 -4
  323. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +0 -19
  324. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +0 -1
  325. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +0 -4
  326. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +0 -8
  327. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +0 -1
  328. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +0 -8
  329. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +0 -20
  330. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +0 -1
  331. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +0 -6
  332. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +0 -21
  333. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +0 -1
  334. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +0 -8
  335. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +0 -30
  336. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +0 -1
  337. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +0 -13
  338. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +0 -63
  339. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +0 -1
  340. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +0 -6
  341. package/delivery/AssetDelivery/privateFiles/PublicCache.js +0 -21
  342. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +0 -1
  343. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +0 -7
  344. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +0 -20
  345. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +0 -1
  346. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +0 -7
  347. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +0 -20
  348. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +0 -1
  349. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +0 -4
  350. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +0 -7
  351. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +0 -1
  352. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +0 -4
  353. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +0 -7
  354. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +0 -1
  355. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +0 -6
  356. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +0 -19
  357. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +0 -1
  358. package/delivery/index.js.map +0 -1
  359. package/domain/file/types.js.map +0 -1
  360. package/domain/settings/types.js.map +0 -1
  361. package/features/file/CreateFile/index.js.map +0 -1
  362. package/features/file/CreateFilesInBatch/index.js.map +0 -1
  363. package/features/file/DeleteFile/index.js.map +0 -1
  364. package/features/file/GetFile/index.js.map +0 -1
  365. package/features/file/ListFiles/index.js.map +0 -1
  366. package/features/file/ListTags/index.js.map +0 -1
  367. package/features/file/UpdateFile/index.js.map +0 -1
  368. package/features/settings/UpdateSettings/index.js.map +0 -1
  369. package/features/shared/abstractions.js.map +0 -1
  370. package/permissions/FilesPermissions.d.ts +0 -4
  371. package/permissions/FilesPermissions.js +0 -4
  372. package/permissions/FilesPermissions.js.map +0 -1
  373. package/permissions/SettingsPermissions.d.ts +0 -4
  374. package/permissions/SettingsPermissions.js +0 -4
  375. package/permissions/SettingsPermissions.js.map +0 -1
  376. package/types.js.map +0 -1
  377. /package/{delivery/AssetDelivery → features/assetDelivery}/NullAssetReply.d.ts +0 -0
@@ -1,81 +1,71 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { UpdateFileUseCase as UseCaseAbstraction, UpdateFileRepository } from "./abstractions.js";
2
+ import { UpdateFileRepository, UpdateFileUseCase } from "./abstractions.js";
3
3
  import { GetFileUseCase } from "../GetFile/abstractions.js";
4
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
4
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
5
5
  import { FileNotAuthorizedError } from "../../../domain/file/errors.js";
6
- import { FileBeforeUpdateEvent, FileAfterUpdateEvent } from "./events.js";
7
- import { FilePermissions } from "../../shared/abstractions.js";
8
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
6
+ import { FileAfterUpdateEvent, FileBeforeUpdateEvent } from "./events.js";
7
+ import { FmPermissions } from "../../shared/abstractions.js";
8
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
9
9
  import { Identity } from "../../../domain/identity/Identity.js";
10
10
  class UpdateFileUseCaseImpl {
11
- constructor(identityContext, filePermissions, getFile, repository, eventPublisher) {
12
- this.identityContext = identityContext;
13
- this.filePermissions = filePermissions;
14
- this.getFile = getFile;
15
- this.repository = repository;
16
- this.eventPublisher = eventPublisher;
17
- }
18
- async execute(input) {
19
- // Check write permission
20
- const hasPermission = await this.filePermissions.ensure({
21
- rwd: "w"
22
- });
23
- if (!hasPermission) {
24
- return Result.fail(new FileNotAuthorizedError());
11
+ constructor(identityContext, permissions, getFile, repository, eventPublisher){
12
+ this.identityContext = identityContext;
13
+ this.permissions = permissions;
14
+ this.getFile = getFile;
15
+ this.repository = repository;
16
+ this.eventPublisher = eventPublisher;
25
17
  }
26
-
27
- // Get the original file (includes ownership check)
28
- const getResult = await this.getFile.execute(input.id);
29
- if (getResult.isFail()) {
30
- return Result.fail(getResult.error);
31
- }
32
- const original = getResult.value;
33
- const isOwn = await this.filePermissions.ensure({
34
- owns: original.createdBy
35
- });
36
- if (!isOwn) {
37
- return Result.fail(new FileNotAuthorizedError());
38
- }
39
- const currentIdentity = this.identityContext.getIdentity();
40
- const file = {
41
- ...original,
42
- ...input,
43
- // Preserve immutable fields
44
- id: original.id,
45
- key: original.key,
46
- size: original.size,
47
- type: original.type,
48
- // Update mutable fields
49
- tags: input.tags !== undefined ? input.tags : original.tags,
50
- location: input.location !== undefined ? input.location : original.location,
51
- // System fields
52
- createdOn: input.createdOn ?? original.createdOn,
53
- modifiedOn: input.modifiedOn ?? undefined,
54
- savedOn: input.savedOn ?? original.savedOn,
55
- createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,
56
- modifiedBy: input.modifiedBy ? Identity.from(input.modifiedBy) : Identity.from(currentIdentity),
57
- savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)
58
- };
59
- await this.eventPublisher.publish(new FileBeforeUpdateEvent({
60
- original,
61
- file,
62
- input
63
- }));
64
- const result = await this.repository.update(file);
65
- if (result.isFail()) {
66
- return Result.fail(result.error);
18
+ async execute(input) {
19
+ const hasPermission = await this.permissions.canEdit("file");
20
+ if (!hasPermission) return Result.fail(new FileNotAuthorizedError());
21
+ const getResult = await this.getFile.execute(input.id);
22
+ if (getResult.isFail()) return Result.fail(getResult.error);
23
+ const original = getResult.value;
24
+ const canEditFile = await this.permissions.canEdit("file", original);
25
+ if (!canEditFile) return Result.fail(new FileNotAuthorizedError());
26
+ const currentIdentity = this.identityContext.getIdentity();
27
+ const file = {
28
+ ...original,
29
+ ...input,
30
+ id: original.id,
31
+ key: original.key,
32
+ size: original.size,
33
+ type: original.type,
34
+ tags: void 0 !== input.tags ? input.tags : original.tags,
35
+ description: void 0 !== input.description ? input.description : original.description,
36
+ location: void 0 !== input.location ? input.location : original.location,
37
+ createdOn: input.createdOn ?? original.createdOn,
38
+ modifiedOn: input.modifiedOn ?? void 0,
39
+ savedOn: input.savedOn ?? original.savedOn,
40
+ createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,
41
+ modifiedBy: input.modifiedBy ? Identity.from(input.modifiedBy) : Identity.from(currentIdentity),
42
+ savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)
43
+ };
44
+ await this.eventPublisher.publish(new FileBeforeUpdateEvent({
45
+ original,
46
+ file,
47
+ input
48
+ }));
49
+ const result = await this.repository.update(file);
50
+ if (result.isFail()) return Result.fail(result.error);
51
+ await this.eventPublisher.publish(new FileAfterUpdateEvent({
52
+ original,
53
+ file,
54
+ input
55
+ }));
56
+ return Result.ok(file);
67
57
  }
68
- await this.eventPublisher.publish(new FileAfterUpdateEvent({
69
- original,
70
- file,
71
- input
72
- }));
73
- return Result.ok(file);
74
- }
75
58
  }
76
- export const UpdateFileUseCase = UseCaseAbstraction.createImplementation({
77
- implementation: UpdateFileUseCaseImpl,
78
- dependencies: [IdentityContext, FilePermissions, GetFileUseCase, UpdateFileRepository, EventPublisher]
59
+ const UpdateFileUseCase_UpdateFileUseCase = UpdateFileUseCase.createImplementation({
60
+ implementation: UpdateFileUseCaseImpl,
61
+ dependencies: [
62
+ IdentityContext,
63
+ FmPermissions,
64
+ GetFileUseCase,
65
+ UpdateFileRepository,
66
+ EventPublisher
67
+ ]
79
68
  });
69
+ export { UpdateFileUseCase_UpdateFileUseCase as UpdateFileUseCase };
80
70
 
81
71
  //# sourceMappingURL=UpdateFileUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","UpdateFileUseCase","UseCaseAbstraction","UpdateFileRepository","GetFileUseCase","EventPublisher","FileNotAuthorizedError","FileBeforeUpdateEvent","FileAfterUpdateEvent","FilePermissions","IdentityContext","Identity","UpdateFileUseCaseImpl","constructor","identityContext","filePermissions","getFile","repository","eventPublisher","execute","input","hasPermission","ensure","rwd","fail","getResult","id","isFail","error","original","value","isOwn","owns","createdBy","currentIdentity","getIdentity","file","key","size","type","tags","undefined","location","createdOn","modifiedOn","savedOn","from","modifiedBy","savedBy","publish","result","update","ok","createImplementation","implementation","dependencies"],"sources":["UpdateFileUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n UpdateFileUseCase as UseCaseAbstraction,\n UpdateFileInput,\n UpdateFileRepository\n} from \"./abstractions.js\";\nimport { GetFileUseCase } from \"../GetFile/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FileBeforeUpdateEvent, FileAfterUpdateEvent } from \"./events.js\";\nimport { FilePermissions } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { Identity } from \"~/domain/identity/Identity.js\";\n\nclass UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private filePermissions: FilePermissions.Interface,\n private getFile: GetFileUseCase.Interface,\n private repository: UpdateFileRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(input: UpdateFileInput): Promise<Result<File, UseCaseAbstraction.Error>> {\n // Check write permission\n const hasPermission = await this.filePermissions.ensure({ rwd: \"w\" });\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n // Get the original file (includes ownership check)\n const getResult = await this.getFile.execute(input.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const original = getResult.value;\n\n const isOwn = await this.filePermissions.ensure({ owns: original.createdBy });\n if (!isOwn) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n const currentIdentity = this.identityContext.getIdentity();\n\n const file: File = {\n ...original,\n ...input,\n // Preserve immutable fields\n id: original.id,\n key: original.key,\n size: original.size,\n type: original.type,\n // Update mutable fields\n tags: input.tags !== undefined ? input.tags : original.tags,\n location: input.location !== undefined ? input.location : original.location,\n // System fields\n createdOn: input.createdOn ?? original.createdOn,\n modifiedOn: input.modifiedOn ?? undefined,\n savedOn: input.savedOn ?? original.savedOn,\n createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,\n modifiedBy: input.modifiedBy\n ? Identity.from(input.modifiedBy)\n : Identity.from(currentIdentity),\n savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)\n };\n\n await this.eventPublisher.publish(new FileBeforeUpdateEvent({ original, file, input }));\n\n const result = await this.repository.update(file);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(new FileAfterUpdateEvent({ original, file, input }));\n\n return Result.ok(file);\n }\n}\n\nexport const UpdateFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateFileUseCaseImpl,\n dependencies: [\n IdentityContext,\n FilePermissions,\n GetFileUseCase,\n UpdateFileRepository,\n EventPublisher\n ]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,iBAAiB,IAAIC,kBAAkB,EAEvCC,oBAAoB;AAExB,SAASC,cAAc;AACvB,SAASC,cAAc,QAAQ,0CAA0C;AAEzE,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB,EAAEC,oBAAoB;AACpD,SAASC,eAAe;AACxB,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,QAAQ;AAEjB,MAAMC,qBAAqB,CAAyC;EAChEC,WAAWA,CACCC,eAA0C,EAC1CC,eAA0C,EAC1CC,OAAiC,EACjCC,UAA0C,EAC1CC,cAAwC,EAClD;IAAA,KALUJ,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,OAAiC,GAAjCA,OAAiC;IAAA,KACjCC,UAA0C,GAA1CA,UAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,KAAsB,EAAmD;IACnF;IACA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,eAAe,CAACO,MAAM,CAAC;MAAEC,GAAG,EAAE;IAAI,CAAC,CAAC;IACrE,IAAI,CAACF,aAAa,EAAE;MAChB,OAAOrB,MAAM,CAACwB,IAAI,CAAC,IAAIlB,sBAAsB,CAAC,CAAC,CAAC;IACpD;;IAEA;IACA,MAAMmB,SAAS,GAAG,MAAM,IAAI,CAACT,OAAO,CAACG,OAAO,CAACC,KAAK,CAACM,EAAE,CAAC;IAEtD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAO3B,MAAM,CAACwB,IAAI,CAACC,SAAS,CAACG,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAGJ,SAAS,CAACK,KAAK;IAEhC,MAAMC,KAAK,GAAG,MAAM,IAAI,CAAChB,eAAe,CAACO,MAAM,CAAC;MAAEU,IAAI,EAAEH,QAAQ,CAACI;IAAU,CAAC,CAAC;IAC7E,IAAI,CAACF,KAAK,EAAE;MACR,OAAO/B,MAAM,CAACwB,IAAI,CAAC,IAAIlB,sBAAsB,CAAC,CAAC,CAAC;IACpD;IAEA,MAAM4B,eAAe,GAAG,IAAI,CAACpB,eAAe,CAACqB,WAAW,CAAC,CAAC;IAE1D,MAAMC,IAAU,GAAG;MACf,GAAGP,QAAQ;MACX,GAAGT,KAAK;MACR;MACAM,EAAE,EAAEG,QAAQ,CAACH,EAAE;MACfW,GAAG,EAAER,QAAQ,CAACQ,GAAG;MACjBC,IAAI,EAAET,QAAQ,CAACS,IAAI;MACnBC,IAAI,EAAEV,QAAQ,CAACU,IAAI;MACnB;MACAC,IAAI,EAAEpB,KAAK,CAACoB,IAAI,KAAKC,SAAS,GAAGrB,KAAK,CAACoB,IAAI,GAAGX,QAAQ,CAACW,IAAI;MAC3DE,QAAQ,EAAEtB,KAAK,CAACsB,QAAQ,KAAKD,SAAS,GAAGrB,KAAK,CAACsB,QAAQ,GAAGb,QAAQ,CAACa,QAAQ;MAC3E;MACAC,SAAS,EAAEvB,KAAK,CAACuB,SAAS,IAAId,QAAQ,CAACc,SAAS;MAChDC,UAAU,EAAExB,KAAK,CAACwB,UAAU,IAAIH,SAAS;MACzCI,OAAO,EAAEzB,KAAK,CAACyB,OAAO,IAAIhB,QAAQ,CAACgB,OAAO;MAC1CZ,SAAS,EAAEb,KAAK,CAACa,SAAS,GAAGtB,QAAQ,CAACmC,IAAI,CAAC1B,KAAK,CAACa,SAAS,CAAC,GAAGJ,QAAQ,CAACI,SAAS;MAChFc,UAAU,EAAE3B,KAAK,CAAC2B,UAAU,GACtBpC,QAAQ,CAACmC,IAAI,CAAC1B,KAAK,CAAC2B,UAAU,CAAC,GAC/BpC,QAAQ,CAACmC,IAAI,CAACZ,eAAe,CAAC;MACpCc,OAAO,EAAE5B,KAAK,CAAC4B,OAAO,GAAGrC,QAAQ,CAACmC,IAAI,CAAC1B,KAAK,CAAC4B,OAAO,CAAC,GAAGrC,QAAQ,CAACmC,IAAI,CAACZ,eAAe;IACzF,CAAC;IAED,MAAM,IAAI,CAAChB,cAAc,CAAC+B,OAAO,CAAC,IAAI1C,qBAAqB,CAAC;MAAEsB,QAAQ;MAAEO,IAAI;MAAEhB;IAAM,CAAC,CAAC,CAAC;IAEvF,MAAM8B,MAAM,GAAG,MAAM,IAAI,CAACjC,UAAU,CAACkC,MAAM,CAACf,IAAI,CAAC;IAEjD,IAAIc,MAAM,CAACvB,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO3B,MAAM,CAACwB,IAAI,CAAC0B,MAAM,CAACtB,KAAK,CAAC;IACpC;IAEA,MAAM,IAAI,CAACV,cAAc,CAAC+B,OAAO,CAAC,IAAIzC,oBAAoB,CAAC;MAAEqB,QAAQ;MAAEO,IAAI;MAAEhB;IAAM,CAAC,CAAC,CAAC;IAEtF,OAAOpB,MAAM,CAACoD,EAAE,CAAChB,IAAI,CAAC;EAC1B;AACJ;AAEA,OAAO,MAAMnC,iBAAiB,GAAGC,kBAAkB,CAACmD,oBAAoB,CAAC;EACrEC,cAAc,EAAE1C,qBAAqB;EACrC2C,YAAY,EAAE,CACV7C,eAAe,EACfD,eAAe,EACfL,cAAc,EACdD,oBAAoB,EACpBE,cAAc;AAEtB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/file/UpdateFile/UpdateFileUseCase.js","sources":["../../../../src/features/file/UpdateFile/UpdateFileUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n UpdateFileUseCase as UseCaseAbstraction,\n UpdateFileInput,\n UpdateFileRepository\n} from \"./abstractions.js\";\nimport { GetFileUseCase } from \"../GetFile/abstractions.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport { FileNotAuthorizedError } from \"~/domain/file/errors.js\";\nimport { FileBeforeUpdateEvent, FileAfterUpdateEvent } from \"./events.js\";\nimport { FmPermissions } from \"~/features/shared/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { Identity } from \"~/domain/identity/Identity.js\";\n\nclass UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private permissions: FmPermissions.Interface,\n private getFile: GetFileUseCase.Interface,\n private repository: UpdateFileRepository.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(input: UpdateFileInput): Promise<Result<File, UseCaseAbstraction.Error>> {\n const hasPermission = await this.permissions.canEdit(\"file\");\n if (!hasPermission) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n // Get the original file (includes ownership check).\n const getResult = await this.getFile.execute(input.id);\n\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const original = getResult.value;\n\n // Check ownership-aware edit permission.\n const canEditFile = await this.permissions.canEdit(\"file\", original);\n if (!canEditFile) {\n return Result.fail(new FileNotAuthorizedError());\n }\n\n const currentIdentity = this.identityContext.getIdentity();\n\n const file: File = {\n ...original,\n ...input,\n // Preserve immutable fields.\n id: original.id,\n key: original.key,\n size: original.size,\n type: original.type,\n // Update mutable fields.\n tags: input.tags !== undefined ? input.tags : original.tags,\n description: input.description !== undefined ? input.description : original.description,\n location: input.location !== undefined ? input.location : original.location,\n // System fields.\n createdOn: input.createdOn ?? original.createdOn,\n modifiedOn: input.modifiedOn ?? undefined,\n savedOn: input.savedOn ?? original.savedOn,\n createdBy: input.createdBy ? Identity.from(input.createdBy) : original.createdBy,\n modifiedBy: input.modifiedBy\n ? Identity.from(input.modifiedBy)\n : Identity.from(currentIdentity),\n savedBy: input.savedBy ? Identity.from(input.savedBy) : Identity.from(currentIdentity)\n };\n\n await this.eventPublisher.publish(new FileBeforeUpdateEvent({ original, file, input }));\n\n const result = await this.repository.update(file);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n await this.eventPublisher.publish(new FileAfterUpdateEvent({ original, file, input }));\n\n return Result.ok(file);\n }\n}\n\nexport const UpdateFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateFileUseCaseImpl,\n dependencies: [\n IdentityContext,\n FmPermissions,\n GetFileUseCase,\n UpdateFileRepository,\n EventPublisher\n ]\n});\n"],"names":["UpdateFileUseCaseImpl","identityContext","permissions","getFile","repository","eventPublisher","input","hasPermission","Result","FileNotAuthorizedError","getResult","original","canEditFile","currentIdentity","file","undefined","Identity","FileBeforeUpdateEvent","result","FileAfterUpdateEvent","UpdateFileUseCase","UseCaseAbstraction","IdentityContext","FmPermissions","GetFileUseCase","UpdateFileRepository","EventPublisher"],"mappings":";;;;;;;;;AAeA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,WAAoC,EACpCC,OAAiC,EACjCC,UAA0C,EAC1CC,cAAwC,CAClD;aALUJ,eAAe,GAAfA;aACAC,WAAW,GAAXA;aACAC,OAAO,GAAPA;aACAC,UAAU,GAAVA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,KAAsB,EAAmD;QACnF,MAAMC,gBAAgB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAACA,eACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAI3B,MAAMC,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACJ,MAAM,EAAE;QAErD,IAAII,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAACE,UAAU,KAAK;QAGtC,MAAMC,WAAWD,UAAU,KAAK;QAGhC,MAAME,cAAc,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQD;QAC3D,IAAI,CAACC,aACD,OAAOJ,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMI,kBAAkB,IAAI,CAAC,eAAe,CAAC,WAAW;QAExD,MAAMC,OAAa;YACf,GAAGH,QAAQ;YACX,GAAGL,KAAK;YAER,IAAIK,SAAS,EAAE;YACf,KAAKA,SAAS,GAAG;YACjB,MAAMA,SAAS,IAAI;YACnB,MAAMA,SAAS,IAAI;YAEnB,MAAML,AAAeS,WAAfT,MAAM,IAAI,GAAiBA,MAAM,IAAI,GAAGK,SAAS,IAAI;YAC3D,aAAaL,AAAsBS,WAAtBT,MAAM,WAAW,GAAiBA,MAAM,WAAW,GAAGK,SAAS,WAAW;YACvF,UAAUL,AAAmBS,WAAnBT,MAAM,QAAQ,GAAiBA,MAAM,QAAQ,GAAGK,SAAS,QAAQ;YAE3E,WAAWL,MAAM,SAAS,IAAIK,SAAS,SAAS;YAChD,YAAYL,MAAM,UAAU,IAAIS;YAChC,SAAST,MAAM,OAAO,IAAIK,SAAS,OAAO;YAC1C,WAAWL,MAAM,SAAS,GAAGU,SAAS,IAAI,CAACV,MAAM,SAAS,IAAIK,SAAS,SAAS;YAChF,YAAYL,MAAM,UAAU,GACtBU,SAAS,IAAI,CAACV,MAAM,UAAU,IAC9BU,SAAS,IAAI,CAACH;YACpB,SAASP,MAAM,OAAO,GAAGU,SAAS,IAAI,CAACV,MAAM,OAAO,IAAIU,SAAS,IAAI,CAACH;QAC1E;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAII,sBAAsB;YAAEN;YAAUG;YAAMR;QAAM;QAEpF,MAAMY,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAACJ;QAE5C,IAAII,OAAO,MAAM,IACb,OAAOV,OAAO,IAAI,CAACU,OAAO,KAAK;QAGnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIC,qBAAqB;YAAER;YAAUG;YAAMR;QAAM;QAEnF,OAAOE,OAAO,EAAE,CAACM;IACrB;AACJ;AAEO,MAAMM,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBrB;IAChB,cAAc;QACVsB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -6,6 +6,7 @@ export interface UpdateFileInput {
6
6
  name?: string;
7
7
  metadata?: Record<string, any>;
8
8
  tags?: string[];
9
+ description?: string;
9
10
  location?: {
10
11
  folderId: string;
11
12
  };
@@ -28,6 +29,7 @@ export interface IUpdateFileRepositoryErrors {
28
29
  persistence: FilePersistenceError;
29
30
  }
30
31
  type RepositoryError = IUpdateFileRepositoryErrors[keyof IUpdateFileRepositoryErrors];
32
+ /** Persist file metadata updates. */
31
33
  export declare const UpdateFileRepository: import("@webiny/di").Abstraction<IUpdateFileRepository>;
32
34
  export declare namespace UpdateFileRepository {
33
35
  type Interface = IUpdateFileRepository;
@@ -45,6 +47,7 @@ export interface IUpdateFileUseCaseErrors {
45
47
  persistence: FilePersistenceError;
46
48
  }
47
49
  type UseCaseError = IUpdateFileUseCaseErrors[keyof IUpdateFileUseCaseErrors];
50
+ /** Update file metadata. */
48
51
  export declare const UpdateFileUseCase: import("@webiny/di").Abstraction<IUpdateFileUseCase>;
49
52
  export declare namespace UpdateFileUseCase {
50
53
  type Interface = IUpdateFileUseCase;
@@ -1,15 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * UpdateFile repository interface
5
- */
6
-
7
- export const UpdateFileRepository = createAbstraction("UpdateFileRepository");
8
-
9
- /**
10
- * UpdateFile use case interface
11
- */
12
-
13
- export const UpdateFileUseCase = createAbstraction("UpdateFileUseCase");
2
+ const UpdateFileRepository = createAbstraction("UpdateFileRepository");
3
+ const UpdateFileUseCase = createAbstraction("UpdateFileUseCase");
4
+ export { UpdateFileRepository, UpdateFileUseCase };
14
5
 
15
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateFileRepository","UpdateFileUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { CreatedBy, File } from \"~/domain/file/types.js\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\n\nexport interface UpdateFileInput {\n id: string;\n name?: string;\n metadata?: Record<string, any>;\n tags?: string[];\n location?: { folderId: string };\n createdOn?: string;\n modifiedOn?: string;\n savedOn?: string;\n createdBy?: CreatedBy;\n modifiedBy?: CreatedBy;\n savedBy?: CreatedBy;\n}\n\n/**\n * UpdateFile repository interface\n */\nexport interface IUpdateFileRepository {\n update(file: File): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateFileRepositoryErrors {\n notFound: FileNotFoundError;\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IUpdateFileRepositoryErrors[keyof IUpdateFileRepositoryErrors];\n\nexport const UpdateFileRepository =\n createAbstraction<IUpdateFileRepository>(\"UpdateFileRepository\");\n\nexport namespace UpdateFileRepository {\n export type Interface = IUpdateFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * UpdateFile use case interface\n */\nexport interface IUpdateFileUseCase {\n execute(input: UpdateFileInput): Promise<Result<File, UseCaseError>>;\n}\n\nexport interface IUpdateFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IUpdateFileUseCaseErrors[keyof IUpdateFileUseCaseErrors];\n\nexport const UpdateFileUseCase = createAbstraction<IUpdateFileUseCase>(\"UpdateFileUseCase\");\n\nexport namespace UpdateFileUseCase {\n export type Interface = IUpdateFileUseCase;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAuBvD;AACA;AACA;;AAaA,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;;AAOpE;AACA;AACA;;AAaA,OAAO,MAAME,iBAAiB,GAAGF,iBAAiB,CAAqB,mBAAmB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/file/UpdateFile/abstractions.js","sources":["../../../../src/features/file/UpdateFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { CreatedBy, File } from \"~/domain/file/types.js\";\nimport {\n type FilePersistenceError,\n type FileNotFoundError,\n FileNotAuthorizedError\n} from \"~/domain/file/errors.js\";\n\nexport interface UpdateFileInput {\n id: string;\n name?: string;\n metadata?: Record<string, any>;\n tags?: string[];\n description?: string;\n location?: { folderId: string };\n createdOn?: string;\n modifiedOn?: string;\n savedOn?: string;\n createdBy?: CreatedBy;\n modifiedBy?: CreatedBy;\n savedBy?: CreatedBy;\n}\n\n/**\n * UpdateFile repository interface\n */\nexport interface IUpdateFileRepository {\n update(file: File): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IUpdateFileRepositoryErrors {\n notFound: FileNotFoundError;\n notAuthorized: FileNotAuthorizedError;\n persistence: FilePersistenceError;\n}\n\ntype RepositoryError = IUpdateFileRepositoryErrors[keyof IUpdateFileRepositoryErrors];\n\n/** Persist file metadata updates. */\nexport const UpdateFileRepository =\n createAbstraction<IUpdateFileRepository>(\"UpdateFileRepository\");\n\nexport namespace UpdateFileRepository {\n export type Interface = IUpdateFileRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * UpdateFile use case interface\n */\nexport interface IUpdateFileUseCase {\n execute(input: UpdateFileInput): Promise<Result<File, UseCaseError>>;\n}\n\nexport interface IUpdateFileUseCaseErrors {\n notAuthorized: FileNotAuthorizedError;\n notFound: FileNotFoundError;\n persistence: FilePersistenceError;\n}\n\ntype UseCaseError = IUpdateFileUseCaseErrors[keyof IUpdateFileUseCaseErrors];\n\n/** Update file metadata. */\nexport const UpdateFileUseCase = createAbstraction<IUpdateFileUseCase>(\"UpdateFileUseCase\");\n\nexport namespace UpdateFileUseCase {\n export type Interface = IUpdateFileUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["UpdateFileRepository","createAbstraction","UpdateFileUseCase"],"mappings":";AAwCO,MAAMA,uBACTC,kBAAyC;AAuBtC,MAAMC,oBAAoBD,kBAAsC"}
@@ -1,5 +1,5 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { File } from "../../../domain/file/types.js";
4
4
  import type { UpdateFileInput } from "./abstractions.js";
5
5
  export interface FileBeforeUpdatePayload {
@@ -11,8 +11,9 @@ export declare class FileBeforeUpdateEvent extends DomainEvent<FileBeforeUpdateP
11
11
  eventType: "FileManager/File/BeforeUpdate";
12
12
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileBeforeUpdateEvent>>;
13
13
  }
14
- export declare const FileBeforeUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<FileBeforeUpdateEvent>>;
15
- export declare namespace FileBeforeUpdateHandler {
14
+ /** Hook into file lifecycle before a file is updated. */
15
+ export declare const FileBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileBeforeUpdateEvent>>;
16
+ export declare namespace FileBeforeUpdateEventHandler {
16
17
  type Interface = IEventHandler<FileBeforeUpdateEvent>;
17
18
  type Event = FileBeforeUpdateEvent;
18
19
  }
@@ -25,8 +26,9 @@ export declare class FileAfterUpdateEvent extends DomainEvent<FileAfterUpdatePay
25
26
  eventType: "FileManager/File/AfterUpdate";
26
27
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<FileAfterUpdateEvent>>;
27
28
  }
28
- export declare const FileAfterUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<FileAfterUpdateEvent>>;
29
- export declare namespace FileAfterUpdateHandler {
29
+ /** Hook into file lifecycle after a file is updated. */
30
+ export declare const FileAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<FileAfterUpdateEvent>>;
31
+ export declare namespace FileAfterUpdateEventHandler {
30
32
  type Interface = IEventHandler<FileAfterUpdateEvent>;
31
33
  type Event = FileAfterUpdateEvent;
32
34
  }
@@ -1,28 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
3
-
4
- // ============================================================================
5
- // FileBeforeUpdate Event
6
- // ============================================================================
7
-
8
- export class FileBeforeUpdateEvent extends DomainEvent {
9
- eventType = "FileManager/File/BeforeUpdate";
10
- getHandlerAbstraction() {
11
- return FileBeforeUpdateHandler;
12
- }
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ class FileBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return FileBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "FileManager/File/BeforeUpdate";
9
+ }
13
10
  }
14
- export const FileBeforeUpdateHandler = createAbstraction("FileBeforeUpdateHandler");
15
-
16
- // ============================================================================
17
- // FileAfterUpdate Event
18
- // ============================================================================
19
-
20
- export class FileAfterUpdateEvent extends DomainEvent {
21
- eventType = "FileManager/File/AfterUpdate";
22
- getHandlerAbstraction() {
23
- return FileAfterUpdateHandler;
24
- }
11
+ const FileBeforeUpdateEventHandler = createAbstraction("FileBeforeUpdateEventHandler");
12
+ class FileAfterUpdateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return FileAfterUpdateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "FileManager/File/AfterUpdate";
18
+ }
25
19
  }
26
- export const FileAfterUpdateHandler = createAbstraction("FileAfterUpdateHandler");
20
+ const FileAfterUpdateEventHandler = createAbstraction("FileAfterUpdateEventHandler");
21
+ export { FileAfterUpdateEvent, FileAfterUpdateEventHandler, FileBeforeUpdateEvent, FileBeforeUpdateEventHandler };
27
22
 
28
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","FileBeforeUpdateEvent","eventType","getHandlerAbstraction","FileBeforeUpdateHandler","FileAfterUpdateEvent","FileAfterUpdateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { UpdateFileInput } from \"./abstractions.js\";\n\n// ============================================================================\n// FileBeforeUpdate Event\n// ============================================================================\n\nexport interface FileBeforeUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileBeforeUpdateEvent extends DomainEvent<FileBeforeUpdatePayload> {\n eventType = \"FileManager/File/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileBeforeUpdateHandler;\n }\n}\n\nexport const FileBeforeUpdateHandler =\n createAbstraction<IEventHandler<FileBeforeUpdateEvent>>(\"FileBeforeUpdateHandler\");\n\nexport namespace FileBeforeUpdateHandler {\n export type Interface = IEventHandler<FileBeforeUpdateEvent>;\n export type Event = FileBeforeUpdateEvent;\n}\n\n// ============================================================================\n// FileAfterUpdate Event\n// ============================================================================\n\nexport interface FileAfterUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileAfterUpdateEvent extends DomainEvent<FileAfterUpdatePayload> {\n eventType = \"FileManager/File/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileAfterUpdateHandler;\n }\n}\n\nexport const FileAfterUpdateHandler =\n createAbstraction<IEventHandler<FileAfterUpdateEvent>>(\"FileAfterUpdateHandler\");\n\nexport namespace FileAfterUpdateHandler {\n export type Interface = IEventHandler<FileAfterUpdateEvent>;\n export type Event = FileAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;;AAKtE;AACA;AACA;;AAQA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,+BAA+B;EAE3CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;;AAOtF;AACA;AACA;;AAQA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,8BAA8B;EAE1CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/file/UpdateFile/events.js","sources":["../../../../src/features/file/UpdateFile/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { File } from \"~/domain/file/types.js\";\nimport type { UpdateFileInput } from \"./abstractions.js\";\n\n// ============================================================================\n// FileBeforeUpdate Event\n// ============================================================================\n\nexport interface FileBeforeUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileBeforeUpdateEvent extends DomainEvent<FileBeforeUpdatePayload> {\n eventType = \"FileManager/File/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into file lifecycle before a file is updated. */\nexport const FileBeforeUpdateEventHandler = createAbstraction<IEventHandler<FileBeforeUpdateEvent>>(\n \"FileBeforeUpdateEventHandler\"\n);\n\nexport namespace FileBeforeUpdateEventHandler {\n export type Interface = IEventHandler<FileBeforeUpdateEvent>;\n export type Event = FileBeforeUpdateEvent;\n}\n\n// ============================================================================\n// FileAfterUpdate Event\n// ============================================================================\n\nexport interface FileAfterUpdatePayload {\n original: File;\n file: File;\n input: UpdateFileInput;\n}\n\nexport class FileAfterUpdateEvent extends DomainEvent<FileAfterUpdatePayload> {\n eventType = \"FileManager/File/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return FileAfterUpdateEventHandler;\n }\n}\n\n/** Hook into file lifecycle after a file is updated. */\nexport const FileAfterUpdateEventHandler = createAbstraction<IEventHandler<FileAfterUpdateEvent>>(\n \"FileAfterUpdateEventHandler\"\n);\n\nexport namespace FileAfterUpdateEventHandler {\n export type Interface = IEventHandler<FileAfterUpdateEvent>;\n export type Event = FileAfterUpdateEvent;\n}\n"],"names":["FileBeforeUpdateEvent","DomainEvent","FileBeforeUpdateEventHandler","createAbstraction","FileAfterUpdateEvent","FileAfterUpdateEventHandler"],"mappings":";;AAgBO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,+BAA+BC,kBACxC;AAkBG,MAAMC,6BAA6BH;IAGtC,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,8BAA8BF,kBACvC"}
@@ -1 +1,4 @@
1
- export declare const UpdateFileFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const UpdateFileFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { UpdateFileRepository } from "./UpdateFileRepository.js";
3
3
  import { UpdateFileUseCase } from "./UpdateFileUseCase.js";
4
- export const UpdateFileFeature = createFeature({
5
- name: "FileManager/UpdateFile",
6
- register(container) {
7
- container.register(UpdateFileUseCase);
8
- container.register(UpdateFileRepository).inSingletonScope();
9
- }
4
+ const UpdateFileFeature = createFeature({
5
+ name: "FileManager/UpdateFile",
6
+ register (container) {
7
+ container.register(UpdateFileUseCase);
8
+ container.register(UpdateFileRepository).inSingletonScope();
9
+ }
10
10
  });
11
+ export { UpdateFileFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateFileRepository","UpdateFileUseCase","UpdateFileFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateFileRepository } from \"./UpdateFileRepository.js\";\nimport { UpdateFileUseCase } from \"./UpdateFileUseCase.js\";\n\nexport const UpdateFileFeature = createFeature({\n name: \"FileManager/UpdateFile\",\n register(container) {\n container.register(UpdateFileUseCase);\n container.register(UpdateFileRepository).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,iBAAiB,GAAGH,aAAa,CAAC;EAC3CI,IAAI,EAAE,wBAAwB;EAC9BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,iBAAiB,CAAC;IACrCI,SAAS,CAACD,QAAQ,CAACJ,oBAAoB,CAAC,CAACM,gBAAgB,CAAC,CAAC;EAC/D;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/file/UpdateFile/feature.js","sources":["../../../../src/features/file/UpdateFile/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateFileRepository } from \"./UpdateFileRepository.js\";\nimport { UpdateFileUseCase } from \"./UpdateFileUseCase.js\";\n\nexport const UpdateFileFeature = createFeature({\n name: \"FileManager/UpdateFile\",\n register(container) {\n container.register(UpdateFileUseCase);\n container.register(UpdateFileRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateFileFeature","createFeature","container","UpdateFileUseCase","UpdateFileRepository"],"mappings":";;;AAIO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,sBAAsB,gBAAgB;IAC7D;AACJ"}
@@ -1,2 +1,2 @@
1
1
  export { UpdateFileUseCase } from "./abstractions.js";
2
- export { FileBeforeUpdateHandler, FileAfterUpdateHandler } from "./events.js";
2
+ export { FileBeforeUpdateEventHandler, FileAfterUpdateEventHandler } from "./events.js";
@@ -1,4 +1,2 @@
1
1
  export { UpdateFileUseCase } from "./abstractions.js";
2
- export { FileBeforeUpdateHandler, FileAfterUpdateHandler } from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
2
+ export { FileAfterUpdateEventHandler, FileBeforeUpdateEventHandler } from "./events.js";
@@ -1,26 +1,28 @@
1
- export class EntryToFileMapper {
2
- static toFile(entry) {
3
- return {
4
- id: entry.entryId,
5
- createdOn: entry.createdOn,
6
- modifiedOn: entry.modifiedOn ?? undefined,
7
- savedOn: entry.savedOn,
8
- createdBy: entry.createdBy,
9
- modifiedBy: entry.modifiedBy ?? undefined,
10
- savedBy: entry.savedBy,
11
- name: entry.values.name,
12
- key: entry.values.key,
13
- size: entry.values.size,
14
- type: entry.values.type,
15
- metadata: entry.values.metadata || {},
16
- accessControl: entry.values.accessControl,
17
- location: {
18
- folderId: entry.location?.folderId ?? "root"
19
- },
20
- tags: entry.values.tags || [],
21
- extensions: entry.values.extensions
22
- };
23
- }
1
+ class EntryToFileMapper {
2
+ static toFile(entry) {
3
+ return {
4
+ id: entry.entryId,
5
+ createdOn: entry.createdOn,
6
+ modifiedOn: entry.modifiedOn ?? void 0,
7
+ savedOn: entry.savedOn,
8
+ createdBy: entry.createdBy,
9
+ modifiedBy: entry.modifiedBy ?? void 0,
10
+ savedBy: entry.savedBy,
11
+ name: entry.values.name,
12
+ key: entry.values.key,
13
+ size: entry.values.size,
14
+ type: entry.values.type,
15
+ metadata: entry.values.metadata || {},
16
+ accessControl: entry.values.accessControl,
17
+ location: {
18
+ folderId: entry.location?.folderId ?? "root"
19
+ },
20
+ tags: entry.values.tags || [],
21
+ description: entry.values.description ?? "",
22
+ extensions: entry.values.extensions
23
+ };
24
+ }
24
25
  }
26
+ export { EntryToFileMapper };
25
27
 
26
28
  //# sourceMappingURL=EntryToFileMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntryToFileMapper","toFile","entry","id","entryId","createdOn","modifiedOn","undefined","savedOn","createdBy","modifiedBy","savedBy","name","values","key","size","type","metadata","accessControl","location","folderId","tags","extensions"],"sources":["EntryToFileMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport class EntryToFileMapper {\n static toFile(entry: CmsEntry): File {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n modifiedOn: entry.modifiedOn ?? undefined,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n modifiedBy: entry.modifiedBy ?? undefined,\n savedBy: entry.savedBy,\n name: entry.values.name,\n key: entry.values.key,\n size: entry.values.size,\n type: entry.values.type,\n metadata: entry.values.metadata || {},\n accessControl: entry.values.accessControl,\n location: { folderId: entry.location?.folderId ?? \"root\" },\n tags: entry.values.tags || [],\n extensions: entry.values.extensions\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,iBAAiB,CAAC;EAC3B,OAAOC,MAAMA,CAACC,KAAe,EAAQ;IACjC,OAAO;MACHC,EAAE,EAAED,KAAK,CAACE,OAAO;MACjBC,SAAS,EAAEH,KAAK,CAACG,SAAS;MAC1BC,UAAU,EAAEJ,KAAK,CAACI,UAAU,IAAIC,SAAS;MACzCC,OAAO,EAAEN,KAAK,CAACM,OAAO;MACtBC,SAAS,EAAEP,KAAK,CAACO,SAAS;MAC1BC,UAAU,EAAER,KAAK,CAACQ,UAAU,IAAIH,SAAS;MACzCI,OAAO,EAAET,KAAK,CAACS,OAAO;MACtBC,IAAI,EAAEV,KAAK,CAACW,MAAM,CAACD,IAAI;MACvBE,GAAG,EAAEZ,KAAK,CAACW,MAAM,CAACC,GAAG;MACrBC,IAAI,EAAEb,KAAK,CAACW,MAAM,CAACE,IAAI;MACvBC,IAAI,EAAEd,KAAK,CAACW,MAAM,CAACG,IAAI;MACvBC,QAAQ,EAAEf,KAAK,CAACW,MAAM,CAACI,QAAQ,IAAI,CAAC,CAAC;MACrCC,aAAa,EAAEhB,KAAK,CAACW,MAAM,CAACK,aAAa;MACzCC,QAAQ,EAAE;QAAEC,QAAQ,EAAElB,KAAK,CAACiB,QAAQ,EAAEC,QAAQ,IAAI;MAAO,CAAC;MAC1DC,IAAI,EAAEnB,KAAK,CAACW,MAAM,CAACQ,IAAI,IAAI,EAAE;MAC7BC,UAAU,EAAEpB,KAAK,CAACW,MAAM,CAACS;IAC7B,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/file/shared/EntryToFileMapper.js","sources":["../../../../src/features/file/shared/EntryToFileMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { File } from \"~/domain/file/types.js\";\n\nexport class EntryToFileMapper {\n static toFile(entry: CmsEntry): File {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n modifiedOn: entry.modifiedOn ?? undefined,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n modifiedBy: entry.modifiedBy ?? undefined,\n savedBy: entry.savedBy,\n name: entry.values.name,\n key: entry.values.key,\n size: entry.values.size,\n type: entry.values.type,\n metadata: entry.values.metadata || {},\n accessControl: entry.values.accessControl,\n location: { folderId: entry.location?.folderId ?? \"root\" },\n tags: entry.values.tags || [],\n description: entry.values.description ?? \"\",\n extensions: entry.values.extensions\n };\n }\n}\n"],"names":["EntryToFileMapper","entry","undefined"],"mappings":"AAGO,MAAMA;IACT,OAAO,OAAOC,KAAe,EAAQ;QACjC,OAAO;YACH,IAAIA,MAAM,OAAO;YACjB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAIC;YAChC,SAASD,MAAM,OAAO;YACtB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAIC;YAChC,SAASD,MAAM,OAAO;YACtB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,KAAKA,MAAM,MAAM,CAAC,GAAG;YACrB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,UAAUA,MAAM,MAAM,CAAC,QAAQ,IAAI,CAAC;YACpC,eAAeA,MAAM,MAAM,CAAC,aAAa;YACzC,UAAU;gBAAE,UAAUA,MAAM,QAAQ,EAAE,YAAY;YAAO;YACzD,MAAMA,MAAM,MAAM,CAAC,IAAI,IAAI,EAAE;YAC7B,aAAaA,MAAM,MAAM,CAAC,WAAW,IAAI;YACzC,YAAYA,MAAM,MAAM,CAAC,UAAU;QACvC;IACJ;AACJ"}
@@ -1,30 +1,32 @@
1
- export class FileInputToEntryInputMapper {
2
- static toEntry(file) {
3
- return {
4
- id: file.id,
5
- createdOn: file.createdOn,
6
- modifiedOn: file.modifiedOn,
7
- savedOn: file.savedOn,
8
- createdBy: file.createdBy,
9
- modifiedBy: file.modifiedBy,
10
- savedBy: file.savedBy,
11
- location: file.location || {
12
- folderId: "root"
13
- },
14
- values: {
15
- name: file.name,
16
- key: file.key,
17
- size: file.size,
18
- type: file.type,
19
- metadata: file.metadata || {},
20
- accessControl: {
21
- type: "public"
22
- },
23
- tags: file.tags || [],
24
- extensions: file.extensions
25
- }
26
- };
27
- }
1
+ class FileInputToEntryInputMapper {
2
+ static toEntry(file) {
3
+ return {
4
+ id: file.id,
5
+ createdOn: file.createdOn,
6
+ modifiedOn: file.modifiedOn,
7
+ savedOn: file.savedOn,
8
+ createdBy: file.createdBy,
9
+ modifiedBy: file.modifiedBy,
10
+ savedBy: file.savedBy,
11
+ location: file.location || {
12
+ folderId: "root"
13
+ },
14
+ values: {
15
+ name: file.name,
16
+ key: file.key,
17
+ size: file.size,
18
+ type: file.type,
19
+ metadata: file.metadata || {},
20
+ accessControl: {
21
+ type: "public"
22
+ },
23
+ tags: file.tags || [],
24
+ description: file.description ?? "",
25
+ extensions: file.extensions
26
+ }
27
+ };
28
+ }
28
29
  }
30
+ export { FileInputToEntryInputMapper };
29
31
 
30
32
  //# sourceMappingURL=FileInputToEntryInputMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FileInputToEntryInputMapper","toEntry","file","id","createdOn","modifiedOn","savedOn","createdBy","modifiedBy","savedBy","location","folderId","values","name","key","size","type","metadata","accessControl","tags","extensions"],"sources":["FileInputToEntryInputMapper.ts"],"sourcesContent":["import type { CreateCmsEntryInput } from \"@webiny/api-headless-cms/types\";\nimport type { FileInput } from \"~/domain/file/types.js\";\n\nexport class FileInputToEntryInputMapper {\n static toEntry(file: FileInput): CreateCmsEntryInput {\n return {\n id: file.id,\n createdOn: file.createdOn,\n modifiedOn: file.modifiedOn,\n savedOn: file.savedOn,\n createdBy: file.createdBy,\n modifiedBy: file.modifiedBy,\n savedBy: file.savedBy,\n location: file.location || { folderId: \"root\" },\n values: {\n name: file.name,\n key: file.key,\n size: file.size,\n type: file.type,\n metadata: file.metadata || {},\n accessControl: {\n type: \"public\"\n },\n tags: file.tags || [],\n extensions: file.extensions\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,2BAA2B,CAAC;EACrC,OAAOC,OAAOA,CAACC,IAAe,EAAuB;IACjD,OAAO;MACHC,EAAE,EAAED,IAAI,CAACC,EAAE;MACXC,SAAS,EAAEF,IAAI,CAACE,SAAS;MACzBC,UAAU,EAAEH,IAAI,CAACG,UAAU;MAC3BC,OAAO,EAAEJ,IAAI,CAACI,OAAO;MACrBC,SAAS,EAAEL,IAAI,CAACK,SAAS;MACzBC,UAAU,EAAEN,IAAI,CAACM,UAAU;MAC3BC,OAAO,EAAEP,IAAI,CAACO,OAAO;MACrBC,QAAQ,EAAER,IAAI,CAACQ,QAAQ,IAAI;QAAEC,QAAQ,EAAE;MAAO,CAAC;MAC/CC,MAAM,EAAE;QACJC,IAAI,EAAEX,IAAI,CAACW,IAAI;QACfC,GAAG,EAAEZ,IAAI,CAACY,GAAG;QACbC,IAAI,EAAEb,IAAI,CAACa,IAAI;QACfC,IAAI,EAAEd,IAAI,CAACc,IAAI;QACfC,QAAQ,EAAEf,IAAI,CAACe,QAAQ,IAAI,CAAC,CAAC;QAC7BC,aAAa,EAAE;UACXF,IAAI,EAAE;QACV,CAAC;QACDG,IAAI,EAAEjB,IAAI,CAACiB,IAAI,IAAI,EAAE;QACrBC,UAAU,EAAElB,IAAI,CAACkB;MACrB;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/file/shared/FileInputToEntryInputMapper.js","sources":["../../../../src/features/file/shared/FileInputToEntryInputMapper.ts"],"sourcesContent":["import type { CreateCmsEntryInput } from \"@webiny/api-headless-cms/types\";\nimport type { FileInput } from \"~/domain/file/types.js\";\n\nexport class FileInputToEntryInputMapper {\n static toEntry(file: FileInput): CreateCmsEntryInput {\n return {\n id: file.id,\n createdOn: file.createdOn,\n modifiedOn: file.modifiedOn,\n savedOn: file.savedOn,\n createdBy: file.createdBy,\n modifiedBy: file.modifiedBy,\n savedBy: file.savedBy,\n location: file.location || { folderId: \"root\" },\n values: {\n name: file.name,\n key: file.key,\n size: file.size,\n type: file.type,\n metadata: file.metadata || {},\n accessControl: {\n type: \"public\"\n },\n tags: file.tags || [],\n description: file.description ?? \"\",\n extensions: file.extensions\n }\n };\n }\n}\n"],"names":["FileInputToEntryInputMapper","file"],"mappings":"AAGO,MAAMA;IACT,OAAO,QAAQC,IAAe,EAAuB;QACjD,OAAO;YACH,IAAIA,KAAK,EAAE;YACX,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,WAAWA,KAAK,SAAS;YACzB,YAAYA,KAAK,UAAU;YAC3B,SAASA,KAAK,OAAO;YACrB,UAAUA,KAAK,QAAQ,IAAI;gBAAE,UAAU;YAAO;YAC9C,QAAQ;gBACJ,MAAMA,KAAK,IAAI;gBACf,KAAKA,KAAK,GAAG;gBACb,MAAMA,KAAK,IAAI;gBACf,MAAMA,KAAK,IAAI;gBACf,UAAUA,KAAK,QAAQ,IAAI,CAAC;gBAC5B,eAAe;oBACX,MAAM;gBACV;gBACA,MAAMA,KAAK,IAAI,IAAI,EAAE;gBACrB,aAAaA,KAAK,WAAW,IAAI;gBACjC,YAAYA,KAAK,UAAU;YAC/B;QACJ;IACJ;AACJ"}
@@ -1,29 +1,31 @@
1
- export class FileToEntryMapper {
2
- static toEntry(file) {
3
- return {
4
- id: `${file.id}#0001`,
5
- entryId: file.id,
6
- createdOn: file.createdOn,
7
- modifiedOn: file.modifiedOn,
8
- savedOn: file.savedOn,
9
- createdBy: file.createdBy,
10
- modifiedBy: file.modifiedBy,
11
- savedBy: file.savedBy,
12
- location: file.location || {
13
- folderId: "root"
14
- },
15
- values: {
16
- name: file.name,
17
- key: file.key,
18
- size: file.size,
19
- type: file.type,
20
- metadata: file.metadata || {},
21
- accessControl: file.accessControl,
22
- tags: file.tags || [],
23
- extensions: file.extensions
24
- }
25
- };
26
- }
1
+ class FileToEntryMapper {
2
+ static toEntry(file) {
3
+ return {
4
+ id: `${file.id}#0001`,
5
+ entryId: file.id,
6
+ createdOn: file.createdOn,
7
+ modifiedOn: file.modifiedOn,
8
+ savedOn: file.savedOn,
9
+ createdBy: file.createdBy,
10
+ modifiedBy: file.modifiedBy,
11
+ savedBy: file.savedBy,
12
+ location: file.location || {
13
+ folderId: "root"
14
+ },
15
+ values: {
16
+ name: file.name,
17
+ key: file.key,
18
+ size: file.size,
19
+ type: file.type,
20
+ metadata: file.metadata || {},
21
+ accessControl: file.accessControl,
22
+ tags: file.tags || [],
23
+ description: file.description ?? "",
24
+ extensions: file.extensions
25
+ }
26
+ };
27
+ }
27
28
  }
29
+ export { FileToEntryMapper };
28
30
 
29
31
  //# sourceMappingURL=FileToEntryMapper.js.map