@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
@@ -0,0 +1,238 @@
1
+ import { beforeEach, describe, expect, it } from "vitest";
2
+ import { Container } from "@webiny/di";
3
+ import { EventPublisher, EventPublisherFeature } from "@webiny/app/features/eventPublisher/index.js";
4
+ import { EnvConfig } from "@webiny/app/features/envConfig/index.js";
5
+ import { WebsocketEvent } from "@webiny/app-websockets/events/WebsocketEvent.js";
6
+ import { GetFolderGateway } from "../getFolder/abstractions.js";
7
+ import { folderCacheFactory } from "../cache/index.js";
8
+ import { Folder } from "../../../domain/folder/Folder.js";
9
+ import { AddCreatedFolderToCache } from "./AddCreatedFolderToCache.js";
10
+ import { RefreshUpdatedFolderInCache } from "./RefreshUpdatedFolderInCache.js";
11
+ import { RemoveDeletedFolderFromCache } from "./RemoveDeletedFolderFromCache.js";
12
+ import { FolderWebsocketMessages } from "./FolderWebsocketMessages.js";
13
+ const folderDto = (overrides = {})=>({
14
+ id: "folder-1",
15
+ title: "Drafts",
16
+ slug: "drafts",
17
+ path: "drafts",
18
+ type: "FmFile",
19
+ parentId: null,
20
+ permissions: [],
21
+ ...overrides
22
+ });
23
+ const setup = (folder)=>{
24
+ const fetched = [];
25
+ const container = new Container();
26
+ container.registerInstance(EnvConfig, {
27
+ get: ()=>void 0
28
+ });
29
+ EventPublisherFeature.register(container);
30
+ container.registerInstance(GetFolderGateway, {
31
+ execute: async (id)=>{
32
+ fetched.push(id);
33
+ return folder;
34
+ }
35
+ });
36
+ container.register(AddCreatedFolderToCache);
37
+ container.register(RefreshUpdatedFolderInCache);
38
+ container.register(RemoveDeletedFolderFromCache);
39
+ container.register(FolderWebsocketMessages);
40
+ const receive = (payload)=>container.resolve(EventPublisher).publish(new WebsocketEvent(payload));
41
+ return {
42
+ receive,
43
+ fetched
44
+ };
45
+ };
46
+ describe("folder events", ()=>{
47
+ beforeEach(()=>{
48
+ folderCacheFactory.getCache("FmFile").clear();
49
+ folderCacheFactory.getCache("cms:article").clear();
50
+ });
51
+ it("adds a folder created on the server to the cache for its type", async ()=>{
52
+ const { receive, fetched } = setup(folderDto());
53
+ await receive({
54
+ action: "aco.folder.created",
55
+ data: {
56
+ id: "folder-1"
57
+ }
58
+ });
59
+ expect(fetched).toEqual([
60
+ "folder-1"
61
+ ]);
62
+ expect(folderCacheFactory.getCache("FmFile").getItem((f)=>"folder-1" === f.id)?.title).toBe("Drafts");
63
+ });
64
+ it("files the folder under its own type, not the one on screen", async ()=>{
65
+ const { receive } = setup(folderDto({
66
+ type: "cms:article"
67
+ }));
68
+ await receive({
69
+ action: "aco.folder.created",
70
+ data: {
71
+ id: "folder-1"
72
+ }
73
+ });
74
+ expect(folderCacheFactory.getCache("FmFile").hasItems()).toBe(false);
75
+ expect(folderCacheFactory.getCache("cms:article").count()).toBe(1);
76
+ });
77
+ it("keeps one copy when the same folder arrives twice", async ()=>{
78
+ const { receive } = setup(folderDto());
79
+ await receive({
80
+ action: "aco.folder.created",
81
+ data: {
82
+ id: "folder-1"
83
+ }
84
+ });
85
+ await receive({
86
+ action: "aco.folder.created",
87
+ data: {
88
+ id: "folder-1"
89
+ }
90
+ });
91
+ expect(folderCacheFactory.getCache("FmFile").count()).toBe(1);
92
+ });
93
+ it("ignores messages that are not about folders", async ()=>{
94
+ const { receive, fetched } = setup(folderDto());
95
+ await receive({
96
+ action: "fm.file.enrichment",
97
+ data: {
98
+ id: "file-1"
99
+ }
100
+ });
101
+ expect(fetched).toEqual([]);
102
+ expect(folderCacheFactory.getCache("FmFile").hasItems()).toBe(false);
103
+ });
104
+ describe("updates", ()=>{
105
+ const viewer = {
106
+ target: "admin:1",
107
+ level: "viewer"
108
+ };
109
+ const cache = ()=>folderCacheFactory.getCache("FmFile");
110
+ const child = ()=>cache().getItem((f)=>"child-1" === f.id);
111
+ const seed = (parentPermissions, childPermissions)=>{
112
+ cache().addItems([
113
+ Folder.create(folderDto({
114
+ permissions: parentPermissions
115
+ })),
116
+ Folder.create(folderDto({
117
+ id: "child-1",
118
+ slug: "child",
119
+ path: "drafts/child",
120
+ parentId: "folder-1",
121
+ permissions: childPermissions
122
+ }))
123
+ ]);
124
+ };
125
+ it("replaces the cached folder with the one the server has now", async ()=>{
126
+ seed([], []);
127
+ const { receive, fetched } = setup(folderDto({
128
+ title: "Renamed",
129
+ permissions: [
130
+ viewer
131
+ ]
132
+ }));
133
+ await receive({
134
+ action: "aco.folder.updated",
135
+ data: {
136
+ id: "folder-1"
137
+ }
138
+ });
139
+ expect(fetched).toEqual([
140
+ "folder-1"
141
+ ]);
142
+ const updated = cache().getItem((f)=>"folder-1" === f.id);
143
+ expect(updated?.title).toBe("Renamed");
144
+ expect(updated?.permissions).toEqual([
145
+ viewer
146
+ ]);
147
+ });
148
+ it("passes access granted on a parent down to its cached children", async ()=>{
149
+ seed([], []);
150
+ const { receive } = setup(folderDto({
151
+ permissions: [
152
+ viewer
153
+ ]
154
+ }));
155
+ await receive({
156
+ action: "aco.folder.updated",
157
+ data: {
158
+ id: "folder-1"
159
+ }
160
+ });
161
+ expect(child()?.permissions).toEqual([
162
+ {
163
+ ...viewer,
164
+ inheritedFrom: "parent:folder-1"
165
+ }
166
+ ]);
167
+ });
168
+ it("takes access revoked on a parent away from its cached children", async ()=>{
169
+ seed([
170
+ viewer
171
+ ], [
172
+ {
173
+ ...viewer,
174
+ inheritedFrom: "parent:folder-1"
175
+ }
176
+ ]);
177
+ const { receive } = setup(folderDto({
178
+ permissions: []
179
+ }));
180
+ await receive({
181
+ action: "aco.folder.updated",
182
+ data: {
183
+ id: "folder-1"
184
+ }
185
+ });
186
+ expect(child()?.permissions).toEqual([]);
187
+ });
188
+ });
189
+ describe("deletes", ()=>{
190
+ it("removes a deleted folder from the cache it was in", async ()=>{
191
+ folderCacheFactory.getCache("cms:article").addItems([
192
+ Folder.create(folderDto({
193
+ type: "cms:article"
194
+ })),
195
+ Folder.create(folderDto({
196
+ id: "folder-2",
197
+ type: "cms:article"
198
+ }))
199
+ ]);
200
+ const { receive, fetched } = setup(folderDto());
201
+ await receive({
202
+ action: "aco.folder.deleted",
203
+ data: {
204
+ id: "folder-1"
205
+ }
206
+ });
207
+ expect(fetched).toEqual([]);
208
+ expect(folderCacheFactory.getCache("cms:article").getItems().map((f)=>f.id)).toEqual([
209
+ "folder-2"
210
+ ]);
211
+ });
212
+ it("ignores a folder the cache never held", async ()=>{
213
+ folderCacheFactory.getCache("FmFile").addItems([
214
+ Folder.create(folderDto())
215
+ ]);
216
+ const { receive } = setup(folderDto());
217
+ await receive({
218
+ action: "aco.folder.deleted",
219
+ data: {
220
+ id: "unknown"
221
+ }
222
+ });
223
+ expect(folderCacheFactory.getCache("FmFile").count()).toBe(1);
224
+ });
225
+ });
226
+ it("ignores an action that only looks like a known key", async ()=>{
227
+ const { receive, fetched } = setup(folderDto());
228
+ await receive({
229
+ action: "toString",
230
+ data: {
231
+ id: "folder-1"
232
+ }
233
+ });
234
+ expect(fetched).toEqual([]);
235
+ });
236
+ });
237
+
238
+ //# sourceMappingURL=FolderEvents.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/FolderEvents.test.js","sources":["../../../../src/features/folders/folderEvents/FolderEvents.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport {\n EventPublisher,\n EventPublisherFeature\n} from \"@webiny/app/features/eventPublisher/index.js\";\nimport { EnvConfig } from \"@webiny/app/features/envConfig/index.js\";\nimport { WebsocketEvent } from \"@webiny/app-websockets/events/WebsocketEvent.js\";\nimport { GetFolderGateway } from \"~/features/folders/getFolder/abstractions.js\";\nimport { folderCacheFactory } from \"~/features/folders/cache/index.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport type { FolderPermission } from \"~/types.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { AddCreatedFolderToCache } from \"./AddCreatedFolderToCache.js\";\nimport { RefreshUpdatedFolderInCache } from \"./RefreshUpdatedFolderInCache.js\";\nimport { RemoveDeletedFolderFromCache } from \"./RemoveDeletedFolderFromCache.js\";\nimport { FolderWebsocketMessages } from \"./FolderWebsocketMessages.js\";\n\nconst folderDto = (overrides: Partial<FolderDto> = {}) =>\n ({\n id: \"folder-1\",\n title: \"Drafts\",\n slug: \"drafts\",\n path: \"drafts\",\n type: \"FmFile\",\n parentId: null,\n permissions: [],\n ...overrides\n }) as FolderDto;\n\n/*\n * Real publisher and handlers, fake server. The websocket bridge publishes `WebsocketEvent`s through\n * the same publisher, so publishing one here is what an incoming message does at runtime.\n */\nconst setup = (folder: FolderDto) => {\n const fetched: string[] = [];\n const container = new Container();\n\n // The publisher reads `debug` from here to decide whether to log.\n container.registerInstance(EnvConfig, {\n get: () => undefined\n } as unknown as EnvConfig.Interface);\n EventPublisherFeature.register(container);\n container.registerInstance(GetFolderGateway, {\n execute: async (id: string) => {\n fetched.push(id);\n return folder;\n }\n });\n container.register(AddCreatedFolderToCache);\n container.register(RefreshUpdatedFolderInCache);\n container.register(RemoveDeletedFolderFromCache);\n container.register(FolderWebsocketMessages);\n\n const receive = (payload: { action: string; data: unknown }) =>\n container.resolve(EventPublisher).publish(new WebsocketEvent(payload));\n\n return { receive, fetched };\n};\n\ndescribe(\"folder events\", () => {\n beforeEach(() => {\n folderCacheFactory.getCache(\"FmFile\").clear();\n folderCacheFactory.getCache(\"cms:article\").clear();\n });\n\n it(\"adds a folder created on the server to the cache for its type\", async () => {\n const { receive, fetched } = setup(folderDto());\n\n await receive({ action: \"aco.folder.created\", data: { id: \"folder-1\" } });\n\n expect(fetched).toEqual([\"folder-1\"]);\n expect(folderCacheFactory.getCache(\"FmFile\").getItem(f => f.id === \"folder-1\")?.title).toBe(\n \"Drafts\"\n );\n });\n\n it(\"files the folder under its own type, not the one on screen\", async () => {\n const { receive } = setup(folderDto({ type: \"cms:article\" }));\n\n await receive({ action: \"aco.folder.created\", data: { id: \"folder-1\" } });\n\n expect(folderCacheFactory.getCache(\"FmFile\").hasItems()).toBe(false);\n expect(folderCacheFactory.getCache(\"cms:article\").count()).toBe(1);\n });\n\n it(\"keeps one copy when the same folder arrives twice\", async () => {\n const { receive } = setup(folderDto());\n\n await receive({ action: \"aco.folder.created\", data: { id: \"folder-1\" } });\n await receive({ action: \"aco.folder.created\", data: { id: \"folder-1\" } });\n\n expect(folderCacheFactory.getCache(\"FmFile\").count()).toBe(1);\n });\n\n it(\"ignores messages that are not about folders\", async () => {\n const { receive, fetched } = setup(folderDto());\n\n await receive({ action: \"fm.file.enrichment\", data: { id: \"file-1\" } });\n\n expect(fetched).toEqual([]);\n expect(folderCacheFactory.getCache(\"FmFile\").hasItems()).toBe(false);\n });\n\n describe(\"updates\", () => {\n const viewer: FolderPermission = { target: \"admin:1\", level: \"viewer\" };\n const cache = () => folderCacheFactory.getCache(\"FmFile\");\n const child = () => cache().getItem(f => f.id === \"child-1\");\n\n const seed = (\n parentPermissions: FolderDto[\"permissions\"],\n childPermissions: FolderDto[\"permissions\"]\n ) => {\n cache().addItems([\n Folder.create(folderDto({ permissions: parentPermissions })),\n Folder.create(\n folderDto({\n id: \"child-1\",\n slug: \"child\",\n path: \"drafts/child\",\n parentId: \"folder-1\",\n permissions: childPermissions\n })\n )\n ]);\n };\n\n it(\"replaces the cached folder with the one the server has now\", async () => {\n seed([], []);\n const { receive, fetched } = setup(\n folderDto({ title: \"Renamed\", permissions: [viewer] })\n );\n\n await receive({ action: \"aco.folder.updated\", data: { id: \"folder-1\" } });\n\n expect(fetched).toEqual([\"folder-1\"]);\n const updated = cache().getItem(f => f.id === \"folder-1\");\n expect(updated?.title).toBe(\"Renamed\");\n expect(updated?.permissions).toEqual([viewer]);\n });\n\n it(\"passes access granted on a parent down to its cached children\", async () => {\n seed([], []);\n const { receive } = setup(folderDto({ permissions: [viewer] }));\n\n await receive({ action: \"aco.folder.updated\", data: { id: \"folder-1\" } });\n\n expect(child()?.permissions).toEqual([{ ...viewer, inheritedFrom: \"parent:folder-1\" }]);\n });\n\n it(\"takes access revoked on a parent away from its cached children\", async () => {\n seed([viewer], [{ ...viewer, inheritedFrom: \"parent:folder-1\" }]);\n const { receive } = setup(folderDto({ permissions: [] }));\n\n await receive({ action: \"aco.folder.updated\", data: { id: \"folder-1\" } });\n\n expect(child()?.permissions).toEqual([]);\n });\n });\n\n describe(\"deletes\", () => {\n it(\"removes a deleted folder from the cache it was in\", async () => {\n folderCacheFactory\n .getCache(\"cms:article\")\n .addItems([\n Folder.create(folderDto({ type: \"cms:article\" })),\n Folder.create(folderDto({ id: \"folder-2\", type: \"cms:article\" }))\n ]);\n const { receive, fetched } = setup(folderDto());\n\n await receive({ action: \"aco.folder.deleted\", data: { id: \"folder-1\" } });\n\n // A deleted folder cannot be read back, so nothing is fetched.\n expect(fetched).toEqual([]);\n expect(\n folderCacheFactory\n .getCache(\"cms:article\")\n .getItems()\n .map(f => f.id)\n ).toEqual([\"folder-2\"]);\n });\n\n it(\"ignores a folder the cache never held\", async () => {\n folderCacheFactory.getCache(\"FmFile\").addItems([Folder.create(folderDto())]);\n const { receive } = setup(folderDto());\n\n await receive({ action: \"aco.folder.deleted\", data: { id: \"unknown\" } });\n\n expect(folderCacheFactory.getCache(\"FmFile\").count()).toBe(1);\n });\n });\n\n it(\"ignores an action that only looks like a known key\", async () => {\n const { receive, fetched } = setup(folderDto());\n\n await receive({ action: \"toString\", data: { id: \"folder-1\" } });\n\n expect(fetched).toEqual([]);\n });\n});\n"],"names":["folderDto","overrides","setup","folder","fetched","container","Container","EnvConfig","undefined","EventPublisherFeature","GetFolderGateway","id","AddCreatedFolderToCache","RefreshUpdatedFolderInCache","RemoveDeletedFolderFromCache","FolderWebsocketMessages","receive","payload","EventPublisher","WebsocketEvent","describe","beforeEach","folderCacheFactory","it","expect","f","viewer","cache","child","seed","parentPermissions","childPermissions","Folder","updated"],"mappings":";;;;;;;;;;;;AAkBA,MAAMA,YAAY,CAACC,YAAgC,CAAC,CAAC,GAChD;QACG,IAAI;QACJ,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;QACN,UAAU;QACV,aAAa,EAAE;QACf,GAAGA,SAAS;IAChB;AAMJ,MAAMC,QAAQ,CAACC;IACX,MAAMC,UAAoB,EAAE;IAC5B,MAAMC,YAAY,IAAIC;IAGtBD,UAAU,gBAAgB,CAACE,WAAW;QAClC,KAAK,IAAMC;IACf;IACAC,sBAAsB,QAAQ,CAACJ;IAC/BA,UAAU,gBAAgB,CAACK,kBAAkB;QACzC,SAAS,OAAOC;YACZP,QAAQ,IAAI,CAACO;YACb,OAAOR;QACX;IACJ;IACAE,UAAU,QAAQ,CAACO;IACnBP,UAAU,QAAQ,CAACQ;IACnBR,UAAU,QAAQ,CAACS;IACnBT,UAAU,QAAQ,CAACU;IAEnB,MAAMC,UAAU,CAACC,UACbZ,UAAU,OAAO,CAACa,gBAAgB,OAAO,CAAC,IAAIC,eAAeF;IAEjE,OAAO;QAAED;QAASZ;IAAQ;AAC9B;AAEAgB,SAAS,iBAAiB;IACtBC,WAAW;QACPC,mBAAmB,QAAQ,CAAC,UAAU,KAAK;QAC3CA,mBAAmB,QAAQ,CAAC,eAAe,KAAK;IACpD;IAEAC,GAAG,iEAAiE;QAChE,MAAM,EAAEP,OAAO,EAAEZ,OAAO,EAAE,GAAGF,MAAMF;QAEnC,MAAMgB,QAAQ;YAAE,QAAQ;YAAsB,MAAM;gBAAE,IAAI;YAAW;QAAE;QAEvEQ,OAAOpB,SAAS,OAAO,CAAC;YAAC;SAAW;QACpCoB,OAAOF,mBAAmB,QAAQ,CAAC,UAAU,OAAO,CAACG,CAAAA,IAAKA,AAAS,eAATA,EAAE,EAAE,GAAkB,OAAO,IAAI,CACvF;IAER;IAEAF,GAAG,8DAA8D;QAC7D,MAAM,EAAEP,OAAO,EAAE,GAAGd,MAAMF,UAAU;YAAE,MAAM;QAAc;QAE1D,MAAMgB,QAAQ;YAAE,QAAQ;YAAsB,MAAM;gBAAE,IAAI;YAAW;QAAE;QAEvEQ,OAAOF,mBAAmB,QAAQ,CAAC,UAAU,QAAQ,IAAI,IAAI,CAAC;QAC9DE,OAAOF,mBAAmB,QAAQ,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC;IACpE;IAEAC,GAAG,qDAAqD;QACpD,MAAM,EAAEP,OAAO,EAAE,GAAGd,MAAMF;QAE1B,MAAMgB,QAAQ;YAAE,QAAQ;YAAsB,MAAM;gBAAE,IAAI;YAAW;QAAE;QACvE,MAAMA,QAAQ;YAAE,QAAQ;YAAsB,MAAM;gBAAE,IAAI;YAAW;QAAE;QAEvEQ,OAAOF,mBAAmB,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC;IAC/D;IAEAC,GAAG,+CAA+C;QAC9C,MAAM,EAAEP,OAAO,EAAEZ,OAAO,EAAE,GAAGF,MAAMF;QAEnC,MAAMgB,QAAQ;YAAE,QAAQ;YAAsB,MAAM;gBAAE,IAAI;YAAS;QAAE;QAErEQ,OAAOpB,SAAS,OAAO,CAAC,EAAE;QAC1BoB,OAAOF,mBAAmB,QAAQ,CAAC,UAAU,QAAQ,IAAI,IAAI,CAAC;IAClE;IAEAF,SAAS,WAAW;QAChB,MAAMM,SAA2B;YAAE,QAAQ;YAAW,OAAO;QAAS;QACtE,MAAMC,QAAQ,IAAML,mBAAmB,QAAQ,CAAC;QAChD,MAAMM,QAAQ,IAAMD,QAAQ,OAAO,CAACF,CAAAA,IAAKA,AAAS,cAATA,EAAE,EAAE;QAE7C,MAAMI,OAAO,CACTC,mBACAC;YAEAJ,QAAQ,QAAQ,CAAC;gBACbK,OAAO,MAAM,CAAChC,UAAU;oBAAE,aAAa8B;gBAAkB;gBACzDE,OAAO,MAAM,CACThC,UAAU;oBACN,IAAI;oBACJ,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,aAAa+B;gBACjB;aAEP;QACL;QAEAR,GAAG,8DAA8D;YAC7DM,KAAK,EAAE,EAAE,EAAE;YACX,MAAM,EAAEb,OAAO,EAAEZ,OAAO,EAAE,GAAGF,MACzBF,UAAU;gBAAE,OAAO;gBAAW,aAAa;oBAAC0B;iBAAO;YAAC;YAGxD,MAAMV,QAAQ;gBAAE,QAAQ;gBAAsB,MAAM;oBAAE,IAAI;gBAAW;YAAE;YAEvEQ,OAAOpB,SAAS,OAAO,CAAC;gBAAC;aAAW;YACpC,MAAM6B,UAAUN,QAAQ,OAAO,CAACF,CAAAA,IAAKA,AAAS,eAATA,EAAE,EAAE;YACzCD,OAAOS,SAAS,OAAO,IAAI,CAAC;YAC5BT,OAAOS,SAAS,aAAa,OAAO,CAAC;gBAACP;aAAO;QACjD;QAEAH,GAAG,iEAAiE;YAChEM,KAAK,EAAE,EAAE,EAAE;YACX,MAAM,EAAEb,OAAO,EAAE,GAAGd,MAAMF,UAAU;gBAAE,aAAa;oBAAC0B;iBAAO;YAAC;YAE5D,MAAMV,QAAQ;gBAAE,QAAQ;gBAAsB,MAAM;oBAAE,IAAI;gBAAW;YAAE;YAEvEQ,OAAOI,SAAS,aAAa,OAAO,CAAC;gBAAC;oBAAE,GAAGF,MAAM;oBAAE,eAAe;gBAAkB;aAAE;QAC1F;QAEAH,GAAG,kEAAkE;YACjEM,KAAK;gBAACH;aAAO,EAAE;gBAAC;oBAAE,GAAGA,MAAM;oBAAE,eAAe;gBAAkB;aAAE;YAChE,MAAM,EAAEV,OAAO,EAAE,GAAGd,MAAMF,UAAU;gBAAE,aAAa,EAAE;YAAC;YAEtD,MAAMgB,QAAQ;gBAAE,QAAQ;gBAAsB,MAAM;oBAAE,IAAI;gBAAW;YAAE;YAEvEQ,OAAOI,SAAS,aAAa,OAAO,CAAC,EAAE;QAC3C;IACJ;IAEAR,SAAS,WAAW;QAChBG,GAAG,qDAAqD;YACpDD,mBAAAA,QACa,CAAC,eACT,QAAQ,CAAC;gBACNU,OAAO,MAAM,CAAChC,UAAU;oBAAE,MAAM;gBAAc;gBAC9CgC,OAAO,MAAM,CAAChC,UAAU;oBAAE,IAAI;oBAAY,MAAM;gBAAc;aACjE;YACL,MAAM,EAAEgB,OAAO,EAAEZ,OAAO,EAAE,GAAGF,MAAMF;YAEnC,MAAMgB,QAAQ;gBAAE,QAAQ;gBAAsB,MAAM;oBAAE,IAAI;gBAAW;YAAE;YAGvEQ,OAAOpB,SAAS,OAAO,CAAC,EAAE;YAC1BoB,OACIF,mBAAAA,QACa,CAAC,eACT,QAAQ,GACR,GAAG,CAACG,CAAAA,IAAKA,EAAE,EAAE,GACpB,OAAO,CAAC;gBAAC;aAAW;QAC1B;QAEAF,GAAG,yCAAyC;YACxCD,mBAAmB,QAAQ,CAAC,UAAU,QAAQ,CAAC;gBAACU,OAAO,MAAM,CAAChC;aAAa;YAC3E,MAAM,EAAEgB,OAAO,EAAE,GAAGd,MAAMF;YAE1B,MAAMgB,QAAQ;gBAAE,QAAQ;gBAAsB,MAAM;oBAAE,IAAI;gBAAU;YAAE;YAEtEQ,OAAOF,mBAAmB,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC;QAC/D;IACJ;IAEAC,GAAG,sDAAsD;QACrD,MAAM,EAAEP,OAAO,EAAEZ,OAAO,EAAE,GAAGF,MAAMF;QAEnC,MAAMgB,QAAQ;YAAE,QAAQ;YAAY,MAAM;gBAAE,IAAI;YAAW;QAAE;QAE7DQ,OAAOpB,SAAS,OAAO,CAAC,EAAE;IAC9B;AACJ"}
@@ -0,0 +1,12 @@
1
+ import { BaseEvent } from "@webiny/app/features/eventPublisher/index.js";
2
+ export interface FolderUpdatedPayload {
3
+ id: string;
4
+ }
5
+ /**
6
+ * A folder changed and the admin's cache may hold the old version. Like `FolderCreatedEvent`, it
7
+ * says nothing about where the news came from.
8
+ */
9
+ export declare class FolderUpdatedEvent extends BaseEvent<FolderUpdatedPayload> {
10
+ readonly eventType: "Aco/FolderUpdated";
11
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<FolderUpdatedEvent>>;
12
+ }
@@ -0,0 +1,13 @@
1
+ import { BaseEvent } from "@webiny/app/features/eventPublisher/index.js";
2
+ import { FolderUpdatedEventHandler } from "./abstractions.js";
3
+ class FolderUpdatedEvent extends BaseEvent {
4
+ getHandlerAbstraction() {
5
+ return FolderUpdatedEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "Aco/FolderUpdated";
9
+ }
10
+ }
11
+ export { FolderUpdatedEvent };
12
+
13
+ //# sourceMappingURL=FolderUpdatedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/FolderUpdatedEvent.js","sources":["../../../../src/features/folders/folderEvents/FolderUpdatedEvent.ts"],"sourcesContent":["import { BaseEvent } from \"@webiny/app/features/eventPublisher/index.js\";\nimport { FolderUpdatedEventHandler } from \"./abstractions.js\";\n\nexport interface FolderUpdatedPayload {\n id: string;\n}\n\n/**\n * A folder changed and the admin's cache may hold the old version. Like `FolderCreatedEvent`, it\n * says nothing about where the news came from.\n */\nexport class FolderUpdatedEvent extends BaseEvent<FolderUpdatedPayload> {\n readonly eventType = \"Aco/FolderUpdated\" as const;\n\n getHandlerAbstraction() {\n return FolderUpdatedEventHandler;\n }\n}\n"],"names":["FolderUpdatedEvent","BaseEvent","FolderUpdatedEventHandler"],"mappings":";;AAWO,MAAMA,2BAA2BC;IAGpC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACM,SAAS,GAAG;;AAKzB"}
@@ -0,0 +1,15 @@
1
+ import { WebsocketEventHandler } from "@webiny/app-websockets/events/abstractions.js";
2
+ import { EventPublisher } from "@webiny/app/features/eventPublisher/index.js";
3
+ /**
4
+ * Turns the folder messages the api sends over the websocket into folder events. The handlers that
5
+ * update the cache listen to those events, so they never depend on how the news arrived.
6
+ */
7
+ declare class FolderWebsocketMessagesImpl implements WebsocketEventHandler.Interface {
8
+ private eventPublisher;
9
+ constructor(eventPublisher: EventPublisher.Interface);
10
+ handle(event: WebsocketEventHandler.Event): Promise<void>;
11
+ }
12
+ export declare const FolderWebsocketMessages: typeof FolderWebsocketMessagesImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/app-websockets/events/WebsocketEvent.js").WebsocketEvent>>;
14
+ };
15
+ export {};
@@ -0,0 +1,48 @@
1
+ import { WebsocketEventHandler } from "@webiny/app-websockets/events/abstractions.js";
2
+ import { EventPublisher } from "@webiny/app/features/eventPublisher/index.js";
3
+ import { FolderCreatedEvent } from "./FolderCreatedEvent.js";
4
+ import { FolderUpdatedEvent } from "./FolderUpdatedEvent.js";
5
+ import { FolderDeletedEvent } from "./FolderDeletedEvent.js";
6
+ const FOLDER_CREATED_ACTION = "aco.folder.created";
7
+ const FOLDER_UPDATED_ACTION = "aco.folder.updated";
8
+ const FOLDER_DELETED_ACTION = "aco.folder.deleted";
9
+ const TO_EVENT = new Map([
10
+ [
11
+ FOLDER_CREATED_ACTION,
12
+ (id)=>new FolderCreatedEvent({
13
+ id
14
+ })
15
+ ],
16
+ [
17
+ FOLDER_UPDATED_ACTION,
18
+ (id)=>new FolderUpdatedEvent({
19
+ id
20
+ })
21
+ ],
22
+ [
23
+ FOLDER_DELETED_ACTION,
24
+ (id)=>new FolderDeletedEvent({
25
+ id
26
+ })
27
+ ]
28
+ ]);
29
+ class FolderWebsocketMessagesImpl {
30
+ constructor(eventPublisher){
31
+ this.eventPublisher = eventPublisher;
32
+ }
33
+ async handle(event) {
34
+ const toEvent = TO_EVENT.get(event.payload.action);
35
+ if (!toEvent) return;
36
+ const { data } = event.payload;
37
+ await this.eventPublisher.publish(toEvent(data.id));
38
+ }
39
+ }
40
+ const FolderWebsocketMessages = WebsocketEventHandler.createImplementation({
41
+ implementation: FolderWebsocketMessagesImpl,
42
+ dependencies: [
43
+ EventPublisher
44
+ ]
45
+ });
46
+ export { FolderWebsocketMessages };
47
+
48
+ //# sourceMappingURL=FolderWebsocketMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/FolderWebsocketMessages.js","sources":["../../../../src/features/folders/folderEvents/FolderWebsocketMessages.ts"],"sourcesContent":["import { WebsocketEventHandler } from \"@webiny/app-websockets/events/abstractions.js\";\nimport { EventPublisher, type BaseEvent } from \"@webiny/app/features/eventPublisher/index.js\";\nimport { FolderCreatedEvent } from \"./FolderCreatedEvent.js\";\nimport { FolderUpdatedEvent } from \"./FolderUpdatedEvent.js\";\nimport { FolderDeletedEvent } from \"./FolderDeletedEvent.js\";\n\n// Sent by the api when an AI tool changes a folder; see `NotifyFolderChangeUseCase` in @webiny/api-aco.\nconst FOLDER_CREATED_ACTION = \"aco.folder.created\";\nconst FOLDER_UPDATED_ACTION = \"aco.folder.updated\";\nconst FOLDER_DELETED_ACTION = \"aco.folder.deleted\";\n\ninterface FolderMessageData {\n id: string;\n}\n\nconst TO_EVENT = new Map<string, (id: string) => BaseEvent<{ id: string }>>([\n [FOLDER_CREATED_ACTION, id => new FolderCreatedEvent({ id })],\n [FOLDER_UPDATED_ACTION, id => new FolderUpdatedEvent({ id })],\n [FOLDER_DELETED_ACTION, id => new FolderDeletedEvent({ id })]\n]);\n\n/**\n * Turns the folder messages the api sends over the websocket into folder events. The handlers that\n * update the cache listen to those events, so they never depend on how the news arrived.\n */\nclass FolderWebsocketMessagesImpl implements WebsocketEventHandler.Interface {\n constructor(private eventPublisher: EventPublisher.Interface) {}\n\n async handle(event: WebsocketEventHandler.Event): Promise<void> {\n const toEvent = TO_EVENT.get(event.payload.action);\n if (!toEvent) {\n return;\n }\n\n const { data } = event.payload as unknown as { data: FolderMessageData };\n await this.eventPublisher.publish(toEvent(data.id));\n }\n}\n\nexport const FolderWebsocketMessages = WebsocketEventHandler.createImplementation({\n implementation: FolderWebsocketMessagesImpl,\n dependencies: [EventPublisher]\n});\n"],"names":["FOLDER_CREATED_ACTION","FOLDER_UPDATED_ACTION","FOLDER_DELETED_ACTION","TO_EVENT","Map","id","FolderCreatedEvent","FolderUpdatedEvent","FolderDeletedEvent","FolderWebsocketMessagesImpl","eventPublisher","event","toEvent","data","FolderWebsocketMessages","WebsocketEventHandler","EventPublisher"],"mappings":";;;;;AAOA,MAAMA,wBAAwB;AAC9B,MAAMC,wBAAwB;AAC9B,MAAMC,wBAAwB;AAM9B,MAAMC,WAAW,IAAIC,IAAuD;IACxE;QAACJ;QAAuBK,CAAAA,KAAM,IAAIC,mBAAmB;gBAAED;YAAG;KAAG;IAC7D;QAACJ;QAAuBI,CAAAA,KAAM,IAAIE,mBAAmB;gBAAEF;YAAG;KAAG;IAC7D;QAACH;QAAuBG,CAAAA,KAAM,IAAIG,mBAAmB;gBAAEH;YAAG;KAAG;CAChE;AAMD,MAAMI;IACF,YAAoBC,cAAwC,CAAE;aAA1CA,cAAc,GAAdA;IAA2C;IAE/D,MAAM,OAAOC,KAAkC,EAAiB;QAC5D,MAAMC,UAAUT,SAAS,GAAG,CAACQ,MAAM,OAAO,CAAC,MAAM;QACjD,IAAI,CAACC,SACD;QAGJ,MAAM,EAAEC,IAAI,EAAE,GAAGF,MAAM,OAAO;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC,QAAQC,KAAK,EAAE;IACrD;AACJ;AAEO,MAAMC,0BAA0BC,sBAAsB,oBAAoB,CAAC;IAC9E,gBAAgBN;IAChB,cAAc;QAACO;KAAe;AAClC"}
@@ -0,0 +1,19 @@
1
+ import { GetFolderGateway } from "../../../features/folders/getFolder/abstractions.js";
2
+ import { FolderUpdatedEventHandler } from "./abstractions.js";
3
+ /**
4
+ * Reads the folder back and replaces it in the cache for its type, then re-derives the inherited
5
+ * permissions of its cached descendants. An access change on a parent changes what every folder
6
+ * below it inherits, and the server only sent the one id.
7
+ *
8
+ * Same reasons as `AddCreatedFolderToCache` for reading back and for reaching the cache through
9
+ * `folderCacheFactory`.
10
+ */
11
+ declare class RefreshUpdatedFolderInCacheImpl implements FolderUpdatedEventHandler.Interface {
12
+ private getFolder;
13
+ constructor(getFolder: GetFolderGateway.Interface);
14
+ handle(event: FolderUpdatedEventHandler.Event): Promise<void>;
15
+ }
16
+ export declare const RefreshUpdatedFolderInCache: typeof RefreshUpdatedFolderInCacheImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("./FolderUpdatedEvent.js").FolderUpdatedEvent>>;
18
+ };
19
+ export {};
@@ -0,0 +1,27 @@
1
+ import { GetFolderGateway } from "../getFolder/abstractions.js";
2
+ import { folderCacheFactory } from "../cache/index.js";
3
+ import { updateDescendantPermissions } from "../cache/updateDescendantPermissions.js";
4
+ import { Folder } from "../../../domain/folder/Folder.js";
5
+ import { FolderUpdatedEventHandler } from "./abstractions.js";
6
+ class RefreshUpdatedFolderInCacheImpl {
7
+ constructor(getFolder){
8
+ this.getFolder = getFolder;
9
+ }
10
+ async handle(event) {
11
+ const folder = Folder.create(await this.getFolder.execute(event.payload.id));
12
+ const cache = folderCacheFactory.getCache(folder.type);
13
+ cache.addItems([
14
+ folder
15
+ ]);
16
+ updateDescendantPermissions(cache, folder);
17
+ }
18
+ }
19
+ const RefreshUpdatedFolderInCache = FolderUpdatedEventHandler.createImplementation({
20
+ implementation: RefreshUpdatedFolderInCacheImpl,
21
+ dependencies: [
22
+ GetFolderGateway
23
+ ]
24
+ });
25
+ export { RefreshUpdatedFolderInCache };
26
+
27
+ //# sourceMappingURL=RefreshUpdatedFolderInCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/RefreshUpdatedFolderInCache.js","sources":["../../../../src/features/folders/folderEvents/RefreshUpdatedFolderInCache.ts"],"sourcesContent":["import { GetFolderGateway } from \"~/features/folders/getFolder/abstractions.js\";\nimport { folderCacheFactory } from \"~/features/folders/cache/index.js\";\nimport { updateDescendantPermissions } from \"~/features/folders/cache/updateDescendantPermissions.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { FolderUpdatedEventHandler } from \"./abstractions.js\";\n\n/**\n * Reads the folder back and replaces it in the cache for its type, then re-derives the inherited\n * permissions of its cached descendants. An access change on a parent changes what every folder\n * below it inherits, and the server only sent the one id.\n *\n * Same reasons as `AddCreatedFolderToCache` for reading back and for reaching the cache through\n * `folderCacheFactory`.\n */\nclass RefreshUpdatedFolderInCacheImpl implements FolderUpdatedEventHandler.Interface {\n constructor(private getFolder: GetFolderGateway.Interface) {}\n\n async handle(event: FolderUpdatedEventHandler.Event): Promise<void> {\n const folder = Folder.create(await this.getFolder.execute(event.payload.id));\n const cache = folderCacheFactory.getCache(folder.type);\n\n cache.addItems([folder]);\n updateDescendantPermissions(cache, folder);\n }\n}\n\nexport const RefreshUpdatedFolderInCache = FolderUpdatedEventHandler.createImplementation({\n implementation: RefreshUpdatedFolderInCacheImpl,\n dependencies: [GetFolderGateway]\n});\n"],"names":["RefreshUpdatedFolderInCacheImpl","getFolder","event","folder","Folder","cache","folderCacheFactory","updateDescendantPermissions","RefreshUpdatedFolderInCache","FolderUpdatedEventHandler","GetFolderGateway"],"mappings":";;;;;AAcA,MAAMA;IACF,YAAoBC,SAAqC,CAAE;aAAvCA,SAAS,GAATA;IAAwC;IAE5D,MAAM,OAAOC,KAAsC,EAAiB;QAChE,MAAMC,SAASC,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,MAAM,OAAO,CAAC,EAAE;QAC1E,MAAMG,QAAQC,mBAAmB,QAAQ,CAACH,OAAO,IAAI;QAErDE,MAAM,QAAQ,CAAC;YAACF;SAAO;QACvBI,4BAA4BF,OAAOF;IACvC;AACJ;AAEO,MAAMK,8BAA8BC,0BAA0B,oBAAoB,CAAC;IACtF,gBAAgBT;IAChB,cAAc;QAACU;KAAiB;AACpC"}
@@ -0,0 +1,13 @@
1
+ import { FolderDeletedEventHandler } from "./abstractions.js";
2
+ /**
3
+ * Takes the folder out of the cache. A deleted folder cannot be read back to learn its type, so it
4
+ * is removed by id from every folder type's cache; ids are unique across types, so nothing else
5
+ * matches. Only empty folders can be deleted, so there are no cached children to clean up.
6
+ */
7
+ declare class RemoveDeletedFolderFromCacheImpl implements FolderDeletedEventHandler.Interface {
8
+ handle(event: FolderDeletedEventHandler.Event): Promise<void>;
9
+ }
10
+ export declare const RemoveDeletedFolderFromCache: typeof RemoveDeletedFolderFromCacheImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/app/features/eventPublisher/abstractions.js").IEventHandler<import("./FolderDeletedEvent.js").FolderDeletedEvent>>;
12
+ };
13
+ export {};
@@ -0,0 +1,15 @@
1
+ import { folderCacheFactory } from "../cache/index.js";
2
+ import { FolderDeletedEventHandler } from "./abstractions.js";
3
+ class RemoveDeletedFolderFromCacheImpl {
4
+ async handle(event) {
5
+ const { id } = event.payload;
6
+ for (const cache of folderCacheFactory.getCaches())cache.removeItems((folder)=>folder.id === id);
7
+ }
8
+ }
9
+ const RemoveDeletedFolderFromCache = FolderDeletedEventHandler.createImplementation({
10
+ implementation: RemoveDeletedFolderFromCacheImpl,
11
+ dependencies: []
12
+ });
13
+ export { RemoveDeletedFolderFromCache };
14
+
15
+ //# sourceMappingURL=RemoveDeletedFolderFromCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/RemoveDeletedFolderFromCache.js","sources":["../../../../src/features/folders/folderEvents/RemoveDeletedFolderFromCache.ts"],"sourcesContent":["import { folderCacheFactory } from \"~/features/folders/cache/index.js\";\nimport { FolderDeletedEventHandler } from \"./abstractions.js\";\n\n/**\n * Takes the folder out of the cache. A deleted folder cannot be read back to learn its type, so it\n * is removed by id from every folder type's cache; ids are unique across types, so nothing else\n * matches. Only empty folders can be deleted, so there are no cached children to clean up.\n */\nclass RemoveDeletedFolderFromCacheImpl implements FolderDeletedEventHandler.Interface {\n async handle(event: FolderDeletedEventHandler.Event): Promise<void> {\n const { id } = event.payload;\n\n for (const cache of folderCacheFactory.getCaches()) {\n cache.removeItems(folder => folder.id === id);\n }\n }\n}\n\nexport const RemoveDeletedFolderFromCache = FolderDeletedEventHandler.createImplementation({\n implementation: RemoveDeletedFolderFromCacheImpl,\n dependencies: []\n});\n"],"names":["RemoveDeletedFolderFromCacheImpl","event","id","cache","folderCacheFactory","folder","RemoveDeletedFolderFromCache","FolderDeletedEventHandler"],"mappings":";;AAQA,MAAMA;IACF,MAAM,OAAOC,KAAsC,EAAiB;QAChE,MAAM,EAAEC,EAAE,EAAE,GAAGD,MAAM,OAAO;QAE5B,KAAK,MAAME,SAASC,mBAAmB,SAAS,GAC5CD,MAAM,WAAW,CAACE,CAAAA,SAAUA,OAAO,EAAE,KAAKH;IAElD;AACJ;AAEO,MAAMI,+BAA+BC,0BAA0B,oBAAoB,CAAC;IACvF,gBAAgBP;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,28 @@
1
+ import type { IEventHandler } from "@webiny/app/features/eventPublisher/index.js";
2
+ import type { FolderCreatedEvent } from "./FolderCreatedEvent.js";
3
+ import type { FolderUpdatedEvent } from "./FolderUpdatedEvent.js";
4
+ import type { FolderDeletedEvent } from "./FolderDeletedEvent.js";
5
+ /**
6
+ * Reacts to a folder created somewhere the admin did not see: by the assistant, a background task,
7
+ * or anything else on the server. Folders the admin creates itself are already in its cache.
8
+ */
9
+ export declare const FolderCreatedEventHandler: import("@webiny/di").Abstraction<IEventHandler<FolderCreatedEvent>>;
10
+ export declare namespace FolderCreatedEventHandler {
11
+ type Interface = IEventHandler<FolderCreatedEvent>;
12
+ type Event = FolderCreatedEvent;
13
+ }
14
+ /**
15
+ * Reacts to a folder changed somewhere the admin did not see, such as the assistant granting or
16
+ * revoking access. Changes the admin makes itself already update its cache.
17
+ */
18
+ export declare const FolderUpdatedEventHandler: import("@webiny/di").Abstraction<IEventHandler<FolderUpdatedEvent>>;
19
+ export declare namespace FolderUpdatedEventHandler {
20
+ type Interface = IEventHandler<FolderUpdatedEvent>;
21
+ type Event = FolderUpdatedEvent;
22
+ }
23
+ /** Reacts to a folder deleted somewhere the admin did not see, such as by the assistant. */
24
+ export declare const FolderDeletedEventHandler: import("@webiny/di").Abstraction<IEventHandler<FolderDeletedEvent>>;
25
+ export declare namespace FolderDeletedEventHandler {
26
+ type Interface = IEventHandler<FolderDeletedEvent>;
27
+ type Event = FolderDeletedEvent;
28
+ }
@@ -0,0 +1,7 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const FolderCreatedEventHandler = createAbstraction("Aco/FolderCreatedEventHandler");
3
+ const FolderUpdatedEventHandler = createAbstraction("Aco/FolderUpdatedEventHandler");
4
+ const FolderDeletedEventHandler = createAbstraction("Aco/FolderDeletedEventHandler");
5
+ export { FolderCreatedEventHandler, FolderDeletedEventHandler, FolderUpdatedEventHandler };
6
+
7
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/abstractions.js","sources":["../../../../src/features/folders/folderEvents/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { IEventHandler } from \"@webiny/app/features/eventPublisher/index.js\";\nimport type { FolderCreatedEvent } from \"./FolderCreatedEvent.js\";\nimport type { FolderUpdatedEvent } from \"./FolderUpdatedEvent.js\";\nimport type { FolderDeletedEvent } from \"./FolderDeletedEvent.js\";\n\n/**\n * Reacts to a folder created somewhere the admin did not see: by the assistant, a background task,\n * or anything else on the server. Folders the admin creates itself are already in its cache.\n */\nexport const FolderCreatedEventHandler = createAbstraction<IEventHandler<FolderCreatedEvent>>(\n \"Aco/FolderCreatedEventHandler\"\n);\n\nexport namespace FolderCreatedEventHandler {\n export type Interface = IEventHandler<FolderCreatedEvent>;\n export type Event = FolderCreatedEvent;\n}\n\n/**\n * Reacts to a folder changed somewhere the admin did not see, such as the assistant granting or\n * revoking access. Changes the admin makes itself already update its cache.\n */\nexport const FolderUpdatedEventHandler = createAbstraction<IEventHandler<FolderUpdatedEvent>>(\n \"Aco/FolderUpdatedEventHandler\"\n);\n\nexport namespace FolderUpdatedEventHandler {\n export type Interface = IEventHandler<FolderUpdatedEvent>;\n export type Event = FolderUpdatedEvent;\n}\n\n/** Reacts to a folder deleted somewhere the admin did not see, such as by the assistant. */\nexport const FolderDeletedEventHandler = createAbstraction<IEventHandler<FolderDeletedEvent>>(\n \"Aco/FolderDeletedEventHandler\"\n);\n\nexport namespace FolderDeletedEventHandler {\n export type Interface = IEventHandler<FolderDeletedEvent>;\n export type Event = FolderDeletedEvent;\n}\n"],"names":["FolderCreatedEventHandler","createAbstraction","FolderUpdatedEventHandler","FolderDeletedEventHandler"],"mappings":";AAUO,MAAMA,4BAA4BC,kBACrC;AAYG,MAAMC,4BAA4BD,kBACrC;AASG,MAAME,4BAA4BF,kBACrC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Keeps folder caches current when folders change on the server. Registered once, in the container
3
+ * the websocket bridge publishes from, because the news can arrive while no folder view is open.
4
+ *
5
+ * Registers its own folder model provider. The one `FolderModelProviderModule` registers lives in a
6
+ * child of this container, and a container only looks up to its parents, so the gateway below could
7
+ * not reach it. The model is fetched on the first event, not at startup.
8
+ */
9
+ export declare const FolderEventsFeature: import("@webiny/feature/admin").FeatureDefinition<any, []>;
@@ -0,0 +1,21 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { GetFolderGqlGateway } from "../getFolder/GetFolderGqlGateway.js";
3
+ import { FolderModelProviderFeature } from "../folderModelProvider/feature.js";
4
+ import { AddCreatedFolderToCache } from "./AddCreatedFolderToCache.js";
5
+ import { RefreshUpdatedFolderInCache } from "./RefreshUpdatedFolderInCache.js";
6
+ import { RemoveDeletedFolderFromCache } from "./RemoveDeletedFolderFromCache.js";
7
+ import { FolderWebsocketMessages } from "./FolderWebsocketMessages.js";
8
+ const FolderEventsFeature = createFeature({
9
+ name: "Aco/FolderEvents",
10
+ register (container) {
11
+ FolderModelProviderFeature.register(container);
12
+ container.register(GetFolderGqlGateway);
13
+ container.register(AddCreatedFolderToCache);
14
+ container.register(RefreshUpdatedFolderInCache);
15
+ container.register(RemoveDeletedFolderFromCache);
16
+ container.register(FolderWebsocketMessages);
17
+ }
18
+ });
19
+ export { FolderEventsFeature };
20
+
21
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folders/folderEvents/feature.js","sources":["../../../../src/features/folders/folderEvents/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { GetFolderGqlGateway } from \"~/features/folders/getFolder/GetFolderGqlGateway.js\";\nimport { FolderModelProviderFeature } from \"~/features/folders/folderModelProvider/feature.js\";\nimport { AddCreatedFolderToCache } from \"./AddCreatedFolderToCache.js\";\nimport { RefreshUpdatedFolderInCache } from \"./RefreshUpdatedFolderInCache.js\";\nimport { RemoveDeletedFolderFromCache } from \"./RemoveDeletedFolderFromCache.js\";\nimport { FolderWebsocketMessages } from \"./FolderWebsocketMessages.js\";\n\n/**\n * Keeps folder caches current when folders change on the server. Registered once, in the container\n * the websocket bridge publishes from, because the news can arrive while no folder view is open.\n *\n * Registers its own folder model provider. The one `FolderModelProviderModule` registers lives in a\n * child of this container, and a container only looks up to its parents, so the gateway below could\n * not reach it. The model is fetched on the first event, not at startup.\n */\nexport const FolderEventsFeature = createFeature({\n name: \"Aco/FolderEvents\",\n register(container) {\n FolderModelProviderFeature.register(container);\n container.register(GetFolderGqlGateway);\n container.register(AddCreatedFolderToCache);\n container.register(RefreshUpdatedFolderInCache);\n container.register(RemoveDeletedFolderFromCache);\n container.register(FolderWebsocketMessages);\n }\n});\n"],"names":["FolderEventsFeature","createFeature","container","FolderModelProviderFeature","GetFolderGqlGateway","AddCreatedFolderToCache","RefreshUpdatedFolderInCache","RemoveDeletedFolderFromCache","FolderWebsocketMessages"],"mappings":";;;;;;;AAgBO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdC,2BAA2B,QAAQ,CAACD;QACpCA,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;IACvB;AACJ"}
@@ -0,0 +1,5 @@
1
+ export { FolderEventsFeature } from "./feature.js";
2
+ export { FolderCreatedEvent, type FolderCreatedPayload } from "./FolderCreatedEvent.js";
3
+ export { FolderUpdatedEvent, type FolderUpdatedPayload } from "./FolderUpdatedEvent.js";
4
+ export { FolderDeletedEvent, type FolderDeletedPayload } from "./FolderDeletedEvent.js";
5
+ export { FolderCreatedEventHandler, FolderUpdatedEventHandler, FolderDeletedEventHandler } from "./abstractions.js";
@@ -0,0 +1,5 @@
1
+ export { FolderEventsFeature } from "./feature.js";
2
+ export { FolderCreatedEvent } from "./FolderCreatedEvent.js";
3
+ export { FolderUpdatedEvent } from "./FolderUpdatedEvent.js";
4
+ export { FolderDeletedEvent } from "./FolderDeletedEvent.js";
5
+ export { FolderCreatedEventHandler, FolderDeletedEventHandler, FolderUpdatedEventHandler } from "./abstractions.js";
@@ -1,28 +1,21 @@
1
- import { createProvider } from "@webiny/app";
2
- import { useContainer } from "@webiny/app";
3
- import React, { useEffect } from "react";
4
- import { Plugin } from "@webiny/app";
1
+ import { Plugin, createProvider, useContainer } from "@webiny/app";
2
+ import react, { useEffect } from "react";
5
3
  import { FolderModelProvider } from "../abstractions.js";
6
4
  import { FolderModelProviderFeature } from "./feature.js";
7
- const AcoFolderModelProvider = createProvider(Original => {
8
- return function AcoFolderProvider({
9
- children
10
- }) {
11
- const container = useContainer();
12
- useEffect(() => {
13
- FolderModelProviderFeature.register(container);
14
- const provider = container.resolve(FolderModelProvider);
15
-
16
- // Trigger loading of a model
17
- provider.getModel();
18
- }, []);
19
- return /*#__PURE__*/React.createElement(Original, null, children);
20
- };
21
- });
22
- export const FolderModelProviderModule = () => {
23
- return /*#__PURE__*/React.createElement(Plugin, {
24
- providers: [AcoFolderModelProvider]
25
- });
26
- };
5
+ const AcoFolderModelProvider = createProvider((Original)=>function({ children }) {
6
+ const container = useContainer();
7
+ useEffect(()=>{
8
+ FolderModelProviderFeature.register(container);
9
+ const provider = container.resolve(FolderModelProvider);
10
+ provider.getModel();
11
+ }, []);
12
+ return /*#__PURE__*/ react.createElement(Original, null, children);
13
+ });
14
+ const FolderModelProviderModule = ()=>/*#__PURE__*/ react.createElement(Plugin, {
15
+ providers: [
16
+ AcoFolderModelProvider
17
+ ]
18
+ });
19
+ export { FolderModelProviderModule };
27
20
 
28
21
  //# sourceMappingURL=FolderModelContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createProvider","useContainer","React","useEffect","Plugin","FolderModelProvider","FolderModelProviderFeature","AcoFolderModelProvider","Original","AcoFolderProvider","children","container","register","provider","resolve","getModel","createElement","FolderModelProviderModule","providers"],"sources":["FolderModelContext.tsx"],"sourcesContent":["import { createProvider } from \"@webiny/app\";\nimport { useContainer } from \"@webiny/app\";\nimport React, { useEffect } from \"react\";\nimport { Plugin } from \"@webiny/app\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { FolderModelProviderFeature } from \"./feature.js\";\n\nconst AcoFolderModelProvider = createProvider(Original => {\n return function AcoFolderProvider({ children }) {\n const container = useContainer();\n\n useEffect(() => {\n FolderModelProviderFeature.register(container);\n\n const provider = container.resolve(FolderModelProvider);\n\n // Trigger loading of a model\n provider.getModel();\n }, []);\n\n return <Original>{children}</Original>;\n };\n});\n\nexport const FolderModelProviderModule = () => {\n return <Plugin providers={[AcoFolderModelProvider]} />;\n};\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAC5C,SAASC,YAAY,QAAQ,aAAa;AAC1C,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,mBAAmB;AAC5B,SAASC,0BAA0B;AAEnC,MAAMC,sBAAsB,GAAGP,cAAc,CAACQ,QAAQ,IAAI;EACtD,OAAO,SAASC,iBAAiBA,CAAC;IAAEC;EAAS,CAAC,EAAE;IAC5C,MAAMC,SAAS,GAAGV,YAAY,CAAC,CAAC;IAEhCE,SAAS,CAAC,MAAM;MACZG,0BAA0B,CAACM,QAAQ,CAACD,SAAS,CAAC;MAE9C,MAAME,QAAQ,GAAGF,SAAS,CAACG,OAAO,CAACT,mBAAmB,CAAC;;MAEvD;MACAQ,QAAQ,CAACE,QAAQ,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC;IAEN,oBAAOb,KAAA,CAAAc,aAAA,CAACR,QAAQ,QAAEE,QAAmB,CAAC;EAC1C,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,MAAMO,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,oBAAOf,KAAA,CAAAc,aAAA,CAACZ,MAAM;IAACc,SAAS,EAAE,CAACX,sBAAsB;EAAE,CAAE,CAAC;AAC1D,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folders/folderModelProvider/FolderModelContext.js","sources":["../../../../src/features/folders/folderModelProvider/FolderModelContext.tsx"],"sourcesContent":["import { createProvider } from \"@webiny/app\";\nimport { useContainer } from \"@webiny/app\";\nimport React, { useEffect } from \"react\";\nimport { Plugin } from \"@webiny/app\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport { FolderModelProviderFeature } from \"./feature.js\";\n\nconst AcoFolderModelProvider = createProvider(Original => {\n return function AcoFolderProvider({ children }) {\n const container = useContainer();\n\n useEffect(() => {\n FolderModelProviderFeature.register(container);\n\n const provider = container.resolve(FolderModelProvider);\n\n // Trigger loading of a model\n provider.getModel();\n }, []);\n\n return <Original>{children}</Original>;\n };\n});\n\nexport const FolderModelProviderModule = () => {\n return <Plugin providers={[AcoFolderModelProvider]} />;\n};\n"],"names":["AcoFolderModelProvider","createProvider","Original","children","container","useContainer","useEffect","FolderModelProviderFeature","provider","FolderModelProvider","FolderModelProviderModule","Plugin"],"mappings":";;;;AAOA,MAAMA,yBAAyBC,eAAeC,CAAAA,WACnC,SAA2B,EAAEC,QAAQ,EAAE;QAC1C,MAAMC,YAAYC;QAElBC,UAAU;YACNC,2BAA2B,QAAQ,CAACH;YAEpC,MAAMI,WAAWJ,UAAU,OAAO,CAACK;YAGnCD,SAAS,QAAQ;QACrB,GAAG,EAAE;QAEL,OAAO,WAAP,GAAO,oBAACN,UAAAA,MAAUC;IACtB;AAGG,MAAMO,4BAA4B,IAC9B,WAAP,GAAO,oBAACC,QAAMA;QAAC,WAAW;YAACX;SAAuB"}