@webiny/app-aco 6.3.0 → 6.4.0-beta.0

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 (620) hide show
  1. package/app.js +3 -4
  2. package/app.js.map +1 -1
  3. package/components/Actions/DeleteFolder/DeleteFolder.js +21 -26
  4. package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
  5. package/components/Actions/DeleteFolder/index.js +0 -2
  6. package/components/Actions/EditFolder/EditFolder.js +20 -25
  7. package/components/Actions/EditFolder/EditFolder.js.map +1 -1
  8. package/components/Actions/EditFolder/index.js +0 -2
  9. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +20 -25
  10. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
  11. package/components/Actions/SetFolderPemissions/index.js +0 -2
  12. package/components/Actions/index.js +0 -2
  13. package/components/AdvancedSearch/AdvancedSearch.js +67 -75
  14. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  15. package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
  16. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  17. package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
  18. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  19. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
  20. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  21. package/components/AdvancedSearch/Button/Button.js +13 -16
  22. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  23. package/components/AdvancedSearch/Button/index.js +0 -2
  24. package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
  25. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  26. package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
  27. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  28. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
  29. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  30. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
  31. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  32. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
  33. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  34. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
  35. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  36. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
  37. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  38. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
  39. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
  58. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
  59. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  60. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
  61. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  62. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
  63. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  64. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
  65. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  66. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
  67. package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
  68. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
  69. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  70. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
  71. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  72. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
  73. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  74. package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
  75. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
  76. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  77. package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
  78. package/components/AdvancedSearch/domain/Feedback.js +12 -11
  79. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  80. package/components/AdvancedSearch/domain/Field.js +206 -190
  81. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  82. package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
  83. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  84. package/components/AdvancedSearch/domain/Filter.js +64 -47
  85. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  86. package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
  87. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  88. package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
  89. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  90. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
  91. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  92. package/components/AdvancedSearch/domain/Loading.js +47 -46
  93. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  94. package/components/AdvancedSearch/domain/Operation.js +5 -4
  95. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  96. package/components/AdvancedSearch/domain/Sorter.js +17 -16
  97. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  98. package/components/AdvancedSearch/domain/index.js +0 -2
  99. package/components/AdvancedSearch/fields/Boolean.js +23 -25
  100. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  101. package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
  102. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  103. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
  104. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  105. package/components/AdvancedSearch/fields/Input.js +12 -14
  106. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  107. package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
  108. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  109. package/components/AdvancedSearch/fields/index.js +0 -2
  110. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
  111. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -121
  112. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  113. package/components/AdvancedSearch/gateways/filters.gql.js +9 -8
  114. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  115. package/components/AdvancedSearch/gateways/filters.types.js +0 -3
  116. package/components/AdvancedSearch/gateways/index.js +0 -2
  117. package/components/AdvancedSearch/index.js +22 -24
  118. package/components/AdvancedSearch/index.js.map +1 -1
  119. package/components/AdvancedSearch/useFilterRepository.js +4 -3
  120. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  121. package/components/AdvancedSearch/useInputField.js +4 -6
  122. package/components/AdvancedSearch/useInputField.js.map +1 -1
  123. package/components/Extensions/Extensions.js +23 -26
  124. package/components/Extensions/Extensions.js.map +1 -1
  125. package/components/Extensions/index.js +0 -2
  126. package/components/FolderGrid/FolderGridItem.js +67 -62
  127. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  128. package/components/FolderGrid/index.js +0 -2
  129. package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
  130. package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
  131. package/components/FolderIcons/assets/folder.js +21 -0
  132. package/components/FolderIcons/assets/folder.js.map +1 -0
  133. package/components/FolderIcons/index.js +2 -5
  134. package/components/FolderPicker/FolderPicker.js +23 -20
  135. package/components/FolderPicker/FolderPicker.js.map +1 -1
  136. package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
  137. package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
  138. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  139. package/components/FolderTree/ButtonCreate/index.js +0 -2
  140. package/components/FolderTree/Empty/Empty.js +5 -6
  141. package/components/FolderTree/Empty/Empty.js.map +1 -1
  142. package/components/FolderTree/Empty/index.js +0 -2
  143. package/components/FolderTree/List/List.js +120 -135
  144. package/components/FolderTree/List/List.js.map +1 -1
  145. package/components/FolderTree/List/index.js +0 -2
  146. package/components/FolderTree/List/utils.js +31 -64
  147. package/components/FolderTree/List/utils.js.map +1 -1
  148. package/components/FolderTree/Loader/Loader.js +15 -18
  149. package/components/FolderTree/Loader/Loader.js.map +1 -1
  150. package/components/FolderTree/Loader/index.js +0 -2
  151. package/components/FolderTree/MenuActions/MenuActions.js +19 -27
  152. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  153. package/components/FolderTree/MenuActions/index.js +0 -2
  154. package/components/FolderTree/Node/Node.js +27 -47
  155. package/components/FolderTree/Node/Node.js.map +1 -1
  156. package/components/FolderTree/Node/index.js +0 -2
  157. package/components/FolderTree/NodePreview/NodePreview.js +11 -14
  158. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  159. package/components/FolderTree/NodePreview/index.js +0 -2
  160. package/components/FolderTree/index.d.ts +2 -1
  161. package/components/FolderTree/index.js +47 -57
  162. package/components/FolderTree/index.js.map +1 -1
  163. package/components/Search/Search.js +15 -20
  164. package/components/Search/Search.js.map +1 -1
  165. package/components/Search/index.js +0 -2
  166. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
  167. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  168. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
  169. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  170. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
  171. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  172. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
  173. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  174. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
  175. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  176. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
  177. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  178. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
  179. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
  180. package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
  181. package/components/Table/components/Table/Columns/Column.js +18 -17
  182. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  183. package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
  184. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  185. package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
  186. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  187. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
  188. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  189. package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
  190. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  191. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
  192. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  193. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
  194. package/components/Table/components/Table/Columns/index.js +0 -2
  195. package/components/Table/components/Table/Table.js +38 -32
  196. package/components/Table/components/Table/Table.js.map +1 -1
  197. package/components/Table/components/Table/TableInner.js +33 -40
  198. package/components/Table/components/Table/TableInner.js.map +1 -1
  199. package/components/Table/components/Table/TablePresenter.js +12 -9
  200. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  201. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
  202. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  203. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
  204. package/components/Table/components/Table/gateways/index.js +0 -2
  205. package/components/Table/components/Table/index.js +0 -2
  206. package/components/Table/components/index.js +0 -2
  207. package/components/Table/createTableData.js +13 -16
  208. package/components/Table/createTableData.js.map +1 -1
  209. package/components/Table/index.js +0 -2
  210. package/components/Table/useTableRow.js +17 -29
  211. package/components/Table/useTableRow.js.map +1 -1
  212. package/components/index.js +0 -2
  213. package/config/AcoConfig.js +43 -30
  214. package/config/AcoConfig.js.map +1 -1
  215. package/config/advanced-search/FieldRenderer.js +27 -30
  216. package/config/advanced-search/FieldRenderer.js.map +1 -1
  217. package/config/advanced-search/index.js +3 -2
  218. package/config/advanced-search/index.js.map +1 -1
  219. package/config/folder/Action.js +27 -32
  220. package/config/folder/Action.js.map +1 -1
  221. package/config/folder/DropConfirmation.js +12 -13
  222. package/config/folder/DropConfirmation.js.map +1 -1
  223. package/config/folder/createFolderFieldDecoratorFactory.js +14 -18
  224. package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
  225. package/config/folder/index.js +4 -3
  226. package/config/folder/index.js.map +1 -1
  227. package/config/index.js +0 -2
  228. package/config/record/Action.js +28 -33
  229. package/config/record/Action.js.map +1 -1
  230. package/config/record/index.js +3 -2
  231. package/config/record/index.js.map +1 -1
  232. package/config/table/Column.js +65 -81
  233. package/config/table/Column.js.map +1 -1
  234. package/config/table/Sorting.js +24 -27
  235. package/config/table/Sorting.js.map +1 -1
  236. package/config/table/index.js +4 -3
  237. package/config/table/index.js.map +1 -1
  238. package/constants.js +0 -2
  239. package/contexts/acoList.js +283 -384
  240. package/contexts/acoList.js.map +1 -1
  241. package/contexts/app.js +40 -53
  242. package/contexts/app.js.map +1 -1
  243. package/contexts/folder.js +11 -15
  244. package/contexts/folder.js.map +1 -1
  245. package/contexts/folders.js +27 -32
  246. package/contexts/folders.js.map +1 -1
  247. package/contexts/index.js +0 -2
  248. package/contexts/navigateFolder.js +49 -57
  249. package/contexts/navigateFolder.js.map +1 -1
  250. package/contexts/records.js +299 -422
  251. package/contexts/records.js.map +1 -1
  252. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
  253. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  254. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
  255. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  256. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +105 -107
  257. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  258. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
  259. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  260. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
  261. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  262. package/dialogs/DialogSetPermissions/graphql.js +3 -2
  263. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  264. package/dialogs/ParentFolderField.js +12 -13
  265. package/dialogs/ParentFolderField.js.map +1 -1
  266. package/dialogs/index.js +0 -2
  267. package/dialogs/useConfirmMoveFolderDialog.js +16 -19
  268. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
  269. package/dialogs/useCreateDialog.js +78 -93
  270. package/dialogs/useCreateDialog.js.map +1 -1
  271. package/dialogs/useDeleteDialog.js +27 -33
  272. package/dialogs/useDeleteDialog.js.map +1 -1
  273. package/dialogs/useEditDialog.js +77 -80
  274. package/dialogs/useEditDialog.js.map +1 -1
  275. package/dialogs/useMoveToFolderDialog.d.ts +1 -1
  276. package/dialogs/useMoveToFolderDialog.js +33 -49
  277. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  278. package/dialogs/useSetPermissionsDialog.js +85 -87
  279. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  280. package/domain/folder/Folder.js +25 -24
  281. package/domain/folder/Folder.js.map +1 -1
  282. package/domain/folder/FolderDto.js +0 -3
  283. package/domain/folder/FolderDtoMapper.js +24 -25
  284. package/domain/folder/FolderDtoMapper.js.map +1 -1
  285. package/domain/folder/FolderIdentity.js +16 -17
  286. package/domain/folder/FolderIdentity.js.map +1 -1
  287. package/domain/folder/RootFolder.js +24 -23
  288. package/domain/folder/RootFolder.js.map +1 -1
  289. package/exports/admin/aco.js +0 -2
  290. package/exports/admin/ui.js +0 -2
  291. package/features/folders/abstractions.js +6 -5
  292. package/features/folders/abstractions.js.map +1 -1
  293. package/features/folders/cache/FoldersCacheFactory.js +13 -12
  294. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  295. package/features/folders/cache/ListCache.d.ts +2 -29
  296. package/features/folders/cache/ListCache.js +1 -43
  297. package/features/folders/cache/LoadedCache.js +33 -27
  298. package/features/folders/cache/LoadedCache.js.map +1 -1
  299. package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
  300. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  301. package/features/folders/cache/index.js +0 -2
  302. package/features/folders/createFolder/CreateFolder.test.js +44 -48
  303. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  304. package/features/folders/createFolder/CreateFolderGqlGateway.js +27 -32
  305. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  306. package/features/folders/createFolder/CreateFolderRepository.js +29 -24
  307. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  308. package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
  309. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  310. package/features/folders/createFolder/abstractions.js +4 -12
  311. package/features/folders/createFolder/abstractions.js.map +1 -1
  312. package/features/folders/createFolder/feature.js +15 -14
  313. package/features/folders/createFolder/feature.js.map +1 -1
  314. package/features/folders/createFolder/index.js +0 -2
  315. package/features/folders/createFolder/useCreateFolder.js +6 -9
  316. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  317. package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
  318. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  319. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -28
  320. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  321. package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
  322. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  323. package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
  324. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  325. package/features/folders/deleteFolder/abstractions.js +4 -12
  326. package/features/folders/deleteFolder/abstractions.js.map +1 -1
  327. package/features/folders/deleteFolder/feature.js +15 -14
  328. package/features/folders/deleteFolder/feature.js.map +1 -1
  329. package/features/folders/deleteFolder/index.js +0 -2
  330. package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
  331. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  332. package/features/folders/feature.js +23 -29
  333. package/features/folders/feature.js.map +1 -1
  334. package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
  335. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
  336. package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
  337. package/features/folders/folderModelProvider/FolderModelProvider.js +23 -23
  338. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
  339. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +20 -26
  340. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
  341. package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
  342. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
  343. package/features/folders/folderModelProvider/abstractions.js +3 -2
  344. package/features/folders/folderModelProvider/abstractions.js.map +1 -1
  345. package/features/folders/folderModelProvider/feature.js +15 -14
  346. package/features/folders/folderModelProvider/feature.js.map +1 -1
  347. package/features/folders/folderModelProvider/index.js +0 -2
  348. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
  349. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  350. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
  351. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  352. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
  353. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  354. package/features/folders/getDescendantFolders/abstractions.js +3 -10
  355. package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
  356. package/features/folders/getDescendantFolders/feature.js +14 -13
  357. package/features/folders/getDescendantFolders/feature.js.map +1 -1
  358. package/features/folders/getDescendantFolders/index.js +0 -2
  359. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
  360. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  361. package/features/folders/getFolder/GetFolderGqlGateway.js +26 -31
  362. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  363. package/features/folders/getFolder/GetFolderRepository.js +18 -13
  364. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  365. package/features/folders/getFolder/GetFolderUseCase.js +13 -10
  366. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  367. package/features/folders/getFolder/abstractions.js +4 -12
  368. package/features/folders/getFolder/abstractions.js.map +1 -1
  369. package/features/folders/getFolder/feature.js +15 -14
  370. package/features/folders/getFolder/feature.js.map +1 -1
  371. package/features/folders/getFolder/index.js +0 -2
  372. package/features/folders/getFolder/useGetFolder.js +6 -9
  373. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  374. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
  375. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  376. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
  377. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  378. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
  379. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  380. package/features/folders/getFolderAncestors/abstractions.js +3 -10
  381. package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
  382. package/features/folders/getFolderAncestors/feature.js +14 -13
  383. package/features/folders/getFolderAncestors/feature.js.map +1 -1
  384. package/features/folders/getFolderAncestors/index.js +0 -2
  385. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
  386. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  387. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
  388. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  389. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
  390. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  391. package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
  392. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
  393. package/features/folders/getFolderExtensionsFields/feature.js +16 -18
  394. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
  395. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
  396. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
  397. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
  398. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
  399. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
  400. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
  401. package/features/folders/getFolderExtensionsFields/index.js +0 -2
  402. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
  403. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
  404. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +135 -164
  405. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  406. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
  407. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  408. package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
  409. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
  410. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +17 -20
  411. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
  412. package/features/folders/getFolderLevelPermission/feature.js +14 -16
  413. package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
  414. package/features/folders/getFolderLevelPermission/index.js +0 -2
  415. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
  416. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  417. package/features/folders/listFolders/ListFolders.test.js +98 -111
  418. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  419. package/features/folders/listFolders/ListFoldersGqlGateway.js +29 -27
  420. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  421. package/features/folders/listFolders/ListFoldersRepository.js +19 -14
  422. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  423. package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
  424. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  425. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
  426. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  427. package/features/folders/listFolders/abstractions.js +4 -3
  428. package/features/folders/listFolders/abstractions.js.map +1 -1
  429. package/features/folders/listFolders/feature.js +17 -23
  430. package/features/folders/listFolders/feature.js.map +1 -1
  431. package/features/folders/listFolders/index.js +0 -2
  432. package/features/folders/listFolders/useListFolders.js +35 -37
  433. package/features/folders/listFolders/useListFolders.js.map +1 -1
  434. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
  435. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  436. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +31 -33
  437. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  438. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
  439. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  440. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
  441. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  442. package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
  443. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
  444. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
  445. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
  446. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
  447. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
  448. package/features/folders/listFoldersByParentIds/feature.js +18 -26
  449. package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
  450. package/features/folders/listFoldersByParentIds/index.js +0 -2
  451. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
  452. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  453. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
  454. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
  455. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
  456. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
  457. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
  458. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
  459. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
  460. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
  461. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
  462. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
  463. package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
  464. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
  465. package/features/folders/loadFolderHierarchy/feature.js +17 -23
  466. package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
  467. package/features/folders/loadFolderHierarchy/index.js +0 -2
  468. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
  469. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
  470. package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
  471. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  472. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -45
  473. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  474. package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
  475. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  476. package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
  477. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  478. package/features/folders/updateFolder/abstractions.js +4 -3
  479. package/features/folders/updateFolder/abstractions.js.map +1 -1
  480. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
  481. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
  482. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +44 -56
  483. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
  484. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
  485. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
  486. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +15 -15
  487. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -1
  488. package/features/folders/updateFolder/feature.js +20 -28
  489. package/features/folders/updateFolder/feature.js.map +1 -1
  490. package/features/folders/updateFolder/index.js +0 -2
  491. package/features/folders/updateFolder/useUpdateFolder.js +17 -19
  492. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  493. package/graphql/app.gql.js +3 -4
  494. package/graphql/app.gql.js.map +1 -1
  495. package/graphql/records/common.js +41 -39
  496. package/graphql/records/common.js.map +1 -1
  497. package/graphql/records/getRecord.js +2 -3
  498. package/graphql/records/getRecord.js.map +1 -1
  499. package/graphql/records/listRecords.js +22 -13
  500. package/graphql/records/listRecords.js.map +1 -1
  501. package/graphql/records/moveRecord.js +5 -6
  502. package/graphql/records/moveRecord.js.map +1 -1
  503. package/graphql/records/types.js +0 -3
  504. package/graphql/records.gql.js +0 -2
  505. package/handlers.js +17 -40
  506. package/handlers.js.map +1 -1
  507. package/hooks/index.js +0 -2
  508. package/hooks/useAcoApp.js +11 -12
  509. package/hooks/useAcoApp.js.map +1 -1
  510. package/hooks/useAcoList.js +5 -6
  511. package/hooks/useAcoList.js.map +1 -1
  512. package/hooks/useFolder.js +6 -7
  513. package/hooks/useFolder.js.map +1 -1
  514. package/hooks/useFolderModel.js +11 -13
  515. package/hooks/useFolderModel.js.map +1 -1
  516. package/hooks/useFoldersType.js +7 -12
  517. package/hooks/useFoldersType.js.map +1 -1
  518. package/hooks/useNavigateFolder.js +5 -6
  519. package/hooks/useNavigateFolder.js.map +1 -1
  520. package/hooks/useRecords.js +56 -77
  521. package/hooks/useRecords.js.map +1 -1
  522. package/hooks/useTags.js +21 -30
  523. package/hooks/useTags.js.map +1 -1
  524. package/index.d.ts +1 -0
  525. package/index.js +3 -8
  526. package/package.json +21 -21
  527. package/presentation/folderTree/FolderTree.d.ts +19 -0
  528. package/presentation/folderTree/FolderTree.js +252 -0
  529. package/presentation/folderTree/FolderTree.js.map +1 -0
  530. package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
  531. package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
  532. package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
  533. package/presentation/folderTree/FolderTreePresenter.d.ts +51 -0
  534. package/presentation/folderTree/FolderTreePresenter.js +303 -0
  535. package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
  536. package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
  537. package/presentation/folderTree/FolderTreePresenter.test.js +517 -0
  538. package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
  539. package/presentation/folderTree/abstractions.d.ts +65 -0
  540. package/presentation/folderTree/abstractions.js +5 -0
  541. package/presentation/folderTree/abstractions.js.map +1 -0
  542. package/presentation/folderTree/feature.d.ts +3 -0
  543. package/presentation/folderTree/feature.js +17 -0
  544. package/presentation/folderTree/feature.js.map +1 -0
  545. package/presentation/folderTree/index.d.ts +5 -0
  546. package/presentation/folderTree/index.js +3 -0
  547. package/sorting.js +25 -28
  548. package/sorting.js.map +1 -1
  549. package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
  550. package/static/svg/folder.f3d5c400.svg +4 -0
  551. package/table.types.js +0 -3
  552. package/types.js +10 -13
  553. package/types.js.map +1 -1
  554. package/components/Actions/DeleteFolder/index.js.map +0 -1
  555. package/components/Actions/EditFolder/index.js.map +0 -1
  556. package/components/Actions/SetFolderPemissions/index.js.map +0 -1
  557. package/components/Actions/index.js.map +0 -1
  558. package/components/AdvancedSearch/Button/index.js.map +0 -1
  559. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
  560. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
  561. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
  562. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
  563. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
  564. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
  565. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
  566. package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
  567. package/components/AdvancedSearch/domain/index.js.map +0 -1
  568. package/components/AdvancedSearch/fields/index.js.map +0 -1
  569. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
  570. package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
  571. package/components/AdvancedSearch/gateways/index.js.map +0 -1
  572. package/components/Extensions/index.js.map +0 -1
  573. package/components/FolderGrid/index.js.map +0 -1
  574. package/components/FolderIcons/index.js.map +0 -1
  575. package/components/FolderTree/ButtonCreate/index.js.map +0 -1
  576. package/components/FolderTree/Empty/index.js.map +0 -1
  577. package/components/FolderTree/List/index.js.map +0 -1
  578. package/components/FolderTree/Loader/index.js.map +0 -1
  579. package/components/FolderTree/MenuActions/index.js.map +0 -1
  580. package/components/FolderTree/Node/index.js.map +0 -1
  581. package/components/FolderTree/NodePreview/index.js.map +0 -1
  582. package/components/Search/index.js.map +0 -1
  583. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
  584. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
  585. package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
  586. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
  587. package/components/Table/components/Table/Columns/index.js.map +0 -1
  588. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
  589. package/components/Table/components/Table/gateways/index.js.map +0 -1
  590. package/components/Table/components/Table/index.js.map +0 -1
  591. package/components/Table/components/index.js.map +0 -1
  592. package/components/Table/index.js.map +0 -1
  593. package/components/index.js.map +0 -1
  594. package/config/index.js.map +0 -1
  595. package/constants.js.map +0 -1
  596. package/contexts/index.js.map +0 -1
  597. package/dialogs/index.js.map +0 -1
  598. package/domain/folder/FolderDto.js.map +0 -1
  599. package/exports/admin/aco.js.map +0 -1
  600. package/exports/admin/ui.js.map +0 -1
  601. package/features/folders/cache/ListCache.js.map +0 -1
  602. package/features/folders/cache/index.js.map +0 -1
  603. package/features/folders/createFolder/index.js.map +0 -1
  604. package/features/folders/deleteFolder/index.js.map +0 -1
  605. package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
  606. package/features/folders/folderModelProvider/index.js.map +0 -1
  607. package/features/folders/getDescendantFolders/index.js.map +0 -1
  608. package/features/folders/getFolder/index.js.map +0 -1
  609. package/features/folders/getFolderAncestors/index.js.map +0 -1
  610. package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
  611. package/features/folders/getFolderLevelPermission/index.js.map +0 -1
  612. package/features/folders/listFolders/index.js.map +0 -1
  613. package/features/folders/listFoldersByParentIds/index.js.map +0 -1
  614. package/features/folders/loadFolderHierarchy/index.js.map +0 -1
  615. package/features/folders/updateFolder/index.js.map +0 -1
  616. package/graphql/records/types.js.map +0 -1
  617. package/graphql/records.gql.js.map +0 -1
  618. package/hooks/index.js.map +0 -1
  619. package/index.js.map +0 -1
  620. package/table.types.js.map +0 -1
@@ -1,402 +1,390 @@
1
- import { describe, it, expect, beforeEach, vi } from "vitest";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
2
  import { LoadingRepository } from "@webiny/app-utils";
3
3
  import { ROOT_FOLDER } from "../../../constants.js";
4
4
  import { ListCache } from "../cache/index.js";
5
5
  import { Folder } from "../../../domain/folder/Folder.js";
6
6
  import { Container } from "@webiny/di";
7
- import { FoldersContext } from "../abstractions.js";
8
- import { FoldersCache } from "../abstractions.js";
7
+ import { FoldersCache, FoldersContext, FoldersLoadingRepository } from "../abstractions.js";
9
8
  import { UpdateFolderFeature } from "./feature.js";
10
- import { UpdateFolderUseCase } from "./abstractions.js";
11
- import { UpdateFolderGateway } from "./abstractions.js";
12
- import { FoldersLoadingRepository } from "../abstractions.js";
9
+ import { UpdateFolderGateway, UpdateFolderUseCase } from "./abstractions.js";
13
10
  class UpdateFolderMockGateway {
14
- constructor(mockResponse) {
15
- this.mockResponse = mockResponse;
16
- }
17
- async execute() {
18
- return this.mockResponse;
19
- }
20
- }
21
- describe("UpdateFolder", () => {
22
- const type = "abc";
23
- function setupTest(params) {
24
- const container = new Container();
25
- const foldersCache = params.foldersCache ? params.foldersCache : new ListCache();
26
- if (!params.foldersCache) {
27
- foldersCache.addItems([Folder.create({
28
- id: "any-folder-id",
29
- title: "Any Folder",
30
- slug: "any-folder",
31
- parentId: null,
32
- permissions: [],
33
- type
34
- })]);
11
+ constructor(mockResponse){
12
+ this.mockResponse = mockResponse;
35
13
  }
36
- if (params.folders) {
37
- foldersCache.addItems(params.folders);
14
+ async execute() {
15
+ return this.mockResponse;
38
16
  }
39
- container.registerInstance(FoldersContext, {
40
- type
41
- });
42
- container.registerInstance(FoldersCache, foldersCache);
43
- container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
44
- UpdateFolderFeature.register(container);
45
- container.registerInstance(UpdateFolderGateway, params.gateway);
46
- return {
47
- container,
48
- foldersCache,
49
- updateFolder: container.resolve(UpdateFolderUseCase)
50
- };
51
- }
52
- beforeEach(() => {
53
- vi.clearAllMocks();
54
- });
55
- it("should be able to update a folder", async () => {
56
- const gateway = new UpdateFolderMockGateway({
57
- id: "any-folder-id",
58
- title: "Updated Folder",
59
- slug: "updated-folder",
60
- parentId: "another-id",
61
- permissions: [],
62
- type
63
- });
64
- const {
65
- updateFolder,
66
- foldersCache
67
- } = setupTest({
68
- gateway
69
- });
70
- const spy = vi.spyOn(gateway, "execute");
71
- expect(foldersCache.hasItems()).toBe(true);
72
- const item = foldersCache.getItem(folder => folder.id === "any-folder-id");
73
- expect(item?.id).toEqual("any-folder-id");
74
- expect(item?.title).toEqual("Any Folder");
75
- await updateFolder.execute({
76
- id: "any-folder-id",
77
- title: "Updated Folder",
78
- slug: "updated-folder",
79
- parentId: "another-id",
80
- permissions: [],
81
- type
82
- });
83
- expect(spy).toHaveBeenCalledTimes(1);
84
- const updatedItem = foldersCache.getItem(folder => folder.id === "any-folder-id");
85
- expect(updatedItem).toBeDefined();
86
- expect(updatedItem?.id).toEqual("any-folder-id");
87
- expect(updatedItem?.type).toEqual(type);
88
- expect(updatedItem?.title).toEqual("Updated Folder");
89
- expect(updatedItem?.slug).toEqual("updated-folder");
90
- expect(updatedItem?.parentId).toEqual("another-id");
91
- });
92
- it("should propagate `permissions` changes to child folders", async () => {
93
- const parentFolder = Folder.create({
94
- id: "parent-folder-id",
95
- title: "Parent Folder",
96
- slug: "parent-folder",
97
- parentId: null,
98
- permissions: [],
99
- type
100
- });
101
- const childFolder1 = Folder.create({
102
- id: "child-folder-id-1",
103
- title: "Child Folder 1",
104
- slug: "child-folder-1",
105
- parentId: parentFolder.id,
106
- permissions: [],
107
- type
108
- });
109
- const childFolder2 = Folder.create({
110
- id: "child-folder-id-2",
111
- title: "Child Folder 2",
112
- slug: "child-folder-2",
113
- parentId: childFolder1.id,
114
- permissions: [],
115
- type
116
- });
117
- const childFolder3 = Folder.create({
118
- id: "child-folder-id-3",
119
- title: "Child Folder 3",
120
- slug: "child-folder-3",
121
- parentId: parentFolder.id,
122
- // <-- This folder is a sibling of childFolder1, not a child
123
- permissions: [],
124
- type
125
- });
126
- const foldersCache = new ListCache();
127
- foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);
128
-
129
- // Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).
130
- const parentNewPermissions = [{
131
- level: "viewer",
132
- target: "admin:123"
133
- }, {
134
- level: "viewer",
135
- target: "admin:456"
136
- }];
137
- {
138
- const gateway = new UpdateFolderMockGateway({
139
- id: parentFolder.id,
140
- title: parentFolder.title,
141
- slug: parentFolder.slug,
142
- parentId: parentFolder.parentId,
143
- permissions: parentNewPermissions,
144
- type
145
- });
146
- const {
147
- updateFolder
148
- } = setupTest({
149
- gateway,
150
- foldersCache
151
- });
152
- await updateFolder.execute({
153
- id: parentFolder.id,
154
- title: parentFolder.title,
155
- slug: parentFolder.slug,
156
- parentId: parentFolder.parentId,
157
- permissions: parentNewPermissions,
158
- type
159
- });
160
- const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
161
- expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map(permission => ({
162
- ...permission,
163
- inheritedFrom: `parent:${parentFolder?.id}`
164
- })));
165
- const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
166
- expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map(permission => ({
167
- ...permission,
168
- inheritedFrom: `parent:${childFolderCache1?.id}`
169
- })));
170
- const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
171
- expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
172
- ...permission,
173
- inheritedFrom: `parent:${parentFolder?.id}`
174
- })));
175
- }
176
-
177
- // Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3
178
- const child1NewPermissions = [{
179
- level: "owner",
180
- target: "admin:123"
181
- }];
182
- {
183
- const gateway = new UpdateFolderMockGateway({
184
- id: childFolder1.id,
185
- title: childFolder1.title,
186
- slug: childFolder1.slug,
187
- parentId: childFolder1.parentId,
188
- permissions: child1NewPermissions,
189
- type
190
- });
191
- const {
192
- updateFolder
193
- } = setupTest({
194
- gateway,
195
- foldersCache
196
- });
197
- await updateFolder.execute({
198
- id: childFolder1.id,
199
- title: childFolder1.title,
200
- slug: childFolder1.slug,
201
- parentId: childFolder1.parentId,
202
- permissions: child1NewPermissions,
203
- type
204
- });
205
- const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
206
- expect(childFolderCache1?.permissions).toEqual([...child1NewPermissions, {
207
- ...parentNewPermissions[1],
208
- inheritedFrom: `parent:${parentFolder?.id}`
209
- }]);
210
- const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
211
- expect(childFolderCache2?.permissions).toEqual([...child1NewPermissions.map(permission => ({
212
- ...permission,
213
- inheritedFrom: `parent:${childFolderCache1?.id}`
214
- })), {
215
- ...parentNewPermissions[1],
216
- inheritedFrom: `parent:${childFolderCache1?.id}`
217
- }]);
218
- const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
219
- expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
220
- ...permission,
221
- inheritedFrom: `parent:${parentFolder?.id}`
222
- })));
223
- }
224
- {
225
- // Let's remove childFolder1 permissions:
226
- // childFolder1 should inherit back permissions from parentFolder,
227
- // the change should be propagated to childFolder2, but not to childFolder3
228
- const newPermissions = [];
229
- const gateway = new UpdateFolderMockGateway({
230
- id: childFolder1.id,
231
- title: childFolder1.title,
232
- slug: childFolder1.slug,
233
- parentId: childFolder1.parentId,
234
- permissions: newPermissions,
235
- type
236
- });
237
- const {
238
- updateFolder
239
- } = setupTest({
240
- gateway,
241
- foldersCache
242
- });
243
- await updateFolder.execute({
244
- id: childFolder1.id,
245
- title: childFolder1.title,
246
- slug: childFolder1.slug,
247
- parentId: childFolder1.parentId,
248
- permissions: newPermissions,
249
- type
250
- });
251
- const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
252
- expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map(permission => ({
253
- ...permission,
254
- inheritedFrom: `parent:${parentFolder?.id}`
255
- })));
256
- const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
257
- expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map(permission => ({
258
- ...permission,
259
- inheritedFrom: `parent:${childFolderCache1?.id}`
260
- })));
261
- const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
262
- expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
263
- ...permission,
264
- inheritedFrom: `parent:${parentFolder?.id}`
265
- })));
17
+ }
18
+ describe("UpdateFolder", ()=>{
19
+ const type = "abc";
20
+ function setupTest(params) {
21
+ const container = new Container();
22
+ const foldersCache = params.foldersCache ? params.foldersCache : new ListCache();
23
+ if (!params.foldersCache) foldersCache.addItems([
24
+ Folder.create({
25
+ id: "any-folder-id",
26
+ title: "Any Folder",
27
+ slug: "any-folder",
28
+ parentId: null,
29
+ permissions: [],
30
+ type
31
+ })
32
+ ]);
33
+ if (params.folders) foldersCache.addItems(params.folders);
34
+ container.registerInstance(FoldersContext, {
35
+ type
36
+ });
37
+ container.registerInstance(FoldersCache, foldersCache);
38
+ container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
39
+ UpdateFolderFeature.register(container);
40
+ container.registerInstance(UpdateFolderGateway, params.gateway);
41
+ return {
42
+ container,
43
+ foldersCache,
44
+ updateFolder: container.resolve(UpdateFolderUseCase)
45
+ };
266
46
  }
267
- });
268
- it("should propagate `path` changes to child folders", async () => {
269
- const parentFolder = Folder.create({
270
- id: "parent-folder-id",
271
- title: "Parent Folder",
272
- slug: "parent-folder",
273
- parentId: null,
274
- permissions: [],
275
- path: `${ROOT_FOLDER}/parent-folder`,
276
- type
47
+ beforeEach(()=>{
48
+ vi.clearAllMocks();
277
49
  });
278
- const childFolder1 = Folder.create({
279
- id: "child-folder-id-1",
280
- title: "Child Folder 1",
281
- slug: "child-folder-1",
282
- parentId: parentFolder.id,
283
- permissions: [],
284
- path: `${ROOT_FOLDER}/parent-folder/child-folder-1`,
285
- type
50
+ it("should be able to update a folder", async ()=>{
51
+ const gateway = new UpdateFolderMockGateway({
52
+ id: "any-folder-id",
53
+ title: "Updated Folder",
54
+ slug: "updated-folder",
55
+ parentId: "another-id",
56
+ permissions: [],
57
+ type
58
+ });
59
+ const { updateFolder, foldersCache } = setupTest({
60
+ gateway
61
+ });
62
+ const spy = vi.spyOn(gateway, "execute");
63
+ expect(foldersCache.hasItems()).toBe(true);
64
+ const item = foldersCache.getItem((folder)=>"any-folder-id" === folder.id);
65
+ expect(item?.id).toEqual("any-folder-id");
66
+ expect(item?.title).toEqual("Any Folder");
67
+ await updateFolder.execute({
68
+ id: "any-folder-id",
69
+ title: "Updated Folder",
70
+ slug: "updated-folder",
71
+ parentId: "another-id",
72
+ permissions: [],
73
+ type
74
+ });
75
+ expect(spy).toHaveBeenCalledTimes(1);
76
+ const updatedItem = foldersCache.getItem((folder)=>"any-folder-id" === folder.id);
77
+ expect(updatedItem).toBeDefined();
78
+ expect(updatedItem?.id).toEqual("any-folder-id");
79
+ expect(updatedItem?.type).toEqual(type);
80
+ expect(updatedItem?.title).toEqual("Updated Folder");
81
+ expect(updatedItem?.slug).toEqual("updated-folder");
82
+ expect(updatedItem?.parentId).toEqual("another-id");
286
83
  });
287
- const childFolder2 = Folder.create({
288
- id: "child-folder-id-2",
289
- title: "Child Folder 2",
290
- slug: "child-folder-2",
291
- parentId: childFolder1.id,
292
- permissions: [],
293
- path: `${ROOT_FOLDER}/parent-folder/child-folder-1/child-folder-2`,
294
- type
84
+ it("should propagate `permissions` changes to child folders", async ()=>{
85
+ const parentFolder = Folder.create({
86
+ id: "parent-folder-id",
87
+ title: "Parent Folder",
88
+ slug: "parent-folder",
89
+ parentId: null,
90
+ permissions: [],
91
+ type
92
+ });
93
+ const childFolder1 = Folder.create({
94
+ id: "child-folder-id-1",
95
+ title: "Child Folder 1",
96
+ slug: "child-folder-1",
97
+ parentId: parentFolder.id,
98
+ permissions: [],
99
+ type
100
+ });
101
+ const childFolder2 = Folder.create({
102
+ id: "child-folder-id-2",
103
+ title: "Child Folder 2",
104
+ slug: "child-folder-2",
105
+ parentId: childFolder1.id,
106
+ permissions: [],
107
+ type
108
+ });
109
+ const childFolder3 = Folder.create({
110
+ id: "child-folder-id-3",
111
+ title: "Child Folder 3",
112
+ slug: "child-folder-3",
113
+ parentId: parentFolder.id,
114
+ permissions: [],
115
+ type
116
+ });
117
+ const foldersCache = new ListCache();
118
+ foldersCache.addItems([
119
+ parentFolder,
120
+ childFolder1,
121
+ childFolder2,
122
+ childFolder3
123
+ ]);
124
+ const parentNewPermissions = [
125
+ {
126
+ level: "viewer",
127
+ target: "admin:123"
128
+ },
129
+ {
130
+ level: "viewer",
131
+ target: "admin:456"
132
+ }
133
+ ];
134
+ {
135
+ const gateway = new UpdateFolderMockGateway({
136
+ id: parentFolder.id,
137
+ title: parentFolder.title,
138
+ slug: parentFolder.slug,
139
+ parentId: parentFolder.parentId,
140
+ permissions: parentNewPermissions,
141
+ type
142
+ });
143
+ const { updateFolder } = setupTest({
144
+ gateway,
145
+ foldersCache
146
+ });
147
+ await updateFolder.execute({
148
+ id: parentFolder.id,
149
+ title: parentFolder.title,
150
+ slug: parentFolder.slug,
151
+ parentId: parentFolder.parentId,
152
+ permissions: parentNewPermissions,
153
+ type
154
+ });
155
+ const childFolderCache1 = foldersCache.getItem((folder)=>folder.id === childFolder1.id);
156
+ expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map((permission)=>({
157
+ ...permission,
158
+ inheritedFrom: `parent:${parentFolder?.id}`
159
+ })));
160
+ const childFolderCache2 = foldersCache.getItem((folder)=>folder.id === childFolder2.id);
161
+ expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map((permission)=>({
162
+ ...permission,
163
+ inheritedFrom: `parent:${childFolderCache1?.id}`
164
+ })));
165
+ const childFolderCache3 = foldersCache.getItem((folder)=>folder.id === childFolder3.id);
166
+ expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map((permission)=>({
167
+ ...permission,
168
+ inheritedFrom: `parent:${parentFolder?.id}`
169
+ })));
170
+ }
171
+ const child1NewPermissions = [
172
+ {
173
+ level: "owner",
174
+ target: "admin:123"
175
+ }
176
+ ];
177
+ {
178
+ const gateway = new UpdateFolderMockGateway({
179
+ id: childFolder1.id,
180
+ title: childFolder1.title,
181
+ slug: childFolder1.slug,
182
+ parentId: childFolder1.parentId,
183
+ permissions: child1NewPermissions,
184
+ type
185
+ });
186
+ const { updateFolder } = setupTest({
187
+ gateway,
188
+ foldersCache
189
+ });
190
+ await updateFolder.execute({
191
+ id: childFolder1.id,
192
+ title: childFolder1.title,
193
+ slug: childFolder1.slug,
194
+ parentId: childFolder1.parentId,
195
+ permissions: child1NewPermissions,
196
+ type
197
+ });
198
+ const childFolderCache1 = foldersCache.getItem((folder)=>folder.id === childFolder1.id);
199
+ expect(childFolderCache1?.permissions).toEqual([
200
+ ...child1NewPermissions,
201
+ {
202
+ ...parentNewPermissions[1],
203
+ inheritedFrom: `parent:${parentFolder?.id}`
204
+ }
205
+ ]);
206
+ const childFolderCache2 = foldersCache.getItem((folder)=>folder.id === childFolder2.id);
207
+ expect(childFolderCache2?.permissions).toEqual([
208
+ ...child1NewPermissions.map((permission)=>({
209
+ ...permission,
210
+ inheritedFrom: `parent:${childFolderCache1?.id}`
211
+ })),
212
+ {
213
+ ...parentNewPermissions[1],
214
+ inheritedFrom: `parent:${childFolderCache1?.id}`
215
+ }
216
+ ]);
217
+ const childFolderCache3 = foldersCache.getItem((folder)=>folder.id === childFolder3.id);
218
+ expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map((permission)=>({
219
+ ...permission,
220
+ inheritedFrom: `parent:${parentFolder?.id}`
221
+ })));
222
+ }
223
+ {
224
+ const newPermissions = [];
225
+ const gateway = new UpdateFolderMockGateway({
226
+ id: childFolder1.id,
227
+ title: childFolder1.title,
228
+ slug: childFolder1.slug,
229
+ parentId: childFolder1.parentId,
230
+ permissions: newPermissions,
231
+ type
232
+ });
233
+ const { updateFolder } = setupTest({
234
+ gateway,
235
+ foldersCache
236
+ });
237
+ await updateFolder.execute({
238
+ id: childFolder1.id,
239
+ title: childFolder1.title,
240
+ slug: childFolder1.slug,
241
+ parentId: childFolder1.parentId,
242
+ permissions: newPermissions,
243
+ type
244
+ });
245
+ const childFolderCache1 = foldersCache.getItem((folder)=>folder.id === childFolder1.id);
246
+ expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map((permission)=>({
247
+ ...permission,
248
+ inheritedFrom: `parent:${parentFolder?.id}`
249
+ })));
250
+ const childFolderCache2 = foldersCache.getItem((folder)=>folder.id === childFolder2.id);
251
+ expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map((permission)=>({
252
+ ...permission,
253
+ inheritedFrom: `parent:${childFolderCache1?.id}`
254
+ })));
255
+ const childFolderCache3 = foldersCache.getItem((folder)=>folder.id === childFolder3.id);
256
+ expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map((permission)=>({
257
+ ...permission,
258
+ inheritedFrom: `parent:${parentFolder?.id}`
259
+ })));
260
+ }
295
261
  });
296
- const childFolder3 = Folder.create({
297
- id: "child-folder-id-3",
298
- title: "Child Folder 3",
299
- slug: "child-folder-3",
300
- parentId: parentFolder.id,
301
- // <-- This folder is a sibling of childFolder1, not a child
302
- permissions: [],
303
- path: `${ROOT_FOLDER}/parent-folder/child-folder-3`,
304
- type
262
+ it("should propagate `path` changes to child folders", async ()=>{
263
+ const parentFolder = Folder.create({
264
+ id: "parent-folder-id",
265
+ title: "Parent Folder",
266
+ slug: "parent-folder",
267
+ parentId: null,
268
+ permissions: [],
269
+ path: `${ROOT_FOLDER}/parent-folder`,
270
+ type
271
+ });
272
+ const childFolder1 = Folder.create({
273
+ id: "child-folder-id-1",
274
+ title: "Child Folder 1",
275
+ slug: "child-folder-1",
276
+ parentId: parentFolder.id,
277
+ permissions: [],
278
+ path: `${ROOT_FOLDER}/parent-folder/child-folder-1`,
279
+ type
280
+ });
281
+ const childFolder2 = Folder.create({
282
+ id: "child-folder-id-2",
283
+ title: "Child Folder 2",
284
+ slug: "child-folder-2",
285
+ parentId: childFolder1.id,
286
+ permissions: [],
287
+ path: `${ROOT_FOLDER}/parent-folder/child-folder-1/child-folder-2`,
288
+ type
289
+ });
290
+ const childFolder3 = Folder.create({
291
+ id: "child-folder-id-3",
292
+ title: "Child Folder 3",
293
+ slug: "child-folder-3",
294
+ parentId: parentFolder.id,
295
+ permissions: [],
296
+ path: `${ROOT_FOLDER}/parent-folder/child-folder-3`,
297
+ type
298
+ });
299
+ const newParentPath = `${ROOT_FOLDER}/parent-folder-edit`;
300
+ const foldersCache = new ListCache();
301
+ foldersCache.addItems([
302
+ parentFolder,
303
+ childFolder1,
304
+ childFolder2,
305
+ childFolder3
306
+ ]);
307
+ {
308
+ const gateway = new UpdateFolderMockGateway({
309
+ id: parentFolder.id,
310
+ title: parentFolder.title,
311
+ slug: parentFolder.slug + "-edit",
312
+ parentId: parentFolder.parentId,
313
+ permissions: parentFolder.permissions,
314
+ path: newParentPath,
315
+ type
316
+ });
317
+ const { updateFolder } = setupTest({
318
+ gateway,
319
+ foldersCache
320
+ });
321
+ await updateFolder.execute({
322
+ id: parentFolder.id,
323
+ title: parentFolder.title,
324
+ slug: parentFolder.slug + "-edit",
325
+ parentId: parentFolder.parentId,
326
+ permissions: parentFolder.permissions,
327
+ type
328
+ });
329
+ const childFolderCache1 = foldersCache.getItem((folder)=>folder.id === childFolder1.id);
330
+ expect(childFolderCache1?.path).toEqual(`${newParentPath}/child-folder-1`);
331
+ const childFolderCache2 = foldersCache.getItem((folder)=>folder.id === childFolder2.id);
332
+ expect(childFolderCache2?.path).toEqual(`${newParentPath}/child-folder-1/child-folder-2`);
333
+ const childFolderCache3 = foldersCache.getItem((folder)=>folder.id === childFolder3.id);
334
+ expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
335
+ }
336
+ const newChildFolder1Path = `${newParentPath}/child-folder-1-edit`;
337
+ {
338
+ const gateway = new UpdateFolderMockGateway({
339
+ id: childFolder1.id,
340
+ title: childFolder1.title,
341
+ slug: childFolder1.slug + "-edit",
342
+ parentId: childFolder1.parentId,
343
+ permissions: childFolder1.permissions,
344
+ path: newChildFolder1Path,
345
+ type
346
+ });
347
+ const { updateFolder } = setupTest({
348
+ gateway,
349
+ foldersCache
350
+ });
351
+ await updateFolder.execute({
352
+ id: childFolder1.id,
353
+ title: childFolder1.title,
354
+ slug: childFolder1.slug + "-edit",
355
+ parentId: childFolder1.parentId,
356
+ permissions: childFolder1.permissions,
357
+ type
358
+ });
359
+ const childFolderCache1 = foldersCache.getItem((folder)=>folder.id === childFolder1.id);
360
+ expect(childFolderCache1?.path).toEqual(newChildFolder1Path);
361
+ const childFolderCache2 = foldersCache.getItem((folder)=>folder.id === childFolder2.id);
362
+ expect(childFolderCache2?.path).toEqual(`${newChildFolder1Path}/child-folder-2`);
363
+ const childFolderCache3 = foldersCache.getItem((folder)=>folder.id === childFolder3.id);
364
+ expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
365
+ }
305
366
  });
306
-
307
- // Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).
308
- const newParentPath = `${ROOT_FOLDER}/parent-folder-edit`;
309
- const foldersCache = new ListCache();
310
- foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);
311
- {
312
- const gateway = new UpdateFolderMockGateway({
313
- id: parentFolder.id,
314
- title: parentFolder.title,
315
- slug: parentFolder.slug + "-edit",
316
- parentId: parentFolder.parentId,
317
- permissions: parentFolder.permissions,
318
- path: newParentPath,
319
- type
320
- });
321
- const {
322
- updateFolder
323
- } = setupTest({
324
- gateway,
325
- foldersCache
326
- });
327
- await updateFolder.execute({
328
- id: parentFolder.id,
329
- title: parentFolder.title,
330
- slug: parentFolder.slug + "-edit",
331
- parentId: parentFolder.parentId,
332
- permissions: parentFolder.permissions,
333
- type
334
- });
335
- const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
336
- expect(childFolderCache1?.path).toEqual(`${newParentPath}/child-folder-1`);
337
- const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
338
- expect(childFolderCache2?.path).toEqual(`${newParentPath}/child-folder-1/child-folder-2`);
339
- const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
340
- expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
341
- }
342
-
343
- // Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3
344
- const newChildFolder1Path = `${newParentPath}/child-folder-1-edit`;
345
- {
346
- const gateway = new UpdateFolderMockGateway({
347
- id: childFolder1.id,
348
- title: childFolder1.title,
349
- slug: childFolder1.slug + "-edit",
350
- parentId: childFolder1.parentId,
351
- permissions: childFolder1.permissions,
352
- path: newChildFolder1Path,
353
- type
354
- });
355
- const {
356
- updateFolder
357
- } = setupTest({
358
- gateway,
359
- foldersCache
360
- });
361
- await updateFolder.execute({
362
- id: childFolder1.id,
363
- title: childFolder1.title,
364
- slug: childFolder1.slug + "-edit",
365
- parentId: childFolder1.parentId,
366
- permissions: childFolder1.permissions,
367
- type
368
- });
369
- const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
370
- expect(childFolderCache1?.path).toEqual(newChildFolder1Path);
371
- const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
372
- expect(childFolderCache2?.path).toEqual(`${newChildFolder1Path}/child-folder-2`);
373
- const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
374
- expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
375
- }
376
- });
377
- it("should handle gateway errors gracefully", async () => {
378
- class UpdateFolderErrorMockGateway {
379
- async execute() {
380
- throw new Error("Gateway error");
381
- }
382
- }
383
- const gateway = new UpdateFolderErrorMockGateway();
384
- const spy = vi.spyOn(gateway, "execute");
385
- const {
386
- updateFolder
387
- } = setupTest({
388
- gateway
367
+ it("should handle gateway errors gracefully", async ()=>{
368
+ class UpdateFolderErrorMockGateway {
369
+ async execute() {
370
+ throw new Error("Gateway error");
371
+ }
372
+ }
373
+ const gateway = new UpdateFolderErrorMockGateway();
374
+ const spy = vi.spyOn(gateway, "execute");
375
+ const { updateFolder } = setupTest({
376
+ gateway
377
+ });
378
+ await expect(updateFolder.execute({
379
+ id: "any-folder-id",
380
+ title: "Updated Folder",
381
+ slug: "updated-folder",
382
+ parentId: "another-id",
383
+ permissions: [],
384
+ type
385
+ })).rejects.toThrow("Gateway error");
386
+ expect(spy).toHaveBeenCalledTimes(1);
389
387
  });
390
- await expect(updateFolder.execute({
391
- id: "any-folder-id",
392
- title: "Updated Folder",
393
- slug: "updated-folder",
394
- parentId: "another-id",
395
- permissions: [],
396
- type
397
- })).rejects.toThrow("Gateway error");
398
- expect(spy).toHaveBeenCalledTimes(1);
399
- });
400
388
  });
401
389
 
402
390
  //# sourceMappingURL=UpdateFolder.test.js.map