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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/app.js +3 -4
  2. package/app.js.map +1 -1
  3. package/components/Actions/DeleteFolder/DeleteFolder.js +21 -26
  4. package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
  5. package/components/Actions/DeleteFolder/index.js +0 -2
  6. package/components/Actions/EditFolder/EditFolder.js +20 -25
  7. package/components/Actions/EditFolder/EditFolder.js.map +1 -1
  8. package/components/Actions/EditFolder/index.js +0 -2
  9. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +20 -25
  10. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
  11. package/components/Actions/SetFolderPemissions/index.js +0 -2
  12. package/components/Actions/index.js +0 -2
  13. package/components/AdvancedSearch/AdvancedSearch.js +67 -75
  14. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  15. package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
  16. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  17. package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
  18. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  19. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
  20. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  21. package/components/AdvancedSearch/Button/Button.js +13 -16
  22. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  23. package/components/AdvancedSearch/Button/index.js +0 -2
  24. package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
  25. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  26. package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
  27. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  28. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
  29. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  30. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
  31. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  32. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
  33. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  34. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
  35. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  36. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
  37. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  38. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
  39. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
  58. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
  59. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  60. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
  61. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  62. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
  63. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  64. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
  65. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  66. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
  67. package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
  68. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
  69. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  70. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
  71. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  72. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
  73. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  74. package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
  75. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
  76. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  77. package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
  78. package/components/AdvancedSearch/domain/Feedback.js +12 -11
  79. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  80. package/components/AdvancedSearch/domain/Field.js +206 -190
  81. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  82. package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
  83. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  84. package/components/AdvancedSearch/domain/Filter.js +64 -47
  85. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  86. package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
  87. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  88. package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
  89. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  90. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
  91. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  92. package/components/AdvancedSearch/domain/Loading.js +47 -46
  93. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  94. package/components/AdvancedSearch/domain/Operation.js +5 -4
  95. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  96. package/components/AdvancedSearch/domain/Sorter.js +17 -16
  97. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  98. package/components/AdvancedSearch/domain/index.js +0 -2
  99. package/components/AdvancedSearch/fields/Boolean.js +23 -25
  100. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  101. package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
  102. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  103. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
  104. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  105. package/components/AdvancedSearch/fields/Input.js +12 -14
  106. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  107. package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
  108. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  109. package/components/AdvancedSearch/fields/index.js +0 -2
  110. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
  111. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -121
  112. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  113. package/components/AdvancedSearch/gateways/filters.gql.js +9 -8
  114. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  115. package/components/AdvancedSearch/gateways/filters.types.js +0 -3
  116. package/components/AdvancedSearch/gateways/index.js +0 -2
  117. package/components/AdvancedSearch/index.js +22 -24
  118. package/components/AdvancedSearch/index.js.map +1 -1
  119. package/components/AdvancedSearch/useFilterRepository.js +4 -3
  120. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  121. package/components/AdvancedSearch/useInputField.js +4 -6
  122. package/components/AdvancedSearch/useInputField.js.map +1 -1
  123. package/components/Extensions/Extensions.js +23 -26
  124. package/components/Extensions/Extensions.js.map +1 -1
  125. package/components/Extensions/index.js +0 -2
  126. package/components/FolderGrid/FolderGridItem.js +67 -62
  127. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  128. package/components/FolderGrid/index.js +0 -2
  129. package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
  130. package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
  131. package/components/FolderIcons/assets/folder.js +21 -0
  132. package/components/FolderIcons/assets/folder.js.map +1 -0
  133. package/components/FolderIcons/index.js +2 -5
  134. package/components/FolderPicker/FolderPicker.js +23 -20
  135. package/components/FolderPicker/FolderPicker.js.map +1 -1
  136. package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
  137. package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
  138. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  139. package/components/FolderTree/ButtonCreate/index.js +0 -2
  140. package/components/FolderTree/Empty/Empty.js +5 -6
  141. package/components/FolderTree/Empty/Empty.js.map +1 -1
  142. package/components/FolderTree/Empty/index.js +0 -2
  143. package/components/FolderTree/List/List.js +120 -135
  144. package/components/FolderTree/List/List.js.map +1 -1
  145. package/components/FolderTree/List/index.js +0 -2
  146. package/components/FolderTree/List/utils.js +31 -64
  147. package/components/FolderTree/List/utils.js.map +1 -1
  148. package/components/FolderTree/Loader/Loader.js +15 -18
  149. package/components/FolderTree/Loader/Loader.js.map +1 -1
  150. package/components/FolderTree/Loader/index.js +0 -2
  151. package/components/FolderTree/MenuActions/MenuActions.js +19 -27
  152. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  153. package/components/FolderTree/MenuActions/index.js +0 -2
  154. package/components/FolderTree/Node/Node.js +27 -47
  155. package/components/FolderTree/Node/Node.js.map +1 -1
  156. package/components/FolderTree/Node/index.js +0 -2
  157. package/components/FolderTree/NodePreview/NodePreview.js +11 -14
  158. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  159. package/components/FolderTree/NodePreview/index.js +0 -2
  160. package/components/FolderTree/index.d.ts +2 -1
  161. package/components/FolderTree/index.js +47 -57
  162. package/components/FolderTree/index.js.map +1 -1
  163. package/components/Search/Search.js +15 -20
  164. package/components/Search/Search.js.map +1 -1
  165. package/components/Search/index.js +0 -2
  166. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
  167. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  168. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
  169. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  170. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
  171. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  172. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
  173. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  174. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
  175. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  176. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
  177. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  178. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
  179. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
  180. package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
  181. package/components/Table/components/Table/Columns/Column.js +18 -17
  182. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  183. package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
  184. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  185. package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
  186. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  187. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
  188. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  189. package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
  190. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  191. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
  192. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  193. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
  194. package/components/Table/components/Table/Columns/index.js +0 -2
  195. package/components/Table/components/Table/Table.js +38 -32
  196. package/components/Table/components/Table/Table.js.map +1 -1
  197. package/components/Table/components/Table/TableInner.js +33 -40
  198. package/components/Table/components/Table/TableInner.js.map +1 -1
  199. package/components/Table/components/Table/TablePresenter.js +12 -9
  200. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  201. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
  202. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  203. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
  204. package/components/Table/components/Table/gateways/index.js +0 -2
  205. package/components/Table/components/Table/index.js +0 -2
  206. package/components/Table/components/index.js +0 -2
  207. package/components/Table/createTableData.js +13 -16
  208. package/components/Table/createTableData.js.map +1 -1
  209. package/components/Table/index.js +0 -2
  210. package/components/Table/useTableRow.js +17 -29
  211. package/components/Table/useTableRow.js.map +1 -1
  212. package/components/index.js +0 -2
  213. package/config/AcoConfig.js +43 -30
  214. package/config/AcoConfig.js.map +1 -1
  215. package/config/advanced-search/FieldRenderer.js +27 -30
  216. package/config/advanced-search/FieldRenderer.js.map +1 -1
  217. package/config/advanced-search/index.js +3 -2
  218. package/config/advanced-search/index.js.map +1 -1
  219. package/config/folder/Action.js +27 -32
  220. package/config/folder/Action.js.map +1 -1
  221. package/config/folder/DropConfirmation.js +12 -13
  222. package/config/folder/DropConfirmation.js.map +1 -1
  223. package/config/folder/createFolderFieldDecoratorFactory.js +14 -18
  224. package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
  225. package/config/folder/index.js +4 -3
  226. package/config/folder/index.js.map +1 -1
  227. package/config/index.js +0 -2
  228. package/config/record/Action.js +28 -33
  229. package/config/record/Action.js.map +1 -1
  230. package/config/record/index.js +3 -2
  231. package/config/record/index.js.map +1 -1
  232. package/config/table/Column.js +65 -81
  233. package/config/table/Column.js.map +1 -1
  234. package/config/table/Sorting.js +24 -27
  235. package/config/table/Sorting.js.map +1 -1
  236. package/config/table/index.js +4 -3
  237. package/config/table/index.js.map +1 -1
  238. package/constants.js +0 -2
  239. package/contexts/acoList.js +283 -384
  240. package/contexts/acoList.js.map +1 -1
  241. package/contexts/app.js +40 -53
  242. package/contexts/app.js.map +1 -1
  243. package/contexts/folder.js +11 -15
  244. package/contexts/folder.js.map +1 -1
  245. package/contexts/folders.js +27 -32
  246. package/contexts/folders.js.map +1 -1
  247. package/contexts/index.js +0 -2
  248. package/contexts/navigateFolder.js +49 -57
  249. package/contexts/navigateFolder.js.map +1 -1
  250. package/contexts/records.js +299 -422
  251. package/contexts/records.js.map +1 -1
  252. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
  253. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  254. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
  255. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  256. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +105 -107
  257. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  258. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
  259. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  260. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
  261. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  262. package/dialogs/DialogSetPermissions/graphql.js +3 -2
  263. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  264. package/dialogs/ParentFolderField.js +12 -13
  265. package/dialogs/ParentFolderField.js.map +1 -1
  266. package/dialogs/index.js +0 -2
  267. package/dialogs/useConfirmMoveFolderDialog.js +16 -19
  268. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
  269. package/dialogs/useCreateDialog.js +78 -93
  270. package/dialogs/useCreateDialog.js.map +1 -1
  271. package/dialogs/useDeleteDialog.js +27 -33
  272. package/dialogs/useDeleteDialog.js.map +1 -1
  273. package/dialogs/useEditDialog.js +77 -80
  274. package/dialogs/useEditDialog.js.map +1 -1
  275. package/dialogs/useMoveToFolderDialog.d.ts +1 -1
  276. package/dialogs/useMoveToFolderDialog.js +33 -49
  277. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  278. package/dialogs/useSetPermissionsDialog.js +85 -87
  279. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  280. package/domain/folder/Folder.js +25 -24
  281. package/domain/folder/Folder.js.map +1 -1
  282. package/domain/folder/FolderDto.js +0 -3
  283. package/domain/folder/FolderDtoMapper.js +24 -25
  284. package/domain/folder/FolderDtoMapper.js.map +1 -1
  285. package/domain/folder/FolderIdentity.js +16 -17
  286. package/domain/folder/FolderIdentity.js.map +1 -1
  287. package/domain/folder/RootFolder.js +24 -23
  288. package/domain/folder/RootFolder.js.map +1 -1
  289. package/exports/admin/aco.js +0 -2
  290. package/exports/admin/ui.js +0 -2
  291. package/features/folders/abstractions.js +6 -5
  292. package/features/folders/abstractions.js.map +1 -1
  293. package/features/folders/cache/FoldersCacheFactory.js +13 -12
  294. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  295. package/features/folders/cache/ListCache.d.ts +2 -29
  296. package/features/folders/cache/ListCache.js +1 -43
  297. package/features/folders/cache/LoadedCache.js +33 -27
  298. package/features/folders/cache/LoadedCache.js.map +1 -1
  299. package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
  300. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  301. package/features/folders/cache/index.js +0 -2
  302. package/features/folders/createFolder/CreateFolder.test.js +44 -48
  303. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  304. package/features/folders/createFolder/CreateFolderGqlGateway.js +27 -32
  305. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  306. package/features/folders/createFolder/CreateFolderRepository.js +29 -24
  307. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  308. package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
  309. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  310. package/features/folders/createFolder/abstractions.js +4 -12
  311. package/features/folders/createFolder/abstractions.js.map +1 -1
  312. package/features/folders/createFolder/feature.js +15 -14
  313. package/features/folders/createFolder/feature.js.map +1 -1
  314. package/features/folders/createFolder/index.js +0 -2
  315. package/features/folders/createFolder/useCreateFolder.js +6 -9
  316. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  317. package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
  318. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  319. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -28
  320. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  321. package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
  322. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  323. package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
  324. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  325. package/features/folders/deleteFolder/abstractions.js +4 -12
  326. package/features/folders/deleteFolder/abstractions.js.map +1 -1
  327. package/features/folders/deleteFolder/feature.js +15 -14
  328. package/features/folders/deleteFolder/feature.js.map +1 -1
  329. package/features/folders/deleteFolder/index.js +0 -2
  330. package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
  331. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  332. package/features/folders/feature.js +23 -29
  333. package/features/folders/feature.js.map +1 -1
  334. package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
  335. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
  336. package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
  337. package/features/folders/folderModelProvider/FolderModelProvider.js +23 -23
  338. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
  339. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +20 -26
  340. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
  341. package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
  342. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
  343. package/features/folders/folderModelProvider/abstractions.js +3 -2
  344. package/features/folders/folderModelProvider/abstractions.js.map +1 -1
  345. package/features/folders/folderModelProvider/feature.js +15 -14
  346. package/features/folders/folderModelProvider/feature.js.map +1 -1
  347. package/features/folders/folderModelProvider/index.js +0 -2
  348. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
  349. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  350. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
  351. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  352. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
  353. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  354. package/features/folders/getDescendantFolders/abstractions.js +3 -10
  355. package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
  356. package/features/folders/getDescendantFolders/feature.js +14 -13
  357. package/features/folders/getDescendantFolders/feature.js.map +1 -1
  358. package/features/folders/getDescendantFolders/index.js +0 -2
  359. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
  360. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  361. package/features/folders/getFolder/GetFolderGqlGateway.js +26 -31
  362. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  363. package/features/folders/getFolder/GetFolderRepository.js +18 -13
  364. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  365. package/features/folders/getFolder/GetFolderUseCase.js +13 -10
  366. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  367. package/features/folders/getFolder/abstractions.js +4 -12
  368. package/features/folders/getFolder/abstractions.js.map +1 -1
  369. package/features/folders/getFolder/feature.js +15 -14
  370. package/features/folders/getFolder/feature.js.map +1 -1
  371. package/features/folders/getFolder/index.js +0 -2
  372. package/features/folders/getFolder/useGetFolder.js +6 -9
  373. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  374. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
  375. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  376. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
  377. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  378. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
  379. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  380. package/features/folders/getFolderAncestors/abstractions.js +3 -10
  381. package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
  382. package/features/folders/getFolderAncestors/feature.js +14 -13
  383. package/features/folders/getFolderAncestors/feature.js.map +1 -1
  384. package/features/folders/getFolderAncestors/index.js +0 -2
  385. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
  386. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  387. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
  388. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  389. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
  390. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  391. package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
  392. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
  393. package/features/folders/getFolderExtensionsFields/feature.js +16 -18
  394. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
  395. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
  396. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
  397. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
  398. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
  399. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
  400. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
  401. package/features/folders/getFolderExtensionsFields/index.js +0 -2
  402. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
  403. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
  404. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +135 -164
  405. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  406. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
  407. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  408. package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
  409. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
  410. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +17 -20
  411. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
  412. package/features/folders/getFolderLevelPermission/feature.js +14 -16
  413. package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
  414. package/features/folders/getFolderLevelPermission/index.js +0 -2
  415. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
  416. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  417. package/features/folders/listFolders/ListFolders.test.js +98 -111
  418. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  419. package/features/folders/listFolders/ListFoldersGqlGateway.js +29 -27
  420. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  421. package/features/folders/listFolders/ListFoldersRepository.js +19 -14
  422. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  423. package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
  424. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  425. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
  426. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  427. package/features/folders/listFolders/abstractions.js +4 -3
  428. package/features/folders/listFolders/abstractions.js.map +1 -1
  429. package/features/folders/listFolders/feature.js +17 -23
  430. package/features/folders/listFolders/feature.js.map +1 -1
  431. package/features/folders/listFolders/index.js +0 -2
  432. package/features/folders/listFolders/useListFolders.js +35 -37
  433. package/features/folders/listFolders/useListFolders.js.map +1 -1
  434. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
  435. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  436. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +31 -33
  437. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  438. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
  439. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  440. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
  441. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  442. package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
  443. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
  444. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
  445. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
  446. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
  447. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
  448. package/features/folders/listFoldersByParentIds/feature.js +18 -26
  449. package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
  450. package/features/folders/listFoldersByParentIds/index.js +0 -2
  451. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
  452. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  453. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
  454. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
  455. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
  456. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
  457. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
  458. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
  459. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
  460. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
  461. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
  462. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
  463. package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
  464. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
  465. package/features/folders/loadFolderHierarchy/feature.js +17 -23
  466. package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
  467. package/features/folders/loadFolderHierarchy/index.js +0 -2
  468. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
  469. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
  470. package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
  471. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  472. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -45
  473. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  474. package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
  475. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  476. package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
  477. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  478. package/features/folders/updateFolder/abstractions.js +4 -3
  479. package/features/folders/updateFolder/abstractions.js.map +1 -1
  480. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
  481. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
  482. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +44 -56
  483. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
  484. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
  485. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
  486. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +15 -15
  487. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -1
  488. package/features/folders/updateFolder/feature.js +20 -28
  489. package/features/folders/updateFolder/feature.js.map +1 -1
  490. package/features/folders/updateFolder/index.js +0 -2
  491. package/features/folders/updateFolder/useUpdateFolder.js +17 -19
  492. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  493. package/graphql/app.gql.js +3 -4
  494. package/graphql/app.gql.js.map +1 -1
  495. package/graphql/records/common.js +41 -39
  496. package/graphql/records/common.js.map +1 -1
  497. package/graphql/records/getRecord.js +2 -3
  498. package/graphql/records/getRecord.js.map +1 -1
  499. package/graphql/records/listRecords.js +22 -13
  500. package/graphql/records/listRecords.js.map +1 -1
  501. package/graphql/records/moveRecord.js +5 -6
  502. package/graphql/records/moveRecord.js.map +1 -1
  503. package/graphql/records/types.js +0 -3
  504. package/graphql/records.gql.js +0 -2
  505. package/handlers.js +17 -40
  506. package/handlers.js.map +1 -1
  507. package/hooks/index.js +0 -2
  508. package/hooks/useAcoApp.js +11 -12
  509. package/hooks/useAcoApp.js.map +1 -1
  510. package/hooks/useAcoList.js +5 -6
  511. package/hooks/useAcoList.js.map +1 -1
  512. package/hooks/useFolder.js +6 -7
  513. package/hooks/useFolder.js.map +1 -1
  514. package/hooks/useFolderModel.js +11 -13
  515. package/hooks/useFolderModel.js.map +1 -1
  516. package/hooks/useFoldersType.js +7 -12
  517. package/hooks/useFoldersType.js.map +1 -1
  518. package/hooks/useNavigateFolder.js +5 -6
  519. package/hooks/useNavigateFolder.js.map +1 -1
  520. package/hooks/useRecords.js +56 -77
  521. package/hooks/useRecords.js.map +1 -1
  522. package/hooks/useTags.js +21 -30
  523. package/hooks/useTags.js.map +1 -1
  524. package/index.d.ts +1 -0
  525. package/index.js +3 -8
  526. package/package.json +21 -21
  527. package/presentation/folderTree/FolderTree.d.ts +19 -0
  528. package/presentation/folderTree/FolderTree.js +252 -0
  529. package/presentation/folderTree/FolderTree.js.map +1 -0
  530. package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
  531. package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
  532. package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
  533. package/presentation/folderTree/FolderTreePresenter.d.ts +51 -0
  534. package/presentation/folderTree/FolderTreePresenter.js +303 -0
  535. package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
  536. package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
  537. package/presentation/folderTree/FolderTreePresenter.test.js +517 -0
  538. package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
  539. package/presentation/folderTree/abstractions.d.ts +65 -0
  540. package/presentation/folderTree/abstractions.js +5 -0
  541. package/presentation/folderTree/abstractions.js.map +1 -0
  542. package/presentation/folderTree/feature.d.ts +3 -0
  543. package/presentation/folderTree/feature.js +17 -0
  544. package/presentation/folderTree/feature.js.map +1 -0
  545. package/presentation/folderTree/index.d.ts +5 -0
  546. package/presentation/folderTree/index.js +3 -0
  547. package/sorting.js +25 -28
  548. package/sorting.js.map +1 -1
  549. package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
  550. package/static/svg/folder.f3d5c400.svg +4 -0
  551. package/table.types.js +0 -3
  552. package/types.js +10 -13
  553. package/types.js.map +1 -1
  554. package/components/Actions/DeleteFolder/index.js.map +0 -1
  555. package/components/Actions/EditFolder/index.js.map +0 -1
  556. package/components/Actions/SetFolderPemissions/index.js.map +0 -1
  557. package/components/Actions/index.js.map +0 -1
  558. package/components/AdvancedSearch/Button/index.js.map +0 -1
  559. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
  560. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
  561. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
  562. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
  563. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
  564. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
  565. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
  566. package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
  567. package/components/AdvancedSearch/domain/index.js.map +0 -1
  568. package/components/AdvancedSearch/fields/index.js.map +0 -1
  569. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
  570. package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
  571. package/components/AdvancedSearch/gateways/index.js.map +0 -1
  572. package/components/Extensions/index.js.map +0 -1
  573. package/components/FolderGrid/index.js.map +0 -1
  574. package/components/FolderIcons/index.js.map +0 -1
  575. package/components/FolderTree/ButtonCreate/index.js.map +0 -1
  576. package/components/FolderTree/Empty/index.js.map +0 -1
  577. package/components/FolderTree/List/index.js.map +0 -1
  578. package/components/FolderTree/Loader/index.js.map +0 -1
  579. package/components/FolderTree/MenuActions/index.js.map +0 -1
  580. package/components/FolderTree/Node/index.js.map +0 -1
  581. package/components/FolderTree/NodePreview/index.js.map +0 -1
  582. package/components/Search/index.js.map +0 -1
  583. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
  584. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
  585. package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
  586. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
  587. package/components/Table/components/Table/Columns/index.js.map +0 -1
  588. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
  589. package/components/Table/components/Table/gateways/index.js.map +0 -1
  590. package/components/Table/components/Table/index.js.map +0 -1
  591. package/components/Table/components/index.js.map +0 -1
  592. package/components/Table/index.js.map +0 -1
  593. package/components/index.js.map +0 -1
  594. package/config/index.js.map +0 -1
  595. package/constants.js.map +0 -1
  596. package/contexts/index.js.map +0 -1
  597. package/dialogs/index.js.map +0 -1
  598. package/domain/folder/FolderDto.js.map +0 -1
  599. package/exports/admin/aco.js.map +0 -1
  600. package/exports/admin/ui.js.map +0 -1
  601. package/features/folders/cache/ListCache.js.map +0 -1
  602. package/features/folders/cache/index.js.map +0 -1
  603. package/features/folders/createFolder/index.js.map +0 -1
  604. package/features/folders/deleteFolder/index.js.map +0 -1
  605. package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
  606. package/features/folders/folderModelProvider/index.js.map +0 -1
  607. package/features/folders/getDescendantFolders/index.js.map +0 -1
  608. package/features/folders/getFolder/index.js.map +0 -1
  609. package/features/folders/getFolderAncestors/index.js.map +0 -1
  610. package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
  611. package/features/folders/getFolderLevelPermission/index.js.map +0 -1
  612. package/features/folders/listFolders/index.js.map +0 -1
  613. package/features/folders/listFoldersByParentIds/index.js.map +0 -1
  614. package/features/folders/loadFolderHierarchy/index.js.map +0 -1
  615. package/features/folders/updateFolder/index.js.map +0 -1
  616. package/graphql/records/types.js.map +0 -1
  617. package/graphql/records.gql.js.map +0 -1
  618. package/hooks/index.js.map +0 -1
  619. package/index.js.map +0 -1
  620. package/table.types.js.map +0 -1
@@ -1,29 +1,26 @@
1
1
  import { FoldersCache } from "../../abstractions.js";
2
- import { GetFolderLevelPermissionUseCase as UseCaseAbstraction } from "../abstractions.js";
2
+ import { GetFolderLevelPermissionUseCase } from "../abstractions.js";
3
3
  import { WcpService } from "@webiny/app-admin/features/wcp/abstractions.js";
4
4
  class GetFolderLevelPermissionWithFlpDecoratorImpl {
5
- constructor(cache, wcp, decoratee) {
6
- this.cache = cache;
7
- this.wcp = wcp;
8
- this.decoratee = decoratee;
9
- }
10
- execute(id, permissionName) {
11
- // Check if WCP allows folder-level permissions feature
12
- if (!this.wcp.getProject().canUseFolderLevelPermissions()) {
13
- return this.decoratee.execute(id, permissionName);
5
+ constructor(cache, wcp, decoratee){
6
+ this.cache = cache;
7
+ this.wcp = wcp;
8
+ this.decoratee = decoratee;
14
9
  }
15
-
16
- // Check the permissions
17
- const folder = this.cache.getItem(folder => folder.id === id);
18
- if (!folder) {
19
- return false;
10
+ execute(id, permissionName) {
11
+ if (!this.wcp.getProject().canUseFolderLevelPermissions()) return this.decoratee.execute(id, permissionName);
12
+ const folder = this.cache.getItem((folder)=>folder.id === id);
13
+ if (!folder) return false;
14
+ return folder[permissionName] ?? false;
20
15
  }
21
- return folder[permissionName] ?? false;
22
- }
23
16
  }
24
- export const GetFolderLevelPermissionWithFlpDecorator = UseCaseAbstraction.createDecorator({
25
- decorator: GetFolderLevelPermissionWithFlpDecoratorImpl,
26
- dependencies: [FoldersCache, WcpService]
17
+ const GetFolderLevelPermissionWithFlpDecorator = GetFolderLevelPermissionUseCase.createDecorator({
18
+ decorator: GetFolderLevelPermissionWithFlpDecoratorImpl,
19
+ dependencies: [
20
+ FoldersCache,
21
+ WcpService
22
+ ]
27
23
  });
24
+ export { GetFolderLevelPermissionWithFlpDecorator };
28
25
 
29
26
  //# sourceMappingURL=GetFolderLevelPermissionWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FoldersCache","GetFolderLevelPermissionUseCase","UseCaseAbstraction","WcpService","GetFolderLevelPermissionWithFlpDecoratorImpl","constructor","cache","wcp","decoratee","execute","id","permissionName","getProject","canUseFolderLevelPermissions","folder","getItem","GetFolderLevelPermissionWithFlpDecorator","createDecorator","decorator","dependencies"],"sources":["GetFolderLevelPermissionWithFlpDecorator.ts"],"sourcesContent":["import type { FolderPermissionName } from \"~/features/folders/abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { GetFolderLevelPermissionUseCase as UseCaseAbstraction } from \"../abstractions.js\";\nimport { WcpService } from \"@webiny/app-admin/features/wcp/abstractions.js\";\n\nclass GetFolderLevelPermissionWithFlpDecoratorImpl implements UseCaseAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private wcp: WcpService.Interface,\n private decoratee: UseCaseAbstraction.Interface\n ) {}\n\n execute(id: string, permissionName: FolderPermissionName) {\n // Check if WCP allows folder-level permissions feature\n if (!this.wcp.getProject().canUseFolderLevelPermissions()) {\n return this.decoratee.execute(id, permissionName);\n }\n\n // Check the permissions\n const folder = this.cache.getItem(folder => folder.id === id);\n\n if (!folder) {\n return false;\n }\n\n return folder[permissionName] ?? false;\n }\n}\n\nexport const GetFolderLevelPermissionWithFlpDecorator = UseCaseAbstraction.createDecorator({\n decorator: GetFolderLevelPermissionWithFlpDecoratorImpl,\n dependencies: [FoldersCache, WcpService]\n});\n"],"mappings":"AACA,SAASA,YAAY;AACrB,SAASC,+BAA+B,IAAIC,kBAAkB;AAC9D,SAASC,UAAU,QAAQ,gDAAgD;AAE3E,MAAMC,4CAA4C,CAAyC;EACvFC,WAAWA,CACCC,KAA6B,EAC7BC,GAAyB,EACzBC,SAAuC,EACjD;IAAA,KAHUF,KAA6B,GAA7BA,KAA6B;IAAA,KAC7BC,GAAyB,GAAzBA,GAAyB;IAAA,KACzBC,SAAuC,GAAvCA,SAAuC;EAChD;EAEHC,OAAOA,CAACC,EAAU,EAAEC,cAAoC,EAAE;IACtD;IACA,IAAI,CAAC,IAAI,CAACJ,GAAG,CAACK,UAAU,CAAC,CAAC,CAACC,4BAA4B,CAAC,CAAC,EAAE;MACvD,OAAO,IAAI,CAACL,SAAS,CAACC,OAAO,CAACC,EAAE,EAAEC,cAAc,CAAC;IACrD;;IAEA;IACA,MAAMG,MAAM,GAAG,IAAI,CAACR,KAAK,CAACS,OAAO,CAACD,MAAM,IAAIA,MAAM,CAACJ,EAAE,KAAKA,EAAE,CAAC;IAE7D,IAAI,CAACI,MAAM,EAAE;MACT,OAAO,KAAK;IAChB;IAEA,OAAOA,MAAM,CAACH,cAAc,CAAC,IAAI,KAAK;EAC1C;AACJ;AAEA,OAAO,MAAMK,wCAAwC,GAAGd,kBAAkB,CAACe,eAAe,CAAC;EACvFC,SAAS,EAAEd,4CAA4C;EACvDe,YAAY,EAAE,CAACnB,YAAY,EAAEG,UAAU;AAC3C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js","sources":["../../../../../src/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.ts"],"sourcesContent":["import type { FolderPermissionName } from \"~/features/folders/abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { GetFolderLevelPermissionUseCase as UseCaseAbstraction } from \"../abstractions.js\";\nimport { WcpService } from \"@webiny/app-admin/features/wcp/abstractions.js\";\n\nclass GetFolderLevelPermissionWithFlpDecoratorImpl implements UseCaseAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private wcp: WcpService.Interface,\n private decoratee: UseCaseAbstraction.Interface\n ) {}\n\n execute(id: string, permissionName: FolderPermissionName) {\n // Check if WCP allows folder-level permissions feature\n if (!this.wcp.getProject().canUseFolderLevelPermissions()) {\n return this.decoratee.execute(id, permissionName);\n }\n\n // Check the permissions\n const folder = this.cache.getItem(folder => folder.id === id);\n\n if (!folder) {\n return false;\n }\n\n return folder[permissionName] ?? false;\n }\n}\n\nexport const GetFolderLevelPermissionWithFlpDecorator = UseCaseAbstraction.createDecorator({\n decorator: GetFolderLevelPermissionWithFlpDecoratorImpl,\n dependencies: [FoldersCache, WcpService]\n});\n"],"names":["GetFolderLevelPermissionWithFlpDecoratorImpl","cache","wcp","decoratee","id","permissionName","folder","GetFolderLevelPermissionWithFlpDecorator","UseCaseAbstraction","FoldersCache","WcpService"],"mappings":";;;AAKA,MAAMA;IACF,YACYC,KAA6B,EAC7BC,GAAyB,EACzBC,SAAuC,CACjD;aAHUF,KAAK,GAALA;aACAC,GAAG,GAAHA;aACAC,SAAS,GAATA;IACT;IAEH,QAAQC,EAAU,EAAEC,cAAoC,EAAE;QAEtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,4BAA4B,IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD,IAAIC;QAItC,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAACA,CAAAA,SAAUA,OAAO,EAAE,KAAKF;QAE1D,IAAI,CAACE,QACD,OAAO;QAGX,OAAOA,MAAM,CAACD,eAAe,IAAI;IACrC;AACJ;AAEO,MAAME,2CAA2CC,gCAAAA,eAAkC,CAAC;IACvF,WAAWR;IACX,cAAc;QAACS;QAAcC;KAAW;AAC5C"}
@@ -1,21 +1,19 @@
1
1
  import { createFeature } from "@webiny/feature/admin";
2
- import { GetFolderLevelPermissionUseCase as UseCase } from "./abstractions.js";
3
- import { GetFolderLevelPermissionUseCase } from "./GetFolderLevelPermissionUseCase.js";
2
+ import { GetFolderLevelPermissionUseCase } from "./abstractions.js";
3
+ import { GetFolderLevelPermissionUseCase as external_GetFolderLevelPermissionUseCase_js_GetFolderLevelPermissionUseCase } from "./GetFolderLevelPermissionUseCase.js";
4
4
  import { GetFolderLevelPermissionWithFlpDecorator } from "./decorators/GetFolderLevelPermissionWithFlpDecorator.js";
5
- export const GetFolderLevelPermissionFeature = createFeature({
6
- name: "GetFolderLevelPermission",
7
- register(container) {
8
- // Register base use case
9
- container.register(GetFolderLevelPermissionUseCase);
10
-
11
- // Register decorator
12
- container.registerDecorator(GetFolderLevelPermissionWithFlpDecorator);
13
- },
14
- resolve(container) {
15
- return {
16
- useCase: container.resolve(UseCase)
17
- };
18
- }
5
+ const GetFolderLevelPermissionFeature = createFeature({
6
+ name: "GetFolderLevelPermission",
7
+ register (container) {
8
+ container.register(external_GetFolderLevelPermissionUseCase_js_GetFolderLevelPermissionUseCase);
9
+ container.registerDecorator(GetFolderLevelPermissionWithFlpDecorator);
10
+ },
11
+ resolve (container) {
12
+ return {
13
+ useCase: container.resolve(GetFolderLevelPermissionUseCase)
14
+ };
15
+ }
19
16
  });
17
+ export { GetFolderLevelPermissionFeature };
20
18
 
21
19
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetFolderLevelPermissionUseCase","UseCase","GetFolderLevelPermissionWithFlpDecorator","GetFolderLevelPermissionFeature","name","register","container","registerDecorator","resolve","useCase"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { GetFolderLevelPermissionUseCase as UseCase } from \"./abstractions.js\";\nimport { GetFolderLevelPermissionUseCase } from \"./GetFolderLevelPermissionUseCase.js\";\nimport { GetFolderLevelPermissionWithFlpDecorator } from \"./decorators/GetFolderLevelPermissionWithFlpDecorator.js\";\n\nexport const GetFolderLevelPermissionFeature = createFeature({\n name: \"GetFolderLevelPermission\",\n register(container) {\n // Register base use case\n container.register(GetFolderLevelPermissionUseCase);\n\n // Register decorator\n container.registerDecorator(GetFolderLevelPermissionWithFlpDecorator);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,+BAA+B,IAAIC,OAAO;AACnD,SAASD,+BAA+B;AACxC,SAASE,wCAAwC;AAEjD,OAAO,MAAMC,+BAA+B,GAAGJ,aAAa,CAAC;EACzDK,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChB;IACAA,SAAS,CAACD,QAAQ,CAACL,+BAA+B,CAAC;;IAEnD;IACAM,SAAS,CAACC,iBAAiB,CAACL,wCAAwC,CAAC;EACzE,CAAC;EACDM,OAAOA,CAACF,SAAS,EAAE;IACf,OAAO;MACHG,OAAO,EAAEH,SAAS,CAACE,OAAO,CAACP,OAAO;IACtC,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/getFolderLevelPermission/feature.js","sources":["../../../../src/features/folders/getFolderLevelPermission/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { GetFolderLevelPermissionUseCase as UseCase } from \"./abstractions.js\";\nimport { GetFolderLevelPermissionUseCase } from \"./GetFolderLevelPermissionUseCase.js\";\nimport { GetFolderLevelPermissionWithFlpDecorator } from \"./decorators/GetFolderLevelPermissionWithFlpDecorator.js\";\n\nexport const GetFolderLevelPermissionFeature = createFeature({\n name: \"GetFolderLevelPermission\",\n register(container) {\n // Register base use case\n container.register(GetFolderLevelPermissionUseCase);\n\n // Register decorator\n container.registerDecorator(GetFolderLevelPermissionWithFlpDecorator);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase)\n };\n }\n});\n"],"names":["GetFolderLevelPermissionFeature","createFeature","container","GetFolderLevelPermissionUseCase","GetFolderLevelPermissionWithFlpDecorator","UseCase"],"mappings":";;;;AAKO,MAAMA,kCAAkCC,cAAc;IACzD,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,QAAQ,CAACC;QAGnBD,UAAU,iBAAiB,CAACE;IAChC;IACA,SAAQF,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACG;QAC/B;IACJ;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./useGetFolderLevelPermission.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,16 +1,15 @@
1
1
  import { useCallback } from "react";
2
2
  import { useFeature } from "@webiny/app";
3
3
  import { GetFolderLevelPermissionFeature } from "./feature.js";
4
- export const useGetFolderLevelPermission = permissionName => {
5
- const {
6
- useCase
7
- } = useFeature(GetFolderLevelPermissionFeature);
8
- const getFolderLevelPermission = useCallback(id => {
9
- return useCase.execute(id, permissionName);
10
- }, [useCase]);
11
- return {
12
- getFolderLevelPermission
13
- };
4
+ const useGetFolderLevelPermission = (permissionName)=>{
5
+ const { useCase } = useFeature(GetFolderLevelPermissionFeature);
6
+ const getFolderLevelPermission = useCallback((id)=>useCase.execute(id, permissionName), [
7
+ useCase
8
+ ]);
9
+ return {
10
+ getFolderLevelPermission
11
+ };
14
12
  };
13
+ export { useGetFolderLevelPermission };
15
14
 
16
15
  //# sourceMappingURL=useGetFolderLevelPermission.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useFeature","GetFolderLevelPermissionFeature","useGetFolderLevelPermission","permissionName","useCase","getFolderLevelPermission","id","execute"],"sources":["useGetFolderLevelPermission.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useFeature } from \"@webiny/app\";\nimport { GetFolderLevelPermissionFeature } from \"./feature.js\";\nimport { FolderPermissionName } from \"../abstractions.js\";\n\nexport const useGetFolderLevelPermission = (permissionName: FolderPermissionName) => {\n const { useCase } = useFeature(GetFolderLevelPermissionFeature);\n\n const getFolderLevelPermission = useCallback(\n (id: string) => {\n return useCase.execute(id, permissionName);\n },\n [useCase]\n );\n\n return {\n getFolderLevelPermission\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,+BAA+B;AAGxC,OAAO,MAAMC,2BAA2B,GAAIC,cAAoC,IAAK;EACjF,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,UAAU,CAACC,+BAA+B,CAAC;EAE/D,MAAMI,wBAAwB,GAAGN,WAAW,CACvCO,EAAU,IAAK;IACZ,OAAOF,OAAO,CAACG,OAAO,CAACD,EAAE,EAAEH,cAAc,CAAC;EAC9C,CAAC,EACD,CAACC,OAAO,CACZ,CAAC;EAED,OAAO;IACHC;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js","sources":["../../../../src/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useFeature } from \"@webiny/app\";\nimport { GetFolderLevelPermissionFeature } from \"./feature.js\";\nimport { FolderPermissionName } from \"../abstractions.js\";\n\nexport const useGetFolderLevelPermission = (permissionName: FolderPermissionName) => {\n const { useCase } = useFeature(GetFolderLevelPermissionFeature);\n\n const getFolderLevelPermission = useCallback(\n (id: string) => {\n return useCase.execute(id, permissionName);\n },\n [useCase]\n );\n\n return {\n getFolderLevelPermission\n };\n};\n"],"names":["useGetFolderLevelPermission","permissionName","useCase","useFeature","GetFolderLevelPermissionFeature","getFolderLevelPermission","useCallback","id"],"mappings":";;;AAKO,MAAMA,8BAA8B,CAACC;IACxC,MAAM,EAAEC,OAAO,EAAE,GAAGC,WAAWC;IAE/B,MAAMC,2BAA2BC,YAC7B,CAACC,KACUL,QAAQ,OAAO,CAACK,IAAIN,iBAE/B;QAACC;KAAQ;IAGb,OAAO;QACHG;IACJ;AACJ"}
@@ -1,122 +1,109 @@
1
- import { describe, it, expect, beforeEach, vi } from "vitest";
2
- import { ListFoldersGateway } from "./abstractions.js";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { ListFoldersGateway, ListFoldersUseCase } from "./abstractions.js";
3
3
  import { Container } from "@webiny/di";
4
4
  import { ListCache } from "../cache/index.js";
5
- import { FoldersContext } from "../abstractions.js";
6
- import { FoldersCache } from "../abstractions.js";
5
+ import { FoldersCache, FoldersContext, FoldersLoadingRepository } from "../abstractions.js";
7
6
  import { ListFoldersFeature } from "./feature.js";
8
- import { ListFoldersUseCase } from "./abstractions.js";
9
- import { FoldersLoadingRepository } from "../abstractions.js";
10
7
  import { LoadingRepository } from "@webiny/app-utils";
11
8
  const type = "abc";
12
9
  class ListFoldersMockGateway {
13
- async execute() {
14
- return [{
15
- id: "folder-1",
16
- title: "Folder 1",
17
- slug: "folder-1",
18
- type
19
- }, {
20
- id: "folder-2",
21
- title: "Folder 2",
22
- slug: "folder-1",
23
- type
24
- }, {
25
- id: "folder-3",
26
- title: "Folder 3",
27
- slug: "folder-3",
28
- type
29
- }];
30
- }
31
- }
32
- describe("ListFolders", () => {
33
- function setupTest(gateway) {
34
- const container = new Container();
35
- const foldersCache = new ListCache();
36
- container.registerInstance(FoldersContext, {
37
- type
38
- });
39
- container.registerInstance(FoldersCache, foldersCache);
40
- container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
41
- ListFoldersFeature.register(container);
42
- container.registerInstance(ListFoldersGateway, gateway);
43
- return {
44
- container,
45
- foldersCache,
46
- useCase: container.resolve(ListFoldersUseCase)
47
- };
48
- }
49
- beforeEach(() => {
50
- vi.clearAllMocks();
51
- });
52
- it("should be able to list folders", async () => {
53
- const gateway = new ListFoldersMockGateway();
54
- const {
55
- useCase,
56
- foldersCache
57
- } = setupTest(gateway);
58
- const spy = vi.spyOn(gateway, "execute");
59
- expect(foldersCache.hasItems()).toBe(false);
60
- await useCase.execute();
61
- expect(spy).toHaveBeenCalledTimes(1);
62
- expect(foldersCache.hasItems()).toBe(true);
63
- const items = foldersCache.getItems();
64
- expect(items.length).toEqual(3);
65
- });
66
- it("should return empty array if no folders are found", async () => {
67
- class ListFoldersEmptyMockGateway {
68
- async execute() {
69
- return [];
70
- }
10
+ async execute() {
11
+ return [
12
+ {
13
+ id: "folder-1",
14
+ title: "Folder 1",
15
+ slug: "folder-1",
16
+ type: type
17
+ },
18
+ {
19
+ id: "folder-2",
20
+ title: "Folder 2",
21
+ slug: "folder-1",
22
+ type: type
23
+ },
24
+ {
25
+ id: "folder-3",
26
+ title: "Folder 3",
27
+ slug: "folder-3",
28
+ type: type
29
+ }
30
+ ];
71
31
  }
72
- const emptyGateway = new ListFoldersEmptyMockGateway();
73
- const {
74
- useCase,
75
- foldersCache
76
- } = setupTest(emptyGateway);
77
- const spy = vi.spyOn(emptyGateway, "execute");
78
- expect(foldersCache.hasItems()).toBe(false);
79
- await useCase.execute();
80
- expect(spy).toHaveBeenCalledTimes(1);
81
- expect(foldersCache.hasItems()).toBe(false);
82
- const items = foldersCache.getItems();
83
- expect(items.length).toEqual(0);
84
- });
85
- it("should handle gateway errors gracefully", async () => {
86
- class ListFoldersErrorMockGateway {
87
- async execute() {
88
- throw new Error("Gateway error");
89
- }
32
+ }
33
+ describe("ListFolders", ()=>{
34
+ function setupTest(gateway) {
35
+ const container = new Container();
36
+ const foldersCache = new ListCache();
37
+ container.registerInstance(FoldersContext, {
38
+ type: type
39
+ });
40
+ container.registerInstance(FoldersCache, foldersCache);
41
+ container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
42
+ ListFoldersFeature.register(container);
43
+ container.registerInstance(ListFoldersGateway, gateway);
44
+ return {
45
+ container,
46
+ foldersCache,
47
+ useCase: container.resolve(ListFoldersUseCase)
48
+ };
90
49
  }
91
- const errorGateway = new ListFoldersErrorMockGateway();
92
- const {
93
- useCase,
94
- foldersCache
95
- } = setupTest(errorGateway);
96
- const spy = vi.spyOn(errorGateway, "execute");
97
- expect(foldersCache.hasItems()).toBe(false);
98
- await expect(useCase.execute()).rejects.toThrow("Gateway error");
99
- expect(spy).toHaveBeenCalledTimes(1);
100
- expect(foldersCache.hasItems()).toBe(false);
101
- });
102
- it("should NOT cache folders after listing", async () => {
103
- const gateway = new ListFoldersMockGateway();
104
- const {
105
- useCase,
106
- foldersCache
107
- } = setupTest(gateway);
108
- const spy = vi.spyOn(gateway, "execute");
109
- expect(foldersCache.hasItems()).toBe(false);
110
- await useCase.execute();
111
- expect(spy).toHaveBeenCalledTimes(1);
112
- expect(foldersCache.hasItems()).toBe(true);
113
- const items = foldersCache.getItems();
114
- expect(items.length).toEqual(3);
115
-
116
- // Execute again, it should execute the gateway again
117
- await useCase.execute();
118
- expect(spy).toHaveBeenCalledTimes(2);
119
- });
50
+ beforeEach(()=>{
51
+ vi.clearAllMocks();
52
+ });
53
+ it("should be able to list folders", async ()=>{
54
+ const gateway = new ListFoldersMockGateway();
55
+ const { useCase, foldersCache } = setupTest(gateway);
56
+ const spy = vi.spyOn(gateway, "execute");
57
+ expect(foldersCache.hasItems()).toBe(false);
58
+ await useCase.execute();
59
+ expect(spy).toHaveBeenCalledTimes(1);
60
+ expect(foldersCache.hasItems()).toBe(true);
61
+ const items = foldersCache.getItems();
62
+ expect(items.length).toEqual(3);
63
+ });
64
+ it("should return empty array if no folders are found", async ()=>{
65
+ class ListFoldersEmptyMockGateway {
66
+ async execute() {
67
+ return [];
68
+ }
69
+ }
70
+ const emptyGateway = new ListFoldersEmptyMockGateway();
71
+ const { useCase, foldersCache } = setupTest(emptyGateway);
72
+ const spy = vi.spyOn(emptyGateway, "execute");
73
+ expect(foldersCache.hasItems()).toBe(false);
74
+ await useCase.execute();
75
+ expect(spy).toHaveBeenCalledTimes(1);
76
+ expect(foldersCache.hasItems()).toBe(false);
77
+ const items = foldersCache.getItems();
78
+ expect(items.length).toEqual(0);
79
+ });
80
+ it("should handle gateway errors gracefully", async ()=>{
81
+ class ListFoldersErrorMockGateway {
82
+ async execute() {
83
+ throw new Error("Gateway error");
84
+ }
85
+ }
86
+ const errorGateway = new ListFoldersErrorMockGateway();
87
+ const { useCase, foldersCache } = setupTest(errorGateway);
88
+ const spy = vi.spyOn(errorGateway, "execute");
89
+ expect(foldersCache.hasItems()).toBe(false);
90
+ await expect(useCase.execute()).rejects.toThrow("Gateway error");
91
+ expect(spy).toHaveBeenCalledTimes(1);
92
+ expect(foldersCache.hasItems()).toBe(false);
93
+ });
94
+ it("should NOT cache folders after listing", async ()=>{
95
+ const gateway = new ListFoldersMockGateway();
96
+ const { useCase, foldersCache } = setupTest(gateway);
97
+ const spy = vi.spyOn(gateway, "execute");
98
+ expect(foldersCache.hasItems()).toBe(false);
99
+ await useCase.execute();
100
+ expect(spy).toHaveBeenCalledTimes(1);
101
+ expect(foldersCache.hasItems()).toBe(true);
102
+ const items = foldersCache.getItems();
103
+ expect(items.length).toEqual(3);
104
+ await useCase.execute();
105
+ expect(spy).toHaveBeenCalledTimes(2);
106
+ });
120
107
  });
121
108
 
122
109
  //# sourceMappingURL=ListFolders.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","expect","beforeEach","vi","ListFoldersGateway","Container","ListCache","FoldersContext","FoldersCache","ListFoldersFeature","ListFoldersUseCase","FoldersLoadingRepository","LoadingRepository","type","ListFoldersMockGateway","execute","id","title","slug","setupTest","gateway","container","foldersCache","registerInstance","register","useCase","resolve","clearAllMocks","spy","spyOn","hasItems","toBe","toHaveBeenCalledTimes","items","getItems","length","toEqual","ListFoldersEmptyMockGateway","emptyGateway","ListFoldersErrorMockGateway","Error","errorGateway","rejects","toThrow"],"sources":["ListFolders.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { ListFoldersGateway } from \"./abstractions.js\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache } 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 { ListFoldersFeature } from \"~/features/folders/listFolders/feature.js\";\nimport { ListFoldersUseCase } from \"./abstractions.js\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\n\nconst type = \"abc\";\n\nclass ListFoldersMockGateway implements ListFoldersGateway.Interface {\n async execute() {\n return [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n type\n }\n ] as FolderDto[];\n }\n}\n\ndescribe(\"ListFolders\", () => {\n function setupTest(gateway: ListFoldersGateway.Interface) {\n const container = new Container();\n const foldersCache = new ListCache<Folder>();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n container.registerInstance(FoldersLoadingRepository, new LoadingRepository());\n\n ListFoldersFeature.register(container);\n container.registerInstance(ListFoldersGateway, gateway);\n\n return { container, foldersCache, useCase: container.resolve(ListFoldersUseCase) };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be able to list folders\", async () => {\n const gateway = new ListFoldersMockGateway();\n const { useCase, foldersCache } = setupTest(gateway);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(true);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(3);\n });\n\n it(\"should return empty array if no folders are found\", async () => {\n class ListFoldersEmptyMockGateway implements ListFoldersGateway.Interface {\n async execute() {\n return [];\n }\n }\n\n const emptyGateway = new ListFoldersEmptyMockGateway();\n const { useCase, foldersCache } = setupTest(emptyGateway);\n const spy = vi.spyOn(emptyGateway, \"execute\");\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 ListFoldersErrorMockGateway implements ListFoldersGateway.Interface {\n async execute(): Promise<FolderDto[]> {\n throw new Error(\"Gateway error\");\n }\n }\n\n const errorGateway = new ListFoldersErrorMockGateway();\n const { useCase, foldersCache } = setupTest(errorGateway);\n const spy = vi.spyOn(errorGateway, \"execute\");\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 it(\"should NOT cache folders after listing\", async () => {\n const gateway = new ListFoldersMockGateway();\n const { useCase, foldersCache } = setupTest(gateway);\n const spy = vi.spyOn(gateway, \"execute\");\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(true);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(3);\n\n // Execute again, it should execute the gateway again\n await useCase.execute();\n expect(spy).toHaveBeenCalledTimes(2);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/listFolders/ListFolders.test.js","sources":["../../../../src/features/folders/listFolders/ListFolders.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { ListFoldersGateway } from \"./abstractions.js\";\nimport { Container } from \"@webiny/di\";\nimport { ListCache } 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 { ListFoldersFeature } from \"~/features/folders/listFolders/feature.js\";\nimport { ListFoldersUseCase } from \"./abstractions.js\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\n\nconst type = \"abc\";\n\nclass ListFoldersMockGateway implements ListFoldersGateway.Interface {\n async execute() {\n return [\n {\n id: \"folder-1\",\n title: \"Folder 1\",\n slug: \"folder-1\",\n type\n },\n {\n id: \"folder-2\",\n title: \"Folder 2\",\n slug: \"folder-1\",\n type\n },\n {\n id: \"folder-3\",\n title: \"Folder 3\",\n slug: \"folder-3\",\n type\n }\n ] as FolderDto[];\n }\n}\n\ndescribe(\"ListFolders\", () => {\n function setupTest(gateway: ListFoldersGateway.Interface) {\n const container = new Container();\n const foldersCache = new ListCache<Folder>();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n container.registerInstance(FoldersLoadingRepository, new LoadingRepository());\n\n ListFoldersFeature.register(container);\n container.registerInstance(ListFoldersGateway, gateway);\n\n return { container, foldersCache, useCase: container.resolve(ListFoldersUseCase) };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be able to list folders\", async () => {\n const gateway = new ListFoldersMockGateway();\n const { useCase, foldersCache } = setupTest(gateway);\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(true);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(3);\n });\n\n it(\"should return empty array if no folders are found\", async () => {\n class ListFoldersEmptyMockGateway implements ListFoldersGateway.Interface {\n async execute() {\n return [];\n }\n }\n\n const emptyGateway = new ListFoldersEmptyMockGateway();\n const { useCase, foldersCache } = setupTest(emptyGateway);\n const spy = vi.spyOn(emptyGateway, \"execute\");\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 ListFoldersErrorMockGateway implements ListFoldersGateway.Interface {\n async execute(): Promise<FolderDto[]> {\n throw new Error(\"Gateway error\");\n }\n }\n\n const errorGateway = new ListFoldersErrorMockGateway();\n const { useCase, foldersCache } = setupTest(errorGateway);\n const spy = vi.spyOn(errorGateway, \"execute\");\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 it(\"should NOT cache folders after listing\", async () => {\n const gateway = new ListFoldersMockGateway();\n const { useCase, foldersCache } = setupTest(gateway);\n const spy = vi.spyOn(gateway, \"execute\");\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await useCase.execute();\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(true);\n\n const items = foldersCache.getItems();\n expect(items.length).toEqual(3);\n\n // Execute again, it should execute the gateway again\n await useCase.execute();\n expect(spy).toHaveBeenCalledTimes(2);\n });\n});\n"],"names":["type","ListFoldersMockGateway","describe","setupTest","gateway","container","Container","foldersCache","ListCache","FoldersContext","FoldersCache","FoldersLoadingRepository","LoadingRepository","ListFoldersFeature","ListFoldersGateway","ListFoldersUseCase","beforeEach","vi","it","useCase","spy","expect","items","ListFoldersEmptyMockGateway","emptyGateway","ListFoldersErrorMockGateway","Error","errorGateway"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import gql from "graphql-tag";
1
+ import graphql_tag from "graphql-tag";
2
2
  import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
3
3
  import { RootFolder } from "../../../domain/folder/RootFolder.js";
4
4
  import { FolderModelProvider } from "../abstractions.js";
5
- import { ListFoldersGateway as GatewayAbstraction } from "./abstractions.js";
6
- export const LIST_FOLDERS = FOLDER_FIELDS => gql`
5
+ import { ListFoldersGateway } from "./abstractions.js";
6
+ const LIST_FOLDERS = (FOLDER_FIELDS)=>graphql_tag`
7
7
  query ListFolders($type: String!, $limit: Int!) {
8
8
  aco {
9
9
  listFolders(where: { type: $type }, limit: $limit) {
@@ -18,32 +18,34 @@ export const LIST_FOLDERS = FOLDER_FIELDS => gql`
18
18
  }
19
19
  `;
20
20
  class ListFoldersGqlGatewayImpl {
21
- constructor(client, folderModelProvider) {
22
- this.client = client;
23
- this.folderModelProvider = folderModelProvider;
24
- }
25
- async execute(type) {
26
- const fields = await this.folderModelProvider.getGraphQLSelection();
27
- const response = await this.client.execute({
28
- query: LIST_FOLDERS(fields),
29
- variables: {
30
- type,
31
- limit: 10000
32
- }
33
- });
34
- const {
35
- data,
36
- error
37
- } = response.aco.listFolders;
38
- if (!data) {
39
- throw new Error(error?.message || "Could not fetch folders");
21
+ constructor(client, folderModelProvider){
22
+ this.client = client;
23
+ this.folderModelProvider = folderModelProvider;
24
+ }
25
+ async execute(type) {
26
+ const fields = await this.folderModelProvider.getGraphQLSelection();
27
+ const response = await this.client.execute({
28
+ query: LIST_FOLDERS(fields),
29
+ variables: {
30
+ type,
31
+ limit: 10000
32
+ }
33
+ });
34
+ const { data, error } = response.aco.listFolders;
35
+ if (!data) throw new Error(error?.message || "Could not fetch folders");
36
+ return [
37
+ RootFolder.create(),
38
+ ...data || []
39
+ ];
40
40
  }
41
- return [RootFolder.create(), ...(data || [])];
42
- }
43
41
  }
44
- export const ListFoldersGqlGateway = GatewayAbstraction.createImplementation({
45
- implementation: ListFoldersGqlGatewayImpl,
46
- dependencies: [MainGraphQLClient, FolderModelProvider]
42
+ const ListFoldersGqlGateway = ListFoldersGateway.createImplementation({
43
+ implementation: ListFoldersGqlGatewayImpl,
44
+ dependencies: [
45
+ MainGraphQLClient,
46
+ FolderModelProvider
47
+ ]
47
48
  });
49
+ export { LIST_FOLDERS, ListFoldersGqlGateway };
48
50
 
49
51
  //# sourceMappingURL=ListFoldersGqlGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["gql","MainGraphQLClient","RootFolder","FolderModelProvider","ListFoldersGateway","GatewayAbstraction","LIST_FOLDERS","FOLDER_FIELDS","ListFoldersGqlGatewayImpl","constructor","client","folderModelProvider","execute","type","fields","getGraphQLSelection","response","query","variables","limit","data","error","aco","listFolders","Error","message","create","ListFoldersGqlGateway","createImplementation","implementation","dependencies"],"sources":["ListFoldersGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { 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 { ListFoldersGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\nexport interface ListFoldersResponse {\n aco: {\n listFolders: {\n data: FolderDto[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersQueryVariables {\n type: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport const LIST_FOLDERS = (FOLDER_FIELDS: string) => gql`\n query ListFolders($type: String!, $limit: Int!) {\n aco {\n listFolders(where: { type: $type }, limit: $limit) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass ListFoldersGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: MainGraphQLClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const response = await this.client.execute<ListFoldersResponse, ListFoldersQueryVariables>({\n query: LIST_FOLDERS(fields),\n variables: {\n type,\n limit: 10000\n }\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 ListFoldersGqlGateway = GatewayAbstraction.createImplementation({\n implementation: ListFoldersGqlGatewayImpl,\n dependencies: [MainGraphQLClient, FolderModelProvider]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAASC,iBAAiB,QAAQ,iDAAiD;AAEnF,SAASC,UAAU;AACnB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB,IAAIC,kBAAkB;AAmBjD,OAAO,MAAMC,YAAY,GAAIC,aAAqB,IAAKP,GAAG;AAC1D;AACA;AACA;AACA,uBAAuBO,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,yBAAyB,CAAyC;EACpEC,WAAWA,CACCC,MAAmC,EACnCC,mBAAkD,EAC5D;IAAA,KAFUD,MAAmC,GAAnCA,MAAmC;IAAA,KACnCC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,IAAY,EAAE;IACxB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACI,mBAAmB,CAAC,CAAC;IAEnE,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACN,MAAM,CAACE,OAAO,CAAiD;MACvFK,KAAK,EAAEX,YAAY,CAACQ,MAAM,CAAC;MAC3BI,SAAS,EAAE;QACPL,IAAI;QACJM,KAAK,EAAE;MACX;IACJ,CAAC,CAAC;IAEF,MAAM;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAGL,QAAQ,CAACM,GAAG,CAACC,WAAW;IAEhD,IAAI,CAACH,IAAI,EAAE;MACP,MAAM,IAAII,KAAK,CAACH,KAAK,EAAEI,OAAO,IAAI,yBAAyB,CAAC;IAChE;IAEA,OAAO,CAACvB,UAAU,CAACwB,MAAM,CAAC,CAAC,EAAE,IAAIN,IAAI,IAAI,EAAE,CAAC,CAAC;EACjD;AACJ;AAEA,OAAO,MAAMO,qBAAqB,GAAGtB,kBAAkB,CAACuB,oBAAoB,CAAC;EACzEC,cAAc,EAAErB,yBAAyB;EACzCsB,YAAY,EAAE,CAAC7B,iBAAiB,EAAEE,mBAAmB;AACzD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/listFolders/ListFoldersGqlGateway.js","sources":["../../../../src/features/folders/listFolders/ListFoldersGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { 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 { ListFoldersGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\nexport interface ListFoldersResponse {\n aco: {\n listFolders: {\n data: FolderDto[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersQueryVariables {\n type: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport const LIST_FOLDERS = (FOLDER_FIELDS: string) => gql`\n query ListFolders($type: String!, $limit: Int!) {\n aco {\n listFolders(where: { type: $type }, limit: $limit) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass ListFoldersGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: MainGraphQLClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(type: string) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const response = await this.client.execute<ListFoldersResponse, ListFoldersQueryVariables>({\n query: LIST_FOLDERS(fields),\n variables: {\n type,\n limit: 10000\n }\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 ListFoldersGqlGateway = GatewayAbstraction.createImplementation({\n implementation: ListFoldersGqlGatewayImpl,\n dependencies: [MainGraphQLClient, FolderModelProvider]\n});\n"],"names":["LIST_FOLDERS","FOLDER_FIELDS","gql","ListFoldersGqlGatewayImpl","client","folderModelProvider","type","fields","response","data","error","Error","RootFolder","ListFoldersGqlGateway","GatewayAbstraction","MainGraphQLClient","FolderModelProvider"],"mappings":";;;;;AAwBO,MAAMA,eAAe,CAACC,gBAA0BC,WAAG,CAAC;;;;qBAItC,EAAED,cAAc;;;;;;;;;AASrC,CAAC;AAED,MAAME;IACF,YACYC,MAAmC,EACnCC,mBAAkD,CAC5D;aAFUD,MAAM,GAANA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,IAAY,EAAE;QACxB,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB;QAEjE,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiD;YACvF,OAAOR,aAAaO;YACpB,WAAW;gBACPD;gBACA,OAAO;YACX;QACJ;QAEA,MAAM,EAAEG,IAAI,EAAEC,KAAK,EAAE,GAAGF,SAAS,GAAG,CAAC,WAAW;QAEhD,IAAI,CAACC,MACD,MAAM,IAAIE,MAAMD,OAAO,WAAW;QAGtC,OAAO;YAACE,WAAW,MAAM;eAAQH,QAAQ,EAAE;SAAE;IACjD;AACJ;AAEO,MAAMI,wBAAwBC,mBAAAA,oBAAuC,CAAC;IACzE,gBAAgBX;IAChB,cAAc;QAACY;QAAmBC;KAAoB;AAC1D"}
@@ -1,21 +1,26 @@
1
1
  import { Folder } from "../../../domain/folder/Folder.js";
2
- import { ListFoldersRepository as RepositoryAbstraction, ListFoldersGateway } from "./abstractions.js";
2
+ import { ListFoldersGateway, ListFoldersRepository } from "./abstractions.js";
3
3
  import { FoldersCache, FoldersContext } from "../abstractions.js";
4
4
  class ListFoldersRepositoryImpl {
5
- constructor(foldersContext, cache, gateway) {
6
- this.foldersContext = foldersContext;
7
- this.cache = cache;
8
- this.gateway = gateway;
9
- }
10
- async execute() {
11
- const items = await this.gateway.execute(this.foldersContext.type);
12
- this.cache.clear();
13
- this.cache.addItems(items.map(item => Folder.create(item)));
14
- }
5
+ constructor(foldersContext, cache, gateway){
6
+ this.foldersContext = foldersContext;
7
+ this.cache = cache;
8
+ this.gateway = gateway;
9
+ }
10
+ async execute() {
11
+ const items = await this.gateway.execute(this.foldersContext.type);
12
+ this.cache.clear();
13
+ this.cache.addItems(items.map((item)=>Folder.create(item)));
14
+ }
15
15
  }
16
- export const ListFoldersRepository = RepositoryAbstraction.createImplementation({
17
- implementation: ListFoldersRepositoryImpl,
18
- dependencies: [FoldersContext, FoldersCache, ListFoldersGateway]
16
+ const ListFoldersRepository_ListFoldersRepository = ListFoldersRepository.createImplementation({
17
+ implementation: ListFoldersRepositoryImpl,
18
+ dependencies: [
19
+ FoldersContext,
20
+ FoldersCache,
21
+ ListFoldersGateway
22
+ ]
19
23
  });
24
+ export { ListFoldersRepository_ListFoldersRepository as ListFoldersRepository };
20
25
 
21
26
  //# sourceMappingURL=ListFoldersRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Folder","ListFoldersRepository","RepositoryAbstraction","ListFoldersGateway","FoldersCache","FoldersContext","ListFoldersRepositoryImpl","constructor","foldersContext","cache","gateway","execute","items","type","clear","addItems","map","item","create","createImplementation","implementation","dependencies"],"sources":["ListFoldersRepository.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n ListFoldersRepository as RepositoryAbstraction,\n ListFoldersGateway\n} from \"./abstractions.js\";\nimport { FoldersCache, FoldersContext } from \"~/features/folders/abstractions.js\";\n\nclass ListFoldersRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private foldersContext: FoldersContext.Interface,\n private cache: FoldersCache.Interface,\n private gateway: ListFoldersGateway.Interface\n ) {}\n\n async execute() {\n const items = await this.gateway.execute(this.foldersContext.type);\n this.cache.clear();\n this.cache.addItems(items.map(item => Folder.create(item)));\n }\n}\n\nexport const ListFoldersRepository = RepositoryAbstraction.createImplementation({\n implementation: ListFoldersRepositoryImpl,\n dependencies: [FoldersContext, FoldersCache, ListFoldersGateway]\n});\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SACIC,qBAAqB,IAAIC,qBAAqB,EAC9CC,kBAAkB;AAEtB,SAASC,YAAY,EAAEC,cAAc;AAErC,MAAMC,yBAAyB,CAA4C;EACvEC,WAAWA,CACCC,cAAwC,EACxCC,KAA6B,EAC7BC,OAAqC,EAC/C;IAAA,KAHUF,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,KAA6B,GAA7BA,KAA6B;IAAA,KAC7BC,OAAqC,GAArCA,OAAqC;EAC9C;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACF,OAAO,CAACC,OAAO,CAAC,IAAI,CAACH,cAAc,CAACK,IAAI,CAAC;IAClE,IAAI,CAACJ,KAAK,CAACK,KAAK,CAAC,CAAC;IAClB,IAAI,CAACL,KAAK,CAACM,QAAQ,CAACH,KAAK,CAACI,GAAG,CAACC,IAAI,IAAIjB,MAAM,CAACkB,MAAM,CAACD,IAAI,CAAC,CAAC,CAAC;EAC/D;AACJ;AAEA,OAAO,MAAMhB,qBAAqB,GAAGC,qBAAqB,CAACiB,oBAAoB,CAAC;EAC5EC,cAAc,EAAEd,yBAAyB;EACzCe,YAAY,EAAE,CAAChB,cAAc,EAAED,YAAY,EAAED,kBAAkB;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/listFolders/ListFoldersRepository.js","sources":["../../../../src/features/folders/listFolders/ListFoldersRepository.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n ListFoldersRepository as RepositoryAbstraction,\n ListFoldersGateway\n} from \"./abstractions.js\";\nimport { FoldersCache, FoldersContext } from \"~/features/folders/abstractions.js\";\n\nclass ListFoldersRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private foldersContext: FoldersContext.Interface,\n private cache: FoldersCache.Interface,\n private gateway: ListFoldersGateway.Interface\n ) {}\n\n async execute() {\n const items = await this.gateway.execute(this.foldersContext.type);\n this.cache.clear();\n this.cache.addItems(items.map(item => Folder.create(item)));\n }\n}\n\nexport const ListFoldersRepository = RepositoryAbstraction.createImplementation({\n implementation: ListFoldersRepositoryImpl,\n dependencies: [FoldersContext, FoldersCache, ListFoldersGateway]\n});\n"],"names":["ListFoldersRepositoryImpl","foldersContext","cache","gateway","items","item","Folder","ListFoldersRepository","RepositoryAbstraction","FoldersContext","FoldersCache","ListFoldersGateway"],"mappings":";;;AAOA,MAAMA;IACF,YACYC,cAAwC,EACxCC,KAA6B,EAC7BC,OAAqC,CAC/C;aAHUF,cAAc,GAAdA;aACAC,KAAK,GAALA;aACAC,OAAO,GAAPA;IACT;IAEH,MAAM,UAAU;QACZ,MAAMC,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI;QACjE,IAAI,CAAC,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,MAAM,GAAG,CAACC,CAAAA,OAAQC,OAAO,MAAM,CAACD;IACxD;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBR;IAChB,cAAc;QAACS;QAAgBC;QAAcC;KAAmB;AACpE"}