@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
@@ -5,146 +5,144 @@ import { FoldersCache, FoldersContext, FoldersLoadingRepository, LoadedFoldersCa
5
5
  import { LoadingRepository } from "@webiny/app-utils";
6
6
  import { LoadFolderHierarchyGateway, LoadFolderHierarchyUseCase } from "./abstractions.js";
7
7
  import { LoadFolderHierarchyFeature } from "./feature.js";
8
- describe("GetFolderHierarchy", () => {
9
- const type = "abc";
10
- function setupTest(gateway) {
11
- const container = new Container();
12
- const foldersCache = new ListCache();
13
- const loadedFoldersCache = new LoadedCache();
14
- container.registerInstance(FoldersContext, {
15
- type
16
- });
17
- container.registerInstance(FoldersCache, foldersCache);
18
- container.registerInstance(LoadedFoldersCache, loadedFoldersCache);
19
- container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
20
- LoadFolderHierarchyFeature.register(container);
21
- container.registerInstance(LoadFolderHierarchyGateway, gateway);
22
- return {
23
- container,
24
- foldersCache,
25
- loadedFoldersCache,
26
- useCase: container.resolve(LoadFolderHierarchyUseCase)
27
- };
28
- }
29
- beforeEach(() => {
30
- vi.resetAllMocks();
31
- });
32
- class GetFolderHierarchyMockGateway {
33
- // Had to use `any` as the mock folders passed in the tests below are also partial objects.
34
- constructor(mockResponse) {
35
- this.mockResponse = mockResponse;
8
+ describe("GetFolderHierarchy", ()=>{
9
+ const type = "abc";
10
+ function setupTest(gateway) {
11
+ const container = new Container();
12
+ const foldersCache = new ListCache();
13
+ const loadedFoldersCache = new LoadedCache();
14
+ container.registerInstance(FoldersContext, {
15
+ type
16
+ });
17
+ container.registerInstance(FoldersCache, foldersCache);
18
+ container.registerInstance(LoadedFoldersCache, loadedFoldersCache);
19
+ container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
20
+ LoadFolderHierarchyFeature.register(container);
21
+ container.registerInstance(LoadFolderHierarchyGateway, gateway);
22
+ return {
23
+ container,
24
+ foldersCache,
25
+ loadedFoldersCache,
26
+ useCase: container.resolve(LoadFolderHierarchyUseCase)
27
+ };
36
28
  }
37
- async execute() {
38
- return this.mockResponse;
29
+ beforeEach(()=>{
30
+ vi.resetAllMocks();
31
+ });
32
+ class GetFolderHierarchyMockGateway {
33
+ constructor(mockResponse){
34
+ this.mockResponse = mockResponse;
35
+ }
36
+ async execute() {
37
+ return this.mockResponse;
38
+ }
39
39
  }
40
- }
41
- it("should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway", async () => {
42
- const gateway = new GetFolderHierarchyMockGateway({
43
- parents: [{
44
- id: "folder-1",
45
- title: "Folder 1",
46
- slug: "folder-1",
47
- parentId: null,
48
- type
49
- }, {
50
- id: "folder-2",
51
- title: "Folder 2",
52
- slug: "folder-2",
53
- parentId: "folder-1",
54
- type
55
- }, {
56
- id: "folder-3",
57
- title: "Folder 3",
58
- slug: "folder-3",
59
- parentId: "folder-2",
60
- type
61
- }],
62
- siblings: [{
63
- id: "folder-4",
64
- title: "Folder 4",
65
- slug: "folder-4",
66
- parentId: "folder-3",
67
- type
68
- }, {
69
- id: "folder-5",
70
- title: "Folder 5",
71
- slug: "folder-5",
72
- parentId: "folder-3",
73
- type
74
- }]
40
+ it("should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway", async ()=>{
41
+ const gateway = new GetFolderHierarchyMockGateway({
42
+ parents: [
43
+ {
44
+ id: "folder-1",
45
+ title: "Folder 1",
46
+ slug: "folder-1",
47
+ parentId: null,
48
+ type
49
+ },
50
+ {
51
+ id: "folder-2",
52
+ title: "Folder 2",
53
+ slug: "folder-2",
54
+ parentId: "folder-1",
55
+ type
56
+ },
57
+ {
58
+ id: "folder-3",
59
+ title: "Folder 3",
60
+ slug: "folder-3",
61
+ parentId: "folder-2",
62
+ type
63
+ }
64
+ ],
65
+ siblings: [
66
+ {
67
+ id: "folder-4",
68
+ title: "Folder 4",
69
+ slug: "folder-4",
70
+ parentId: "folder-3",
71
+ type
72
+ },
73
+ {
74
+ id: "folder-5",
75
+ title: "Folder 5",
76
+ slug: "folder-5",
77
+ parentId: "folder-3",
78
+ type
79
+ }
80
+ ]
81
+ });
82
+ const spy = vi.spyOn(gateway, "execute");
83
+ const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);
84
+ expect(foldersCache.hasItems()).toBe(false);
85
+ expect(loadedFoldersCache.hasItems()).toBe(false);
86
+ await useCase.execute("folder-0");
87
+ expect(spy).toHaveBeenCalledTimes(1);
88
+ expect(spy).toHaveBeenCalledWith(type, "folder-0");
89
+ expect(foldersCache.hasItems()).toBe(true);
90
+ expect(foldersCache.count()).toEqual(5);
91
+ expect(loadedFoldersCache.count()).toEqual(3);
92
+ expect(loadedFoldersCache.getItems()).toEqual([
93
+ "folder-1",
94
+ "folder-2",
95
+ "folder-3"
96
+ ]);
97
+ await useCase.execute("folder-0");
98
+ expect(foldersCache.count()).toEqual(5);
99
+ expect(loadedFoldersCache.count()).toEqual(3);
75
100
  });
76
- const spy = vi.spyOn(gateway, "execute");
77
- const {
78
- useCase,
79
- foldersCache,
80
- loadedFoldersCache
81
- } = setupTest(gateway);
82
- expect(foldersCache.hasItems()).toBe(false);
83
- expect(loadedFoldersCache.hasItems()).toBe(false);
84
- await useCase.execute("folder-0");
85
- expect(spy).toHaveBeenCalledTimes(1);
86
- expect(spy).toHaveBeenCalledWith(type, "folder-0");
87
- expect(foldersCache.hasItems()).toBe(true);
88
- expect(foldersCache.count()).toEqual(5);
89
- // We are storing only the parent folders id in the loadedFoldersCache
90
- expect(loadedFoldersCache.count()).toEqual(3);
91
- expect(loadedFoldersCache.getItems()).toEqual(["folder-1", "folder-2", "folder-3"]);
92
-
93
- // This call should be idempotent: the number of elements in cache should not change
94
- await useCase.execute("folder-0");
95
- expect(foldersCache.count()).toEqual(5);
96
- expect(loadedFoldersCache.count()).toEqual(3);
97
- });
98
- it("should only update the list of folders in `cache` when `children` are returned by the gateway", async () => {
99
- const gateway = new GetFolderHierarchyMockGateway({
100
- parents: [],
101
- siblings: [{
102
- id: "folder-1",
103
- title: "Folder 1",
104
- slug: "folder-1",
105
- parentId: null,
106
- type
107
- }, {
108
- id: "folder-2",
109
- title: "Folder 2",
110
- slug: "folder-2",
111
- parentId: null,
112
- type
113
- }]
101
+ it("should only update the list of folders in `cache` when `children` are returned by the gateway", async ()=>{
102
+ const gateway = new GetFolderHierarchyMockGateway({
103
+ parents: [],
104
+ siblings: [
105
+ {
106
+ id: "folder-1",
107
+ title: "Folder 1",
108
+ slug: "folder-1",
109
+ parentId: null,
110
+ type
111
+ },
112
+ {
113
+ id: "folder-2",
114
+ title: "Folder 2",
115
+ slug: "folder-2",
116
+ parentId: null,
117
+ type
118
+ }
119
+ ]
120
+ });
121
+ const spy = vi.spyOn(gateway, "execute");
122
+ const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);
123
+ expect(foldersCache.hasItems()).toBe(false);
124
+ expect(loadedFoldersCache.hasItems()).toBe(false);
125
+ await useCase.execute("folder-0");
126
+ expect(spy).toHaveBeenCalledTimes(1);
127
+ expect(spy).toHaveBeenCalledWith(type, "folder-0");
128
+ expect(foldersCache.hasItems()).toBe(true);
129
+ expect(foldersCache.count()).toEqual(2);
130
+ expect(loadedFoldersCache.hasItems()).toBe(false);
131
+ });
132
+ it("should handle gateway errors gracefully", async ()=>{
133
+ class GetFolderHierarchyErrorMockGateway {
134
+ async execute() {
135
+ throw new Error("Gateway error");
136
+ }
137
+ }
138
+ const gateway = new GetFolderHierarchyErrorMockGateway();
139
+ const spy = vi.spyOn(gateway, "execute");
140
+ const { useCase, foldersCache } = setupTest(gateway);
141
+ expect(foldersCache.hasItems()).toBe(false);
142
+ await expect(useCase.execute("folder-0")).rejects.toThrow("Gateway error");
143
+ expect(spy).toHaveBeenCalledTimes(1);
144
+ expect(foldersCache.hasItems()).toBe(false);
114
145
  });
115
- const spy = vi.spyOn(gateway, "execute");
116
- const {
117
- useCase,
118
- foldersCache,
119
- loadedFoldersCache
120
- } = setupTest(gateway);
121
- expect(foldersCache.hasItems()).toBe(false);
122
- expect(loadedFoldersCache.hasItems()).toBe(false);
123
- await useCase.execute("folder-0");
124
- expect(spy).toHaveBeenCalledTimes(1);
125
- expect(spy).toHaveBeenCalledWith(type, "folder-0");
126
- expect(foldersCache.hasItems()).toBe(true);
127
- expect(foldersCache.count()).toEqual(2);
128
- // We are NOT storing any folder loadedFoldersCache
129
- expect(loadedFoldersCache.hasItems()).toBe(false);
130
- });
131
- it("should handle gateway errors gracefully", async () => {
132
- class GetFolderHierarchyErrorMockGateway {
133
- async execute() {
134
- throw new Error("Gateway error");
135
- }
136
- }
137
- const gateway = new GetFolderHierarchyErrorMockGateway();
138
- const spy = vi.spyOn(gateway, "execute");
139
- const {
140
- useCase,
141
- foldersCache
142
- } = setupTest(gateway);
143
- expect(foldersCache.hasItems()).toBe(false);
144
- await expect(useCase.execute("folder-0")).rejects.toThrow("Gateway error");
145
- expect(spy).toHaveBeenCalledTimes(1);
146
- expect(foldersCache.hasItems()).toBe(false);
147
- });
148
146
  });
149
147
 
150
148
  //# sourceMappingURL=LoadFolderHierarchy.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","Container","ListCache","LoadedCache","FoldersCache","FoldersContext","FoldersLoadingRepository","LoadedFoldersCache","LoadingRepository","LoadFolderHierarchyGateway","LoadFolderHierarchyUseCase","LoadFolderHierarchyFeature","type","setupTest","gateway","container","foldersCache","loadedFoldersCache","registerInstance","register","useCase","resolve","resetAllMocks","GetFolderHierarchyMockGateway","constructor","mockResponse","execute","parents","id","title","slug","parentId","siblings","spy","spyOn","hasItems","toBe","toHaveBeenCalledTimes","toHaveBeenCalledWith","count","toEqual","getItems","GetFolderHierarchyErrorMockGateway","Error","rejects","toThrow"],"sources":["LoadFolderHierarchy.test.ts"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache, LoadedCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n FoldersCache,\n FoldersContext,\n FoldersLoadingRepository,\n LoadedFoldersCache\n} from \"../abstractions.js\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\nimport type { LoadFolderHierarchyGatewayResponse } from \"./abstractions.js\";\nimport { LoadFolderHierarchyGateway, LoadFolderHierarchyUseCase } from \"./abstractions.js\";\nimport { LoadFolderHierarchyFeature } from \"./feature.js\";\n\ndescribe(\"GetFolderHierarchy\", () => {\n const type = \"abc\";\n\n function setupTest(gateway: LoadFolderHierarchyGateway.Interface) {\n const container = new Container();\n const foldersCache = new ListCache<Folder>();\n const loadedFoldersCache = new LoadedCache();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n container.registerInstance(LoadedFoldersCache, loadedFoldersCache);\n container.registerInstance(FoldersLoadingRepository, new LoadingRepository());\n\n LoadFolderHierarchyFeature.register(container);\n container.registerInstance(LoadFolderHierarchyGateway, gateway);\n\n return {\n container,\n foldersCache,\n loadedFoldersCache,\n useCase: container.resolve(LoadFolderHierarchyUseCase)\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n class GetFolderHierarchyMockGateway implements LoadFolderHierarchyGateway.Interface {\n mockResponse: LoadFolderHierarchyGatewayResponse;\n\n // Had to use `any` as the mock folders passed in the tests below are also partial objects.\n constructor(mockResponse: any) {\n this.mockResponse = mockResponse as LoadFolderHierarchyGatewayResponse;\n }\n\n async execute() {\n return this.mockResponse;\n }\n }\n\n it(\"should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway\", async () => {\n const gateway = new GetFolderHierarchyMockGateway({\n parents: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ],\n siblings: [\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-3\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-3\",\n type\n }\n ]\n });\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n expect(loadedFoldersCache.hasItems()).toBe(false);\n await useCase.execute(\"folder-0\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, \"folder-0\");\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(5);\n // We are storing only the parent folders id in the loadedFoldersCache\n expect(loadedFoldersCache.count()).toEqual(3);\n expect(loadedFoldersCache.getItems()).toEqual([\"folder-1\", \"folder-2\", \"folder-3\"]);\n\n // This call should be idempotent: the number of elements in cache should not change\n await useCase.execute(\"folder-0\");\n expect(foldersCache.count()).toEqual(5);\n expect(loadedFoldersCache.count()).toEqual(3);\n });\n\n it(\"should only update the list of folders in `cache` when `children` are returned by the gateway\", async () => {\n const gateway = new GetFolderHierarchyMockGateway({\n parents: [],\n siblings: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: null,\n type\n }\n ]\n });\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n expect(loadedFoldersCache.hasItems()).toBe(false);\n await useCase.execute(\"folder-0\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, \"folder-0\");\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(2);\n // We are NOT storing any folder loadedFoldersCache\n expect(loadedFoldersCache.hasItems()).toBe(false);\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n class GetFolderHierarchyErrorMockGateway implements LoadFolderHierarchyGateway.Interface {\n async execute(): LoadFolderHierarchyGateway.Return {\n throw new Error(\"Gateway error\");\n }\n }\n\n const gateway = new GetFolderHierarchyErrorMockGateway();\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await expect(useCase.execute(\"folder-0\")).rejects.toThrow(\"Gateway error\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js","sources":["../../../../src/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.ts"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache, LoadedCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n FoldersCache,\n FoldersContext,\n FoldersLoadingRepository,\n LoadedFoldersCache\n} from \"../abstractions.js\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\nimport type { LoadFolderHierarchyGatewayResponse } from \"./abstractions.js\";\nimport { LoadFolderHierarchyGateway, LoadFolderHierarchyUseCase } from \"./abstractions.js\";\nimport { LoadFolderHierarchyFeature } from \"./feature.js\";\n\ndescribe(\"GetFolderHierarchy\", () => {\n const type = \"abc\";\n\n function setupTest(gateway: LoadFolderHierarchyGateway.Interface) {\n const container = new Container();\n const foldersCache = new ListCache<Folder>();\n const loadedFoldersCache = new LoadedCache();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n container.registerInstance(LoadedFoldersCache, loadedFoldersCache);\n container.registerInstance(FoldersLoadingRepository, new LoadingRepository());\n\n LoadFolderHierarchyFeature.register(container);\n container.registerInstance(LoadFolderHierarchyGateway, gateway);\n\n return {\n container,\n foldersCache,\n loadedFoldersCache,\n useCase: container.resolve(LoadFolderHierarchyUseCase)\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n class GetFolderHierarchyMockGateway implements LoadFolderHierarchyGateway.Interface {\n mockResponse: LoadFolderHierarchyGatewayResponse;\n\n // Had to use `any` as the mock folders passed in the tests below are also partial objects.\n constructor(mockResponse: any) {\n this.mockResponse = mockResponse as LoadFolderHierarchyGatewayResponse;\n }\n\n async execute() {\n return this.mockResponse;\n }\n }\n\n it(\"should update the list of folders in both `cache` and `loadedCache` when `parents` and `children` are returned by the gateway\", async () => {\n const gateway = new GetFolderHierarchyMockGateway({\n parents: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ],\n siblings: [\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-3\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-3\",\n type\n }\n ]\n });\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n expect(loadedFoldersCache.hasItems()).toBe(false);\n await useCase.execute(\"folder-0\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, \"folder-0\");\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(5);\n // We are storing only the parent folders id in the loadedFoldersCache\n expect(loadedFoldersCache.count()).toEqual(3);\n expect(loadedFoldersCache.getItems()).toEqual([\"folder-1\", \"folder-2\", \"folder-3\"]);\n\n // This call should be idempotent: the number of elements in cache should not change\n await useCase.execute(\"folder-0\");\n expect(foldersCache.count()).toEqual(5);\n expect(loadedFoldersCache.count()).toEqual(3);\n });\n\n it(\"should only update the list of folders in `cache` when `children` are returned by the gateway\", async () => {\n const gateway = new GetFolderHierarchyMockGateway({\n parents: [],\n siblings: [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: null,\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-2\",\n parentId: null,\n type\n }\n ]\n });\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache, loadedFoldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n expect(loadedFoldersCache.hasItems()).toBe(false);\n await useCase.execute(\"folder-0\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, \"folder-0\");\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(2);\n // We are NOT storing any folder loadedFoldersCache\n expect(loadedFoldersCache.hasItems()).toBe(false);\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n class GetFolderHierarchyErrorMockGateway implements LoadFolderHierarchyGateway.Interface {\n async execute(): LoadFolderHierarchyGateway.Return {\n throw new Error(\"Gateway error\");\n }\n }\n\n const gateway = new GetFolderHierarchyErrorMockGateway();\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await expect(useCase.execute(\"folder-0\")).rejects.toThrow(\"Gateway error\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n });\n});\n"],"names":["describe","type","setupTest","gateway","container","Container","foldersCache","ListCache","loadedFoldersCache","LoadedCache","FoldersContext","FoldersCache","LoadedFoldersCache","FoldersLoadingRepository","LoadingRepository","LoadFolderHierarchyFeature","LoadFolderHierarchyGateway","LoadFolderHierarchyUseCase","beforeEach","vi","GetFolderHierarchyMockGateway","mockResponse","it","spy","useCase","expect","GetFolderHierarchyErrorMockGateway","Error"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
2
2
  import { RootFolder } from "../../../domain/folder/RootFolder.js";
3
3
  import { FolderModelProvider } from "../abstractions.js";
4
- import { LoadFolderHierarchyGateway as GatewayAbstraction } from "./abstractions.js";
5
- export const LOAD_FOLDER_HIERARCHY = FOLDER_FIELDS => /* GraphQL*/`
4
+ import { LoadFolderHierarchyGateway } from "./abstractions.js";
5
+ const LOAD_FOLDER_HIERARCHY = (FOLDER_FIELDS)=>`
6
6
  query GetFolderHierarchy($type: String!, $id: ID!) {
7
7
  aco {
8
8
  getFolderHierarchy(type: $type, id: $id) {
@@ -20,38 +20,38 @@ export const LOAD_FOLDER_HIERARCHY = FOLDER_FIELDS => /* GraphQL*/`
20
20
  }
21
21
  `;
22
22
  class LoadFolderHierarchyGqlGatewayImpl {
23
- constructor(client, folderModelProvider) {
24
- this.client = client;
25
- this.folderModelProvider = folderModelProvider;
26
- }
27
- async execute(type, id) {
28
- const fields = await this.folderModelProvider.getGraphQLSelection();
29
- const response = await this.client.execute({
30
- query: LOAD_FOLDER_HIERARCHY(fields),
31
- variables: {
32
- type,
33
- id
34
- }
35
- });
36
- if (!response) {
37
- throw new Error(`Network error while loading folder hierarchy for the provided type/id: ${type}/${id}.`);
23
+ constructor(client, folderModelProvider){
24
+ this.client = client;
25
+ this.folderModelProvider = folderModelProvider;
38
26
  }
39
- const {
40
- data,
41
- error
42
- } = response.aco.getFolderHierarchy;
43
- if (!data) {
44
- throw new Error(error?.message || `Could not load folder hierarchy for the provided type/id: ${type}/${id}.`);
27
+ async execute(type, id) {
28
+ const fields = await this.folderModelProvider.getGraphQLSelection();
29
+ const response = await this.client.execute({
30
+ query: LOAD_FOLDER_HIERARCHY(fields),
31
+ variables: {
32
+ type,
33
+ id
34
+ }
35
+ });
36
+ if (!response) throw new Error(`Network error while loading folder hierarchy for the provided type/id: ${type}/${id}.`);
37
+ const { data, error } = response.aco.getFolderHierarchy;
38
+ if (!data) throw new Error(error?.message || `Could not load folder hierarchy for the provided type/id: ${type}/${id}.`);
39
+ return {
40
+ parents: [
41
+ RootFolder.create(),
42
+ ...data.parents
43
+ ],
44
+ siblings: data.siblings
45
+ };
45
46
  }
46
- return {
47
- parents: [RootFolder.create(), ...data.parents],
48
- siblings: data.siblings
49
- };
50
- }
51
47
  }
52
- export const LoadFolderHierarchyGqlGateway = GatewayAbstraction.createImplementation({
53
- implementation: LoadFolderHierarchyGqlGatewayImpl,
54
- dependencies: [MainGraphQLClient, FolderModelProvider]
48
+ const LoadFolderHierarchyGqlGateway = LoadFolderHierarchyGateway.createImplementation({
49
+ implementation: LoadFolderHierarchyGqlGatewayImpl,
50
+ dependencies: [
51
+ MainGraphQLClient,
52
+ FolderModelProvider
53
+ ]
55
54
  });
55
+ export { LOAD_FOLDER_HIERARCHY, LoadFolderHierarchyGqlGateway };
56
56
 
57
57
  //# sourceMappingURL=LoadFolderHierarchyGqlGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MainGraphQLClient","RootFolder","FolderModelProvider","LoadFolderHierarchyGateway","GatewayAbstraction","LOAD_FOLDER_HIERARCHY","FOLDER_FIELDS","LoadFolderHierarchyGqlGatewayImpl","constructor","client","folderModelProvider","execute","type","id","fields","getGraphQLSelection","response","query","variables","Error","data","error","aco","getFolderHierarchy","message","parents","create","siblings","LoadFolderHierarchyGqlGateway","createImplementation","implementation","dependencies"],"sources":["LoadFolderHierarchyGqlGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"~/domain/folder/RootFolder.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { LoadFolderHierarchyGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\ninterface LoadFolderHierarchyResponseData {\n parents: FolderDto[];\n siblings: FolderDto[];\n}\n\nexport interface LoadFolderHierarchyResponse {\n aco: {\n getFolderHierarchy: {\n data: LoadFolderHierarchyResponseData | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface LoadFolderHierarchyQueryVariables {\n type: string;\n id: string;\n}\n\nexport const LOAD_FOLDER_HIERARCHY = (FOLDER_FIELDS: string) => /* GraphQL*/ `\n query GetFolderHierarchy($type: String!, $id: ID!) {\n aco {\n getFolderHierarchy(type: $type, id: $id) {\n data {\n parents ${FOLDER_FIELDS}\n siblings ${FOLDER_FIELDS}\n }\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass LoadFolderHierarchyGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: MainGraphQLClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string, id: string) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const response = await this.client.execute<\n LoadFolderHierarchyResponse,\n LoadFolderHierarchyQueryVariables\n >({\n query: LOAD_FOLDER_HIERARCHY(fields),\n variables: {\n type,\n id\n }\n });\n\n if (!response) {\n throw new Error(\n `Network error while loading folder hierarchy for the provided type/id: ${type}/${id}.`\n );\n }\n\n const { data, error } = response.aco.getFolderHierarchy;\n\n if (!data) {\n throw new Error(\n error?.message ||\n `Could not load folder hierarchy for the provided type/id: ${type}/${id}.`\n );\n }\n\n return {\n parents: [RootFolder.create(), ...data.parents],\n siblings: data.siblings\n };\n }\n}\n\nexport const LoadFolderHierarchyGqlGateway = GatewayAbstraction.createImplementation({\n implementation: LoadFolderHierarchyGqlGatewayImpl,\n dependencies: [MainGraphQLClient, FolderModelProvider]\n});\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,iDAAiD;AAEnF,SAASC,UAAU;AACnB,SAASC,mBAAmB;AAC5B,SAASC,0BAA0B,IAAIC,kBAAkB;AAsBzD,OAAO,MAAMC,qBAAqB,GAAIC,aAAqB,IAAK,YAAa;AAC7E;AACA;AACA;AACA;AACA,8BAA8BA,aAAa;AAC3C,+BAA+BA,aAAa;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,iCAAiC,CAAyC;EAC5EC,WAAWA,CACCC,MAAmC,EACnCC,mBAAkD,EAC5D;IAAA,KAFUD,MAAmC,GAAnCA,MAAmC;IAAA,KACnCC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,IAAY,EAAEC,EAAU,EAAE;IACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,mBAAmB,CAACK,mBAAmB,CAAC,CAAC;IAEnE,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACP,MAAM,CAACE,OAAO,CAGxC;MACEM,KAAK,EAAEZ,qBAAqB,CAACS,MAAM,CAAC;MACpCI,SAAS,EAAE;QACPN,IAAI;QACJC;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACG,QAAQ,EAAE;MACX,MAAM,IAAIG,KAAK,CACX,0EAA0EP,IAAI,IAAIC,EAAE,GACxF,CAAC;IACL;IAEA,MAAM;MAAEO,IAAI;MAAEC;IAAM,CAAC,GAAGL,QAAQ,CAACM,GAAG,CAACC,kBAAkB;IAEvD,IAAI,CAACH,IAAI,EAAE;MACP,MAAM,IAAID,KAAK,CACXE,KAAK,EAAEG,OAAO,IACV,6DAA6DZ,IAAI,IAAIC,EAAE,GAC/E,CAAC;IACL;IAEA,OAAO;MACHY,OAAO,EAAE,CAACxB,UAAU,CAACyB,MAAM,CAAC,CAAC,EAAE,GAAGN,IAAI,CAACK,OAAO,CAAC;MAC/CE,QAAQ,EAAEP,IAAI,CAACO;IACnB,CAAC;EACL;AACJ;AAEA,OAAO,MAAMC,6BAA6B,GAAGxB,kBAAkB,CAACyB,oBAAoB,CAAC;EACjFC,cAAc,EAAEvB,iCAAiC;EACjDwB,YAAY,EAAE,CAAC/B,iBAAiB,EAAEE,mBAAmB;AACzD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js","sources":["../../../../src/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"~/domain/folder/RootFolder.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { LoadFolderHierarchyGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\ninterface LoadFolderHierarchyResponseData {\n parents: FolderDto[];\n siblings: FolderDto[];\n}\n\nexport interface LoadFolderHierarchyResponse {\n aco: {\n getFolderHierarchy: {\n data: LoadFolderHierarchyResponseData | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface LoadFolderHierarchyQueryVariables {\n type: string;\n id: string;\n}\n\nexport const LOAD_FOLDER_HIERARCHY = (FOLDER_FIELDS: string) => /* GraphQL*/ `\n query GetFolderHierarchy($type: String!, $id: ID!) {\n aco {\n getFolderHierarchy(type: $type, id: $id) {\n data {\n parents ${FOLDER_FIELDS}\n siblings ${FOLDER_FIELDS}\n }\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass LoadFolderHierarchyGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: MainGraphQLClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string, id: string) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const response = await this.client.execute<\n LoadFolderHierarchyResponse,\n LoadFolderHierarchyQueryVariables\n >({\n query: LOAD_FOLDER_HIERARCHY(fields),\n variables: {\n type,\n id\n }\n });\n\n if (!response) {\n throw new Error(\n `Network error while loading folder hierarchy for the provided type/id: ${type}/${id}.`\n );\n }\n\n const { data, error } = response.aco.getFolderHierarchy;\n\n if (!data) {\n throw new Error(\n error?.message ||\n `Could not load folder hierarchy for the provided type/id: ${type}/${id}.`\n );\n }\n\n return {\n parents: [RootFolder.create(), ...data.parents],\n siblings: data.siblings\n };\n }\n}\n\nexport const LoadFolderHierarchyGqlGateway = GatewayAbstraction.createImplementation({\n implementation: LoadFolderHierarchyGqlGatewayImpl,\n dependencies: [MainGraphQLClient, FolderModelProvider]\n});\n"],"names":["LOAD_FOLDER_HIERARCHY","FOLDER_FIELDS","LoadFolderHierarchyGqlGatewayImpl","client","folderModelProvider","type","id","fields","response","Error","data","error","RootFolder","LoadFolderHierarchyGqlGateway","GatewayAbstraction","MainGraphQLClient","FolderModelProvider"],"mappings":";;;;AA0BO,MAAMA,wBAAwB,CAACC,gBAAuC,CAAC;;;;;4BAKlD,EAAEA,cAAc;6BACf,EAAEA,cAAc;;;;;;;;;;AAU7C,CAAC;AAED,MAAMC;IACF,YACYC,MAAmC,EACnCC,mBAAkD,CAC5D;aAFUD,MAAM,GAANA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,IAAY,EAAEC,EAAU,EAAE;QACpC,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB;QAEjE,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAGxC;YACE,OAAOR,sBAAsBO;YAC7B,WAAW;gBACPF;gBACAC;YACJ;QACJ;QAEA,IAAI,CAACE,UACD,MAAM,IAAIC,MACN,CAAC,uEAAuE,EAAEJ,KAAK,CAAC,EAAEC,GAAG,CAAC,CAAC;QAI/F,MAAM,EAAEI,IAAI,EAAEC,KAAK,EAAE,GAAGH,SAAS,GAAG,CAAC,kBAAkB;QAEvD,IAAI,CAACE,MACD,MAAM,IAAID,MACNE,OAAO,WACH,CAAC,0DAA0D,EAAEN,KAAK,CAAC,EAAEC,GAAG,CAAC,CAAC;QAItF,OAAO;YACH,SAAS;gBAACM,WAAW,MAAM;mBAAOF,KAAK,OAAO;aAAC;YAC/C,UAAUA,KAAK,QAAQ;QAC3B;IACJ;AACJ;AAEO,MAAMG,gCAAgCC,2BAAAA,oBAAuC,CAAC;IACjF,gBAAgBZ;IAChB,cAAc;QAACa;QAAmBC;KAAoB;AAC1D"}
@@ -1,49 +1,44 @@
1
1
  import { Folder } from "../../../domain/folder/Folder.js";
2
- import { LoadFolderHierarchyRepository as RepositoryAbstraction, LoadFolderHierarchyGateway } from "./abstractions.js";
3
- import { FoldersCache, LoadedFoldersCache, FoldersContext } from "../abstractions.js";
2
+ import { LoadFolderHierarchyGateway, LoadFolderHierarchyRepository } from "./abstractions.js";
3
+ import { FoldersCache, FoldersContext, LoadedFoldersCache } from "../abstractions.js";
4
4
  class LoadFolderHierarchyRepositoryImpl {
5
- pendingPromises = new Map();
6
- constructor(cache, loadedCache, gateway, foldersContext) {
7
- this.cache = cache;
8
- this.loadedCache = loadedCache;
9
- this.gateway = gateway;
10
- this.foldersContext = foldersContext;
11
- }
12
- async execute(id) {
13
- // Return pending promise if one exists
14
- const pendingPromise = this.pendingPromises.get(id);
15
- if (pendingPromise) {
16
- return pendingPromise;
5
+ constructor(cache, loadedCache, gateway, foldersContext){
6
+ this.cache = cache;
7
+ this.loadedCache = loadedCache;
8
+ this.gateway = gateway;
9
+ this.foldersContext = foldersContext;
10
+ this.pendingPromises = new Map();
17
11
  }
18
-
19
- // Create new promise with cleanup and cache it
20
- const promise = this.loadFolders(id).finally(() => {
21
- this.pendingPromises.delete(id);
22
- });
23
-
24
- // Store the promise
25
- this.pendingPromises.set(id, promise);
26
- return promise;
27
- }
28
- async loadFolders(id) {
29
- const existingCache = this.loadedCache.getItem(item => item === id);
30
- if (existingCache) {
31
- return;
12
+ async execute(id) {
13
+ const pendingPromise = this.pendingPromises.get(id);
14
+ if (pendingPromise) return pendingPromise;
15
+ const promise = this.loadFolders(id).finally(()=>{
16
+ this.pendingPromises.delete(id);
17
+ });
18
+ this.pendingPromises.set(id, promise);
19
+ return promise;
32
20
  }
33
- const response = await this.gateway.execute(this.foldersContext.type, id);
34
- const {
35
- parents = [],
36
- siblings = []
37
- } = response;
38
- if (parents.length > 0) {
39
- this.loadedCache.addItems(parents.map(parent => parent.id));
21
+ async loadFolders(id) {
22
+ const existingCache = this.loadedCache.getItem((item)=>item === id);
23
+ if (existingCache) return;
24
+ const response = await this.gateway.execute(this.foldersContext.type, id);
25
+ const { parents = [], siblings = [] } = response;
26
+ if (parents.length > 0) this.loadedCache.addItems(parents.map((parent)=>parent.id));
27
+ this.cache.addItems([
28
+ ...parents,
29
+ ...siblings
30
+ ].map((item)=>Folder.create(item)));
40
31
  }
41
- this.cache.addItems([...parents, ...siblings].map(item => Folder.create(item)));
42
- }
43
32
  }
44
- export const LoadFolderHierarchyRepository = RepositoryAbstraction.createImplementation({
45
- implementation: LoadFolderHierarchyRepositoryImpl,
46
- dependencies: [FoldersCache, LoadedFoldersCache, LoadFolderHierarchyGateway, FoldersContext]
33
+ const LoadFolderHierarchyRepository_LoadFolderHierarchyRepository = LoadFolderHierarchyRepository.createImplementation({
34
+ implementation: LoadFolderHierarchyRepositoryImpl,
35
+ dependencies: [
36
+ FoldersCache,
37
+ LoadedFoldersCache,
38
+ LoadFolderHierarchyGateway,
39
+ FoldersContext
40
+ ]
47
41
  });
42
+ export { LoadFolderHierarchyRepository_LoadFolderHierarchyRepository as LoadFolderHierarchyRepository };
48
43
 
49
44
  //# sourceMappingURL=LoadFolderHierarchyRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Folder","LoadFolderHierarchyRepository","RepositoryAbstraction","LoadFolderHierarchyGateway","FoldersCache","LoadedFoldersCache","FoldersContext","LoadFolderHierarchyRepositoryImpl","pendingPromises","Map","constructor","cache","loadedCache","gateway","foldersContext","execute","id","pendingPromise","get","promise","loadFolders","finally","delete","set","existingCache","getItem","item","response","type","parents","siblings","length","addItems","map","parent","create","createImplementation","implementation","dependencies"],"sources":["LoadFolderHierarchyRepository.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n LoadFolderHierarchyRepository as RepositoryAbstraction,\n LoadFolderHierarchyGateway\n} from \"./abstractions.js\";\nimport {\n FoldersCache,\n LoadedFoldersCache,\n FoldersContext\n} from \"~/features/folders/abstractions.js\";\n\nclass LoadFolderHierarchyRepositoryImpl implements RepositoryAbstraction.Interface {\n private pendingPromises = new Map<string, Promise<void>>();\n\n constructor(\n private cache: FoldersCache.Interface,\n private loadedCache: LoadedFoldersCache.Interface,\n private gateway: LoadFolderHierarchyGateway.Interface,\n private foldersContext: FoldersContext.Interface\n ) {}\n\n async execute(id: string) {\n // Return pending promise if one exists\n const pendingPromise = this.pendingPromises.get(id);\n if (pendingPromise) {\n return pendingPromise;\n }\n\n // Create new promise with cleanup and cache it\n const promise = this.loadFolders(id).finally(() => {\n this.pendingPromises.delete(id);\n });\n\n // Store the promise\n this.pendingPromises.set(id, promise);\n\n return promise;\n }\n\n private async loadFolders(id: string) {\n const existingCache = this.loadedCache.getItem(item => item === id);\n if (existingCache) {\n return;\n }\n\n const response = await this.gateway.execute(this.foldersContext.type, id);\n\n const { parents = [], siblings = [] } = response;\n\n if (parents.length > 0) {\n this.loadedCache.addItems(parents.map(parent => parent.id));\n }\n\n this.cache.addItems([...parents, ...siblings].map(item => Folder.create(item)));\n }\n}\n\nexport const LoadFolderHierarchyRepository = RepositoryAbstraction.createImplementation({\n implementation: LoadFolderHierarchyRepositoryImpl,\n dependencies: [FoldersCache, LoadedFoldersCache, LoadFolderHierarchyGateway, FoldersContext]\n});\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SACIC,6BAA6B,IAAIC,qBAAqB,EACtDC,0BAA0B;AAE9B,SACIC,YAAY,EACZC,kBAAkB,EAClBC,cAAc;AAGlB,MAAMC,iCAAiC,CAA4C;EACvEC,eAAe,GAAG,IAAIC,GAAG,CAAwB,CAAC;EAE1DC,WAAWA,CACCC,KAA6B,EAC7BC,WAAyC,EACzCC,OAA6C,EAC7CC,cAAwC,EAClD;IAAA,KAJUH,KAA6B,GAA7BA,KAA6B;IAAA,KAC7BC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,OAA6C,GAA7CA,OAA6C;IAAA,KAC7CC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB;IACA,MAAMC,cAAc,GAAG,IAAI,CAACT,eAAe,CAACU,GAAG,CAACF,EAAE,CAAC;IACnD,IAAIC,cAAc,EAAE;MAChB,OAAOA,cAAc;IACzB;;IAEA;IACA,MAAME,OAAO,GAAG,IAAI,CAACC,WAAW,CAACJ,EAAE,CAAC,CAACK,OAAO,CAAC,MAAM;MAC/C,IAAI,CAACb,eAAe,CAACc,MAAM,CAACN,EAAE,CAAC;IACnC,CAAC,CAAC;;IAEF;IACA,IAAI,CAACR,eAAe,CAACe,GAAG,CAACP,EAAE,EAAEG,OAAO,CAAC;IAErC,OAAOA,OAAO;EAClB;EAEA,MAAcC,WAAWA,CAACJ,EAAU,EAAE;IAClC,MAAMQ,aAAa,GAAG,IAAI,CAACZ,WAAW,CAACa,OAAO,CAACC,IAAI,IAAIA,IAAI,KAAKV,EAAE,CAAC;IACnE,IAAIQ,aAAa,EAAE;MACf;IACJ;IAEA,MAAMG,QAAQ,GAAG,MAAM,IAAI,CAACd,OAAO,CAACE,OAAO,CAAC,IAAI,CAACD,cAAc,CAACc,IAAI,EAAEZ,EAAE,CAAC;IAEzE,MAAM;MAAEa,OAAO,GAAG,EAAE;MAAEC,QAAQ,GAAG;IAAG,CAAC,GAAGH,QAAQ;IAEhD,IAAIE,OAAO,CAACE,MAAM,GAAG,CAAC,EAAE;MACpB,IAAI,CAACnB,WAAW,CAACoB,QAAQ,CAACH,OAAO,CAACI,GAAG,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,CAAC,CAAC;IAC/D;IAEA,IAAI,CAACL,KAAK,CAACqB,QAAQ,CAAC,CAAC,GAAGH,OAAO,EAAE,GAAGC,QAAQ,CAAC,CAACG,GAAG,CAACP,IAAI,IAAI1B,MAAM,CAACmC,MAAM,CAACT,IAAI,CAAC,CAAC,CAAC;EACnF;AACJ;AAEA,OAAO,MAAMzB,6BAA6B,GAAGC,qBAAqB,CAACkC,oBAAoB,CAAC;EACpFC,cAAc,EAAE9B,iCAAiC;EACjD+B,YAAY,EAAE,CAAClC,YAAY,EAAEC,kBAAkB,EAAEF,0BAA0B,EAAEG,cAAc;AAC/F,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js","sources":["../../../../src/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n LoadFolderHierarchyRepository as RepositoryAbstraction,\n LoadFolderHierarchyGateway\n} from \"./abstractions.js\";\nimport {\n FoldersCache,\n LoadedFoldersCache,\n FoldersContext\n} from \"~/features/folders/abstractions.js\";\n\nclass LoadFolderHierarchyRepositoryImpl implements RepositoryAbstraction.Interface {\n private pendingPromises = new Map<string, Promise<void>>();\n\n constructor(\n private cache: FoldersCache.Interface,\n private loadedCache: LoadedFoldersCache.Interface,\n private gateway: LoadFolderHierarchyGateway.Interface,\n private foldersContext: FoldersContext.Interface\n ) {}\n\n async execute(id: string) {\n // Return pending promise if one exists\n const pendingPromise = this.pendingPromises.get(id);\n if (pendingPromise) {\n return pendingPromise;\n }\n\n // Create new promise with cleanup and cache it\n const promise = this.loadFolders(id).finally(() => {\n this.pendingPromises.delete(id);\n });\n\n // Store the promise\n this.pendingPromises.set(id, promise);\n\n return promise;\n }\n\n private async loadFolders(id: string) {\n const existingCache = this.loadedCache.getItem(item => item === id);\n if (existingCache) {\n return;\n }\n\n const response = await this.gateway.execute(this.foldersContext.type, id);\n\n const { parents = [], siblings = [] } = response;\n\n if (parents.length > 0) {\n this.loadedCache.addItems(parents.map(parent => parent.id));\n }\n\n this.cache.addItems([...parents, ...siblings].map(item => Folder.create(item)));\n }\n}\n\nexport const LoadFolderHierarchyRepository = RepositoryAbstraction.createImplementation({\n implementation: LoadFolderHierarchyRepositoryImpl,\n dependencies: [FoldersCache, LoadedFoldersCache, LoadFolderHierarchyGateway, FoldersContext]\n});\n"],"names":["LoadFolderHierarchyRepositoryImpl","cache","loadedCache","gateway","foldersContext","Map","id","pendingPromise","promise","existingCache","item","response","parents","siblings","parent","Folder","LoadFolderHierarchyRepository","RepositoryAbstraction","FoldersCache","LoadedFoldersCache","LoadFolderHierarchyGateway","FoldersContext"],"mappings":";;;AAWA,MAAMA;IAGF,YACYC,KAA6B,EAC7BC,WAAyC,EACzCC,OAA6C,EAC7CC,cAAwC,CAClD;aAJUH,KAAK,GAALA;aACAC,WAAW,GAAXA;aACAC,OAAO,GAAPA;aACAC,cAAc,GAAdA;aANJ,eAAe,GAAG,IAAIC;IAO3B;IAEH,MAAM,QAAQC,EAAU,EAAE;QAEtB,MAAMC,iBAAiB,IAAI,CAAC,eAAe,CAAC,GAAG,CAACD;QAChD,IAAIC,gBACA,OAAOA;QAIX,MAAMC,UAAU,IAAI,CAAC,WAAW,CAACF,IAAI,OAAO,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAACA;QAChC;QAGA,IAAI,CAAC,eAAe,CAAC,GAAG,CAACA,IAAIE;QAE7B,OAAOA;IACX;IAEA,MAAc,YAAYF,EAAU,EAAE;QAClC,MAAMG,gBAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,CAAAA,OAAQA,SAASJ;QAChE,IAAIG,eACA;QAGJ,MAAME,WAAW,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAEL;QAEtE,MAAM,EAAEM,UAAU,EAAE,EAAEC,WAAW,EAAE,EAAE,GAAGF;QAExC,IAAIC,QAAQ,MAAM,GAAG,GACjB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAACA,QAAQ,GAAG,CAACE,CAAAA,SAAUA,OAAO,EAAE;QAG7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;eAAIF;eAAYC;SAAS,CAAC,GAAG,CAACH,CAAAA,OAAQK,OAAO,MAAM,CAACL;IAC5E;AACJ;AAEO,MAAMM,8DAAgCC,8BAAAA,oBAA0C,CAAC;IACpF,gBAAgBjB;IAChB,cAAc;QAACkB;QAAcC;QAAoBC;QAA4BC;KAAe;AAChG"}
@@ -1,15 +1,18 @@
1
- import { LoadFolderHierarchyUseCase as UseCaseAbstraction, LoadFolderHierarchyRepository } from "./abstractions.js";
1
+ import { LoadFolderHierarchyRepository, LoadFolderHierarchyUseCase } from "./abstractions.js";
2
2
  class LoadFolderHierarchyUseCaseImpl {
3
- constructor(repository) {
4
- this.repository = repository;
5
- }
6
- async execute(id) {
7
- await this.repository.execute(id);
8
- }
3
+ constructor(repository){
4
+ this.repository = repository;
5
+ }
6
+ async execute(id) {
7
+ await this.repository.execute(id);
8
+ }
9
9
  }
10
- export const LoadFolderHierarchyUseCase = UseCaseAbstraction.createImplementation({
11
- implementation: LoadFolderHierarchyUseCaseImpl,
12
- dependencies: [LoadFolderHierarchyRepository]
10
+ const LoadFolderHierarchyUseCase_LoadFolderHierarchyUseCase = LoadFolderHierarchyUseCase.createImplementation({
11
+ implementation: LoadFolderHierarchyUseCaseImpl,
12
+ dependencies: [
13
+ LoadFolderHierarchyRepository
14
+ ]
13
15
  });
16
+ export { LoadFolderHierarchyUseCase_LoadFolderHierarchyUseCase as LoadFolderHierarchyUseCase };
14
17
 
15
18
  //# sourceMappingURL=LoadFolderHierarchyUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LoadFolderHierarchyUseCase","UseCaseAbstraction","LoadFolderHierarchyRepository","LoadFolderHierarchyUseCaseImpl","constructor","repository","execute","id","createImplementation","implementation","dependencies"],"sources":["LoadFolderHierarchyUseCase.ts"],"sourcesContent":["import {\n LoadFolderHierarchyUseCase as UseCaseAbstraction,\n LoadFolderHierarchyRepository\n} from \"./abstractions.js\";\n\nclass LoadFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: LoadFolderHierarchyRepository.Interface) {}\n\n async execute(id: string) {\n await this.repository.execute(id);\n }\n}\n\nexport const LoadFolderHierarchyUseCase = UseCaseAbstraction.createImplementation({\n implementation: LoadFolderHierarchyUseCaseImpl,\n dependencies: [LoadFolderHierarchyRepository]\n});\n"],"mappings":"AAAA,SACIA,0BAA0B,IAAIC,kBAAkB,EAChDC,6BAA6B;AAGjC,MAAMC,8BAA8B,CAAyC;EACzEC,WAAWA,CAASC,UAAmD,EAAE;IAAA,KAArDA,UAAmD,GAAnDA,UAAmD;EAAG;EAE1E,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,EAAE,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMP,0BAA0B,GAAGC,kBAAkB,CAACO,oBAAoB,CAAC;EAC9EC,cAAc,EAAEN,8BAA8B;EAC9CO,YAAY,EAAE,CAACR,6BAA6B;AAChD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js","sources":["../../../../src/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.ts"],"sourcesContent":["import {\n LoadFolderHierarchyUseCase as UseCaseAbstraction,\n LoadFolderHierarchyRepository\n} from \"./abstractions.js\";\n\nclass LoadFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: LoadFolderHierarchyRepository.Interface) {}\n\n async execute(id: string) {\n await this.repository.execute(id);\n }\n}\n\nexport const LoadFolderHierarchyUseCase = UseCaseAbstraction.createImplementation({\n implementation: LoadFolderHierarchyUseCaseImpl,\n dependencies: [LoadFolderHierarchyRepository]\n});\n"],"names":["LoadFolderHierarchyUseCaseImpl","repository","id","LoadFolderHierarchyUseCase","UseCaseAbstraction","LoadFolderHierarchyRepository"],"mappings":";AAKA,MAAMA;IACF,YAAoBC,UAAmD,CAAE;aAArDA,UAAU,GAAVA;IAAsD;IAE1E,MAAM,QAAQC,EAAU,EAAE;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IAClC;AACJ;AAEO,MAAMC,wDAA6BC,2BAAAA,oBAAuC,CAAC;IAC9E,gBAAgBJ;IAChB,cAAc;QAACK;KAA8B;AACjD"}