@webiny/app-file-manager 0.0.0-unstable.78f581c1d2 → 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 (738) hide show
  1. package/README.md +7 -28
  2. package/app.d.ts +2 -0
  3. package/app.js +57 -0
  4. package/app.js.map +1 -0
  5. package/domain/constants.d.ts +4 -0
  6. package/domain/constants.js +7 -0
  7. package/domain/constants.js.map +1 -0
  8. package/domain/permissionsSchema.d.ts +18 -0
  9. package/domain/permissionsSchema.js +32 -0
  10. package/domain/permissionsSchema.js.map +1 -0
  11. package/domain/tagsHelpers.d.ts +16 -0
  12. package/domain/tagsHelpers.js +25 -0
  13. package/domain/tagsHelpers.js.map +1 -0
  14. package/domain/types.d.ts +34 -0
  15. package/domain/types.js +0 -0
  16. package/exports/admin/ui/file-manager.d.ts +2 -0
  17. package/exports/admin/ui/file-manager.js +1 -0
  18. package/features/deleteFile/DeleteFile.test.d.ts +1 -0
  19. package/features/deleteFile/DeleteFile.test.js +150 -0
  20. package/features/deleteFile/DeleteFile.test.js.map +1 -0
  21. package/features/deleteFile/DeleteFileGateway.d.ts +11 -0
  22. package/features/deleteFile/DeleteFileGateway.js +23 -0
  23. package/features/deleteFile/DeleteFileGateway.js.map +1 -0
  24. package/features/deleteFile/DeleteFileRepository.d.ts +12 -0
  25. package/features/deleteFile/DeleteFileRepository.js +26 -0
  26. package/features/deleteFile/DeleteFileRepository.js.map +1 -0
  27. package/features/deleteFile/DeleteFileUseCase.d.ts +10 -0
  28. package/features/deleteFile/DeleteFileUseCase.js +34 -0
  29. package/features/deleteFile/DeleteFileUseCase.js.map +1 -0
  30. package/features/deleteFile/abstractions.d.ts +36 -0
  31. package/features/deleteFile/abstractions.js +7 -0
  32. package/features/deleteFile/abstractions.js.map +1 -0
  33. package/features/deleteFile/feature.d.ts +3 -0
  34. package/features/deleteFile/feature.js +21 -0
  35. package/features/deleteFile/feature.js.map +1 -0
  36. package/features/deleteFile/index.d.ts +3 -0
  37. package/features/deleteFile/index.js +2 -0
  38. package/features/fileModel/FileModelProvider.d.ts +12 -0
  39. package/features/fileModel/FileModelProvider.js +21 -0
  40. package/features/fileModel/FileModelProvider.js.map +1 -0
  41. package/features/fileModel/GetFileModelGqlGateway.d.ts +12 -0
  42. package/features/fileModel/GetFileModelGqlGateway.js +38 -0
  43. package/features/fileModel/GetFileModelGqlGateway.js.map +1 -0
  44. package/features/fileModel/GetFileModelRepository.d.ts +14 -0
  45. package/features/fileModel/GetFileModelRepository.js +32 -0
  46. package/features/fileModel/GetFileModelRepository.js.map +1 -0
  47. package/features/fileModel/abstractions.d.ts +24 -0
  48. package/features/fileModel/abstractions.js +7 -0
  49. package/features/fileModel/abstractions.js.map +1 -0
  50. package/features/fileModel/feature.d.ts +1 -0
  51. package/features/fileModel/feature.js +15 -0
  52. package/features/fileModel/feature.js.map +1 -0
  53. package/features/fileModel/index.d.ts +2 -0
  54. package/features/fileModel/index.js +2 -0
  55. package/features/fileUploader/FileUploader.d.ts +23 -0
  56. package/features/fileUploader/FileUploader.js +243 -0
  57. package/features/fileUploader/FileUploader.js.map +1 -0
  58. package/features/fileUploader/FileUploader.test.d.ts +1 -0
  59. package/features/fileUploader/FileUploader.test.js +427 -0
  60. package/features/fileUploader/FileUploader.test.js.map +1 -0
  61. package/features/fileUploader/abstractions.d.ts +51 -0
  62. package/features/fileUploader/abstractions.js +5 -0
  63. package/features/fileUploader/abstractions.js.map +1 -0
  64. package/features/fileUploader/feature.d.ts +3 -0
  65. package/features/fileUploader/feature.js +17 -0
  66. package/features/fileUploader/feature.js.map +1 -0
  67. package/features/fileUploader/index.d.ts +3 -0
  68. package/features/fileUploader/index.js +2 -0
  69. package/features/fileUrlFormatter/FileUrlFormatter.d.ts +8 -0
  70. package/features/fileUrlFormatter/FileUrlFormatter.js +13 -0
  71. package/features/fileUrlFormatter/FileUrlFormatter.js.map +1 -0
  72. package/features/fileUrlFormatter/abstractions.d.ts +1 -0
  73. package/features/fileUrlFormatter/abstractions.js +1 -0
  74. package/features/fileUrlFormatter/feature.d.ts +1 -0
  75. package/features/fileUrlFormatter/feature.js +11 -0
  76. package/features/fileUrlFormatter/feature.js.map +1 -0
  77. package/features/getFile/GetFileGateway.d.ts +14 -0
  78. package/features/getFile/GetFileGateway.js +28 -0
  79. package/features/getFile/GetFileGateway.js.map +1 -0
  80. package/features/getFile/GetFileRepository.d.ts +11 -0
  81. package/features/getFile/GetFileRepository.js +18 -0
  82. package/features/getFile/GetFileRepository.js.map +1 -0
  83. package/features/getFile/GetFileUseCase.d.ts +10 -0
  84. package/features/getFile/GetFileUseCase.js +35 -0
  85. package/features/getFile/GetFileUseCase.js.map +1 -0
  86. package/features/getFile/abstractions.d.ts +38 -0
  87. package/features/getFile/abstractions.js +7 -0
  88. package/features/getFile/abstractions.js.map +1 -0
  89. package/features/getFile/feature.d.ts +3 -0
  90. package/features/getFile/feature.js +21 -0
  91. package/features/getFile/feature.js.map +1 -0
  92. package/features/getFile/index.d.ts +3 -0
  93. package/features/getFile/index.js +2 -0
  94. package/features/listFiles/ListFiles.test.d.ts +1 -0
  95. package/features/listFiles/ListFiles.test.js +192 -0
  96. package/features/listFiles/ListFiles.test.js.map +1 -0
  97. package/features/listFiles/ListFilesGateway.d.ts +13 -0
  98. package/features/listFiles/ListFilesGateway.js +35 -0
  99. package/features/listFiles/ListFilesGateway.js.map +1 -0
  100. package/features/listFiles/ListFilesRepository.d.ts +12 -0
  101. package/features/listFiles/ListFilesRepository.js +26 -0
  102. package/features/listFiles/ListFilesRepository.js.map +1 -0
  103. package/features/listFiles/ListFilesUseCase.d.ts +10 -0
  104. package/features/listFiles/ListFilesUseCase.js +28 -0
  105. package/features/listFiles/ListFilesUseCase.js.map +1 -0
  106. package/features/listFiles/abstractions.d.ts +45 -0
  107. package/features/listFiles/abstractions.js +7 -0
  108. package/features/listFiles/abstractions.js.map +1 -0
  109. package/features/listFiles/feature.d.ts +3 -0
  110. package/features/listFiles/feature.js +21 -0
  111. package/features/listFiles/feature.js.map +1 -0
  112. package/features/listFiles/index.d.ts +3 -0
  113. package/features/listFiles/index.js +2 -0
  114. package/features/permissions/abstractions.d.ts +17 -0
  115. package/features/permissions/abstractions.js +6 -0
  116. package/features/permissions/abstractions.js.map +1 -0
  117. package/features/permissions/feature.d.ts +14 -0
  118. package/features/permissions/feature.js +7 -0
  119. package/features/permissions/feature.js.map +1 -0
  120. package/features/resolveImageTool/ResolveImageTool.d.ts +40 -0
  121. package/features/resolveImageTool/ResolveImageTool.js +49 -0
  122. package/features/resolveImageTool/ResolveImageTool.js.map +1 -0
  123. package/features/resolveImageTool/feature.d.ts +1 -0
  124. package/features/resolveImageTool/feature.js +11 -0
  125. package/features/resolveImageTool/feature.js.map +1 -0
  126. package/features/settings/GetSettings.test.d.ts +1 -0
  127. package/features/settings/GetSettings.test.js +92 -0
  128. package/features/settings/GetSettings.test.js.map +1 -0
  129. package/features/settings/GetSettingsGateway.d.ts +12 -0
  130. package/features/settings/GetSettingsGateway.js +43 -0
  131. package/features/settings/GetSettingsGateway.js.map +1 -0
  132. package/features/settings/GetSettingsRepository.d.ts +14 -0
  133. package/features/settings/GetSettingsRepository.js +34 -0
  134. package/features/settings/GetSettingsRepository.js.map +1 -0
  135. package/features/settings/GetSettingsUseCase.d.ts +11 -0
  136. package/features/settings/GetSettingsUseCase.js +18 -0
  137. package/features/settings/GetSettingsUseCase.js.map +1 -0
  138. package/features/settings/SaveSettingsGateway.d.ts +12 -0
  139. package/features/settings/SaveSettingsGateway.js +50 -0
  140. package/features/settings/SaveSettingsGateway.js.map +1 -0
  141. package/features/settings/abstractions.d.ts +31 -0
  142. package/features/settings/abstractions.js +8 -0
  143. package/features/settings/abstractions.js.map +1 -0
  144. package/features/settings/feature.d.ts +3 -0
  145. package/features/settings/feature.js +23 -0
  146. package/features/settings/feature.js.map +1 -0
  147. package/features/settings/index.d.ts +3 -0
  148. package/features/settings/index.js +2 -0
  149. package/features/shared/FILE_FIELDS.d.ts +1 -0
  150. package/features/shared/FILE_FIELDS.js +32 -0
  151. package/features/shared/FILE_FIELDS.js.map +1 -0
  152. package/features/shared/FileFieldsProvider.d.ts +8 -0
  153. package/features/shared/FileFieldsProvider.js +14 -0
  154. package/features/shared/FileFieldsProvider.js.map +1 -0
  155. package/features/shared/FileFieldsProviderWithWcp.d.ts +12 -0
  156. package/features/shared/FileFieldsProviderWithWcp.js +25 -0
  157. package/features/shared/FileFieldsProviderWithWcp.js.map +1 -0
  158. package/features/shared/FilesListCache.d.ts +1 -0
  159. package/features/shared/FilesListCache.js +1 -0
  160. package/features/shared/abstractions.d.ts +13 -0
  161. package/features/shared/abstractions.js +6 -0
  162. package/features/shared/abstractions.js.map +1 -0
  163. package/features/shared/feature.d.ts +5 -0
  164. package/features/shared/feature.js +22 -0
  165. package/features/shared/feature.js.map +1 -0
  166. package/features/shared/index.d.ts +4 -0
  167. package/features/shared/index.js +3 -0
  168. package/features/shared/types.d.ts +16 -0
  169. package/features/shared/types.js +0 -0
  170. package/features/tags/ListTags.test.d.ts +1 -0
  171. package/features/tags/ListTags.test.js +126 -0
  172. package/features/tags/ListTags.test.js.map +1 -0
  173. package/features/tags/ListTagsGateway.d.ts +11 -0
  174. package/features/tags/ListTagsGateway.js +23 -0
  175. package/features/tags/ListTagsGateway.js.map +1 -0
  176. package/features/tags/ListTagsRepository.d.ts +12 -0
  177. package/features/tags/ListTagsRepository.js +25 -0
  178. package/features/tags/ListTagsRepository.js.map +1 -0
  179. package/features/tags/ListTagsUseCase.d.ts +10 -0
  180. package/features/tags/ListTagsUseCase.js +20 -0
  181. package/features/tags/ListTagsUseCase.js.map +1 -0
  182. package/features/tags/abstractions.d.ts +32 -0
  183. package/features/tags/abstractions.js +7 -0
  184. package/features/tags/abstractions.js.map +1 -0
  185. package/features/tags/feature.d.ts +3 -0
  186. package/features/tags/feature.js +21 -0
  187. package/features/tags/feature.js.map +1 -0
  188. package/features/tags/index.d.ts +3 -0
  189. package/features/tags/index.js +2 -0
  190. package/features/updateFile/UpdateFile.test.d.ts +1 -0
  191. package/features/updateFile/UpdateFile.test.js +260 -0
  192. package/features/updateFile/UpdateFile.test.js.map +1 -0
  193. package/features/updateFile/UpdateFileGateway.d.ts +12 -0
  194. package/features/updateFile/UpdateFileGateway.js +25 -0
  195. package/features/updateFile/UpdateFileGateway.js.map +1 -0
  196. package/features/updateFile/UpdateFileRepository.d.ts +14 -0
  197. package/features/updateFile/UpdateFileRepository.js +32 -0
  198. package/features/updateFile/UpdateFileRepository.js.map +1 -0
  199. package/features/updateFile/UpdateFileUseCase.d.ts +12 -0
  200. package/features/updateFile/UpdateFileUseCase.js +41 -0
  201. package/features/updateFile/UpdateFileUseCase.js.map +1 -0
  202. package/features/updateFile/abstractions.d.ts +53 -0
  203. package/features/updateFile/abstractions.js +7 -0
  204. package/features/updateFile/abstractions.js.map +1 -0
  205. package/features/updateFile/feature.d.ts +3 -0
  206. package/features/updateFile/feature.js +21 -0
  207. package/features/updateFile/feature.js.map +1 -0
  208. package/features/updateFile/index.d.ts +3 -0
  209. package/features/updateFile/index.js +2 -0
  210. package/index.d.ts +3 -2
  211. package/index.js +3 -37
  212. package/modules/Enterprise/HandleWebsocketMessages.d.ts +1 -0
  213. package/modules/Enterprise/HandleWebsocketMessages.js +53 -0
  214. package/modules/Enterprise/HandleWebsocketMessages.js.map +1 -0
  215. package/modules/Enterprise/components/ThreatScanInProgressFileBody.d.ts +2 -0
  216. package/modules/Enterprise/components/ThreatScanInProgressFileBody.js +22 -0
  217. package/modules/Enterprise/components/ThreatScanInProgressFileBody.js.map +1 -0
  218. package/modules/Enterprise/components/ThreatScanInProgressTableCell.d.ts +6 -0
  219. package/modules/Enterprise/components/ThreatScanInProgressTableCell.js +20 -0
  220. package/modules/Enterprise/components/ThreatScanInProgressTableCell.js.map +1 -0
  221. package/modules/Enterprise/constants.d.ts +3 -0
  222. package/modules/Enterprise/constants.js +6 -0
  223. package/modules/Enterprise/constants.js.map +1 -0
  224. package/modules/Enterprise/index.d.ts +2 -0
  225. package/modules/Enterprise/index.js +30 -0
  226. package/modules/Enterprise/index.js.map +1 -0
  227. package/modules/FileManagerRoutes.d.ts +2 -0
  228. package/modules/FileManagerRoutes.js +31 -0
  229. package/modules/FileManagerRoutes.js.map +1 -0
  230. package/modules/FileModelModule.d.ts +2 -0
  231. package/modules/FileModelModule.js +18 -0
  232. package/modules/FileModelModule.js.map +1 -0
  233. package/modules/FileUrlFormatter.d.ts +2 -0
  234. package/modules/FileUrlFormatter.js +9 -0
  235. package/modules/FileUrlFormatter.js.map +1 -0
  236. package/modules/HeadlessCms/fileField.d.ts +2 -0
  237. package/modules/HeadlessCms/fileField.js +44 -0
  238. package/modules/HeadlessCms/fileField.js.map +1 -0
  239. package/modules/HeadlessCms/fileRenderer/fileField.d.ts +2 -0
  240. package/modules/HeadlessCms/fileRenderer/fileField.js +53 -0
  241. package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -0
  242. package/modules/HeadlessCms/fileRenderer/fileFields.d.ts +2 -0
  243. package/modules/HeadlessCms/fileRenderer/fileFields.js +73 -0
  244. package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -0
  245. package/modules/HeadlessCms/fileRenderer/utils.d.ts +2 -0
  246. package/modules/HeadlessCms/fileRenderer/utils.js +15 -0
  247. package/modules/HeadlessCms/fileRenderer/utils.js.map +1 -0
  248. package/modules/HeadlessCms/index.d.ts +1 -0
  249. package/modules/HeadlessCms/index.js +14 -0
  250. package/modules/HeadlessCms/index.js.map +1 -0
  251. package/modules/SecurityPermissions.d.ts +2 -0
  252. package/modules/SecurityPermissions.js +15 -0
  253. package/modules/SecurityPermissions.js.map +1 -0
  254. package/modules/Settings/assets/icons/folder-open.js +19 -0
  255. package/modules/Settings/assets/icons/folder-open.js.map +1 -0
  256. package/{admin → modules/Settings}/graphql.d.ts +7 -0
  257. package/modules/Settings/graphql.js +36 -0
  258. package/modules/Settings/graphql.js.map +1 -0
  259. package/modules/Settings/index.d.ts +2 -0
  260. package/modules/Settings/index.js +27 -0
  261. package/modules/Settings/index.js.map +1 -0
  262. package/modules/Settings/views/FileManagerSettings.d.ts +2 -0
  263. package/modules/Settings/views/FileManagerSettings.js +134 -0
  264. package/modules/Settings/views/FileManagerSettings.js.map +1 -0
  265. package/package.json +46 -37
  266. package/presentation/FileActions/FileDetails/CopyUrl.d.ts +2 -0
  267. package/presentation/FileActions/FileDetails/CopyUrl.js +19 -0
  268. package/presentation/FileActions/FileDetails/CopyUrl.js.map +1 -0
  269. package/presentation/FileActions/FileDetails/DeleteImage.d.ts +2 -0
  270. package/presentation/FileActions/FileDetails/DeleteImage.js +24 -0
  271. package/presentation/FileActions/FileDetails/DeleteImage.js.map +1 -0
  272. package/presentation/FileActions/FileDetails/Download.d.ts +2 -0
  273. package/presentation/FileActions/FileDetails/Download.js +19 -0
  274. package/presentation/FileActions/FileDetails/Download.js.map +1 -0
  275. package/presentation/FileActions/FileDetails/MoveToFolder.d.ts +2 -0
  276. package/presentation/FileActions/FileDetails/MoveToFolder.js +16 -0
  277. package/presentation/FileActions/FileDetails/MoveToFolder.js.map +1 -0
  278. package/presentation/FileActions/Grid/Delete.d.ts +2 -0
  279. package/presentation/FileActions/Grid/Delete.js +23 -0
  280. package/presentation/FileActions/Grid/Delete.js.map +1 -0
  281. package/presentation/FileActions/Grid/Download.d.ts +2 -0
  282. package/presentation/FileActions/Grid/Download.js +19 -0
  283. package/presentation/FileActions/Grid/Download.js.map +1 -0
  284. package/presentation/FileActions/Grid/MoveToFolder.d.ts +2 -0
  285. package/presentation/FileActions/Grid/MoveToFolder.js +16 -0
  286. package/presentation/FileActions/Grid/MoveToFolder.js.map +1 -0
  287. package/presentation/FileActions/Grid/Settings.d.ts +2 -0
  288. package/presentation/FileActions/Grid/Settings.js +23 -0
  289. package/presentation/FileActions/Grid/Settings.js.map +1 -0
  290. package/presentation/FileActions/index.d.ts +2 -0
  291. package/presentation/FileActions/index.js +39 -0
  292. package/presentation/FileActions/index.js.map +1 -0
  293. package/presentation/FileDetails/FileDetailsPresenter.d.ts +28 -0
  294. package/presentation/FileDetails/FileDetailsPresenter.js +138 -0
  295. package/presentation/FileDetails/FileDetailsPresenter.js.map +1 -0
  296. package/presentation/FileDetails/FileDetailsPresenter.test.d.ts +1 -0
  297. package/presentation/FileDetails/FileDetailsPresenter.test.js +280 -0
  298. package/presentation/FileDetails/FileDetailsPresenter.test.js.map +1 -0
  299. package/presentation/FileDetails/abstractions.d.ts +22 -0
  300. package/presentation/FileDetails/abstractions.js +5 -0
  301. package/presentation/FileDetails/abstractions.js.map +1 -0
  302. package/presentation/FileDetails/components/ActionButton.d.ts +10 -0
  303. package/presentation/FileDetails/components/ActionButton.js +15 -0
  304. package/presentation/FileDetails/components/ActionButton.js.map +1 -0
  305. package/presentation/FileDetails/components/Actions.d.ts +2 -0
  306. package/presentation/FileDetails/components/Actions.js +13 -0
  307. package/presentation/FileDetails/components/Actions.js.map +1 -0
  308. package/presentation/FileDetails/components/Content.d.ts +14 -0
  309. package/presentation/FileDetails/components/Content.js +20 -0
  310. package/presentation/FileDetails/components/Content.js.map +1 -0
  311. package/presentation/FileDetails/components/CreatedOn.d.ts +2 -0
  312. package/presentation/FileDetails/components/CreatedOn.js +21 -0
  313. package/presentation/FileDetails/components/CreatedOn.js.map +1 -0
  314. package/presentation/FileDetails/components/Description.d.ts +2 -0
  315. package/presentation/FileDetails/components/Description.js +16 -0
  316. package/presentation/FileDetails/components/Description.js.map +1 -0
  317. package/presentation/FileDetails/components/FileDetailsDrawer.d.ts +4 -0
  318. package/presentation/FileDetails/components/FileDetailsDrawer.js +73 -0
  319. package/presentation/FileDetails/components/FileDetailsDrawer.js.map +1 -0
  320. package/presentation/FileDetails/components/Preview.d.ts +2 -0
  321. package/presentation/FileDetails/components/Preview.js +15 -0
  322. package/presentation/FileDetails/components/Preview.js.map +1 -0
  323. package/presentation/FileDetails/components/Thumbnail.d.ts +2 -0
  324. package/presentation/FileDetails/components/Thumbnail.js +12 -0
  325. package/presentation/FileDetails/components/Thumbnail.js.map +1 -0
  326. package/presentation/FileDetails/feature.d.ts +3 -0
  327. package/presentation/FileDetails/feature.js +17 -0
  328. package/presentation/FileDetails/feature.js.map +1 -0
  329. package/presentation/FileDetails/index.d.ts +3 -0
  330. package/presentation/FileDetails/index.js +2 -0
  331. package/presentation/FileList/FileListDataSource.d.ts +20 -0
  332. package/presentation/FileList/FileListDataSource.js +122 -0
  333. package/presentation/FileList/FileListDataSource.js.map +1 -0
  334. package/presentation/FileList/FileListPresenter.test.d.ts +1 -0
  335. package/presentation/FileList/FileListPresenter.test.js +424 -0
  336. package/presentation/FileList/FileListPresenter.test.js.map +1 -0
  337. package/presentation/FileList/FileManagerPresenter.d.ts +43 -0
  338. package/presentation/FileList/FileManagerPresenter.js +213 -0
  339. package/presentation/FileList/FileManagerPresenter.js.map +1 -0
  340. package/presentation/FileList/FileManagerPresenterProvider.d.ts +9 -0
  341. package/presentation/FileList/FileManagerPresenterProvider.js +13 -0
  342. package/presentation/FileList/FileManagerPresenterProvider.js.map +1 -0
  343. package/presentation/FileList/abstractions.d.ts +76 -0
  344. package/presentation/FileList/abstractions.js +5 -0
  345. package/presentation/FileList/abstractions.js.map +1 -0
  346. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.d.ts +6 -0
  347. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.js +12 -0
  348. package/presentation/FileList/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
  349. package/presentation/FileList/components/BottomInfoBar/ListStatus.d.ts +6 -0
  350. package/presentation/FileList/components/BottomInfoBar/ListStatus.js +20 -0
  351. package/presentation/FileList/components/BottomInfoBar/ListStatus.js.map +1 -0
  352. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.d.ts +8 -0
  353. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.js +56 -0
  354. package/presentation/FileList/components/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  355. package/presentation/FileList/components/BottomInfoBar/index.d.ts +1 -0
  356. package/presentation/FileList/components/BottomInfoBar/index.js +1 -0
  357. package/presentation/FileList/components/BulkActions/ActionEdit.types.d.ts +2 -0
  358. package/presentation/FileList/components/BulkActions/ActionEdit.types.js +0 -0
  359. package/presentation/FileList/components/BulkActions/ActionEditPresenter.d.ts +35 -0
  360. package/presentation/FileList/components/BulkActions/ActionEditPresenter.js +55 -0
  361. package/presentation/FileList/components/BulkActions/ActionEditPresenter.js.map +1 -0
  362. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.d.ts +1 -0
  363. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.js +170 -0
  364. package/presentation/FileList/components/BulkActions/ActionEditPresenter.test.js.map +1 -0
  365. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.d.ts +7 -0
  366. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.js +15 -0
  367. package/presentation/FileList/components/BulkActions/BatchEditorDialog/AddOperation.js.map +1 -0
  368. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.d.ts +15 -0
  369. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.js +44 -0
  370. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditor.js.map +1 -0
  371. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.d.ts +15 -0
  372. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.js +52 -0
  373. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialog.js.map +1 -0
  374. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.d.ts +61 -0
  375. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.js +111 -0
  376. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -0
  377. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.d.ts +1 -0
  378. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.js +372 -0
  379. package/presentation/FileList/components/BulkActions/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -0
  380. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.d.ts +8 -0
  381. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.js +31 -0
  382. package/presentation/FileList/components/BulkActions/BatchEditorDialog/FieldRenderer.js.map +1 -0
  383. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.d.ts +11 -0
  384. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.js +33 -0
  385. package/presentation/FileList/components/BulkActions/BatchEditorDialog/Operation.js.map +1 -0
  386. package/presentation/FileList/components/BulkActions/BatchEditorDialog/index.d.ts +1 -0
  387. package/presentation/FileList/components/BulkActions/BatchEditorDialog/index.js +1 -0
  388. package/presentation/FileList/components/BulkActions/BulkActionBar.d.ts +5 -0
  389. package/presentation/FileList/components/BulkActions/BulkActionBar.js +42 -0
  390. package/presentation/FileList/components/BulkActions/BulkActionBar.js.map +1 -0
  391. package/presentation/FileList/components/BulkActions/BulkActionDelete.d.ts +4 -0
  392. package/presentation/FileList/components/BulkActions/BulkActionDelete.js +65 -0
  393. package/presentation/FileList/components/BulkActions/BulkActionDelete.js.map +1 -0
  394. package/presentation/FileList/components/BulkActions/BulkActionEdit.d.ts +4 -0
  395. package/presentation/FileList/components/BulkActions/BulkActionEdit.js +105 -0
  396. package/presentation/FileList/components/BulkActions/BulkActionEdit.js.map +1 -0
  397. package/presentation/FileList/components/BulkActions/BulkActionMove.d.ts +4 -0
  398. package/presentation/FileList/components/BulkActions/BulkActionMove.js +87 -0
  399. package/presentation/FileList/components/BulkActions/BulkActionMove.js.map +1 -0
  400. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.d.ts +23 -0
  401. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.js +40 -0
  402. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.js.map +1 -0
  403. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.d.ts +1 -0
  404. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.js +319 -0
  405. package/presentation/FileList/components/BulkActions/GraphQLInputMapper.test.js.map +1 -0
  406. package/presentation/FileList/components/BulkActions/domain/Batch.d.ts +32 -0
  407. package/presentation/FileList/components/BulkActions/domain/Batch.js +32 -0
  408. package/presentation/FileList/components/BulkActions/domain/Batch.js.map +1 -0
  409. package/presentation/FileList/components/BulkActions/domain/BatchMapper.d.ts +4 -0
  410. package/presentation/FileList/components/BulkActions/domain/BatchMapper.js +14 -0
  411. package/presentation/FileList/components/BulkActions/domain/BatchMapper.js.map +1 -0
  412. package/presentation/FileList/components/BulkActions/domain/Field.d.ts +32 -0
  413. package/presentation/FileList/components/BulkActions/domain/Field.js +49 -0
  414. package/presentation/FileList/components/BulkActions/domain/Field.js.map +1 -0
  415. package/presentation/FileList/components/BulkActions/domain/FieldMapper.d.ts +7 -0
  416. package/presentation/FileList/components/BulkActions/domain/FieldMapper.js +21 -0
  417. package/presentation/FileList/components/BulkActions/domain/FieldMapper.js.map +1 -0
  418. package/presentation/FileList/components/BulkActions/domain/index.d.ts +4 -0
  419. package/presentation/FileList/components/BulkActions/domain/index.js +4 -0
  420. package/presentation/FileList/components/BulkActions/index.d.ts +5 -0
  421. package/presentation/FileList/components/BulkActions/index.js +5 -0
  422. package/presentation/FileList/components/BulkActions/useBulkActionWorker.d.ts +16 -0
  423. package/presentation/FileList/components/BulkActions/useBulkActionWorker.js +43 -0
  424. package/presentation/FileList/components/BulkActions/useBulkActionWorker.js.map +1 -0
  425. package/presentation/FileList/components/Empty/Empty.d.ts +8 -0
  426. package/presentation/FileList/components/Empty/Empty.js +20 -0
  427. package/presentation/FileList/components/Empty/Empty.js.map +1 -0
  428. package/presentation/FileList/components/Empty/index.d.ts +1 -0
  429. package/presentation/FileList/components/Empty/index.js +1 -0
  430. package/presentation/FileList/components/FileDropArea/FileDropArea.d.ts +9 -0
  431. package/presentation/FileList/components/FileDropArea/FileDropArea.js +62 -0
  432. package/presentation/FileList/components/FileDropArea/FileDropArea.js.map +1 -0
  433. package/presentation/FileList/components/FileDropArea/index.d.ts +1 -0
  434. package/presentation/FileList/components/FileDropArea/index.js +1 -0
  435. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.d.ts +2 -0
  436. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.js +11 -0
  437. package/presentation/FileList/components/FileDropPlaceholder/FileDropPlaceholder.js.map +1 -0
  438. package/presentation/FileList/components/FileDropPlaceholder/index.d.ts +1 -0
  439. package/presentation/FileList/components/FileDropPlaceholder/index.js +1 -0
  440. package/presentation/FileList/components/FilePicker/FilePicker.d.ts +11 -0
  441. package/presentation/FileList/components/FilePicker/FilePicker.js +28 -0
  442. package/presentation/FileList/components/FilePicker/FilePicker.js.map +1 -0
  443. package/presentation/FileList/components/Filters/FilterByType.d.ts +2 -0
  444. package/presentation/FileList/components/Filters/FilterByType.js +39 -0
  445. package/presentation/FileList/components/Filters/FilterByType.js.map +1 -0
  446. package/presentation/FileList/components/Filters/SubFoldersToggle.d.ts +9 -0
  447. package/presentation/FileList/components/Filters/SubFoldersToggle.js +25 -0
  448. package/presentation/FileList/components/Filters/SubFoldersToggle.js.map +1 -0
  449. package/presentation/FileList/components/Filters/TagsFilter.d.ts +9 -0
  450. package/presentation/FileList/components/Filters/TagsFilter.js +86 -0
  451. package/presentation/FileList/components/Filters/TagsFilter.js.map +1 -0
  452. package/presentation/FileList/components/Filters/TypeFilter.d.ts +8 -0
  453. package/presentation/FileList/components/Filters/TypeFilter.js +46 -0
  454. package/presentation/FileList/components/Filters/TypeFilter.js.map +1 -0
  455. package/presentation/FileList/components/Filters/index.d.ts +3 -0
  456. package/presentation/FileList/components/Filters/index.js +3 -0
  457. package/presentation/FileList/components/Grid/ActionButton.d.ts +9 -0
  458. package/presentation/FileList/components/Grid/ActionButton.js +24 -0
  459. package/presentation/FileList/components/Grid/ActionButton.js.map +1 -0
  460. package/presentation/FileList/components/Grid/File.d.ts +32 -0
  461. package/presentation/FileList/components/Grid/File.js +84 -0
  462. package/presentation/FileList/components/Grid/File.js.map +1 -0
  463. package/presentation/FileList/components/Grid/FileGrid.d.ts +9 -0
  464. package/presentation/FileList/components/Grid/FileGrid.js +162 -0
  465. package/presentation/FileList/components/Grid/FileGrid.js.map +1 -0
  466. package/presentation/FileList/components/Grid/FileGrid.test.d.ts +1 -0
  467. package/presentation/FileList/components/Grid/FileGrid.test.js +387 -0
  468. package/presentation/FileList/components/Grid/FileGrid.test.js.map +1 -0
  469. package/presentation/FileList/components/Grid/index.d.ts +1 -0
  470. package/presentation/FileList/components/Grid/index.js +1 -0
  471. package/presentation/FileList/components/Header/FileManagerHeader.d.ts +7 -0
  472. package/presentation/FileList/components/Header/FileManagerHeader.js +114 -0
  473. package/presentation/FileList/components/Header/FileManagerHeader.js.map +1 -0
  474. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.d.ts +2 -0
  475. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.js +24 -0
  476. package/presentation/FileList/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  477. package/presentation/FileList/components/LayoutSwitch/index.d.ts +1 -0
  478. package/presentation/FileList/components/LayoutSwitch/index.js +1 -0
  479. package/presentation/FileList/components/NoPermissions/NoPermissions.d.ts +2 -0
  480. package/presentation/FileList/components/NoPermissions/NoPermissions.js +27 -0
  481. package/presentation/FileList/components/NoPermissions/NoPermissions.js.map +1 -0
  482. package/presentation/FileList/components/NoPermissions/index.d.ts +1 -0
  483. package/presentation/FileList/components/NoPermissions/index.js +1 -0
  484. package/presentation/FileList/components/NoResults/NoResults.d.ts +2 -0
  485. package/presentation/FileList/components/NoResults/NoResults.js +21 -0
  486. package/presentation/FileList/components/NoResults/NoResults.js.map +1 -0
  487. package/presentation/FileList/components/NoResults/index.d.ts +1 -0
  488. package/presentation/FileList/components/NoResults/index.js +1 -0
  489. package/presentation/FileList/components/Search/SearchBar.d.ts +9 -0
  490. package/presentation/FileList/components/Search/SearchBar.js +33 -0
  491. package/presentation/FileList/components/Search/SearchBar.js.map +1 -0
  492. package/presentation/FileList/components/Search/index.d.ts +1 -0
  493. package/presentation/FileList/components/Search/index.js +1 -0
  494. package/presentation/FileList/components/Table/Actions/CopyFile.d.ts +2 -0
  495. package/presentation/FileList/components/Table/Actions/CopyFile.js +21 -0
  496. package/presentation/FileList/components/Table/Actions/CopyFile.js.map +1 -0
  497. package/presentation/FileList/components/Table/Actions/DeleteFile.d.ts +2 -0
  498. package/presentation/FileList/components/Table/Actions/DeleteFile.js +24 -0
  499. package/presentation/FileList/components/Table/Actions/DeleteFile.js.map +1 -0
  500. package/presentation/FileList/components/Table/Actions/EditFile.d.ts +2 -0
  501. package/presentation/FileList/components/Table/Actions/EditFile.js +19 -0
  502. package/presentation/FileList/components/Table/Actions/EditFile.js.map +1 -0
  503. package/presentation/FileList/components/Table/Actions/MoveFile.d.ts +2 -0
  504. package/presentation/FileList/components/Table/Actions/MoveFile.js +19 -0
  505. package/presentation/FileList/components/Table/Actions/MoveFile.js.map +1 -0
  506. package/presentation/FileList/components/Table/Actions/index.d.ts +4 -0
  507. package/presentation/FileList/components/Table/Actions/index.js +4 -0
  508. package/presentation/FileList/components/Table/Cells/CellActions.d.ts +2 -0
  509. package/presentation/FileList/components/Table/Cells/CellActions.js +28 -0
  510. package/presentation/FileList/components/Table/Cells/CellActions.js.map +1 -0
  511. package/presentation/FileList/components/Table/Cells/CellAuthor.d.ts +2 -0
  512. package/presentation/FileList/components/Table/Cells/CellAuthor.js +10 -0
  513. package/presentation/FileList/components/Table/Cells/CellAuthor.js.map +1 -0
  514. package/presentation/FileList/components/Table/Cells/CellCreated.d.ts +2 -0
  515. package/presentation/FileList/components/Table/Cells/CellCreated.js +13 -0
  516. package/presentation/FileList/components/Table/Cells/CellCreated.js.map +1 -0
  517. package/presentation/FileList/components/Table/Cells/CellModified.d.ts +2 -0
  518. package/presentation/FileList/components/Table/Cells/CellModified.js +13 -0
  519. package/presentation/FileList/components/Table/Cells/CellModified.js.map +1 -0
  520. package/presentation/FileList/components/Table/Cells/CellName.d.ts +16 -0
  521. package/presentation/FileList/components/Table/Cells/CellName.js +59 -0
  522. package/presentation/FileList/components/Table/Cells/CellName.js.map +1 -0
  523. package/presentation/FileList/components/Table/Cells/CellSize.d.ts +2 -0
  524. package/presentation/FileList/components/Table/Cells/CellSize.js +14 -0
  525. package/presentation/FileList/components/Table/Cells/CellSize.js.map +1 -0
  526. package/presentation/FileList/components/Table/Cells/CellThumbnail.d.ts +2 -0
  527. package/presentation/FileList/components/Table/Cells/CellThumbnail.js +12 -0
  528. package/presentation/FileList/components/Table/Cells/CellThumbnail.js.map +1 -0
  529. package/presentation/FileList/components/Table/Cells/CellType.d.ts +2 -0
  530. package/presentation/FileList/components/Table/Cells/CellType.js +11 -0
  531. package/presentation/FileList/components/Table/Cells/CellType.js.map +1 -0
  532. package/presentation/FileList/components/Table/Cells/index.d.ts +7 -0
  533. package/presentation/FileList/components/Table/Cells/index.js +7 -0
  534. package/presentation/FileList/components/Table/FileTable.d.ts +12 -0
  535. package/presentation/FileList/components/Table/FileTable.js +79 -0
  536. package/presentation/FileList/components/Table/FileTable.js.map +1 -0
  537. package/presentation/FileList/components/Table/FileTable.test.d.ts +1 -0
  538. package/presentation/FileList/components/Table/FileTable.test.js +365 -0
  539. package/presentation/FileList/components/Table/FileTable.test.js.map +1 -0
  540. package/presentation/FileList/components/Table/index.d.ts +4 -0
  541. package/presentation/FileList/components/Table/index.js +3 -0
  542. package/presentation/FileList/components/TagsList/Empty.d.ts +6 -0
  543. package/presentation/FileList/components/TagsList/Empty.js +8 -0
  544. package/presentation/FileList/components/TagsList/Empty.js.map +1 -0
  545. package/presentation/FileList/components/TagsList/FilterSelect.d.ts +2 -0
  546. package/presentation/FileList/components/TagsList/FilterSelect.js +38 -0
  547. package/presentation/FileList/components/TagsList/FilterSelect.js.map +1 -0
  548. package/presentation/FileList/components/TagsList/FilterStatus.d.ts +7 -0
  549. package/presentation/FileList/components/TagsList/FilterStatus.js +25 -0
  550. package/presentation/FileList/components/TagsList/FilterStatus.js.map +1 -0
  551. package/presentation/FileList/components/TagsList/Tag.d.ts +9 -0
  552. package/presentation/FileList/components/TagsList/Tag.js +11 -0
  553. package/presentation/FileList/components/TagsList/Tag.js.map +1 -0
  554. package/presentation/FileList/components/TagsList/Tags.d.ts +8 -0
  555. package/presentation/FileList/components/TagsList/Tags.js +30 -0
  556. package/presentation/FileList/components/TagsList/Tags.js.map +1 -0
  557. package/presentation/FileList/components/TagsList/TagsList.d.ts +11 -0
  558. package/presentation/FileList/components/TagsList/TagsList.js +24 -0
  559. package/presentation/FileList/components/TagsList/TagsList.js.map +1 -0
  560. package/presentation/FileList/components/TagsList/index.d.ts +1 -0
  561. package/presentation/FileList/components/TagsList/index.js +1 -0
  562. package/presentation/FileList/components/Thumbnail/Thumbnail.d.ts +2 -0
  563. package/presentation/FileList/components/Thumbnail/Thumbnail.js +12 -0
  564. package/presentation/FileList/components/Thumbnail/Thumbnail.js.map +1 -0
  565. package/presentation/FileList/components/Thumbnail/index.d.ts +1 -0
  566. package/presentation/FileList/components/Thumbnail/index.js +1 -0
  567. package/presentation/FileList/components/Upload/UploadProgress.d.ts +9 -0
  568. package/presentation/FileList/components/Upload/UploadProgress.js +45 -0
  569. package/presentation/FileList/components/Upload/UploadProgress.js.map +1 -0
  570. package/presentation/FileList/components/Upload/index.d.ts +1 -0
  571. package/presentation/FileList/components/Upload/index.js +1 -0
  572. package/presentation/FileList/feature.d.ts +3 -0
  573. package/presentation/FileList/feature.js +17 -0
  574. package/presentation/FileList/feature.js.map +1 -0
  575. package/presentation/FileList/index.d.ts +5 -0
  576. package/presentation/FileList/index.js +3 -0
  577. package/presentation/FileManager/FileManagerRenderer.d.ts +2 -0
  578. package/presentation/FileManager/FileManagerRenderer.js +33 -0
  579. package/presentation/FileManager/FileManagerRenderer.js.map +1 -0
  580. package/presentation/FileManager/FileManagerView.d.ts +12 -0
  581. package/presentation/FileManager/FileManagerView.js +246 -0
  582. package/presentation/FileManager/FileManagerView.js.map +1 -0
  583. package/presentation/FileManager/OverlayContext.d.ts +14 -0
  584. package/presentation/FileManager/OverlayContext.js +11 -0
  585. package/presentation/FileManager/OverlayContext.js.map +1 -0
  586. package/presentation/FileManager/outputFileSelectionError.d.ts +2 -0
  587. package/presentation/FileManager/outputFileSelectionError.js +27 -0
  588. package/presentation/FileManager/outputFileSelectionError.js.map +1 -0
  589. package/presentation/Settings/SettingsPresenter.d.ts +14 -0
  590. package/presentation/Settings/SettingsPresenter.js +78 -0
  591. package/presentation/Settings/SettingsPresenter.js.map +1 -0
  592. package/presentation/Settings/components/SettingsView.d.ts +4 -0
  593. package/presentation/Settings/components/SettingsView.js +45 -0
  594. package/presentation/Settings/components/SettingsView.js.map +1 -0
  595. package/presentation/config/DefaultFileManagerConfig.d.ts +2 -0
  596. package/presentation/config/DefaultFileManagerConfig.js +118 -0
  597. package/presentation/config/DefaultFileManagerConfig.js.map +1 -0
  598. package/presentation/config/FileManagerViewConfig.d.ts +248 -0
  599. package/presentation/config/FileManagerViewConfig.js +74 -0
  600. package/presentation/config/FileManagerViewConfig.js.map +1 -0
  601. package/presentation/config/configComponents/Browser/BulkAction.d.ts +26 -0
  602. package/presentation/config/configComponents/Browser/BulkAction.js +57 -0
  603. package/presentation/config/configComponents/Browser/BulkAction.js.map +1 -0
  604. package/presentation/config/configComponents/Browser/BulkEditField.d.ts +10 -0
  605. package/presentation/config/configComponents/Browser/BulkEditField.js +24 -0
  606. package/presentation/config/configComponents/Browser/BulkEditField.js.map +1 -0
  607. package/presentation/config/configComponents/Browser/FileAction.d.ts +8 -0
  608. package/presentation/config/configComponents/Browser/FileAction.js +11 -0
  609. package/presentation/config/configComponents/Browser/FileAction.js.map +1 -0
  610. package/presentation/config/configComponents/Browser/Filter.d.ts +39 -0
  611. package/presentation/config/configComponents/Browser/Filter.js +37 -0
  612. package/presentation/config/configComponents/Browser/Filter.js.map +1 -0
  613. package/presentation/config/configComponents/Browser/FilterByTags.d.ts +5 -0
  614. package/presentation/config/configComponents/Browser/FilterByTags.js +14 -0
  615. package/presentation/config/configComponents/Browser/FilterByTags.js.map +1 -0
  616. package/presentation/config/configComponents/Browser/FiltersToWhere.d.ts +7 -0
  617. package/presentation/config/configComponents/Browser/FiltersToWhere.js +13 -0
  618. package/presentation/config/configComponents/Browser/FiltersToWhere.js.map +1 -0
  619. package/presentation/config/configComponents/Browser/FolderAction.d.ts +7 -0
  620. package/presentation/config/configComponents/Browser/FolderAction.js +10 -0
  621. package/presentation/config/configComponents/Browser/FolderAction.js.map +1 -0
  622. package/presentation/config/configComponents/Browser/FolderDropConfirmation.d.ts +5 -0
  623. package/presentation/config/configComponents/Browser/FolderDropConfirmation.js +7 -0
  624. package/presentation/config/configComponents/Browser/FolderDropConfirmation.js.map +1 -0
  625. package/presentation/config/configComponents/Browser/FolderFieldDecorator.d.ts +7 -0
  626. package/presentation/config/configComponents/Browser/FolderFieldDecorator.js +11 -0
  627. package/presentation/config/configComponents/Browser/FolderFieldDecorator.js.map +1 -0
  628. package/presentation/config/configComponents/Browser/Grid/Action.d.ts +31 -0
  629. package/presentation/config/configComponents/Browser/Grid/Action.js +33 -0
  630. package/presentation/config/configComponents/Browser/Grid/Action.js.map +1 -0
  631. package/presentation/config/configComponents/Browser/Grid/Thumbnail.d.ts +28 -0
  632. package/presentation/config/configComponents/Browser/Grid/Thumbnail.js +28 -0
  633. package/presentation/config/configComponents/Browser/Grid/Thumbnail.js.map +1 -0
  634. package/presentation/config/configComponents/Browser/Grid/index.d.ts +6 -0
  635. package/presentation/config/configComponents/Browser/Grid/index.js +0 -0
  636. package/presentation/config/configComponents/Browser/Table/Column.d.ts +32 -0
  637. package/presentation/config/configComponents/Browser/Table/Column.js +13 -0
  638. package/presentation/config/configComponents/Browser/Table/Column.js.map +1 -0
  639. package/presentation/config/configComponents/Browser/Table/Thumbnail.d.ts +28 -0
  640. package/presentation/config/configComponents/Browser/Table/Thumbnail.js +28 -0
  641. package/presentation/config/configComponents/Browser/Table/Thumbnail.js.map +1 -0
  642. package/presentation/config/configComponents/Browser/Table/index.d.ts +56 -0
  643. package/presentation/config/configComponents/Browser/Table/index.js +11 -0
  644. package/presentation/config/configComponents/Browser/Table/index.js.map +1 -0
  645. package/presentation/config/configComponents/Browser/index.d.ts +189 -0
  646. package/presentation/config/configComponents/Browser/index.js +47 -0
  647. package/presentation/config/configComponents/Browser/index.js.map +1 -0
  648. package/presentation/config/configComponents/FileDetails/Action.d.ts +31 -0
  649. package/presentation/config/configComponents/FileDetails/Action.js +30 -0
  650. package/presentation/config/configComponents/FileDetails/Action.js.map +1 -0
  651. package/presentation/config/configComponents/FileDetails/Thumbnail.d.ts +28 -0
  652. package/presentation/config/configComponents/FileDetails/Thumbnail.js +25 -0
  653. package/presentation/config/configComponents/FileDetails/Thumbnail.js.map +1 -0
  654. package/presentation/config/configComponents/FileDetails/Width.d.ts +5 -0
  655. package/presentation/config/configComponents/FileDetails/Width.js +13 -0
  656. package/presentation/config/configComponents/FileDetails/Width.js.map +1 -0
  657. package/presentation/config/configComponents/FileDetails/index.d.ts +52 -0
  658. package/presentation/config/configComponents/FileDetails/index.js +16 -0
  659. package/presentation/config/configComponents/FileDetails/index.js.map +1 -0
  660. package/presentation/config/fields/AccessControl.d.ts +7 -0
  661. package/presentation/config/fields/AccessControl.js +38 -0
  662. package/presentation/config/fields/AccessControl.js.map +1 -0
  663. package/presentation/config/fields/Tags.d.ts +2 -0
  664. package/presentation/config/fields/Tags.js +32 -0
  665. package/presentation/config/fields/Tags.js.map +1 -0
  666. package/presentation/config/fields/index.d.ts +2 -0
  667. package/presentation/config/fields/index.js +2 -0
  668. package/presentation/config/fields/useAccessControlField.d.ts +6 -0
  669. package/presentation/config/fields/useAccessControlField.js +21 -0
  670. package/presentation/config/fields/useAccessControlField.js.map +1 -0
  671. package/presentation/config/fields/useFileOrUndefined.d.ts +3 -0
  672. package/presentation/config/fields/useFileOrUndefined.js +13 -0
  673. package/presentation/config/fields/useFileOrUndefined.js.map +1 -0
  674. package/presentation/config/getThumbnailRenderer.d.ts +4 -0
  675. package/presentation/config/getThumbnailRenderer.js +16 -0
  676. package/presentation/config/getThumbnailRenderer.js.map +1 -0
  677. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.d.ts +2 -0
  678. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.js +11 -0
  679. package/presentation/config/thumbnailRenderers/FilePreviewDefaultRenderer.js.map +1 -0
  680. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.d.ts +2 -0
  681. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.js +18 -0
  682. package/presentation/config/thumbnailRenderers/FilePreviewImageRenderer.js.map +1 -0
  683. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.d.ts +2 -0
  684. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.js +11 -0
  685. package/presentation/config/thumbnailRenderers/GridItemDefaultRenderer.js.map +1 -0
  686. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.d.ts +2 -0
  687. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.js +18 -0
  688. package/presentation/config/thumbnailRenderers/GridItemImageRenderer.js.map +1 -0
  689. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.d.ts +2 -0
  690. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.js +18 -0
  691. package/presentation/config/thumbnailRenderers/TableItemDefaultRenderer.js.map +1 -0
  692. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.d.ts +2 -0
  693. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.js +18 -0
  694. package/presentation/config/thumbnailRenderers/TableItemImageRenderer.js.map +1 -0
  695. package/presentation/contexts/FileProvider.d.ts +12 -0
  696. package/presentation/contexts/FileProvider.js +13 -0
  697. package/presentation/contexts/FileProvider.js.map +1 -0
  698. package/presentation/hooks/useCopyFile.d.ts +11 -0
  699. package/presentation/hooks/useCopyFile.js +24 -0
  700. package/presentation/hooks/useCopyFile.js.map +1 -0
  701. package/presentation/hooks/useDeleteFile.d.ts +9 -0
  702. package/presentation/hooks/useDeleteFile.js +35 -0
  703. package/presentation/hooks/useDeleteFile.js.map +1 -0
  704. package/presentation/hooks/useFile.d.ts +2 -0
  705. package/presentation/hooks/useFile.js +10 -0
  706. package/presentation/hooks/useFile.js.map +1 -0
  707. package/presentation/hooks/useMoveFileToFolder.d.ts +2 -0
  708. package/presentation/hooks/useMoveFileToFolder.js +36 -0
  709. package/presentation/hooks/useMoveFileToFolder.js.map +1 -0
  710. package/routes.d.ts +7 -0
  711. package/routes.js +17 -0
  712. package/routes.js.map +1 -0
  713. package/static/svg/folder-open.ae8d0fac.svg +1 -0
  714. package/admin/graphql.js +0 -24
  715. package/admin/graphql.js.map +0 -1
  716. package/admin/index.d.ts +0 -2
  717. package/admin/index.js +0 -16
  718. package/admin/index.js.map +0 -1
  719. package/admin/plugins/index.d.ts +0 -2
  720. package/admin/plugins/index.js +0 -18
  721. package/admin/plugins/index.js.map +0 -1
  722. package/admin/plugins/installation.d.ts +0 -3
  723. package/admin/plugins/installation.js +0 -134
  724. package/admin/plugins/installation.js.map +0 -1
  725. package/admin/plugins/permissionRenderer/FileManagerPermissions.d.ts +0 -14
  726. package/admin/plugins/permissionRenderer/FileManagerPermissions.js +0 -249
  727. package/admin/plugins/permissionRenderer/FileManagerPermissions.js.map +0 -1
  728. package/admin/plugins/permissionRenderer/index.d.ts +0 -3
  729. package/admin/plugins/permissionRenderer/index.js +0 -38
  730. package/admin/plugins/permissionRenderer/index.js.map +0 -1
  731. package/admin/views/FileManagerSettings.d.ts +0 -3
  732. package/admin/views/FileManagerSettings.js +0 -162
  733. package/admin/views/FileManagerSettings.js.map +0 -1
  734. package/index.js.map +0 -1
  735. package/types.d.ts +0 -26
  736. package/types.js +0 -5
  737. package/types.js.map +0 -1
  738. /package/{admin → modules/Settings}/assets/icons/folder-open.svg +0 -0
@@ -0,0 +1,21 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { ListTagsUseCase } from "./abstractions.js";
3
+ import { ListTagsUseCase as external_ListTagsUseCase_js_ListTagsUseCase } from "./ListTagsUseCase.js";
4
+ import { ListTagsRepository } from "./ListTagsRepository.js";
5
+ import { ListTagsGateway } from "./ListTagsGateway.js";
6
+ const ListTagsFeature = createFeature({
7
+ name: "FileManager/ListTags",
8
+ register (container) {
9
+ container.register(external_ListTagsUseCase_js_ListTagsUseCase);
10
+ container.register(ListTagsRepository).inSingletonScope();
11
+ container.register(ListTagsGateway).inSingletonScope();
12
+ },
13
+ resolve (container) {
14
+ return {
15
+ useCase: container.resolve(ListTagsUseCase)
16
+ };
17
+ }
18
+ });
19
+ export { ListTagsFeature };
20
+
21
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/tags/feature.js","sources":["../../../src/features/tags/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { ListTagsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { ListTagsUseCase } from \"./ListTagsUseCase.js\";\nimport { ListTagsRepository } from \"./ListTagsRepository.js\";\nimport { ListTagsGateway } from \"./ListTagsGateway.js\";\n\nexport const ListTagsFeature = createFeature({\n name: \"FileManager/ListTags\",\n register(container) {\n container.register(ListTagsUseCase);\n container.register(ListTagsRepository).inSingletonScope();\n container.register(ListTagsGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCaseAbstraction)\n };\n }\n});\n"],"names":["ListTagsFeature","createFeature","container","ListTagsUseCase","ListTagsRepository","ListTagsGateway","UseCaseAbstraction"],"mappings":";;;;;AAMO,MAAMA,kBAAkBC,cAAc;IACzC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,oBAAoB,gBAAgB;QACvDF,UAAU,QAAQ,CAACG,iBAAiB,gBAAgB;IACxD;IACA,SAAQH,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACI;QAC/B;IACJ;AACJ"}
@@ -0,0 +1,3 @@
1
+ export { ListTagsFeature } from "./feature.js";
2
+ export { ListTagsUseCase, ListTagsRepository, ListTagsGateway } from "./abstractions.js";
3
+ export type { IListTagsUseCase, IListTagsRepository, IListTagsGateway, ListTagsUseCaseParams, ListTagsUseCaseResult, ListTagsGatewayParams, ListTagsGatewayResult } from "./abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { ListTagsFeature } from "./feature.js";
2
+ export { ListTagsGateway, ListTagsRepository, ListTagsUseCase } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,260 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { Container } from "@webiny/di";
3
+ import { ListCache } from "@webiny/app-admin/features/listCache/index.js";
4
+ import { FilesListCache } from "../shared/abstractions.js";
5
+ import { FileFieldsProvider } from "../shared/FileFieldsProvider.js";
6
+ import { UpdateFileGateway, UpdateFileUseCase } from "./abstractions.js";
7
+ import { UpdateFileUseCase as external_UpdateFileUseCase_js_UpdateFileUseCase } from "./UpdateFileUseCase.js";
8
+ import { UpdateFileRepository } from "./UpdateFileRepository.js";
9
+ function createFile(overrides = {}) {
10
+ return {
11
+ id: "file-1",
12
+ name: "photo.jpg",
13
+ key: "files/photo.jpg",
14
+ src: "https://cdn.example.com/files/photo.jpg",
15
+ type: "image/jpeg",
16
+ size: 204800,
17
+ metadata: {},
18
+ tags: [
19
+ "photo"
20
+ ],
21
+ createdOn: "2025-01-01T00:00:00Z",
22
+ savedOn: "2025-01-01T00:00:00Z",
23
+ createdBy: {
24
+ id: "user-1",
25
+ displayName: "Test User",
26
+ type: "admin"
27
+ },
28
+ savedBy: {
29
+ id: "user-1",
30
+ displayName: "Test User",
31
+ type: "admin"
32
+ },
33
+ location: {
34
+ folderId: "root"
35
+ },
36
+ ...overrides
37
+ };
38
+ }
39
+ function createMockGateway(file = createFile()) {
40
+ const execute = vi.fn();
41
+ execute.mockResolvedValue(file);
42
+ return {
43
+ execute
44
+ };
45
+ }
46
+ function createContainer(mockGateway) {
47
+ const container = new Container();
48
+ const cache = new ListCache();
49
+ container.registerInstance(UpdateFileGateway, mockGateway);
50
+ container.registerInstance(FilesListCache, cache);
51
+ container.register(FileFieldsProvider).inSingletonScope();
52
+ container.register(UpdateFileRepository).inSingletonScope();
53
+ container.register(external_UpdateFileUseCase_js_UpdateFileUseCase);
54
+ return {
55
+ container,
56
+ cache
57
+ };
58
+ }
59
+ describe("UpdateFile Feature", ()=>{
60
+ let mockGateway;
61
+ let cache;
62
+ let container;
63
+ beforeEach(()=>{
64
+ mockGateway = createMockGateway();
65
+ const result = createContainer(mockGateway);
66
+ container = result.container;
67
+ cache = result.cache;
68
+ });
69
+ it("should call gateway with file ID and changed fields", async ()=>{
70
+ const updated = createFile({
71
+ name: "renamed.jpg",
72
+ tags: [
73
+ "photo",
74
+ "landscape"
75
+ ]
76
+ });
77
+ mockGateway.execute.mockResolvedValue(updated);
78
+ const useCase = container.resolve(UpdateFileUseCase);
79
+ await useCase.execute({
80
+ id: "file-1",
81
+ data: {
82
+ name: "renamed.jpg",
83
+ tags: [
84
+ "photo",
85
+ "landscape"
86
+ ]
87
+ }
88
+ });
89
+ expect(mockGateway.execute).toHaveBeenCalledTimes(1);
90
+ const callArgs = mockGateway.execute.mock.calls[0][0];
91
+ expect(callArgs.id).toBe("file-1");
92
+ expect(callArgs.data.name).toBe("renamed.jpg");
93
+ expect(callArgs.data.tags).toEqual([
94
+ "photo",
95
+ "landscape"
96
+ ]);
97
+ });
98
+ it("should return success result with the updated file", async ()=>{
99
+ const updated = createFile({
100
+ name: "renamed.jpg"
101
+ });
102
+ mockGateway.execute.mockResolvedValue(updated);
103
+ const useCase = container.resolve(UpdateFileUseCase);
104
+ const result = await useCase.execute({
105
+ id: "file-1",
106
+ data: {
107
+ name: "renamed.jpg"
108
+ }
109
+ });
110
+ expect(result.success).toBe(true);
111
+ if (result.success) expect(result.file).toEqual(updated);
112
+ });
113
+ it("should pass accessControl through to the gateway", async ()=>{
114
+ const updated = createFile({
115
+ accessControl: {
116
+ type: "private-authenticated"
117
+ }
118
+ });
119
+ mockGateway.execute.mockResolvedValue(updated);
120
+ const useCase = container.resolve(UpdateFileUseCase);
121
+ await useCase.execute({
122
+ id: "file-1",
123
+ data: {
124
+ accessControl: {
125
+ type: "private-authenticated"
126
+ }
127
+ }
128
+ });
129
+ const callArgs = mockGateway.execute.mock.calls[0][0];
130
+ expect(callArgs.data.accessControl).toEqual({
131
+ type: "private-authenticated"
132
+ });
133
+ });
134
+ it("should pass metadata through to the gateway", async ()=>{
135
+ const updated = createFile({
136
+ metadata: {
137
+ image: {
138
+ width: 800,
139
+ height: 600
140
+ }
141
+ }
142
+ });
143
+ mockGateway.execute.mockResolvedValue(updated);
144
+ const useCase = container.resolve(UpdateFileUseCase);
145
+ await useCase.execute({
146
+ id: "file-1",
147
+ data: {
148
+ metadata: {
149
+ image: {
150
+ width: 800,
151
+ height: 600
152
+ }
153
+ }
154
+ }
155
+ });
156
+ const callArgs = mockGateway.execute.mock.calls[0][0];
157
+ expect(callArgs.data.metadata).toEqual({
158
+ image: {
159
+ width: 800,
160
+ height: 600
161
+ }
162
+ });
163
+ });
164
+ it("should update the cached file when location.folderId changes", async ()=>{
165
+ const original = createFile({
166
+ id: "file-move",
167
+ location: {
168
+ folderId: "folder-a"
169
+ }
170
+ });
171
+ cache.addItems([
172
+ original
173
+ ]);
174
+ const moved = createFile({
175
+ id: "file-move",
176
+ location: {
177
+ folderId: "folder-b"
178
+ }
179
+ });
180
+ mockGateway.execute.mockResolvedValue(moved);
181
+ const useCase = container.resolve(UpdateFileUseCase);
182
+ await useCase.execute({
183
+ id: "file-move",
184
+ data: {
185
+ location: {
186
+ folderId: "folder-b"
187
+ }
188
+ }
189
+ });
190
+ const cached = cache.getItem((f)=>"file-move" === f.id);
191
+ expect(cached).toBeDefined();
192
+ expect(cached.location.folderId).toBe("folder-b");
193
+ });
194
+ it("should only update the matching file in cache, leaving others untouched", async ()=>{
195
+ const fileA = createFile({
196
+ id: "file-a",
197
+ name: "a.jpg"
198
+ });
199
+ const fileB = createFile({
200
+ id: "file-b",
201
+ name: "b.jpg"
202
+ });
203
+ cache.addItems([
204
+ fileA,
205
+ fileB
206
+ ]);
207
+ const updatedA = createFile({
208
+ id: "file-a",
209
+ name: "a-renamed.jpg"
210
+ });
211
+ mockGateway.execute.mockResolvedValue(updatedA);
212
+ const useCase = container.resolve(UpdateFileUseCase);
213
+ await useCase.execute({
214
+ id: "file-a",
215
+ data: {
216
+ name: "a-renamed.jpg"
217
+ }
218
+ });
219
+ const cachedA = cache.getItem((f)=>"file-a" === f.id);
220
+ expect(cachedA.name).toBe("a-renamed.jpg");
221
+ const cachedB = cache.getItem((f)=>"file-b" === f.id);
222
+ expect(cachedB.name).toBe("b.jpg");
223
+ });
224
+ it("should return error result when gateway throws", async ()=>{
225
+ mockGateway.execute.mockRejectedValue(new Error("Update failed"));
226
+ const useCase = container.resolve(UpdateFileUseCase);
227
+ const result = await useCase.execute({
228
+ id: "file-1",
229
+ data: {
230
+ name: "renamed.jpg"
231
+ }
232
+ });
233
+ expect(result.success).toBe(false);
234
+ if (!result.success) {
235
+ expect(result.error.code).toBe("UPDATE_FILE_ERROR");
236
+ expect(result.error.message).toBe("Update failed");
237
+ }
238
+ });
239
+ it("should not update cache when gateway throws", async ()=>{
240
+ const original = createFile({
241
+ id: "file-err",
242
+ name: "original.jpg"
243
+ });
244
+ cache.addItems([
245
+ original
246
+ ]);
247
+ mockGateway.execute.mockRejectedValue(new Error("Update failed"));
248
+ const useCase = container.resolve(UpdateFileUseCase);
249
+ await useCase.execute({
250
+ id: "file-err",
251
+ data: {
252
+ name: "should-not-apply.jpg"
253
+ }
254
+ });
255
+ const cached = cache.getItem((f)=>"file-err" === f.id);
256
+ expect(cached.name).toBe("original.jpg");
257
+ });
258
+ });
259
+
260
+ //# sourceMappingURL=UpdateFile.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/UpdateFile.test.js","sources":["../../../src/features/updateFile/UpdateFile.test.ts"],"sourcesContent":["import { describe, it, expect, vi, beforeEach } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache } from \"@webiny/app-admin/features/listCache/index.js\";\nimport { FilesListCache } from \"../shared/abstractions.js\";\nimport { FileFieldsProvider } from \"../shared/FileFieldsProvider.js\";\nimport {\n UpdateFileUseCase as UseCaseAbstraction,\n UpdateFileGateway as GatewayAbstraction,\n type IUpdateFileGateway,\n type UpdateFileGatewayParams\n} from \"./abstractions.js\";\nimport { UpdateFileUseCase } from \"./UpdateFileUseCase.js\";\nimport { UpdateFileRepository } from \"./UpdateFileRepository.js\";\nimport type { FmFile } from \"../shared/types.js\";\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction createFile(overrides: Partial<FmFile> = {}): FmFile {\n return {\n id: \"file-1\",\n name: \"photo.jpg\",\n key: \"files/photo.jpg\",\n src: \"https://cdn.example.com/files/photo.jpg\",\n type: \"image/jpeg\",\n size: 204800,\n metadata: {},\n tags: [\"photo\"],\n createdOn: \"2025-01-01T00:00:00Z\",\n savedOn: \"2025-01-01T00:00:00Z\",\n createdBy: { id: \"user-1\", displayName: \"Test User\", type: \"admin\" },\n savedBy: { id: \"user-1\", displayName: \"Test User\", type: \"admin\" },\n location: { folderId: \"root\" },\n ...overrides\n };\n}\n\ntype MockGateway = IUpdateFileGateway & { execute: ReturnType<typeof vi.fn> };\n\nfunction createMockGateway(file: FmFile = createFile()): MockGateway {\n const execute = vi.fn<(params: UpdateFileGatewayParams) => Promise<FmFile>>();\n execute.mockResolvedValue(file);\n return { execute };\n}\n\nfunction createContainer(mockGateway: MockGateway) {\n const container = new Container();\n const cache = new ListCache<FmFile>();\n\n // Register the mock gateway instance.\n container.registerInstance(GatewayAbstraction, mockGateway);\n\n // Register the shared cache instance.\n container.registerInstance(FilesListCache, cache);\n\n // Register the file fields provider.\n container.register(FileFieldsProvider).inSingletonScope();\n\n // Register the real repository and use case.\n container.register(UpdateFileRepository).inSingletonScope();\n container.register(UpdateFileUseCase);\n\n return { container, cache };\n}\n\n// ---------------------------------------------------------------------------\n// Tests\n// ---------------------------------------------------------------------------\n\ndescribe(\"UpdateFile Feature\", () => {\n let mockGateway: MockGateway;\n let cache: ListCache<FmFile>;\n let container: Container;\n\n beforeEach(() => {\n mockGateway = createMockGateway();\n const result = createContainer(mockGateway);\n container = result.container;\n cache = result.cache as ListCache<FmFile>;\n });\n\n // -----------------------------------------------------------------------\n // Metadata update.\n // -----------------------------------------------------------------------\n\n it(\"should call gateway with file ID and changed fields\", async () => {\n const updated = createFile({ name: \"renamed.jpg\", tags: [\"photo\", \"landscape\"] });\n mockGateway.execute.mockResolvedValue(updated);\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-1\",\n data: { name: \"renamed.jpg\", tags: [\"photo\", \"landscape\"] }\n });\n\n expect(mockGateway.execute).toHaveBeenCalledTimes(1);\n const callArgs = mockGateway.execute.mock.calls[0][0];\n expect(callArgs.id).toBe(\"file-1\");\n expect(callArgs.data.name).toBe(\"renamed.jpg\");\n expect(callArgs.data.tags).toEqual([\"photo\", \"landscape\"]);\n });\n\n it(\"should return success result with the updated file\", async () => {\n const updated = createFile({ name: \"renamed.jpg\" });\n mockGateway.execute.mockResolvedValue(updated);\n\n const useCase = container.resolve(UseCaseAbstraction);\n const result = await useCase.execute({\n id: \"file-1\",\n data: { name: \"renamed.jpg\" }\n });\n\n expect(result.success).toBe(true);\n if (result.success) {\n expect(result.file).toEqual(updated);\n }\n });\n\n it(\"should pass accessControl through to the gateway\", async () => {\n const updated = createFile({\n accessControl: { type: \"private-authenticated\" }\n });\n mockGateway.execute.mockResolvedValue(updated);\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-1\",\n data: { accessControl: { type: \"private-authenticated\" } }\n });\n\n const callArgs = mockGateway.execute.mock.calls[0][0];\n expect(callArgs.data.accessControl).toEqual({ type: \"private-authenticated\" });\n });\n\n it(\"should pass metadata through to the gateway\", async () => {\n const updated = createFile({\n metadata: { image: { width: 800, height: 600 } }\n });\n mockGateway.execute.mockResolvedValue(updated);\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-1\",\n data: { metadata: { image: { width: 800, height: 600 } } }\n });\n\n const callArgs = mockGateway.execute.mock.calls[0][0];\n expect(callArgs.data.metadata).toEqual({ image: { width: 800, height: 600 } });\n });\n\n // -----------------------------------------------------------------------\n // Move file (location.folderId change) updates cache correctly.\n // -----------------------------------------------------------------------\n\n it(\"should update the cached file when location.folderId changes\", async () => {\n // Seed the cache with the original file.\n const original = createFile({ id: \"file-move\", location: { folderId: \"folder-a\" } });\n cache.addItems([original]);\n\n const moved = createFile({ id: \"file-move\", location: { folderId: \"folder-b\" } });\n mockGateway.execute.mockResolvedValue(moved);\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-move\",\n data: { location: { folderId: \"folder-b\" } }\n });\n\n const cached = cache.getItem(f => f.id === \"file-move\");\n expect(cached).toBeDefined();\n expect(cached!.location.folderId).toBe(\"folder-b\");\n });\n\n it(\"should only update the matching file in cache, leaving others untouched\", async () => {\n // Seed cache with two files.\n const fileA = createFile({ id: \"file-a\", name: \"a.jpg\" });\n const fileB = createFile({ id: \"file-b\", name: \"b.jpg\" });\n cache.addItems([fileA, fileB]);\n\n const updatedA = createFile({ id: \"file-a\", name: \"a-renamed.jpg\" });\n mockGateway.execute.mockResolvedValue(updatedA);\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-a\",\n data: { name: \"a-renamed.jpg\" }\n });\n\n // file-a should be updated.\n const cachedA = cache.getItem(f => f.id === \"file-a\");\n expect(cachedA!.name).toBe(\"a-renamed.jpg\");\n\n // file-b should remain unchanged.\n const cachedB = cache.getItem(f => f.id === \"file-b\");\n expect(cachedB!.name).toBe(\"b.jpg\");\n });\n\n // -----------------------------------------------------------------------\n // Error handling.\n // -----------------------------------------------------------------------\n\n it(\"should return error result when gateway throws\", async () => {\n mockGateway.execute.mockRejectedValue(new Error(\"Update failed\"));\n\n const useCase = container.resolve(UseCaseAbstraction);\n const result = await useCase.execute({\n id: \"file-1\",\n data: { name: \"renamed.jpg\" }\n });\n\n expect(result.success).toBe(false);\n if (!result.success) {\n expect(result.error.code).toBe(\"UPDATE_FILE_ERROR\");\n expect(result.error.message).toBe(\"Update failed\");\n }\n });\n\n it(\"should not update cache when gateway throws\", async () => {\n // Seed cache with the original file.\n const original = createFile({ id: \"file-err\", name: \"original.jpg\" });\n cache.addItems([original]);\n\n mockGateway.execute.mockRejectedValue(new Error(\"Update failed\"));\n\n const useCase = container.resolve(UseCaseAbstraction);\n await useCase.execute({\n id: \"file-err\",\n data: { name: \"should-not-apply.jpg\" }\n });\n\n // Cache should still have the original file unchanged.\n const cached = cache.getItem(f => f.id === \"file-err\");\n expect(cached!.name).toBe(\"original.jpg\");\n });\n});\n"],"names":["createFile","overrides","createMockGateway","file","execute","vi","createContainer","mockGateway","container","Container","cache","ListCache","GatewayAbstraction","FilesListCache","FileFieldsProvider","UpdateFileRepository","UpdateFileUseCase","describe","beforeEach","result","it","updated","useCase","UseCaseAbstraction","expect","callArgs","original","moved","cached","f","fileA","fileB","updatedA","cachedA","cachedB","Error"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { WebinySdk } from "@webiny/app-admin/features/webinySdk/abstractions.js";
2
+ import type { FmFile } from "../shared/types.js";
3
+ import { UpdateFileGateway as GatewayAbstraction, type UpdateFileGatewayParams } from "./abstractions.js";
4
+ declare class UpdateFileGatewayImpl implements GatewayAbstraction.Interface {
5
+ private sdk;
6
+ constructor(sdk: WebinySdk.Interface);
7
+ execute(params: UpdateFileGatewayParams): Promise<FmFile>;
8
+ }
9
+ export declare const UpdateFileGateway: typeof UpdateFileGatewayImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFileGateway>;
11
+ };
12
+ export {};
@@ -0,0 +1,25 @@
1
+ import { WebinySdk } from "@webiny/app-admin/features/webinySdk/abstractions.js";
2
+ import { UpdateFileGateway } from "./abstractions.js";
3
+ class UpdateFileGatewayImpl {
4
+ constructor(sdk){
5
+ this.sdk = sdk;
6
+ }
7
+ async execute(params) {
8
+ const result = await this.sdk.fileManager.updateFile({
9
+ id: params.id,
10
+ data: params.data,
11
+ fields: params.fields
12
+ });
13
+ if (result.isFail()) throw new Error(result.error.message);
14
+ return result.value;
15
+ }
16
+ }
17
+ const UpdateFileGateway_UpdateFileGateway = UpdateFileGateway.createImplementation({
18
+ implementation: UpdateFileGatewayImpl,
19
+ dependencies: [
20
+ WebinySdk
21
+ ]
22
+ });
23
+ export { UpdateFileGateway_UpdateFileGateway as UpdateFileGateway };
24
+
25
+ //# sourceMappingURL=UpdateFileGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/UpdateFileGateway.js","sources":["../../../src/features/updateFile/UpdateFileGateway.ts"],"sourcesContent":["import { WebinySdk } from \"@webiny/app-admin/features/webinySdk/abstractions.js\";\nimport type { FmFile } from \"../shared/types.js\";\nimport {\n UpdateFileGateway as GatewayAbstraction,\n type UpdateFileGatewayParams\n} from \"./abstractions.js\";\n\nclass UpdateFileGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private sdk: WebinySdk.Interface) {}\n\n async execute(params: UpdateFileGatewayParams): Promise<FmFile> {\n const result = await this.sdk.fileManager.updateFile({\n id: params.id,\n data: params.data,\n fields: params.fields\n });\n\n if (result.isFail()) {\n throw new Error(result.error.message);\n }\n\n return result.value;\n }\n}\n\nexport const UpdateFileGateway = GatewayAbstraction.createImplementation({\n implementation: UpdateFileGatewayImpl,\n dependencies: [WebinySdk]\n});\n"],"names":["UpdateFileGatewayImpl","sdk","params","result","Error","UpdateFileGateway","GatewayAbstraction","WebinySdk"],"mappings":";;AAOA,MAAMA;IACF,YAAoBC,GAAwB,CAAE;aAA1BA,GAAG,GAAHA;IAA2B;IAE/C,MAAM,QAAQC,MAA+B,EAAmB;QAC5D,MAAMC,SAAS,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC;YACjD,IAAID,OAAO,EAAE;YACb,MAAMA,OAAO,IAAI;YACjB,QAAQA,OAAO,MAAM;QACzB;QAEA,IAAIC,OAAO,MAAM,IACb,MAAM,IAAIC,MAAMD,OAAO,KAAK,CAAC,OAAO;QAGxC,OAAOA,OAAO,KAAK;IACvB;AACJ;AAEO,MAAME,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBN;IAChB,cAAc;QAACO;KAAU;AAC7B"}
@@ -0,0 +1,14 @@
1
+ import { FilesListCache, FileFieldsProvider } from "../shared/abstractions.js";
2
+ import type { FmFile } from "../shared/types.js";
3
+ import { UpdateFileRepository as RepositoryAbstraction, UpdateFileGateway, type UpdateFileGatewayParams } from "./abstractions.js";
4
+ declare class UpdateFileRepositoryImpl implements RepositoryAbstraction.Interface {
5
+ private gateway;
6
+ private cache;
7
+ private fileFieldsProvider;
8
+ constructor(gateway: UpdateFileGateway.Interface, cache: FilesListCache.Interface, fileFieldsProvider: FileFieldsProvider.Interface);
9
+ execute(params: UpdateFileGatewayParams): Promise<FmFile>;
10
+ }
11
+ export declare const UpdateFileRepository: typeof UpdateFileRepositoryImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFileRepository>;
13
+ };
14
+ export {};
@@ -0,0 +1,32 @@
1
+ import { runInAction } from "mobx";
2
+ import { FileFieldsProvider, FilesListCache } from "../shared/abstractions.js";
3
+ import { UpdateFileGateway, UpdateFileRepository } from "./abstractions.js";
4
+ class UpdateFileRepositoryImpl {
5
+ constructor(gateway, cache, fileFieldsProvider){
6
+ this.gateway = gateway;
7
+ this.cache = cache;
8
+ this.fileFieldsProvider = fileFieldsProvider;
9
+ }
10
+ async execute(params) {
11
+ const fileFields = await this.fileFieldsProvider.execute();
12
+ const file = await this.gateway.execute({
13
+ ...params,
14
+ fields: params.fields.length > 0 ? params.fields : fileFields
15
+ });
16
+ runInAction(()=>{
17
+ this.cache.updateItems((item)=>item.id === file.id ? file : item);
18
+ });
19
+ return file;
20
+ }
21
+ }
22
+ const UpdateFileRepository_UpdateFileRepository = UpdateFileRepository.createImplementation({
23
+ implementation: UpdateFileRepositoryImpl,
24
+ dependencies: [
25
+ UpdateFileGateway,
26
+ FilesListCache,
27
+ FileFieldsProvider
28
+ ]
29
+ });
30
+ export { UpdateFileRepository_UpdateFileRepository as UpdateFileRepository };
31
+
32
+ //# sourceMappingURL=UpdateFileRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/UpdateFileRepository.js","sources":["../../../src/features/updateFile/UpdateFileRepository.ts"],"sourcesContent":["import { runInAction } from \"mobx\";\nimport { FilesListCache, FileFieldsProvider } from \"../shared/abstractions.js\";\nimport type { FmFile } from \"../shared/types.js\";\nimport {\n UpdateFileRepository as RepositoryAbstraction,\n UpdateFileGateway,\n type UpdateFileGatewayParams\n} from \"./abstractions.js\";\n\nclass UpdateFileRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private gateway: UpdateFileGateway.Interface,\n private cache: FilesListCache.Interface,\n private fileFieldsProvider: FileFieldsProvider.Interface\n ) {}\n\n async execute(params: UpdateFileGatewayParams): Promise<FmFile> {\n const fileFields = await this.fileFieldsProvider.execute();\n const file = await this.gateway.execute({\n ...params,\n fields: params.fields.length > 0 ? params.fields : fileFields\n });\n\n runInAction(() => {\n this.cache.updateItems(item => (item.id === file.id ? file : item));\n });\n\n return file;\n }\n}\n\nexport const UpdateFileRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateFileRepositoryImpl,\n dependencies: [UpdateFileGateway, FilesListCache, FileFieldsProvider]\n});\n"],"names":["UpdateFileRepositoryImpl","gateway","cache","fileFieldsProvider","params","fileFields","file","runInAction","item","UpdateFileRepository","RepositoryAbstraction","UpdateFileGateway","FilesListCache","FileFieldsProvider"],"mappings":";;;AASA,MAAMA;IACF,YACYC,OAAoC,EACpCC,KAA+B,EAC/BC,kBAAgD,CAC1D;aAHUF,OAAO,GAAPA;aACAC,KAAK,GAALA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QAAQC,MAA+B,EAAmB;QAC5D,MAAMC,aAAa,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO;QACxD,MAAMC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACpC,GAAGF,MAAM;YACT,QAAQA,OAAO,MAAM,CAAC,MAAM,GAAG,IAAIA,OAAO,MAAM,GAAGC;QACvD;QAEAE,YAAY;YACR,IAAI,CAAC,KAAK,CAAC,WAAW,CAACC,CAAAA,OAASA,KAAK,EAAE,KAAKF,KAAK,EAAE,GAAGA,OAAOE;QACjE;QAEA,OAAOF;IACX;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAA0C,CAAC;IAC3E,gBAAgBV;IAChB,cAAc;QAACW;QAAmBC;QAAgBC;KAAmB;AACzE"}
@@ -0,0 +1,12 @@
1
+ import { FileFieldsProvider } from "../shared/abstractions.js";
2
+ import { UpdateFileUseCase as UseCaseAbstraction, UpdateFileRepository, type UpdateFileUseCaseParams, type UpdateFileUseCaseResult } from "./abstractions.js";
3
+ declare class UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {
4
+ private repository;
5
+ private fileFieldsProvider;
6
+ constructor(repository: UpdateFileRepository.Interface, fileFieldsProvider: FileFieldsProvider.Interface);
7
+ execute(params: UpdateFileUseCaseParams): Promise<UpdateFileUseCaseResult>;
8
+ }
9
+ export declare const UpdateFileUseCase: typeof UpdateFileUseCaseImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFileUseCase>;
11
+ };
12
+ export {};
@@ -0,0 +1,41 @@
1
+ import { FileFieldsProvider } from "../shared/abstractions.js";
2
+ import { UpdateFileRepository, UpdateFileUseCase } from "./abstractions.js";
3
+ class UpdateFileUseCaseImpl {
4
+ constructor(repository, fileFieldsProvider){
5
+ this.repository = repository;
6
+ this.fileFieldsProvider = fileFieldsProvider;
7
+ }
8
+ async execute(params) {
9
+ try {
10
+ const fileFields = await this.fileFieldsProvider.execute();
11
+ const file = await this.repository.execute({
12
+ id: params.id,
13
+ data: params.data,
14
+ fields: fileFields
15
+ });
16
+ return {
17
+ success: true,
18
+ file
19
+ };
20
+ } catch (error) {
21
+ const message = error instanceof Error ? error.message : "Unknown error";
22
+ return {
23
+ success: false,
24
+ error: {
25
+ code: "UPDATE_FILE_ERROR",
26
+ message
27
+ }
28
+ };
29
+ }
30
+ }
31
+ }
32
+ const UpdateFileUseCase_UpdateFileUseCase = UpdateFileUseCase.createImplementation({
33
+ implementation: UpdateFileUseCaseImpl,
34
+ dependencies: [
35
+ UpdateFileRepository,
36
+ FileFieldsProvider
37
+ ]
38
+ });
39
+ export { UpdateFileUseCase_UpdateFileUseCase as UpdateFileUseCase };
40
+
41
+ //# sourceMappingURL=UpdateFileUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/UpdateFileUseCase.js","sources":["../../../src/features/updateFile/UpdateFileUseCase.ts"],"sourcesContent":["import { FileFieldsProvider } from \"../shared/abstractions.js\";\nimport {\n UpdateFileUseCase as UseCaseAbstraction,\n UpdateFileRepository,\n type UpdateFileUseCaseParams,\n type UpdateFileUseCaseResult\n} from \"./abstractions.js\";\n\nclass UpdateFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private repository: UpdateFileRepository.Interface,\n private fileFieldsProvider: FileFieldsProvider.Interface\n ) {}\n\n async execute(params: UpdateFileUseCaseParams): Promise<UpdateFileUseCaseResult> {\n try {\n const fileFields = await this.fileFieldsProvider.execute();\n const file = await this.repository.execute({\n id: params.id,\n data: params.data,\n fields: fileFields\n });\n return { success: true, file };\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unknown error\";\n return { success: false, error: { code: \"UPDATE_FILE_ERROR\", message } };\n }\n }\n}\n\nexport const UpdateFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateFileUseCaseImpl,\n dependencies: [UpdateFileRepository, FileFieldsProvider]\n});\n"],"names":["UpdateFileUseCaseImpl","repository","fileFieldsProvider","params","fileFields","file","error","message","Error","UpdateFileUseCase","UseCaseAbstraction","UpdateFileRepository","FileFieldsProvider"],"mappings":";;AAQA,MAAMA;IACF,YACYC,UAA0C,EAC1CC,kBAAgD,CAC1D;aAFUD,UAAU,GAAVA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QAAQC,MAA+B,EAAoC;QAC7E,IAAI;YACA,MAAMC,aAAa,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO;YACxD,MAAMC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvC,IAAIF,OAAO,EAAE;gBACb,MAAMA,OAAO,IAAI;gBACjB,QAAQC;YACZ;YACA,OAAO;gBAAE,SAAS;gBAAMC;YAAK;QACjC,EAAE,OAAOC,OAAO;YACZ,MAAMC,UAAUD,iBAAiBE,QAAQF,MAAM,OAAO,GAAG;YACzD,OAAO;gBAAE,SAAS;gBAAO,OAAO;oBAAE,MAAM;oBAAqBC;gBAAQ;YAAE;QAC3E;IACJ;AACJ;AAEO,MAAME,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBV;IAChB,cAAc;QAACW;QAAsBC;KAAmB;AAC5D"}
@@ -0,0 +1,53 @@
1
+ import type { FmFile } from "../shared/types.js";
2
+ export interface UpdateFileGatewayParams {
3
+ id: string;
4
+ data: UpdateFileData;
5
+ fields: string[];
6
+ }
7
+ export interface UpdateFileData {
8
+ name?: string;
9
+ tags?: string[];
10
+ metadata?: Record<string, any>;
11
+ accessControl?: {
12
+ type: "public" | "private-authenticated";
13
+ };
14
+ location?: {
15
+ folderId: string;
16
+ };
17
+ [key: string]: any;
18
+ }
19
+ export interface IUpdateFileGateway {
20
+ execute(params: UpdateFileGatewayParams): Promise<FmFile>;
21
+ }
22
+ export declare const UpdateFileGateway: import("@webiny/di").Abstraction<IUpdateFileGateway>;
23
+ export declare namespace UpdateFileGateway {
24
+ type Interface = IUpdateFileGateway;
25
+ }
26
+ export interface IUpdateFileRepository {
27
+ execute(params: UpdateFileGatewayParams): Promise<FmFile>;
28
+ }
29
+ export declare const UpdateFileRepository: import("@webiny/di").Abstraction<IUpdateFileRepository>;
30
+ export declare namespace UpdateFileRepository {
31
+ type Interface = IUpdateFileRepository;
32
+ }
33
+ export interface UpdateFileUseCaseParams {
34
+ id: string;
35
+ data: UpdateFileData;
36
+ }
37
+ export type UpdateFileUseCaseResult = {
38
+ success: true;
39
+ file: FmFile;
40
+ } | {
41
+ success: false;
42
+ error: {
43
+ code: string;
44
+ message: string;
45
+ };
46
+ };
47
+ export interface IUpdateFileUseCase {
48
+ execute(params: UpdateFileUseCaseParams): Promise<UpdateFileUseCaseResult>;
49
+ }
50
+ export declare const UpdateFileUseCase: import("@webiny/di").Abstraction<IUpdateFileUseCase>;
51
+ export declare namespace UpdateFileUseCase {
52
+ type Interface = IUpdateFileUseCase;
53
+ }
@@ -0,0 +1,7 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const UpdateFileGateway = createAbstraction("UpdateFileGateway");
3
+ const UpdateFileRepository = createAbstraction("UpdateFileRepository");
4
+ const UpdateFileUseCase = createAbstraction("UpdateFileUseCase");
5
+ export { UpdateFileGateway, UpdateFileRepository, UpdateFileUseCase };
6
+
7
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/abstractions.js","sources":["../../../src/features/updateFile/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { FmFile } from \"../shared/types.js\";\n\n// Gateway — performs the API call via @webiny/sdk.\nexport interface UpdateFileGatewayParams {\n id: string;\n data: UpdateFileData;\n fields: string[];\n}\n\nexport interface UpdateFileData {\n name?: string;\n tags?: string[];\n metadata?: Record<string, any>;\n accessControl?: { type: \"public\" | \"private-authenticated\" };\n location?: { folderId: string };\n [key: string]: any;\n}\n\nexport interface IUpdateFileGateway {\n execute(params: UpdateFileGatewayParams): Promise<FmFile>;\n}\n\nexport const UpdateFileGateway = createAbstraction<IUpdateFileGateway>(\"UpdateFileGateway\");\n\nexport namespace UpdateFileGateway {\n export type Interface = IUpdateFileGateway;\n}\n\n// Repository — delegates I/O to the gateway and updates the shared cache.\nexport interface IUpdateFileRepository {\n execute(params: UpdateFileGatewayParams): Promise<FmFile>;\n}\n\nexport const UpdateFileRepository =\n createAbstraction<IUpdateFileRepository>(\"UpdateFileRepository\");\n\nexport namespace UpdateFileRepository {\n export type Interface = IUpdateFileRepository;\n}\n\n// UseCase — orchestrates a single update-file operation.\nexport interface UpdateFileUseCaseParams {\n id: string;\n data: UpdateFileData;\n}\n\nexport type UpdateFileUseCaseResult =\n | { success: true; file: FmFile }\n | { success: false; error: { code: string; message: string } };\n\nexport interface IUpdateFileUseCase {\n execute(params: UpdateFileUseCaseParams): Promise<UpdateFileUseCaseResult>;\n}\n\nexport const UpdateFileUseCase = createAbstraction<IUpdateFileUseCase>(\"UpdateFileUseCase\");\n\nexport namespace UpdateFileUseCase {\n export type Interface = IUpdateFileUseCase;\n}\n"],"names":["UpdateFileGateway","createAbstraction","UpdateFileRepository","UpdateFileUseCase"],"mappings":";AAuBO,MAAMA,oBAAoBC,kBAAsC;AAWhE,MAAMC,uBACTD,kBAAyC;AAoBtC,MAAME,oBAAoBF,kBAAsC"}
@@ -0,0 +1,3 @@
1
+ export declare const UpdateFileFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
+ useCase: import("./abstractions.js").IUpdateFileUseCase;
3
+ }, []>;
@@ -0,0 +1,21 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { UpdateFileUseCase } from "./abstractions.js";
3
+ import { UpdateFileUseCase as external_UpdateFileUseCase_js_UpdateFileUseCase } from "./UpdateFileUseCase.js";
4
+ import { UpdateFileRepository } from "./UpdateFileRepository.js";
5
+ import { UpdateFileGateway } from "./UpdateFileGateway.js";
6
+ const UpdateFileFeature = createFeature({
7
+ name: "FileManager/UpdateFile",
8
+ register (container) {
9
+ container.register(external_UpdateFileUseCase_js_UpdateFileUseCase);
10
+ container.register(UpdateFileRepository).inSingletonScope();
11
+ container.register(UpdateFileGateway).inSingletonScope();
12
+ },
13
+ resolve (container) {
14
+ return {
15
+ useCase: container.resolve(UpdateFileUseCase)
16
+ };
17
+ }
18
+ });
19
+ export { UpdateFileFeature };
20
+
21
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/updateFile/feature.js","sources":["../../../src/features/updateFile/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { UpdateFileUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { UpdateFileUseCase } from \"./UpdateFileUseCase.js\";\nimport { UpdateFileRepository } from \"./UpdateFileRepository.js\";\nimport { UpdateFileGateway } from \"./UpdateFileGateway.js\";\n\nexport const UpdateFileFeature = createFeature({\n name: \"FileManager/UpdateFile\",\n register(container) {\n container.register(UpdateFileUseCase);\n container.register(UpdateFileRepository).inSingletonScope();\n container.register(UpdateFileGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCaseAbstraction)\n };\n }\n});\n"],"names":["UpdateFileFeature","createFeature","container","UpdateFileUseCase","UpdateFileRepository","UpdateFileGateway","UseCaseAbstraction"],"mappings":";;;;;AAMO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,sBAAsB,gBAAgB;QACzDF,UAAU,QAAQ,CAACG,mBAAmB,gBAAgB;IAC1D;IACA,SAAQH,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACI;QAC/B;IACJ;AACJ"}
@@ -0,0 +1,3 @@
1
+ export { UpdateFileFeature } from "./feature.js";
2
+ export { UpdateFileUseCase, UpdateFileRepository, UpdateFileGateway } from "./abstractions.js";
3
+ export type { IUpdateFileUseCase, IUpdateFileRepository, IUpdateFileGateway, UpdateFileUseCaseParams, UpdateFileUseCaseResult, UpdateFileData, UpdateFileGatewayParams } from "./abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { UpdateFileFeature } from "./feature.js";
2
+ export { UpdateFileGateway, UpdateFileRepository, UpdateFileUseCase } from "./abstractions.js";
package/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- import React from "react";
2
- export declare const FileManager: React.FC;
1
+ export * from "./presentation/hooks/useFile.js";
2
+ export * from "./presentation/hooks/useMoveFileToFolder.js";
3
+ export { FileManagerViewConfig, useFileManagerConfig } from "./presentation/config/FileManagerViewConfig.js";