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

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 +22 -22
  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,212 +1,227 @@
1
- import { describe, it, expect, beforeEach, vi } from "vitest";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
2
  import { Container } from "@webiny/di";
3
3
  import { LoadingRepository } from "@webiny/app-utils";
4
4
  import { ROOT_FOLDER } from "../../../constants.js";
5
- import { ListCache } from "../cache/index.js";
6
- import { LoadedCache } from "../cache/index.js";
7
- import { FoldersContext } from "../abstractions.js";
8
- import { FoldersCache } from "../abstractions.js";
9
- import { FoldersLoadingRepository } from "../abstractions.js";
5
+ import { ListCache, LoadedCache } from "../cache/index.js";
6
+ import { FoldersCache, FoldersContext, FoldersLoadingRepository, LoadedFoldersCache } from "../abstractions.js";
10
7
  import { ListFoldersByParentIdsFeature } from "./feature.js";
11
- import { ListFoldersByParentIdsGateway } from "./abstractions.js";
12
- import { ListFoldersByParentIdsUseCase } from "./abstractions.js";
13
- import { LoadedFoldersCache } from "../abstractions.js";
14
- describe("ListFoldersByParentIds", () => {
15
- const type = "abc";
16
- function setupTest(gateway) {
17
- const container = new Container();
18
- const foldersCache = new ListCache();
19
- const loadedFoldersCache = new LoadedCache();
20
- container.registerInstance(FoldersContext, {
21
- type
22
- });
23
- container.registerInstance(FoldersCache, foldersCache);
24
- container.registerInstance(LoadedFoldersCache, loadedFoldersCache);
25
- container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
26
- ListFoldersByParentIdsFeature.register(container);
27
- container.registerInstance(ListFoldersByParentIdsGateway, gateway);
28
- return {
29
- container,
30
- foldersCache,
31
- useCase: container.resolve(ListFoldersByParentIdsUseCase)
32
- };
33
- }
34
- beforeEach(() => {
35
- vi.resetAllMocks();
36
- });
37
- class ListFoldersByParentIdsMockGateway {
38
- // Had to use `any` as the mock folders passed in the tests below are also partial objects.
39
- constructor(mockResponse) {
40
- this.mockResponse = mockResponse;
41
- }
42
- setMockResponse(mockResponse) {
43
- this.mockResponse = mockResponse;
44
- }
45
- async execute() {
46
- return this.mockResponse;
47
- }
48
- }
49
- it("should list folders from `ROOT` level if parentIds is `undefined`", async () => {
50
- const gateway = new ListFoldersByParentIdsMockGateway([{
51
- id: "folder-1",
52
- title: "Folder 1",
53
- slug: "folder-1",
54
- parentId: null,
55
- type
56
- }, {
57
- id: "folder-2",
58
- title: "Folder 2",
59
- slug: "folder-2",
60
- parentId: null,
61
- type
62
- }, {
63
- id: "folder-3",
64
- title: "Folder 3",
65
- slug: "folder-3",
66
- parentId: null,
67
- type
68
- }]);
69
- const spy = vi.spyOn(gateway, "execute");
70
- const {
71
- useCase,
72
- foldersCache
73
- } = setupTest(gateway);
74
- expect(foldersCache.hasItems()).toBe(false);
75
- await useCase.execute();
76
- expect(spy).toHaveBeenCalledTimes(1);
77
- expect(spy).toHaveBeenCalledWith(type, [ROOT_FOLDER]);
78
- expect(foldersCache.hasItems()).toBe(true);
79
- expect(foldersCache.count()).toEqual(3);
80
-
81
- // This call should be idempotent: the number of elements in cache should not change
82
- await useCase.execute();
83
- expect(foldersCache.count()).toEqual(3);
84
- });
85
- it("should list folders from the provided `parentIds`", async () => {
86
- const gateway = new ListFoldersByParentIdsMockGateway([{
87
- id: "folder-1",
88
- title: "Folder 1",
89
- slug: "folder-1",
90
- parentId: "folder-0",
91
- type
92
- }, {
93
- id: "folder-2",
94
- title: "Folder 2",
95
- slug: "folder-1",
96
- parentId: "folder-0",
97
- type
98
- }, {
99
- id: "folder-3",
100
- title: "Folder 3",
101
- slug: "folder-3",
102
- parentId: "folder-0",
103
- type
104
- }]);
105
- const spy = vi.spyOn(gateway, "execute");
106
- const {
107
- useCase,
108
- foldersCache
109
- } = setupTest(gateway);
110
- expect(foldersCache.hasItems()).toBe(false);
111
- await useCase.execute(["folder-0"]);
112
- expect(spy).toHaveBeenCalledTimes(1);
113
- expect(spy).toHaveBeenCalledWith(type, ["folder-0"]);
114
- expect(foldersCache.hasItems()).toBe(true);
115
- expect(foldersCache.count()).toEqual(3);
116
-
117
- // The number of folders in cache should increase, since we are changing the parentIds.
118
- gateway.setMockResponse([{
119
- id: "folder-4",
120
- title: "Folder 4",
121
- slug: "folder-4",
122
- parentId: "folder-1",
123
- type
124
- }, {
125
- id: "folder-5",
126
- title: "Folder 5",
127
- slug: "folder-5",
128
- parentId: "folder-1",
129
- type
130
- }, {
131
- id: "folder-6",
132
- title: "Folder 6",
133
- slug: "folder-6",
134
- parentId: "folder-1",
135
- type
136
- }]);
137
- await useCase.execute(["folder-1"]);
138
- expect(foldersCache.count()).toEqual(6);
139
- });
140
- it("should list folders from missing `parentIds` stored in cache", async () => {
141
- const gateway = new ListFoldersByParentIdsMockGateway([{
142
- id: "folder-1",
143
- title: "Folder 1",
144
- slug: "folder-1",
145
- parentId: "folder-0",
146
- type
147
- }, {
148
- id: "folder-2",
149
- title: "Folder 2",
150
- slug: "folder-2",
151
- parentId: "folder-1",
152
- type
153
- }]);
154
- const spy = vi.spyOn(gateway, "execute");
155
- const {
156
- useCase
157
- } = setupTest(gateway);
158
-
159
- // Execute the useCase 3 times and check the gateway is invoked only when needed
160
- await useCase.execute(["folder-0", "folder-1"]);
161
- gateway.setMockResponse([{
162
- id: "folder-3",
163
- title: "Folder 3",
164
- slug: "folder-3",
165
- parentId: "folder-2",
166
- type
167
- }]);
168
- await useCase.execute(["folder-0", "folder-1", "folder-2"]);
169
- await useCase.execute(["folder-0", "folder-1", "folder-2"]);
170
- expect(spy).toHaveBeenNthCalledWith(1, type, ["folder-0", "folder-1"]);
171
- expect(spy).toHaveBeenNthCalledWith(2, type, ["folder-2"]);
172
- expect(gateway.execute).not.toHaveBeenCalledTimes(3);
173
- });
174
- it("should return empty array if no folders are found", async () => {
175
- class ListFoldersByParentIdsEmptyMockGateway {
176
- async execute() {
177
- return [];
178
- }
8
+ import { ListFoldersByParentIdsGateway, ListFoldersByParentIdsUseCase } from "./abstractions.js";
9
+ describe("ListFoldersByParentIds", ()=>{
10
+ const type = "abc";
11
+ function setupTest(gateway) {
12
+ const container = new Container();
13
+ const foldersCache = new ListCache();
14
+ const loadedFoldersCache = new LoadedCache();
15
+ container.registerInstance(FoldersContext, {
16
+ type
17
+ });
18
+ container.registerInstance(FoldersCache, foldersCache);
19
+ container.registerInstance(LoadedFoldersCache, loadedFoldersCache);
20
+ container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
21
+ ListFoldersByParentIdsFeature.register(container);
22
+ container.registerInstance(ListFoldersByParentIdsGateway, gateway);
23
+ return {
24
+ container,
25
+ foldersCache,
26
+ useCase: container.resolve(ListFoldersByParentIdsUseCase)
27
+ };
179
28
  }
180
- const gateway = new ListFoldersByParentIdsEmptyMockGateway();
181
- const spy = vi.spyOn(gateway, "execute");
182
- const {
183
- useCase,
184
- foldersCache
185
- } = setupTest(gateway);
186
- expect(foldersCache.hasItems()).toBe(false);
187
- await useCase.execute();
188
- expect(spy).toHaveBeenCalledTimes(1);
189
- expect(foldersCache.hasItems()).toBe(false);
190
- const items = foldersCache.getItems();
191
- expect(items.length).toEqual(0);
192
- });
193
- it("should handle gateway errors gracefully", async () => {
194
- class ListFoldersByParentIdsErrorMockGateway {
195
- async execute() {
196
- throw new Error("Gateway error");
197
- }
29
+ beforeEach(()=>{
30
+ vi.resetAllMocks();
31
+ });
32
+ class ListFoldersByParentIdsMockGateway {
33
+ constructor(mockResponse){
34
+ this.mockResponse = mockResponse;
35
+ }
36
+ setMockResponse(mockResponse) {
37
+ this.mockResponse = mockResponse;
38
+ }
39
+ async execute() {
40
+ return this.mockResponse;
41
+ }
198
42
  }
199
- const errorGateway = new ListFoldersByParentIdsErrorMockGateway();
200
- const spy = vi.spyOn(errorGateway, "execute");
201
- const {
202
- useCase,
203
- foldersCache
204
- } = setupTest(errorGateway);
205
- expect(foldersCache.hasItems()).toBe(false);
206
- await expect(useCase.execute()).rejects.toThrow("Gateway error");
207
- expect(spy).toHaveBeenCalledTimes(1);
208
- expect(foldersCache.hasItems()).toBe(false);
209
- });
43
+ it("should list folders from `ROOT` level if parentIds is `undefined`", async ()=>{
44
+ const gateway = new ListFoldersByParentIdsMockGateway([
45
+ {
46
+ id: "folder-1",
47
+ title: "Folder 1",
48
+ slug: "folder-1",
49
+ parentId: null,
50
+ type
51
+ },
52
+ {
53
+ id: "folder-2",
54
+ title: "Folder 2",
55
+ slug: "folder-2",
56
+ parentId: null,
57
+ type
58
+ },
59
+ {
60
+ id: "folder-3",
61
+ title: "Folder 3",
62
+ slug: "folder-3",
63
+ parentId: null,
64
+ type
65
+ }
66
+ ]);
67
+ const spy = vi.spyOn(gateway, "execute");
68
+ const { useCase, foldersCache } = setupTest(gateway);
69
+ expect(foldersCache.hasItems()).toBe(false);
70
+ await useCase.execute();
71
+ expect(spy).toHaveBeenCalledTimes(1);
72
+ expect(spy).toHaveBeenCalledWith(type, [
73
+ ROOT_FOLDER
74
+ ]);
75
+ expect(foldersCache.hasItems()).toBe(true);
76
+ expect(foldersCache.count()).toEqual(3);
77
+ await useCase.execute();
78
+ expect(foldersCache.count()).toEqual(3);
79
+ });
80
+ it("should list folders from the provided `parentIds`", async ()=>{
81
+ const gateway = new ListFoldersByParentIdsMockGateway([
82
+ {
83
+ id: "folder-1",
84
+ title: "Folder 1",
85
+ slug: "folder-1",
86
+ parentId: "folder-0",
87
+ type
88
+ },
89
+ {
90
+ id: "folder-2",
91
+ title: "Folder 2",
92
+ slug: "folder-1",
93
+ parentId: "folder-0",
94
+ type
95
+ },
96
+ {
97
+ id: "folder-3",
98
+ title: "Folder 3",
99
+ slug: "folder-3",
100
+ parentId: "folder-0",
101
+ type
102
+ }
103
+ ]);
104
+ const spy = vi.spyOn(gateway, "execute");
105
+ const { useCase, foldersCache } = setupTest(gateway);
106
+ expect(foldersCache.hasItems()).toBe(false);
107
+ await useCase.execute([
108
+ "folder-0"
109
+ ]);
110
+ expect(spy).toHaveBeenCalledTimes(1);
111
+ expect(spy).toHaveBeenCalledWith(type, [
112
+ "folder-0"
113
+ ]);
114
+ expect(foldersCache.hasItems()).toBe(true);
115
+ expect(foldersCache.count()).toEqual(3);
116
+ gateway.setMockResponse([
117
+ {
118
+ id: "folder-4",
119
+ title: "Folder 4",
120
+ slug: "folder-4",
121
+ parentId: "folder-1",
122
+ type
123
+ },
124
+ {
125
+ id: "folder-5",
126
+ title: "Folder 5",
127
+ slug: "folder-5",
128
+ parentId: "folder-1",
129
+ type
130
+ },
131
+ {
132
+ id: "folder-6",
133
+ title: "Folder 6",
134
+ slug: "folder-6",
135
+ parentId: "folder-1",
136
+ type
137
+ }
138
+ ]);
139
+ await useCase.execute([
140
+ "folder-1"
141
+ ]);
142
+ expect(foldersCache.count()).toEqual(6);
143
+ });
144
+ it("should list folders from missing `parentIds` stored in cache", async ()=>{
145
+ const gateway = new ListFoldersByParentIdsMockGateway([
146
+ {
147
+ id: "folder-1",
148
+ title: "Folder 1",
149
+ slug: "folder-1",
150
+ parentId: "folder-0",
151
+ type
152
+ },
153
+ {
154
+ id: "folder-2",
155
+ title: "Folder 2",
156
+ slug: "folder-2",
157
+ parentId: "folder-1",
158
+ type
159
+ }
160
+ ]);
161
+ const spy = vi.spyOn(gateway, "execute");
162
+ const { useCase } = setupTest(gateway);
163
+ await useCase.execute([
164
+ "folder-0",
165
+ "folder-1"
166
+ ]);
167
+ gateway.setMockResponse([
168
+ {
169
+ id: "folder-3",
170
+ title: "Folder 3",
171
+ slug: "folder-3",
172
+ parentId: "folder-2",
173
+ type
174
+ }
175
+ ]);
176
+ await useCase.execute([
177
+ "folder-0",
178
+ "folder-1",
179
+ "folder-2"
180
+ ]);
181
+ await useCase.execute([
182
+ "folder-0",
183
+ "folder-1",
184
+ "folder-2"
185
+ ]);
186
+ expect(spy).toHaveBeenNthCalledWith(1, type, [
187
+ "folder-0",
188
+ "folder-1"
189
+ ]);
190
+ expect(spy).toHaveBeenNthCalledWith(2, type, [
191
+ "folder-2"
192
+ ]);
193
+ expect(gateway.execute).not.toHaveBeenCalledTimes(3);
194
+ });
195
+ it("should return empty array if no folders are found", async ()=>{
196
+ class ListFoldersByParentIdsEmptyMockGateway {
197
+ async execute() {
198
+ return [];
199
+ }
200
+ }
201
+ const gateway = new ListFoldersByParentIdsEmptyMockGateway();
202
+ const spy = vi.spyOn(gateway, "execute");
203
+ const { useCase, foldersCache } = setupTest(gateway);
204
+ expect(foldersCache.hasItems()).toBe(false);
205
+ await useCase.execute();
206
+ expect(spy).toHaveBeenCalledTimes(1);
207
+ expect(foldersCache.hasItems()).toBe(false);
208
+ const items = foldersCache.getItems();
209
+ expect(items.length).toEqual(0);
210
+ });
211
+ it("should handle gateway errors gracefully", async ()=>{
212
+ class ListFoldersByParentIdsErrorMockGateway {
213
+ async execute() {
214
+ throw new Error("Gateway error");
215
+ }
216
+ }
217
+ const errorGateway = new ListFoldersByParentIdsErrorMockGateway();
218
+ const spy = vi.spyOn(errorGateway, "execute");
219
+ const { useCase, foldersCache } = setupTest(errorGateway);
220
+ expect(foldersCache.hasItems()).toBe(false);
221
+ await expect(useCase.execute()).rejects.toThrow("Gateway error");
222
+ expect(spy).toHaveBeenCalledTimes(1);
223
+ expect(foldersCache.hasItems()).toBe(false);
224
+ });
210
225
  });
211
226
 
212
227
  //# sourceMappingURL=ListFoldersByParentIds.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","expect","beforeEach","vi","Container","LoadingRepository","ROOT_FOLDER","ListCache","LoadedCache","FoldersContext","FoldersCache","FoldersLoadingRepository","ListFoldersByParentIdsFeature","ListFoldersByParentIdsGateway","ListFoldersByParentIdsUseCase","LoadedFoldersCache","type","setupTest","gateway","container","foldersCache","loadedFoldersCache","registerInstance","register","useCase","resolve","resetAllMocks","ListFoldersByParentIdsMockGateway","constructor","mockResponse","setMockResponse","execute","id","title","slug","parentId","spy","spyOn","hasItems","toBe","toHaveBeenCalledTimes","toHaveBeenCalledWith","count","toEqual","toHaveBeenNthCalledWith","not","ListFoldersByParentIdsEmptyMockGateway","items","getItems","length","ListFoldersByParentIdsErrorMockGateway","Error","errorGateway","rejects","toThrow"],"sources":["ListFoldersByParentIds.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { ListCache } from \"~/features/folders/cache/index.js\";\nimport { LoadedCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { FoldersContext } from \"~/features/folders/abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\nimport { ListFoldersByParentIdsFeature } from \"./feature.js\";\nimport { ListFoldersByParentIdsGateway } from \"./abstractions.js\";\nimport { ListFoldersByParentIdsUseCase } from \"./abstractions.js\";\nimport { LoadedFoldersCache } from \"~/features/folders/abstractions.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\n\ndescribe(\"ListFoldersByParentIds\", () => {\n const type = \"abc\";\n\n function setupTest(gateway: ListFoldersByParentIdsGateway.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 ListFoldersByParentIdsFeature.register(container);\n container.registerInstance(ListFoldersByParentIdsGateway, gateway);\n\n return {\n container,\n foldersCache,\n useCase: container.resolve(ListFoldersByParentIdsUseCase)\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n class ListFoldersByParentIdsMockGateway implements ListFoldersByParentIdsGateway.Interface {\n mockResponse: FolderDto[];\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 FolderDto[];\n }\n\n setMockResponse(mockResponse: any) {\n this.mockResponse = mockResponse as FolderDto[];\n }\n\n async execute() {\n return this.mockResponse;\n }\n }\n\n it(\"should list folders from `ROOT` level if parentIds is `undefined`\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\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 id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: null,\n type\n }\n ]);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, [ROOT_FOLDER]);\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(3);\n\n // This call should be idempotent: the number of elements in cache should not change\n await useCase.execute();\n expect(foldersCache.count()).toEqual(3);\n });\n\n it(\"should list folders from the provided `parentIds`\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-0\",\n type\n }\n ]);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.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(3);\n\n // The number of folders in cache should increase, since we are changing the parentIds.\n gateway.setMockResponse([\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-6\",\n title: \"Folder 6\",\n slug: \"folder-6\",\n parentId: \"folder-1\",\n type\n }\n ]);\n\n await useCase.execute([\"folder-1\"]);\n expect(foldersCache.count()).toEqual(6);\n });\n\n it(\"should list folders from missing `parentIds` stored in cache\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\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\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase } = setupTest(gateway);\n\n // Execute the useCase 3 times and check the gateway is invoked only when needed\n await useCase.execute([\"folder-0\", \"folder-1\"]);\n\n gateway.setMockResponse([\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ]);\n\n await useCase.execute([\"folder-0\", \"folder-1\", \"folder-2\"]);\n await useCase.execute([\"folder-0\", \"folder-1\", \"folder-2\"]);\n\n expect(spy).toHaveBeenNthCalledWith(1, type, [\"folder-0\", \"folder-1\"]);\n expect(spy).toHaveBeenNthCalledWith(2, type, [\"folder-2\"]);\n expect(gateway.execute).not.toHaveBeenCalledTimes(3);\n });\n\n it(\"should return empty array if no folders are found\", async () => {\n class ListFoldersByParentIdsEmptyMockGateway\n implements ListFoldersByParentIdsGateway.Interface\n {\n async execute() {\n return [];\n }\n }\n\n const gateway = new ListFoldersByParentIdsEmptyMockGateway();\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(0);\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n class ListFoldersByParentIdsErrorMockGateway\n implements ListFoldersByParentIdsGateway.Interface\n {\n async execute(): Promise<FolderDto[]> {\n throw new Error(\"Gateway error\");\n }\n }\n\n const errorGateway = new ListFoldersByParentIdsErrorMockGateway();\n const spy = vi.spyOn(errorGateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(errorGateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await expect(useCase.execute()).rejects.toThrow(\"Gateway error\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,WAAW;AACpB,SAASC,SAAS;AAClB,SAASC,WAAW;AAEpB,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,wBAAwB;AACjC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,kBAAkB;AAG3BhB,QAAQ,CAAC,wBAAwB,EAAE,MAAM;EACrC,MAAMiB,IAAI,GAAG,KAAK;EAElB,SAASC,SAASA,CAACC,OAAgD,EAAE;IACjE,MAAMC,SAAS,GAAG,IAAIf,SAAS,CAAC,CAAC;IACjC,MAAMgB,YAAY,GAAG,IAAIb,SAAS,CAAS,CAAC;IAC5C,MAAMc,kBAAkB,GAAG,IAAIb,WAAW,CAAC,CAAC;IAE5CW,SAAS,CAACG,gBAAgB,CAACb,cAAc,EAAE;MAAEO;IAAK,CAAC,CAAC;IACpDG,SAAS,CAACG,gBAAgB,CAACZ,YAAY,EAAEU,YAAY,CAAC;IACtDD,SAAS,CAACG,gBAAgB,CAACP,kBAAkB,EAAEM,kBAAkB,CAAC;IAClEF,SAAS,CAACG,gBAAgB,CAACX,wBAAwB,EAAE,IAAIN,iBAAiB,CAAC,CAAC,CAAC;IAE7EO,6BAA6B,CAACW,QAAQ,CAACJ,SAAS,CAAC;IACjDA,SAAS,CAACG,gBAAgB,CAACT,6BAA6B,EAAEK,OAAO,CAAC;IAElE,OAAO;MACHC,SAAS;MACTC,YAAY;MACZI,OAAO,EAAEL,SAAS,CAACM,OAAO,CAACX,6BAA6B;IAC5D,CAAC;EACL;EAEAZ,UAAU,CAAC,MAAM;IACbC,EAAE,CAACuB,aAAa,CAAC,CAAC;EACtB,CAAC,CAAC;EAEF,MAAMC,iCAAiC,CAAoD;IAGvF;IACAC,WAAWA,CAACC,YAAiB,EAAE;MAC3B,IAAI,CAACA,YAAY,GAAGA,YAA2B;IACnD;IAEAC,eAAeA,CAACD,YAAiB,EAAE;MAC/B,IAAI,CAACA,YAAY,GAAGA,YAA2B;IACnD;IAEA,MAAME,OAAOA,CAAA,EAAG;MACZ,OAAO,IAAI,CAACF,YAAY;IAC5B;EACJ;EAEA7B,EAAE,CAAC,mEAAmE,EAAE,YAAY;IAChF,MAAMkB,OAAO,GAAG,IAAIS,iCAAiC,CAAC,CAClD;MACIK,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,IAAI;MACdnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,IAAI;MACdnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,IAAI;MACdnB;IACJ,CAAC,CACJ,CAAC;IAEF,MAAMoB,GAAG,GAAGjC,EAAE,CAACkC,KAAK,CAACnB,OAAO,EAAE,SAAS,CAAC;IAExC,MAAM;MAAEM,OAAO;MAAEJ;IAAa,CAAC,GAAGH,SAAS,CAACC,OAAO,CAAC;IAEpDjB,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;IAC3C,MAAMf,OAAO,CAACO,OAAO,CAAC,CAAC;IAEvB9B,MAAM,CAACmC,GAAG,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;IACpCvC,MAAM,CAACmC,GAAG,CAAC,CAACK,oBAAoB,CAACzB,IAAI,EAAE,CAACV,WAAW,CAAC,CAAC;IAErDL,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1CtC,MAAM,CAACmB,YAAY,CAACsB,KAAK,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;;IAEvC;IACA,MAAMnB,OAAO,CAACO,OAAO,CAAC,CAAC;IACvB9B,MAAM,CAACmB,YAAY,CAACsB,KAAK,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF3C,EAAE,CAAC,mDAAmD,EAAE,YAAY;IAChE,MAAMkB,OAAO,GAAG,IAAIS,iCAAiC,CAAC,CAClD;MACIK,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,CACJ,CAAC;IAEF,MAAMoB,GAAG,GAAGjC,EAAE,CAACkC,KAAK,CAACnB,OAAO,EAAE,SAAS,CAAC;IAExC,MAAM;MAAEM,OAAO;MAAEJ;IAAa,CAAC,GAAGH,SAAS,CAACC,OAAO,CAAC;IAEpDjB,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;IAC3C,MAAMf,OAAO,CAACO,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAEnC9B,MAAM,CAACmC,GAAG,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;IACpCvC,MAAM,CAACmC,GAAG,CAAC,CAACK,oBAAoB,CAACzB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IAEpDf,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1CtC,MAAM,CAACmB,YAAY,CAACsB,KAAK,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;;IAEvC;IACAzB,OAAO,CAACY,eAAe,CAAC,CACpB;MACIE,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,CACJ,CAAC;IAEF,MAAMQ,OAAO,CAACO,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IACnC9B,MAAM,CAACmB,YAAY,CAACsB,KAAK,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF3C,EAAE,CAAC,8DAA8D,EAAE,YAAY;IAC3E,MAAMkB,OAAO,GAAG,IAAIS,iCAAiC,CAAC,CAClD;MACIK,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,EACD;MACIgB,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,CACJ,CAAC;IAEF,MAAMoB,GAAG,GAAGjC,EAAE,CAACkC,KAAK,CAACnB,OAAO,EAAE,SAAS,CAAC;IAExC,MAAM;MAAEM;IAAQ,CAAC,GAAGP,SAAS,CAACC,OAAO,CAAC;;IAEtC;IACA,MAAMM,OAAO,CAACO,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE/Cb,OAAO,CAACY,eAAe,CAAC,CACpB;MACIE,EAAE,EAAE,UAAU;MACdC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE,UAAU;MACpBnB;IACJ,CAAC,CACJ,CAAC;IAEF,MAAMQ,OAAO,CAACO,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAMP,OAAO,CAACO,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAE3D9B,MAAM,CAACmC,GAAG,CAAC,CAACQ,uBAAuB,CAAC,CAAC,EAAE5B,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtEf,MAAM,CAACmC,GAAG,CAAC,CAACQ,uBAAuB,CAAC,CAAC,EAAE5B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1Df,MAAM,CAACiB,OAAO,CAACa,OAAO,CAAC,CAACc,GAAG,CAACL,qBAAqB,CAAC,CAAC,CAAC;EACxD,CAAC,CAAC;EAEFxC,EAAE,CAAC,mDAAmD,EAAE,YAAY;IAChE,MAAM8C,sCAAsC,CAE5C;MACI,MAAMf,OAAOA,CAAA,EAAG;QACZ,OAAO,EAAE;MACb;IACJ;IAEA,MAAMb,OAAO,GAAG,IAAI4B,sCAAsC,CAAC,CAAC;IAC5D,MAAMV,GAAG,GAAGjC,EAAE,CAACkC,KAAK,CAACnB,OAAO,EAAE,SAAS,CAAC;IAExC,MAAM;MAAEM,OAAO;MAAEJ;IAAa,CAAC,GAAGH,SAAS,CAACC,OAAO,CAAC;IAEpDjB,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;IAE3C,MAAMf,OAAO,CAACO,OAAO,CAAC,CAAC;IAEvB9B,MAAM,CAACmC,GAAG,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;IACpCvC,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;IAE3C,MAAMQ,KAAK,GAAG3B,YAAY,CAAC4B,QAAQ,CAAC,CAAC;IACrC/C,MAAM,CAAC8C,KAAK,CAACE,MAAM,CAAC,CAACN,OAAO,CAAC,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF3C,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACtD,MAAMkD,sCAAsC,CAE5C;MACI,MAAMnB,OAAOA,CAAA,EAAyB;QAClC,MAAM,IAAIoB,KAAK,CAAC,eAAe,CAAC;MACpC;IACJ;IAEA,MAAMC,YAAY,GAAG,IAAIF,sCAAsC,CAAC,CAAC;IACjE,MAAMd,GAAG,GAAGjC,EAAE,CAACkC,KAAK,CAACe,YAAY,EAAE,SAAS,CAAC;IAE7C,MAAM;MAAE5B,OAAO;MAAEJ;IAAa,CAAC,GAAGH,SAAS,CAACmC,YAAY,CAAC;IAEzDnD,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;IAE3C,MAAMtC,MAAM,CAACuB,OAAO,CAACO,OAAO,CAAC,CAAC,CAAC,CAACsB,OAAO,CAACC,OAAO,CAAC,eAAe,CAAC;IAEhErD,MAAM,CAACmC,GAAG,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;IACpCvC,MAAM,CAACmB,YAAY,CAACkB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;EAC/C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js","sources":["../../../../src/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { ListCache } from \"~/features/folders/cache/index.js\";\nimport { LoadedCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { FoldersContext } from \"~/features/folders/abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\nimport { ListFoldersByParentIdsFeature } from \"./feature.js\";\nimport { ListFoldersByParentIdsGateway } from \"./abstractions.js\";\nimport { ListFoldersByParentIdsUseCase } from \"./abstractions.js\";\nimport { LoadedFoldersCache } from \"~/features/folders/abstractions.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\n\ndescribe(\"ListFoldersByParentIds\", () => {\n const type = \"abc\";\n\n function setupTest(gateway: ListFoldersByParentIdsGateway.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 ListFoldersByParentIdsFeature.register(container);\n container.registerInstance(ListFoldersByParentIdsGateway, gateway);\n\n return {\n container,\n foldersCache,\n useCase: container.resolve(ListFoldersByParentIdsUseCase)\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n class ListFoldersByParentIdsMockGateway implements ListFoldersByParentIdsGateway.Interface {\n mockResponse: FolderDto[];\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 FolderDto[];\n }\n\n setMockResponse(mockResponse: any) {\n this.mockResponse = mockResponse as FolderDto[];\n }\n\n async execute() {\n return this.mockResponse;\n }\n }\n\n it(\"should list folders from `ROOT` level if parentIds is `undefined`\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\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 id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: null,\n type\n }\n ]);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(spy).toHaveBeenCalledWith(type, [ROOT_FOLDER]);\n\n expect(foldersCache.hasItems()).toBe(true);\n expect(foldersCache.count()).toEqual(3);\n\n // This call should be idempotent: the number of elements in cache should not change\n await useCase.execute();\n expect(foldersCache.count()).toEqual(3);\n });\n\n it(\"should list folders from the provided `parentIds`\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-0\",\n type\n }\n ]);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.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(3);\n\n // The number of folders in cache should increase, since we are changing the parentIds.\n gateway.setMockResponse([\n {\n id: \"folder-4\",\n title: \"Folder 4\",\n slug: \"folder-4\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-5\",\n title: \"Folder 5\",\n slug: \"folder-5\",\n parentId: \"folder-1\",\n type\n },\n {\n id: \"folder-6\",\n title: \"Folder 6\",\n slug: \"folder-6\",\n parentId: \"folder-1\",\n type\n }\n ]);\n\n await useCase.execute([\"folder-1\"]);\n expect(foldersCache.count()).toEqual(6);\n });\n\n it(\"should list folders from missing `parentIds` stored in cache\", async () => {\n const gateway = new ListFoldersByParentIdsMockGateway([\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n parentId: \"folder-0\",\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\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase } = setupTest(gateway);\n\n // Execute the useCase 3 times and check the gateway is invoked only when needed\n await useCase.execute([\"folder-0\", \"folder-1\"]);\n\n gateway.setMockResponse([\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n parentId: \"folder-2\",\n type\n }\n ]);\n\n await useCase.execute([\"folder-0\", \"folder-1\", \"folder-2\"]);\n await useCase.execute([\"folder-0\", \"folder-1\", \"folder-2\"]);\n\n expect(spy).toHaveBeenNthCalledWith(1, type, [\"folder-0\", \"folder-1\"]);\n expect(spy).toHaveBeenNthCalledWith(2, type, [\"folder-2\"]);\n expect(gateway.execute).not.toHaveBeenCalledTimes(3);\n });\n\n it(\"should return empty array if no folders are found\", async () => {\n class ListFoldersByParentIdsEmptyMockGateway\n implements ListFoldersByParentIdsGateway.Interface\n {\n async execute() {\n return [];\n }\n }\n\n const gateway = new ListFoldersByParentIdsEmptyMockGateway();\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(gateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(0);\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n class ListFoldersByParentIdsErrorMockGateway\n implements ListFoldersByParentIdsGateway.Interface\n {\n async execute(): Promise<FolderDto[]> {\n throw new Error(\"Gateway error\");\n }\n }\n\n const errorGateway = new ListFoldersByParentIdsErrorMockGateway();\n const spy = vi.spyOn(errorGateway, \"execute\");\n\n const { useCase, foldersCache } = setupTest(errorGateway);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await expect(useCase.execute()).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","ListFoldersByParentIdsFeature","ListFoldersByParentIdsGateway","ListFoldersByParentIdsUseCase","beforeEach","vi","ListFoldersByParentIdsMockGateway","mockResponse","it","spy","useCase","expect","ROOT_FOLDER","ListFoldersByParentIdsEmptyMockGateway","items","ListFoldersByParentIdsErrorMockGateway","Error","errorGateway"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import gql from "graphql-tag";
1
+ import graphql_tag from "graphql-tag";
2
2
  import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
3
3
  import { RootFolder } from "../../../domain/folder/RootFolder.js";
4
4
  import { FolderModelProvider } from "../abstractions.js";
5
- import { ListFoldersByParentIdsGateway as GatewayAbstraction } from "./abstractions.js";
6
- export const LIST_FOLDERS_BY_PARENT_IDS = FOLDER_FIELDS => gql`
5
+ import { ListFoldersByParentIdsGateway } from "./abstractions.js";
6
+ const LIST_FOLDERS_BY_PARENT_IDS = (FOLDER_FIELDS)=>graphql_tag`
7
7
  query ListFoldersByParentIds($type: String!, $parentIds_in: [ID!]!, $limit: Int!) {
8
8
  aco {
9
9
  listFolders(where: { type: $type, parentId_in: $parentIds_in }, limit: $limit) {
@@ -18,39 +18,37 @@ export const LIST_FOLDERS_BY_PARENT_IDS = FOLDER_FIELDS => gql`
18
18
  }
19
19
  `;
20
20
  class ListFoldersByParentIdsGqlGatewayImpl {
21
- constructor(client, folderModelProvider) {
22
- this.client = client;
23
- this.folderModelProvider = folderModelProvider;
24
- }
25
- async execute(type, parentIds) {
26
- const fields = await this.folderModelProvider.getGraphQLSelection();
27
- const {
28
- data: response
29
- } = await this.client.query({
30
- query: LIST_FOLDERS_BY_PARENT_IDS(fields),
31
- variables: {
32
- type,
33
- parentIds_in: parentIds,
34
- limit: 10000
35
- },
36
- fetchPolicy: "network-only"
37
- });
38
- if (!response) {
39
- throw new Error("Network error while listing folders.");
21
+ constructor(client, folderModelProvider){
22
+ this.client = client;
23
+ this.folderModelProvider = folderModelProvider;
40
24
  }
41
- const {
42
- data,
43
- error
44
- } = response.aco.listFolders;
45
- if (!data) {
46
- throw new Error(error?.message || "Could not fetch folders");
25
+ async execute(type, parentIds) {
26
+ const fields = await this.folderModelProvider.getGraphQLSelection();
27
+ const { data: response } = await this.client.query({
28
+ query: LIST_FOLDERS_BY_PARENT_IDS(fields),
29
+ variables: {
30
+ type,
31
+ parentIds_in: parentIds,
32
+ limit: 10000
33
+ },
34
+ fetchPolicy: "network-only"
35
+ });
36
+ if (!response) throw new Error("Network error while listing folders.");
37
+ const { data, error } = response.aco.listFolders;
38
+ if (!data) throw new Error(error?.message || "Could not fetch folders");
39
+ return [
40
+ RootFolder.create(),
41
+ ...data || []
42
+ ];
47
43
  }
48
- return [RootFolder.create(), ...(data || [])];
49
- }
50
44
  }
51
- export const ListFoldersByParentIdsGqlGateway = GatewayAbstraction.createImplementation({
52
- implementation: ListFoldersByParentIdsGqlGatewayImpl,
53
- dependencies: [ApolloClient, FolderModelProvider]
45
+ const ListFoldersByParentIdsGqlGateway = ListFoldersByParentIdsGateway.createImplementation({
46
+ implementation: ListFoldersByParentIdsGqlGatewayImpl,
47
+ dependencies: [
48
+ ApolloClient,
49
+ FolderModelProvider
50
+ ]
54
51
  });
52
+ export { LIST_FOLDERS_BY_PARENT_IDS, ListFoldersByParentIdsGqlGateway };
55
53
 
56
54
  //# sourceMappingURL=ListFoldersByParentIdsGqlGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["gql","ApolloClient","RootFolder","FolderModelProvider","ListFoldersByParentIdsGateway","GatewayAbstraction","LIST_FOLDERS_BY_PARENT_IDS","FOLDER_FIELDS","ListFoldersByParentIdsGqlGatewayImpl","constructor","client","folderModelProvider","execute","type","parentIds","fields","getGraphQLSelection","data","response","query","variables","parentIds_in","limit","fetchPolicy","Error","error","aco","listFolders","message","create","ListFoldersByParentIdsGqlGateway","createImplementation","implementation","dependencies"],"sources":["ListFoldersByParentIdsGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApolloClient } from \"@webiny/app-admin/features/apolloClient/abstraction.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"~/domain/folder/RootFolder.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { ListFoldersByParentIdsGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\nexport interface ListFoldersByParentIdsResponse {\n aco: {\n listFolders: {\n data: FolderDto[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersByParentIdsQueryVariables {\n type: string;\n parentIds_in: string[];\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport const LIST_FOLDERS_BY_PARENT_IDS = (FOLDER_FIELDS: string) => gql`\n query ListFoldersByParentIds($type: String!, $parentIds_in: [ID!]!, $limit: Int!) {\n aco {\n listFolders(where: { type: $type, parentId_in: $parentIds_in }, limit: $limit) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass ListFoldersByParentIdsGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: ApolloClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string, parentIds: string[]) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const { data: response } = await this.client.query<\n ListFoldersByParentIdsResponse,\n ListFoldersByParentIdsQueryVariables\n >({\n query: LIST_FOLDERS_BY_PARENT_IDS(fields),\n variables: {\n type,\n parentIds_in: parentIds,\n limit: 10000\n },\n fetchPolicy: \"network-only\"\n });\n\n if (!response) {\n throw new Error(\"Network error while listing folders.\");\n }\n\n const { data, error } = response.aco.listFolders;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch folders\");\n }\n\n return [RootFolder.create(), ...(data || [])];\n }\n}\n\nexport const ListFoldersByParentIdsGqlGateway = GatewayAbstraction.createImplementation({\n implementation: ListFoldersByParentIdsGqlGatewayImpl,\n dependencies: [ApolloClient, FolderModelProvider]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAASC,YAAY,QAAQ,wDAAwD;AAErF,SAASC,UAAU;AACnB,SAASC,mBAAmB;AAC5B,SAASC,6BAA6B,IAAIC,kBAAkB;AAoB5D,OAAO,MAAMC,0BAA0B,GAAIC,aAAqB,IAAKP,GAAG;AACxE;AACA;AACA;AACA,uBAAuBO,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,oCAAoC,CAAyC;EAC/EC,WAAWA,CACCC,MAA8B,EAC9BC,mBAAkD,EAC5D;IAAA,KAFUD,MAA8B,GAA9BA,MAA8B;IAAA,KAC9BC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,IAAY,EAAEC,SAAmB,EAAE;IAC7C,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,mBAAmB,CAACK,mBAAmB,CAAC,CAAC;IAEnE,MAAM;MAAEC,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACR,MAAM,CAACS,KAAK,CAGhD;MACEA,KAAK,EAAEb,0BAA0B,CAACS,MAAM,CAAC;MACzCK,SAAS,EAAE;QACPP,IAAI;QACJQ,YAAY,EAAEP,SAAS;QACvBQ,KAAK,EAAE;MACX,CAAC;MACDC,WAAW,EAAE;IACjB,CAAC,CAAC;IAEF,IAAI,CAACL,QAAQ,EAAE;MACX,MAAM,IAAIM,KAAK,CAAC,sCAAsC,CAAC;IAC3D;IAEA,MAAM;MAAEP,IAAI;MAAEQ;IAAM,CAAC,GAAGP,QAAQ,CAACQ,GAAG,CAACC,WAAW;IAEhD,IAAI,CAACV,IAAI,EAAE;MACP,MAAM,IAAIO,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,yBAAyB,CAAC;IAChE;IAEA,OAAO,CAAC1B,UAAU,CAAC2B,MAAM,CAAC,CAAC,EAAE,IAAIZ,IAAI,IAAI,EAAE,CAAC,CAAC;EACjD;AACJ;AAEA,OAAO,MAAMa,gCAAgC,GAAGzB,kBAAkB,CAAC0B,oBAAoB,CAAC;EACpFC,cAAc,EAAExB,oCAAoC;EACpDyB,YAAY,EAAE,CAAChC,YAAY,EAAEE,mBAAmB;AACpD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js","sources":["../../../../src/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApolloClient } from \"@webiny/app-admin/features/apolloClient/abstraction.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"~/domain/folder/RootFolder.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { ListFoldersByParentIdsGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\nexport interface ListFoldersByParentIdsResponse {\n aco: {\n listFolders: {\n data: FolderDto[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersByParentIdsQueryVariables {\n type: string;\n parentIds_in: string[];\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport const LIST_FOLDERS_BY_PARENT_IDS = (FOLDER_FIELDS: string) => gql`\n query ListFoldersByParentIds($type: String!, $parentIds_in: [ID!]!, $limit: Int!) {\n aco {\n listFolders(where: { type: $type, parentId_in: $parentIds_in }, limit: $limit) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass ListFoldersByParentIdsGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: ApolloClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string, parentIds: string[]) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const { data: response } = await this.client.query<\n ListFoldersByParentIdsResponse,\n ListFoldersByParentIdsQueryVariables\n >({\n query: LIST_FOLDERS_BY_PARENT_IDS(fields),\n variables: {\n type,\n parentIds_in: parentIds,\n limit: 10000\n },\n fetchPolicy: \"network-only\"\n });\n\n if (!response) {\n throw new Error(\"Network error while listing folders.\");\n }\n\n const { data, error } = response.aco.listFolders;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch folders\");\n }\n\n return [RootFolder.create(), ...(data || [])];\n }\n}\n\nexport const ListFoldersByParentIdsGqlGateway = GatewayAbstraction.createImplementation({\n implementation: ListFoldersByParentIdsGqlGatewayImpl,\n dependencies: [ApolloClient, FolderModelProvider]\n});\n"],"names":["LIST_FOLDERS_BY_PARENT_IDS","FOLDER_FIELDS","gql","ListFoldersByParentIdsGqlGatewayImpl","client","folderModelProvider","type","parentIds","fields","response","Error","data","error","RootFolder","ListFoldersByParentIdsGqlGateway","GatewayAbstraction","ApolloClient","FolderModelProvider"],"mappings":";;;;;AAyBO,MAAMA,6BAA6B,CAACC,gBAA0BC,WAAG,CAAC;;;;qBAIpD,EAAED,cAAc;;;;;;;;;AASrC,CAAC;AAED,MAAME;IACF,YACYC,MAA8B,EAC9BC,mBAAkD,CAC5D;aAFUD,MAAM,GAANA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,IAAY,EAAEC,SAAmB,EAAE;QAC7C,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB;QAEjE,MAAM,EAAE,MAAMC,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAGhD;YACE,OAAOT,2BAA2BQ;YAClC,WAAW;gBACPF;gBACA,cAAcC;gBACd,OAAO;YACX;YACA,aAAa;QACjB;QAEA,IAAI,CAACE,UACD,MAAM,IAAIC,MAAM;QAGpB,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGH,SAAS,GAAG,CAAC,WAAW;QAEhD,IAAI,CAACE,MACD,MAAM,IAAID,MAAME,OAAO,WAAW;QAGtC,OAAO;YAACC,WAAW,MAAM;eAAQF,QAAQ,EAAE;SAAE;IACjD;AACJ;AAEO,MAAMG,mCAAmCC,8BAAAA,oBAAuC,CAAC;IACpF,gBAAgBZ;IAChB,cAAc;QAACa;QAAcC;KAAoB;AACrD"}
@@ -1,20 +1,25 @@
1
1
  import { Folder } from "../../../domain/folder/Folder.js";
2
- import { ListFoldersByParentIdsRepository as RepositoryAbstraction, ListFoldersByParentIdsGateway } from "./abstractions.js";
2
+ import { ListFoldersByParentIdsGateway, ListFoldersByParentIdsRepository } from "./abstractions.js";
3
3
  import { FoldersCache, FoldersContext } from "../abstractions.js";
4
4
  class ListFoldersByParentIdsRepositoryImpl {
5
- constructor(foldersContext, cache, gateway) {
6
- this.foldersContext = foldersContext;
7
- this.cache = cache;
8
- this.gateway = gateway;
9
- }
10
- async execute(parentIds) {
11
- const items = await this.gateway.execute(this.foldersContext.type, parentIds);
12
- this.cache.addItems(items.map(item => Folder.create(item)));
13
- }
5
+ constructor(foldersContext, cache, gateway){
6
+ this.foldersContext = foldersContext;
7
+ this.cache = cache;
8
+ this.gateway = gateway;
9
+ }
10
+ async execute(parentIds) {
11
+ const items = await this.gateway.execute(this.foldersContext.type, parentIds);
12
+ this.cache.addItems(items.map((item)=>Folder.create(item)));
13
+ }
14
14
  }
15
- export const ListFoldersByParentIdsRepository = RepositoryAbstraction.createImplementation({
16
- implementation: ListFoldersByParentIdsRepositoryImpl,
17
- dependencies: [FoldersContext, FoldersCache, ListFoldersByParentIdsGateway]
15
+ const ListFoldersByParentIdsRepository_ListFoldersByParentIdsRepository = ListFoldersByParentIdsRepository.createImplementation({
16
+ implementation: ListFoldersByParentIdsRepositoryImpl,
17
+ dependencies: [
18
+ FoldersContext,
19
+ FoldersCache,
20
+ ListFoldersByParentIdsGateway
21
+ ]
18
22
  });
23
+ export { ListFoldersByParentIdsRepository_ListFoldersByParentIdsRepository as ListFoldersByParentIdsRepository };
19
24
 
20
25
  //# sourceMappingURL=ListFoldersByParentIdsRepository.js.map