@webiny/app-aco 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.eb81deee7e

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 (735) hide show
  1. package/app.js +7 -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.d.ts +2 -2
  14. package/components/AdvancedSearch/AdvancedSearch.js +67 -75
  15. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  16. package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
  17. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  18. package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
  19. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  20. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
  21. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  22. package/components/AdvancedSearch/Button/Button.js +13 -16
  23. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  24. package/components/AdvancedSearch/Button/index.js +0 -2
  25. package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
  26. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  27. package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
  28. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  29. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
  30. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  31. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
  32. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  33. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
  34. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  35. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
  36. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  37. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
  38. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  39. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +2 -2
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
  58. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  59. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
  60. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
  61. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  62. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
  63. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  64. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
  65. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  66. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
  67. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  68. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
  69. package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
  70. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
  71. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  72. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
  73. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  74. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
  75. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  76. package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
  77. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
  78. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  79. package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
  80. package/components/AdvancedSearch/domain/Feedback.js +12 -11
  81. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  82. package/components/AdvancedSearch/domain/Field.js +206 -190
  83. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  84. package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
  85. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  86. package/components/AdvancedSearch/domain/Filter.d.ts +1 -1
  87. package/components/AdvancedSearch/domain/Filter.js +64 -47
  88. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  89. package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
  90. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  91. package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
  92. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  93. package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +2 -2
  94. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
  95. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  96. package/components/AdvancedSearch/domain/Loading.js +47 -46
  97. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  98. package/components/AdvancedSearch/domain/Operation.js +5 -4
  99. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  100. package/components/AdvancedSearch/domain/Sorter.js +17 -16
  101. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  102. package/components/AdvancedSearch/domain/index.js +0 -2
  103. package/components/AdvancedSearch/fields/Boolean.js +23 -25
  104. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  105. package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
  106. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  107. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
  108. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  109. package/components/AdvancedSearch/fields/Input.js +12 -14
  110. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  111. package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
  112. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  113. package/components/AdvancedSearch/fields/index.js +0 -2
  114. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
  115. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +2 -2
  116. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +68 -121
  117. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  118. package/components/AdvancedSearch/gateways/filters.gql.d.ts +5 -5
  119. package/components/AdvancedSearch/gateways/filters.gql.js +8 -8
  120. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  121. package/components/AdvancedSearch/gateways/filters.types.js +0 -3
  122. package/components/AdvancedSearch/gateways/index.js +0 -2
  123. package/components/AdvancedSearch/index.js +22 -24
  124. package/components/AdvancedSearch/index.js.map +1 -1
  125. package/components/AdvancedSearch/useFilterRepository.js +10 -4
  126. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  127. package/components/AdvancedSearch/useInputField.js +4 -6
  128. package/components/AdvancedSearch/useInputField.js.map +1 -1
  129. package/components/FolderGrid/FolderGridItem.js +67 -62
  130. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  131. package/components/FolderGrid/index.js +0 -2
  132. package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
  133. package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
  134. package/components/FolderIcons/assets/folder.js +21 -0
  135. package/components/FolderIcons/assets/folder.js.map +1 -0
  136. package/components/FolderIcons/index.js +2 -5
  137. package/components/FolderPicker/FolderPicker.js +23 -20
  138. package/components/FolderPicker/FolderPicker.js.map +1 -1
  139. package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
  140. package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
  141. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  142. package/components/FolderTree/ButtonCreate/index.js +0 -2
  143. package/components/FolderTree/Empty/Empty.js +5 -6
  144. package/components/FolderTree/Empty/Empty.js.map +1 -1
  145. package/components/FolderTree/Empty/index.js +0 -2
  146. package/components/FolderTree/List/List.js +128 -135
  147. package/components/FolderTree/List/List.js.map +1 -1
  148. package/components/FolderTree/List/index.js +0 -2
  149. package/components/FolderTree/List/utils.js +31 -64
  150. package/components/FolderTree/List/utils.js.map +1 -1
  151. package/components/FolderTree/Loader/Loader.js +15 -18
  152. package/components/FolderTree/Loader/Loader.js.map +1 -1
  153. package/components/FolderTree/Loader/index.js +0 -2
  154. package/components/FolderTree/MenuActions/MenuActions.js +19 -27
  155. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  156. package/components/FolderTree/MenuActions/index.js +0 -2
  157. package/components/FolderTree/Node/Node.js +27 -47
  158. package/components/FolderTree/Node/Node.js.map +1 -1
  159. package/components/FolderTree/Node/index.js +0 -2
  160. package/components/FolderTree/NodePreview/NodePreview.js +11 -14
  161. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  162. package/components/FolderTree/NodePreview/index.js +0 -2
  163. package/components/FolderTree/index.d.ts +2 -1
  164. package/components/FolderTree/index.js +47 -57
  165. package/components/FolderTree/index.js.map +1 -1
  166. package/components/Search/Search.js +15 -20
  167. package/components/Search/Search.js.map +1 -1
  168. package/components/Search/index.js +0 -2
  169. package/components/Table/cells/CellAuthor.d.ts +2 -0
  170. package/components/Table/cells/CellAuthor.js +10 -0
  171. package/components/Table/cells/CellAuthor.js.map +1 -0
  172. package/components/Table/cells/CellCreated.d.ts +2 -0
  173. package/components/Table/cells/CellCreated.js +13 -0
  174. package/components/Table/cells/CellCreated.js.map +1 -0
  175. package/components/Table/cells/CellModified.d.ts +2 -0
  176. package/components/Table/cells/CellModified.js +13 -0
  177. package/components/Table/cells/CellModified.js.map +1 -0
  178. package/components/Table/cells/index.d.ts +3 -0
  179. package/components/Table/cells/index.js +3 -0
  180. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
  181. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  182. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
  183. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  184. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
  185. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  186. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
  187. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  188. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
  189. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  190. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
  191. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  192. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
  193. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
  194. package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
  195. package/components/Table/components/Table/Columns/Column.js +18 -17
  196. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  197. package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
  198. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  199. package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
  200. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  201. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
  202. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  203. package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
  204. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  205. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
  206. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  207. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
  208. package/components/Table/components/Table/Columns/index.js +0 -2
  209. package/components/Table/components/Table/Table.js +38 -32
  210. package/components/Table/components/Table/Table.js.map +1 -1
  211. package/components/Table/components/Table/TableInner.d.ts +2 -2
  212. package/components/Table/components/Table/TableInner.js +33 -40
  213. package/components/Table/components/Table/TableInner.js.map +1 -1
  214. package/components/Table/components/Table/TablePresenter.js +12 -9
  215. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  216. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
  217. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  218. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
  219. package/components/Table/components/Table/gateways/index.js +0 -2
  220. package/components/Table/components/Table/index.js +0 -2
  221. package/components/Table/components/index.js +0 -2
  222. package/components/Table/createTableData.d.ts +7 -5
  223. package/components/Table/createTableData.js +27 -15
  224. package/components/Table/createTableData.js.map +1 -1
  225. package/components/Table/index.d.ts +2 -2
  226. package/components/Table/index.js +2 -4
  227. package/components/Table/useTableRow.js +17 -29
  228. package/components/Table/useTableRow.js.map +1 -1
  229. package/components/index.d.ts +0 -1
  230. package/components/index.js +0 -3
  231. package/config/AcoConfig.d.ts +8 -12
  232. package/config/AcoConfig.js +43 -30
  233. package/config/AcoConfig.js.map +1 -1
  234. package/config/advanced-search/FieldRenderer.d.ts +3 -1
  235. package/config/advanced-search/FieldRenderer.js +27 -30
  236. package/config/advanced-search/FieldRenderer.js.map +1 -1
  237. package/config/advanced-search/index.js +3 -2
  238. package/config/advanced-search/index.js.map +1 -1
  239. package/config/folder/Action.d.ts +1 -1
  240. package/config/folder/Action.js +27 -32
  241. package/config/folder/Action.js.map +1 -1
  242. package/config/folder/DropConfirmation.js +12 -13
  243. package/config/folder/DropConfirmation.js.map +1 -1
  244. package/config/folder/index.d.ts +3 -2
  245. package/config/folder/index.js +4 -3
  246. package/config/folder/index.js.map +1 -1
  247. package/config/index.d.ts +0 -1
  248. package/config/index.js +0 -3
  249. package/config/record/Action.d.ts +1 -1
  250. package/config/record/Action.js +28 -33
  251. package/config/record/Action.js.map +1 -1
  252. package/config/record/index.d.ts +1 -1
  253. package/config/record/index.js +3 -2
  254. package/config/record/index.js.map +1 -1
  255. package/config/table/Column.d.ts +8 -39
  256. package/config/table/Column.js +5 -84
  257. package/config/table/Column.js.map +1 -1
  258. package/config/table/Sorting.d.ts +2 -11
  259. package/config/table/Sorting.js +1 -31
  260. package/config/table/index.d.ts +5 -9
  261. package/config/table/index.js +4 -3
  262. package/config/table/index.js.map +1 -1
  263. package/constants.js +0 -2
  264. package/contexts/folder.js +11 -15
  265. package/contexts/folder.js.map +1 -1
  266. package/contexts/index.d.ts +0 -3
  267. package/contexts/index.js +0 -5
  268. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
  269. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  270. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
  271. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  272. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +110 -107
  273. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  274. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
  275. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  276. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
  277. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  278. package/dialogs/DialogSetPermissions/graphql.d.ts +1 -1
  279. package/dialogs/DialogSetPermissions/graphql.js +2 -2
  280. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  281. package/dialogs/ParentFolderField.js +12 -13
  282. package/dialogs/ParentFolderField.js.map +1 -1
  283. package/dialogs/index.js +0 -2
  284. package/dialogs/useConfirmMoveFolderDialog.d.ts +1 -0
  285. package/dialogs/useConfirmMoveFolderDialog.js +17 -19
  286. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
  287. package/dialogs/useCreateDialog.js +76 -95
  288. package/dialogs/useCreateDialog.js.map +1 -1
  289. package/dialogs/useDeleteDialog.js +27 -33
  290. package/dialogs/useDeleteDialog.js.map +1 -1
  291. package/dialogs/useEditDialog.js +78 -81
  292. package/dialogs/useEditDialog.js.map +1 -1
  293. package/dialogs/useMoveToFolderDialog.js +33 -49
  294. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  295. package/dialogs/useSetPermissionsDialog.js +98 -88
  296. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  297. package/domain/folder/Folder.d.ts +2 -1
  298. package/domain/folder/Folder.js +25 -24
  299. package/domain/folder/Folder.js.map +1 -1
  300. package/domain/folder/FolderDto.js +0 -3
  301. package/domain/folder/FolderDtoMapper.js +24 -25
  302. package/domain/folder/FolderDtoMapper.js.map +1 -1
  303. package/domain/folder/FolderIdentity.js +16 -17
  304. package/domain/folder/FolderIdentity.js.map +1 -1
  305. package/domain/folder/RootFolder.js +24 -23
  306. package/domain/folder/RootFolder.js.map +1 -1
  307. package/exports/admin/ui.js +0 -2
  308. package/features/folders/abstractions.js +6 -5
  309. package/features/folders/abstractions.js.map +1 -1
  310. package/features/folders/cache/FoldersCacheFactory.d.ts +3 -1
  311. package/features/folders/cache/FoldersCacheFactory.js +18 -12
  312. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  313. package/features/folders/cache/ListCache.d.ts +2 -29
  314. package/features/folders/cache/ListCache.js +1 -43
  315. package/features/folders/cache/LoadedCache.js +33 -27
  316. package/features/folders/cache/LoadedCache.js.map +1 -1
  317. package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
  318. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  319. package/features/folders/cache/index.js +0 -2
  320. package/features/folders/cache/updateDescendantPermissions.d.ts +12 -0
  321. package/features/folders/cache/updateDescendantPermissions.js +27 -0
  322. package/features/folders/cache/updateDescendantPermissions.js.map +1 -0
  323. package/features/folders/createFolder/CreateFolder.test.js +44 -48
  324. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  325. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +3 -3
  326. package/features/folders/createFolder/CreateFolderGqlGateway.js +37 -43
  327. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  328. package/features/folders/createFolder/CreateFolderRepository.js +29 -24
  329. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  330. package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
  331. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  332. package/features/folders/createFolder/abstractions.js +4 -12
  333. package/features/folders/createFolder/abstractions.js.map +1 -1
  334. package/features/folders/createFolder/feature.js +15 -14
  335. package/features/folders/createFolder/feature.js.map +1 -1
  336. package/features/folders/createFolder/index.js +0 -2
  337. package/features/folders/createFolder/useCreateFolder.js +6 -9
  338. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  339. package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
  340. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  341. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +3 -3
  342. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -29
  343. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  344. package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
  345. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  346. package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
  347. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  348. package/features/folders/deleteFolder/abstractions.js +4 -12
  349. package/features/folders/deleteFolder/abstractions.js.map +1 -1
  350. package/features/folders/deleteFolder/feature.js +15 -14
  351. package/features/folders/deleteFolder/feature.js.map +1 -1
  352. package/features/folders/deleteFolder/index.js +0 -2
  353. package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
  354. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  355. package/features/folders/feature.js +23 -29
  356. package/features/folders/feature.js.map +1 -1
  357. package/features/folders/folderEvents/AddCreatedFolderToCache.d.ts +22 -0
  358. package/features/folders/folderEvents/AddCreatedFolderToCache.js +24 -0
  359. package/features/folders/folderEvents/AddCreatedFolderToCache.js.map +1 -0
  360. package/features/folders/folderEvents/FolderCreatedEvent.d.ts +14 -0
  361. package/features/folders/folderEvents/FolderCreatedEvent.js +13 -0
  362. package/features/folders/folderEvents/FolderCreatedEvent.js.map +1 -0
  363. package/features/folders/folderEvents/FolderDeletedEvent.d.ts +9 -0
  364. package/features/folders/folderEvents/FolderDeletedEvent.js +13 -0
  365. package/features/folders/folderEvents/FolderDeletedEvent.js.map +1 -0
  366. package/features/folders/folderEvents/FolderEvents.test.d.ts +1 -0
  367. package/features/folders/folderEvents/FolderEvents.test.js +238 -0
  368. package/features/folders/folderEvents/FolderEvents.test.js.map +1 -0
  369. package/features/folders/folderEvents/FolderUpdatedEvent.d.ts +12 -0
  370. package/features/folders/folderEvents/FolderUpdatedEvent.js +13 -0
  371. package/features/folders/folderEvents/FolderUpdatedEvent.js.map +1 -0
  372. package/features/folders/folderEvents/FolderWebsocketMessages.d.ts +15 -0
  373. package/features/folders/folderEvents/FolderWebsocketMessages.js +48 -0
  374. package/features/folders/folderEvents/FolderWebsocketMessages.js.map +1 -0
  375. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.d.ts +19 -0
  376. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js +27 -0
  377. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js.map +1 -0
  378. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.d.ts +13 -0
  379. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js +15 -0
  380. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js.map +1 -0
  381. package/features/folders/folderEvents/abstractions.d.ts +28 -0
  382. package/features/folders/folderEvents/abstractions.js +7 -0
  383. package/features/folders/folderEvents/abstractions.js.map +1 -0
  384. package/features/folders/folderEvents/feature.d.ts +9 -0
  385. package/features/folders/folderEvents/feature.js +21 -0
  386. package/features/folders/folderEvents/feature.js.map +1 -0
  387. package/features/folders/folderEvents/index.d.ts +5 -0
  388. package/features/folders/folderEvents/index.js +5 -0
  389. package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
  390. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
  391. package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
  392. package/features/folders/folderModelProvider/FolderModelProvider.js +48 -49
  393. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
  394. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.d.ts +3 -3
  395. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +19 -27
  396. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
  397. package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
  398. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
  399. package/features/folders/folderModelProvider/abstractions.js +3 -2
  400. package/features/folders/folderModelProvider/abstractions.js.map +1 -1
  401. package/features/folders/folderModelProvider/feature.js +15 -14
  402. package/features/folders/folderModelProvider/feature.js.map +1 -1
  403. package/features/folders/folderModelProvider/index.js +0 -2
  404. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
  405. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  406. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
  407. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  408. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
  409. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  410. package/features/folders/getDescendantFolders/abstractions.js +3 -10
  411. package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
  412. package/features/folders/getDescendantFolders/feature.js +14 -13
  413. package/features/folders/getDescendantFolders/feature.js.map +1 -1
  414. package/features/folders/getDescendantFolders/index.js +0 -2
  415. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
  416. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  417. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +3 -3
  418. package/features/folders/getFolder/GetFolderGqlGateway.js +25 -32
  419. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  420. package/features/folders/getFolder/GetFolderRepository.js +18 -13
  421. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  422. package/features/folders/getFolder/GetFolderUseCase.js +13 -10
  423. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  424. package/features/folders/getFolder/abstractions.js +4 -12
  425. package/features/folders/getFolder/abstractions.js.map +1 -1
  426. package/features/folders/getFolder/feature.js +15 -14
  427. package/features/folders/getFolder/feature.js.map +1 -1
  428. package/features/folders/getFolder/index.js +0 -2
  429. package/features/folders/getFolder/useGetFolder.js +6 -9
  430. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  431. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
  432. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  433. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
  434. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  435. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
  436. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  437. package/features/folders/getFolderAncestors/abstractions.js +3 -10
  438. package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
  439. package/features/folders/getFolderAncestors/feature.js +14 -13
  440. package/features/folders/getFolderAncestors/feature.js.map +1 -1
  441. package/features/folders/getFolderAncestors/index.js +0 -2
  442. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
  443. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  444. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
  445. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  446. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +4 -3
  447. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
  448. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  449. package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
  450. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
  451. package/features/folders/getFolderExtensionsFields/feature.js +16 -18
  452. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
  453. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
  454. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
  455. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
  456. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
  457. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
  458. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
  459. package/features/folders/getFolderExtensionsFields/index.js +0 -2
  460. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.d.ts +4 -3
  461. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
  462. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
  463. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +137 -170
  464. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  465. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
  466. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  467. package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
  468. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
  469. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.d.ts +3 -3
  470. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +18 -21
  471. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
  472. package/features/folders/getFolderLevelPermission/feature.js +14 -16
  473. package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
  474. package/features/folders/getFolderLevelPermission/index.js +0 -2
  475. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
  476. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  477. package/features/folders/listFolders/ListFolders.test.js +98 -111
  478. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  479. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +1 -1
  480. package/features/folders/listFolders/ListFoldersGqlGateway.js +28 -27
  481. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  482. package/features/folders/listFolders/ListFoldersRepository.js +19 -14
  483. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  484. package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
  485. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  486. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
  487. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  488. package/features/folders/listFolders/abstractions.js +4 -3
  489. package/features/folders/listFolders/abstractions.js.map +1 -1
  490. package/features/folders/listFolders/feature.js +17 -23
  491. package/features/folders/listFolders/feature.js.map +1 -1
  492. package/features/folders/listFolders/index.js +0 -2
  493. package/features/folders/listFolders/useListFolders.d.ts +1 -1
  494. package/features/folders/listFolders/useListFolders.js +35 -37
  495. package/features/folders/listFolders/useListFolders.js.map +1 -1
  496. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
  497. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  498. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +3 -3
  499. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +30 -34
  500. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  501. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
  502. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  503. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
  504. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  505. package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
  506. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
  507. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
  508. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
  509. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
  510. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
  511. package/features/folders/listFoldersByParentIds/feature.js +18 -26
  512. package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
  513. package/features/folders/listFoldersByParentIds/index.js +0 -2
  514. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +2 -2
  515. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
  516. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  517. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
  518. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
  519. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
  520. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
  521. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
  522. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
  523. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
  524. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
  525. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
  526. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
  527. package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
  528. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
  529. package/features/folders/loadFolderHierarchy/feature.js +17 -23
  530. package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
  531. package/features/folders/loadFolderHierarchy/index.js +0 -2
  532. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.d.ts +2 -2
  533. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
  534. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
  535. package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
  536. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  537. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +3 -3
  538. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -46
  539. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  540. package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
  541. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  542. package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
  543. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  544. package/features/folders/updateFolder/abstractions.js +4 -3
  545. package/features/folders/updateFolder/abstractions.js.map +1 -1
  546. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
  547. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
  548. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.d.ts +1 -4
  549. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +22 -61
  550. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
  551. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
  552. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
  553. package/features/folders/updateFolder/decorators/{UseCaseWithoutInheritedPermissions.d.ts → UseCaseWithoutReadOnlyPermissions.d.ts} +2 -2
  554. package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js +20 -0
  555. package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js.map +1 -0
  556. package/features/folders/updateFolder/feature.js +21 -29
  557. package/features/folders/updateFolder/feature.js.map +1 -1
  558. package/features/folders/updateFolder/index.js +0 -2
  559. package/features/folders/updateFolder/useUpdateFolder.js +17 -19
  560. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  561. package/hooks/index.d.ts +0 -6
  562. package/hooks/index.js +0 -8
  563. package/hooks/useFolder.js +6 -7
  564. package/hooks/useFolder.js.map +1 -1
  565. package/index.d.ts +4 -2
  566. package/index.js +5 -10
  567. package/package.json +27 -32
  568. package/presentation/folderTree/FolderTree.d.ts +19 -0
  569. package/presentation/folderTree/FolderTree.js +260 -0
  570. package/presentation/folderTree/FolderTree.js.map +1 -0
  571. package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
  572. package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
  573. package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
  574. package/presentation/folderTree/FolderTreePresenter.d.ts +55 -0
  575. package/presentation/folderTree/FolderTreePresenter.js +321 -0
  576. package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
  577. package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
  578. package/presentation/folderTree/FolderTreePresenter.test.js +621 -0
  579. package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
  580. package/presentation/folderTree/abstractions.d.ts +65 -0
  581. package/presentation/folderTree/abstractions.js +5 -0
  582. package/presentation/folderTree/abstractions.js.map +1 -0
  583. package/presentation/folderTree/feature.d.ts +3 -0
  584. package/presentation/folderTree/feature.js +17 -0
  585. package/presentation/folderTree/feature.js.map +1 -0
  586. package/presentation/folderTree/index.d.ts +5 -0
  587. package/presentation/folderTree/index.js +3 -0
  588. package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
  589. package/static/svg/folder.f3d5c400.svg +4 -0
  590. package/table.types.d.ts +2 -9
  591. package/table.types.js +0 -3
  592. package/types.d.ts +5 -26
  593. package/types.js +10 -13
  594. package/types.js.map +1 -1
  595. package/components/Actions/DeleteFolder/index.js.map +0 -1
  596. package/components/Actions/EditFolder/index.js.map +0 -1
  597. package/components/Actions/SetFolderPemissions/index.js.map +0 -1
  598. package/components/Actions/index.js.map +0 -1
  599. package/components/AdvancedSearch/Button/index.js.map +0 -1
  600. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
  601. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
  602. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
  603. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
  604. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
  605. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
  606. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
  607. package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
  608. package/components/AdvancedSearch/domain/index.js.map +0 -1
  609. package/components/AdvancedSearch/fields/index.js.map +0 -1
  610. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
  611. package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
  612. package/components/AdvancedSearch/gateways/index.js.map +0 -1
  613. package/components/Extensions/Extensions.d.ts +0 -2
  614. package/components/Extensions/Extensions.js +0 -33
  615. package/components/Extensions/Extensions.js.map +0 -1
  616. package/components/Extensions/index.d.ts +0 -1
  617. package/components/Extensions/index.js +0 -3
  618. package/components/Extensions/index.js.map +0 -1
  619. package/components/FolderGrid/index.js.map +0 -1
  620. package/components/FolderIcons/index.js.map +0 -1
  621. package/components/FolderTree/ButtonCreate/index.js.map +0 -1
  622. package/components/FolderTree/Empty/index.js.map +0 -1
  623. package/components/FolderTree/List/index.js.map +0 -1
  624. package/components/FolderTree/Loader/index.js.map +0 -1
  625. package/components/FolderTree/MenuActions/index.js.map +0 -1
  626. package/components/FolderTree/Node/index.js.map +0 -1
  627. package/components/FolderTree/NodePreview/index.js.map +0 -1
  628. package/components/Search/index.js.map +0 -1
  629. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
  630. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
  631. package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
  632. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
  633. package/components/Table/components/Table/Columns/index.js.map +0 -1
  634. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
  635. package/components/Table/components/Table/gateways/index.js.map +0 -1
  636. package/components/Table/components/Table/index.js.map +0 -1
  637. package/components/Table/components/index.js.map +0 -1
  638. package/components/Table/index.js.map +0 -1
  639. package/components/index.js.map +0 -1
  640. package/config/folder/createFolderFieldDecoratorFactory.d.ts +0 -13
  641. package/config/folder/createFolderFieldDecoratorFactory.js +0 -21
  642. package/config/folder/createFolderFieldDecoratorFactory.js.map +0 -1
  643. package/config/index.js.map +0 -1
  644. package/config/table/Sorting.js.map +0 -1
  645. package/constants.js.map +0 -1
  646. package/contexts/acoList.d.ts +0 -49
  647. package/contexts/acoList.js +0 -404
  648. package/contexts/acoList.js.map +0 -1
  649. package/contexts/app.d.ts +0 -33
  650. package/contexts/app.js +0 -60
  651. package/contexts/app.js.map +0 -1
  652. package/contexts/folders.d.ts +0 -12
  653. package/contexts/folders.js +0 -37
  654. package/contexts/folders.js.map +0 -1
  655. package/contexts/index.js.map +0 -1
  656. package/contexts/navigateFolder.d.ts +0 -17
  657. package/contexts/navigateFolder.js +0 -62
  658. package/contexts/navigateFolder.js.map +0 -1
  659. package/contexts/records.d.ts +0 -31
  660. package/contexts/records.js +0 -439
  661. package/contexts/records.js.map +0 -1
  662. package/dialogs/index.js.map +0 -1
  663. package/domain/folder/FolderDto.js.map +0 -1
  664. package/exports/admin/aco.d.ts +0 -2
  665. package/exports/admin/aco.js +0 -4
  666. package/exports/admin/aco.js.map +0 -1
  667. package/exports/admin/ui.js.map +0 -1
  668. package/features/folders/cache/ListCache.js.map +0 -1
  669. package/features/folders/cache/index.js.map +0 -1
  670. package/features/folders/createFolder/index.js.map +0 -1
  671. package/features/folders/deleteFolder/index.js.map +0 -1
  672. package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
  673. package/features/folders/folderModelProvider/index.js.map +0 -1
  674. package/features/folders/getDescendantFolders/index.js.map +0 -1
  675. package/features/folders/getFolder/index.js.map +0 -1
  676. package/features/folders/getFolderAncestors/index.js.map +0 -1
  677. package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
  678. package/features/folders/getFolderLevelPermission/index.js.map +0 -1
  679. package/features/folders/listFolders/index.js.map +0 -1
  680. package/features/folders/listFoldersByParentIds/index.js.map +0 -1
  681. package/features/folders/loadFolderHierarchy/index.js.map +0 -1
  682. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +0 -20
  683. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +0 -1
  684. package/features/folders/updateFolder/index.js.map +0 -1
  685. package/graphql/app.gql.d.ts +0 -17
  686. package/graphql/app.gql.js +0 -23
  687. package/graphql/app.gql.js.map +0 -1
  688. package/graphql/records/common.d.ts +0 -4
  689. package/graphql/records/common.js +0 -55
  690. package/graphql/records/common.js.map +0 -1
  691. package/graphql/records/getRecord.d.ts +0 -2
  692. package/graphql/records/getRecord.js +0 -6
  693. package/graphql/records/getRecord.js.map +0 -1
  694. package/graphql/records/listRecords.d.ts +0 -2
  695. package/graphql/records/listRecords.js +0 -17
  696. package/graphql/records/listRecords.js.map +0 -1
  697. package/graphql/records/moveRecord.d.ts +0 -2
  698. package/graphql/records/moveRecord.js +0 -17
  699. package/graphql/records/moveRecord.js.map +0 -1
  700. package/graphql/records/types.d.ts +0 -108
  701. package/graphql/records/types.js +0 -3
  702. package/graphql/records/types.js.map +0 -1
  703. package/graphql/records.gql.d.ts +0 -3
  704. package/graphql/records.gql.js +0 -5
  705. package/graphql/records.gql.js.map +0 -1
  706. package/handlers.d.ts +0 -23
  707. package/handlers.js +0 -45
  708. package/handlers.js.map +0 -1
  709. package/hooks/index.js.map +0 -1
  710. package/hooks/useAcoApp.d.ts +0 -2
  711. package/hooks/useAcoApp.js +0 -17
  712. package/hooks/useAcoApp.js.map +0 -1
  713. package/hooks/useAcoList.d.ts +0 -3
  714. package/hooks/useAcoList.js +0 -11
  715. package/hooks/useAcoList.js.map +0 -1
  716. package/hooks/useFolderModel.d.ts +0 -2
  717. package/hooks/useFolderModel.js +0 -18
  718. package/hooks/useFolderModel.js.map +0 -1
  719. package/hooks/useFoldersType.d.ts +0 -1
  720. package/hooks/useFoldersType.js +0 -17
  721. package/hooks/useFoldersType.js.map +0 -1
  722. package/hooks/useNavigateFolder.d.ts +0 -2
  723. package/hooks/useNavigateFolder.js +0 -11
  724. package/hooks/useNavigateFolder.js.map +0 -1
  725. package/hooks/useRecords.d.ts +0 -62
  726. package/hooks/useRecords.js +0 -85
  727. package/hooks/useRecords.js.map +0 -1
  728. package/hooks/useTags.d.ts +0 -14
  729. package/hooks/useTags.js +0 -36
  730. package/hooks/useTags.js.map +0 -1
  731. package/index.js.map +0 -1
  732. package/sorting.d.ts +0 -9
  733. package/sorting.js +0 -34
  734. package/sorting.js.map +0 -1
  735. 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":"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","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,4 +1,4 @@
1
- import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
1
+ import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
2
2
  import type { FolderDto } from "../../../domain/folder/FolderDto.js";
3
3
  import { FolderModelProvider } from "../../../features/folders/abstractions.js";
4
4
  import { ListFoldersByParentIdsGateway as GatewayAbstraction } from "./abstractions.js";
@@ -18,11 +18,11 @@ export interface ListFoldersByParentIdsQueryVariables {
18
18
  sort?: Record<string, any>;
19
19
  after?: string | null;
20
20
  }
21
- export declare const LIST_FOLDERS_BY_PARENT_IDS: (FOLDER_FIELDS: string) => import("graphql").DocumentNode;
21
+ export declare const LIST_FOLDERS_BY_PARENT_IDS: (FOLDER_FIELDS: string) => string;
22
22
  declare class ListFoldersByParentIdsGqlGatewayImpl implements GatewayAbstraction.Interface {
23
23
  private client;
24
24
  private folderModelProvider;
25
- constructor(client: ApolloClient.Interface, folderModelProvider: FolderModelProvider.Interface);
25
+ constructor(client: MainGraphQLClient.Interface, folderModelProvider: FolderModelProvider.Interface);
26
26
  execute(type: string, parentIds: string[]): Promise<FolderDto[]>;
27
27
  }
28
28
  export declare const ListFoldersByParentIdsGqlGateway: typeof ListFoldersByParentIdsGqlGatewayImpl & {
@@ -1,9 +1,8 @@
1
- import gql from "graphql-tag";
2
- import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
1
+ import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
3
2
  import { RootFolder } from "../../../domain/folder/RootFolder.js";
4
3
  import { FolderModelProvider } from "../abstractions.js";
5
- import { ListFoldersByParentIdsGateway as GatewayAbstraction } from "./abstractions.js";
6
- export const LIST_FOLDERS_BY_PARENT_IDS = FOLDER_FIELDS => gql`
4
+ import { ListFoldersByParentIdsGateway } from "./abstractions.js";
5
+ const LIST_FOLDERS_BY_PARENT_IDS = (FOLDER_FIELDS)=>`
7
6
  query ListFoldersByParentIds($type: String!, $parentIds_in: [ID!]!, $limit: Int!) {
8
7
  aco {
9
8
  listFolders(where: { type: $type, parentId_in: $parentIds_in }, limit: $limit) {
@@ -18,39 +17,36 @@ export const LIST_FOLDERS_BY_PARENT_IDS = FOLDER_FIELDS => gql`
18
17
  }
19
18
  `;
20
19
  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.");
20
+ constructor(client, folderModelProvider){
21
+ this.client = client;
22
+ this.folderModelProvider = folderModelProvider;
40
23
  }
41
- const {
42
- data,
43
- error
44
- } = response.aco.listFolders;
45
- if (!data) {
46
- throw new Error(error?.message || "Could not fetch folders");
24
+ async execute(type, parentIds) {
25
+ const fields = await this.folderModelProvider.getGraphQLSelection();
26
+ const response = await this.client.execute({
27
+ query: LIST_FOLDERS_BY_PARENT_IDS(fields),
28
+ variables: {
29
+ type,
30
+ parentIds_in: parentIds,
31
+ limit: 10000
32
+ }
33
+ });
34
+ if (!response) throw new Error("Network error while listing folders.");
35
+ const { data, error } = response.aco.listFolders;
36
+ if (!data) throw new Error(error?.message || "Could not fetch folders");
37
+ return [
38
+ RootFolder.create(),
39
+ ...data || []
40
+ ];
47
41
  }
48
- return [RootFolder.create(), ...(data || [])];
49
- }
50
42
  }
51
- export const ListFoldersByParentIdsGqlGateway = GatewayAbstraction.createImplementation({
52
- implementation: ListFoldersByParentIdsGqlGatewayImpl,
53
- dependencies: [ApolloClient, FolderModelProvider]
43
+ const ListFoldersByParentIdsGqlGateway = ListFoldersByParentIdsGateway.createImplementation({
44
+ implementation: ListFoldersByParentIdsGqlGatewayImpl,
45
+ dependencies: [
46
+ MainGraphQLClient,
47
+ FolderModelProvider
48
+ ]
54
49
  });
50
+ export { LIST_FOLDERS_BY_PARENT_IDS, ListFoldersByParentIdsGqlGateway };
55
51
 
56
52
  //# 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 { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"~/domain/folder/RootFolder.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { 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) => /* GraphQL */ `\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: MainGraphQLClient.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 response = await this.client.execute<\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 });\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: [MainGraphQLClient, FolderModelProvider]\n});\n"],"names":["LIST_FOLDERS_BY_PARENT_IDS","FOLDER_FIELDS","ListFoldersByParentIdsGqlGatewayImpl","client","folderModelProvider","type","parentIds","fields","response","Error","data","error","RootFolder","ListFoldersByParentIdsGqlGateway","GatewayAbstraction","MainGraphQLClient","FolderModelProvider"],"mappings":";;;;AAwBO,MAAMA,6BAA6B,CAACC,gBAAwC,CAAC;;;;qBAI/D,EAAEA,cAAc;;;;;;;;;AASrC,CAAC;AAED,MAAMC;IACF,YACYC,MAAmC,EACnCC,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,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAGxC;YACE,OAAOR,2BAA2BO;YAClC,WAAW;gBACPF;gBACA,cAAcC;gBACd,OAAO;YACX;QACJ;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;QAAmBC;KAAoB;AAC1D"}