@webiny/app-aco 6.0.0-beta.0 → 6.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -404
- package/app.d.ts +2 -0
- package/app.js +7 -0
- package/app.js.map +1 -0
- package/components/Actions/DeleteFolder/DeleteFolder.js +21 -23
- package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
- package/components/Actions/DeleteFolder/index.d.ts +1 -1
- package/components/Actions/DeleteFolder/index.js +1 -16
- package/components/Actions/DeleteFolder/index.js.map +1 -1
- package/components/Actions/EditFolder/EditFolder.js +19 -22
- package/components/Actions/EditFolder/EditFolder.js.map +1 -1
- package/components/Actions/EditFolder/index.d.ts +1 -1
- package/components/Actions/EditFolder/index.js +1 -16
- package/components/Actions/EditFolder/index.js.map +1 -1
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +19 -22
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
- package/components/Actions/SetFolderPemissions/index.d.ts +1 -1
- package/components/Actions/SetFolderPemissions/index.js +1 -16
- package/components/Actions/SetFolderPemissions/index.js.map +1 -1
- package/components/Actions/index.d.ts +3 -3
- package/components/Actions/index.js +3 -38
- package/components/Actions/index.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearch.d.ts +2 -2
- package/components/AdvancedSearch/AdvancedSearch.js +49 -89
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchConfigs.js +32 -37
- package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.js +187 -259
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +139 -128
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/Button/Button.js +15 -15
- package/components/AdvancedSearch/Button/Button.js.map +1 -1
- package/components/AdvancedSearch/Button/index.d.ts +1 -1
- package/components/AdvancedSearch/Button/index.js +1 -16
- package/components/AdvancedSearch/Button/index.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.d.ts +2 -2
- package/components/AdvancedSearch/GraphQLInputMapper.js +43 -60
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js +63 -56
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +3 -3
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +52 -72
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +23 -36
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +59 -76
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +10 -15
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +10 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +15 -21
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +22 -31
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +16 -21
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +14 -15
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +17 -22
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.d.ts +3 -3
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +3 -38
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.d.ts +7 -7
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +7 -82
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +1 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +51 -66
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +5 -9
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +136 -176
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +91 -81
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js +1 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.d.ts +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +21 -28
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -13
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +17 -17
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +2 -2
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +39 -54
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.d.ts +2 -2
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js +2 -27
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.d.ts +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.js +1 -16
- package/components/AdvancedSearch/QueryManagerDialog/index.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +46 -56
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +4 -9
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +53 -70
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +17 -18
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.d.ts +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js +1 -16
- package/components/AdvancedSearch/QuerySaverDialog/index.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +17 -18
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/index.d.ts +1 -1
- package/components/AdvancedSearch/SelectedFilter/index.js +1 -16
- package/components/AdvancedSearch/SelectedFilter/index.js.map +1 -1
- package/components/AdvancedSearch/domain/Feedback.js +11 -24
- package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.d.ts +2 -3
- package/components/AdvancedSearch/domain/Field.js +166 -211
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js +41 -90
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/Filter.d.ts +14 -14
- package/components/AdvancedSearch/domain/Filter.js +44 -60
- package/components/AdvancedSearch/domain/Filter.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js +34 -59
- package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepository.d.ts +2 -2
- package/components/AdvancedSearch/domain/FilterRepository.js +85 -124
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +2 -2
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +14 -30
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
- package/components/AdvancedSearch/domain/Loading.js +42 -67
- package/components/AdvancedSearch/domain/Loading.js.map +1 -1
- package/components/AdvancedSearch/domain/Operation.js +1 -7
- package/components/AdvancedSearch/domain/Operation.js.map +1 -1
- package/components/AdvancedSearch/domain/Sorter.d.ts +2 -2
- package/components/AdvancedSearch/domain/Sorter.js +16 -39
- package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
- package/components/AdvancedSearch/domain/index.d.ts +10 -10
- package/components/AdvancedSearch/domain/index.js +10 -115
- package/components/AdvancedSearch/domain/index.js.map +1 -1
- package/components/AdvancedSearch/fields/Boolean.js +27 -37
- package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithTimezone.js +43 -94
- package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js +23 -32
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/Input.js +13 -18
- package/components/AdvancedSearch/fields/Input.js.map +1 -1
- package/components/AdvancedSearch/fields/PredefinedValues.js +25 -35
- package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
- package/components/AdvancedSearch/fields/index.d.ts +5 -5
- package/components/AdvancedSearch/fields/index.js +5 -60
- package/components/AdvancedSearch/fields/index.js.map +1 -1
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +1 -5
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +7 -7
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +118 -127
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.gql.js +75 -17
- package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.d.ts +3 -3
- package/components/AdvancedSearch/gateways/filters.types.js +1 -5
- package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
- package/components/AdvancedSearch/gateways/index.d.ts +2 -2
- package/components/AdvancedSearch/gateways/index.js +1 -27
- package/components/AdvancedSearch/gateways/index.js.map +1 -1
- package/components/AdvancedSearch/index.d.ts +12 -6
- package/components/AdvancedSearch/index.js +29 -63
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useFilterRepository.d.ts +1 -1
- package/components/AdvancedSearch/useFilterRepository.js +5 -11
- package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
- package/components/AdvancedSearch/useInputField.d.ts +3 -4
- package/components/AdvancedSearch/useInputField.js +7 -12
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/Extensions/Extensions.d.ts +2 -0
- package/components/Extensions/Extensions.js +33 -0
- package/components/Extensions/Extensions.js.map +1 -0
- package/components/Extensions/index.d.ts +1 -0
- package/components/Extensions/index.js +3 -0
- package/components/Extensions/index.js.map +1 -0
- package/components/FolderGrid/FolderGridItem.d.ts +7 -0
- package/components/FolderGrid/FolderGridItem.js +69 -0
- package/components/FolderGrid/FolderGridItem.js.map +1 -0
- package/components/FolderGrid/index.d.ts +1 -1
- package/components/FolderGrid/index.js +1 -16
- package/components/FolderGrid/index.js.map +1 -1
- package/components/FolderIcons/assets/folder-shared-icon.svg +5 -0
- package/components/FolderIcons/assets/folder.svg +4 -0
- package/components/FolderIcons/index.d.ts +3 -0
- package/components/FolderIcons/index.js +5 -0
- package/components/FolderIcons/index.js.map +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +6 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js +21 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -0
- package/components/FolderTree/ButtonCreate/index.d.ts +1 -6
- package/components/FolderTree/ButtonCreate/index.js +1 -27
- package/components/FolderTree/ButtonCreate/index.js.map +1 -1
- package/components/FolderTree/Empty/Empty.d.ts +2 -0
- package/components/FolderTree/Empty/Empty.js +11 -0
- package/components/FolderTree/Empty/Empty.js.map +1 -0
- package/components/FolderTree/Empty/index.d.ts +1 -2
- package/components/FolderTree/Empty/index.js +1 -19
- package/components/FolderTree/Empty/index.js.map +1 -1
- package/components/FolderTree/List/List.d.ts +14 -0
- package/components/FolderTree/List/List.js +150 -0
- package/components/FolderTree/List/List.js.map +1 -0
- package/components/FolderTree/List/index.d.ts +1 -11
- package/components/FolderTree/List/index.js +1 -147
- package/components/FolderTree/List/index.js.map +1 -1
- package/components/FolderTree/List/utils.d.ts +7 -7
- package/components/FolderTree/List/utils.js +39 -56
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/Loader/Loader.d.ts +6 -0
- package/components/FolderTree/Loader/Loader.js +22 -0
- package/components/FolderTree/Loader/Loader.js.map +1 -0
- package/components/FolderTree/Loader/index.d.ts +1 -4
- package/components/FolderTree/Loader/index.js +1 -19
- package/components/FolderTree/Loader/index.js.map +1 -1
- package/components/FolderTree/MenuActions/MenuActions.d.ts +7 -0
- package/components/FolderTree/MenuActions/MenuActions.js +32 -0
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -0
- package/components/FolderTree/MenuActions/index.d.ts +1 -2
- package/components/FolderTree/MenuActions/index.js +1 -29
- package/components/FolderTree/MenuActions/index.js.map +1 -1
- package/components/FolderTree/Node/Node.d.ts +15 -0
- package/components/FolderTree/Node/Node.js +55 -0
- package/components/FolderTree/Node/Node.js.map +1 -0
- package/components/FolderTree/Node/index.d.ts +1 -22
- package/components/FolderTree/Node/index.js +1 -90
- package/components/FolderTree/Node/index.js.map +1 -1
- package/components/FolderTree/NodePreview/NodePreview.d.ts +6 -0
- package/components/FolderTree/NodePreview/NodePreview.js +18 -0
- package/components/FolderTree/NodePreview/NodePreview.js.map +1 -0
- package/components/FolderTree/NodePreview/index.d.ts +1 -8
- package/components/FolderTree/NodePreview/index.js +1 -18
- package/components/FolderTree/NodePreview/index.js.map +1 -1
- package/components/FolderTree/index.d.ts +7 -4
- package/components/FolderTree/index.js +60 -73
- package/components/FolderTree/index.js.map +1 -1
- package/components/Search/Search.d.ts +2 -1
- package/components/Search/Search.js +19 -16
- package/components/Search/Search.js.map +1 -1
- package/components/Search/index.d.ts +1 -1
- package/components/Search/index.js +1 -16
- package/components/Search/index.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +3 -3
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -34
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +16 -30
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +53 -62
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +24 -41
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +14 -32
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +4 -4
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +12 -22
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +1 -5
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +1 -5
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -7
- package/components/Table/components/Table/ColumnVisibility/index.js +5 -82
- package/components/Table/components/Table/ColumnVisibility/index.js.map +1 -1
- package/components/Table/components/Table/Columns/Column.d.ts +5 -2
- package/components/Table/components/Table/Columns/Column.js +7 -19
- package/components/Table/components/Table/Columns/Column.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.d.ts +3 -3
- package/components/Table/components/Table/Columns/ColumnMapper.js +29 -44
- package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +2 -2
- package/components/Table/components/Table/Columns/ColumnsPresenter.js +13 -28
- package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +14 -15
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +2 -2
- package/components/Table/components/Table/Columns/ColumnsRepository.js +14 -33
- package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +2 -2
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +14 -35
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +1 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js +1 -5
- package/components/Table/components/Table/Columns/IColumnsRepository.js.map +1 -1
- package/components/Table/components/Table/Columns/index.d.ts +6 -6
- package/components/Table/components/Table/Columns/index.js +5 -71
- package/components/Table/components/Table/Columns/index.js.map +1 -1
- package/components/Table/components/Table/Table.d.ts +8 -5
- package/components/Table/components/Table/Table.js +28 -43
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.d.ts +11 -9
- package/components/Table/components/Table/TableInner.js +23 -33
- package/components/Table/components/Table/TableInner.js.map +1 -1
- package/components/Table/components/Table/TablePresenter.d.ts +2 -2
- package/components/Table/components/Table/TablePresenter.js +9 -24
- package/components/Table/components/Table/TablePresenter.js.map +1 -1
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +5 -3
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +11 -26
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +1 -5
- package/components/Table/components/Table/gateways/index.d.ts +2 -2
- package/components/Table/components/Table/gateways/index.js +1 -27
- package/components/Table/components/Table/gateways/index.js.map +1 -1
- package/components/Table/components/Table/index.d.ts +1 -1
- package/components/Table/components/Table/index.js +1 -12
- package/components/Table/components/Table/index.js.map +1 -1
- package/components/Table/components/index.d.ts +1 -1
- package/components/Table/components/index.js +1 -16
- package/components/Table/components/index.js.map +1 -1
- package/components/Table/createTableData.d.ts +7 -6
- package/components/Table/createTableData.js +14 -22
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/index.d.ts +3 -3
- package/components/Table/index.js +3 -38
- package/components/Table/index.js.map +1 -1
- package/components/Table/useTableRow.d.ts +9 -4
- package/components/Table/useTableRow.js +21 -20
- package/components/Table/useTableRow.js.map +1 -1
- package/components/index.d.ts +8 -6
- package/components/index.js +8 -71
- package/components/index.js.map +1 -1
- package/config/AcoConfig.d.ts +35 -35
- package/config/AcoConfig.js +37 -81
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/FieldRenderer.d.ts +2 -2
- package/config/advanced-search/FieldRenderer.js +18 -24
- package/config/advanced-search/FieldRenderer.js.map +1 -1
- package/config/advanced-search/index.d.ts +4 -5
- package/config/advanced-search/index.js +3 -9
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/Action.js +19 -28
- package/config/folder/Action.js.map +1 -1
- package/config/folder/DropConfirmation.d.ts +5 -0
- package/config/folder/DropConfirmation.js +17 -0
- package/config/folder/DropConfirmation.js.map +1 -0
- package/config/folder/createFolderFieldDecoratorFactory.d.ts +13 -0
- package/config/folder/createFolderFieldDecoratorFactory.js +21 -0
- package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -0
- package/config/folder/index.d.ts +5 -4
- package/config/folder/index.js +5 -9
- package/config/folder/index.js.map +1 -1
- package/config/index.d.ts +2 -1
- package/config/index.js +2 -16
- package/config/index.js.map +1 -1
- package/config/record/Action.js +20 -29
- package/config/record/Action.js.map +1 -1
- package/config/record/index.d.ts +4 -5
- package/config/record/index.js +3 -9
- package/config/record/index.js.map +1 -1
- package/config/table/Column.d.ts +11 -4
- package/config/table/Column.js +40 -51
- package/config/table/Column.js.map +1 -1
- package/config/table/Sorting.js +13 -20
- package/config/table/Sorting.js.map +1 -1
- package/config/table/index.d.ts +11 -7
- package/config/table/index.js +5 -11
- package/config/table/index.js.map +1 -1
- package/constants.d.ts +1 -1
- package/constants.js +1 -7
- package/constants.js.map +1 -1
- package/contexts/acoList.d.ts +12 -2
- package/contexts/acoList.js +275 -193
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.d.ts +15 -17
- package/contexts/app.js +48 -183
- package/contexts/app.js.map +1 -1
- package/contexts/folder.d.ts +3 -3
- package/contexts/folder.js +9 -15
- package/contexts/folder.js.map +1 -1
- package/contexts/folders.d.ts +3 -18
- package/contexts/folders.js +27 -148
- package/contexts/folders.js.map +1 -1
- package/contexts/index.d.ts +4 -2
- package/contexts/index.js +4 -34
- package/contexts/index.js.map +1 -1
- package/contexts/navigateFolder.d.ts +2 -3
- package/contexts/navigateFolder.js +37 -47
- package/contexts/navigateFolder.js.map +1 -1
- package/contexts/records.d.ts +7 -4
- package/contexts/records.js +278 -280
- package/contexts/records.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +5 -4
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +26 -22
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +21 -46
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +86 -110
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +17 -16
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +28 -56
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/DialogSetPermissions/graphql.js +21 -11
- package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
- package/dialogs/ParentFolderField.d.ts +6 -0
- package/dialogs/ParentFolderField.js +16 -0
- package/dialogs/ParentFolderField.js.map +1 -0
- package/dialogs/index.d.ts +6 -5
- package/dialogs/index.js +6 -60
- package/dialogs/index.js.map +1 -1
- package/dialogs/useConfirmMoveFolderDialog.d.ts +11 -0
- package/dialogs/useConfirmMoveFolderDialog.js +23 -0
- package/dialogs/useConfirmMoveFolderDialog.js.map +1 -0
- package/dialogs/useCreateDialog.js +63 -75
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.d.ts +2 -2
- package/dialogs/useDeleteDialog.js +21 -29
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.d.ts +2 -2
- package/dialogs/useEditDialog.js +62 -73
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.d.ts +3 -2
- package/dialogs/useMoveToFolderDialog.js +42 -58
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.d.ts +2 -2
- package/dialogs/useSetPermissionsDialog.js +55 -67
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/domain/folder/Folder.d.ts +43 -0
- package/domain/folder/Folder.js +28 -0
- package/domain/folder/Folder.js.map +1 -0
- package/domain/folder/FolderDto.d.ts +22 -0
- package/domain/folder/FolderDto.js +3 -0
- package/domain/folder/FolderDto.js.map +1 -0
- package/domain/folder/FolderDtoMapper.d.ts +5 -0
- package/domain/folder/FolderDtoMapper.js +30 -0
- package/domain/folder/FolderDtoMapper.js.map +1 -0
- package/domain/folder/FolderIdentity.d.ts +10 -0
- package/domain/folder/FolderIdentity.js +21 -0
- package/domain/folder/FolderIdentity.js.map +1 -0
- package/domain/folder/RootFolder.d.ts +4 -0
- package/domain/folder/RootFolder.js +28 -0
- package/domain/folder/RootFolder.js.map +1 -0
- package/exports/admin/aco.d.ts +2 -0
- package/exports/admin/aco.js +4 -0
- package/exports/admin/aco.js.map +1 -0
- package/features/folders/abstractions.d.ts +32 -0
- package/features/folders/abstractions.js +8 -0
- package/features/folders/abstractions.js.map +1 -0
- package/features/folders/cache/FoldersCacheFactory.d.ts +8 -0
- package/features/folders/cache/FoldersCacheFactory.js +17 -0
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -0
- package/features/folders/cache/ListCache.d.ts +29 -0
- package/features/folders/cache/ListCache.js +43 -0
- package/features/folders/cache/ListCache.js.map +1 -0
- package/features/folders/cache/LoadedCache.d.ts +13 -0
- package/features/folders/cache/LoadedCache.js +31 -0
- package/features/folders/cache/LoadedCache.js.map +1 -0
- package/features/folders/cache/LoadedFoldersCacheFactory.d.ts +7 -0
- package/features/folders/cache/LoadedFoldersCacheFactory.js +17 -0
- package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -0
- package/features/folders/cache/index.d.ts +4 -0
- package/features/folders/cache/index.js +6 -0
- package/features/folders/cache/index.js.map +1 -0
- package/features/folders/createFolder/CreateFolder.test.d.ts +1 -0
- package/features/folders/createFolder/CreateFolder.test.js +58 -0
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +28 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.js +54 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -0
- package/features/folders/createFolder/CreateFolderRepository.d.ts +16 -0
- package/features/folders/createFolder/CreateFolderRepository.js +30 -0
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -0
- package/features/folders/createFolder/CreateFolderUseCase.d.ts +10 -0
- package/features/folders/createFolder/CreateFolderUseCase.js +23 -0
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folders/createFolder/abstractions.d.ts +41 -0
- package/features/folders/createFolder/abstractions.js +15 -0
- package/features/folders/createFolder/abstractions.js.map +1 -0
- package/features/folders/createFolder/feature.d.ts +3 -0
- package/features/folders/createFolder/feature.js +20 -0
- package/features/folders/createFolder/feature.js.map +1 -0
- package/features/folders/createFolder/index.d.ts +1 -0
- package/features/folders/createFolder/index.js +3 -0
- package/features/folders/createFolder/index.js.map +1 -0
- package/features/folders/createFolder/useCreateFolder.d.ts +4 -0
- package/features/folders/createFolder/useCreateFolder.js +14 -0
- package/features/folders/createFolder/useCreateFolder.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolder.test.d.ts +1 -0
- package/features/folders/deleteFolder/DeleteFolder.test.js +49 -0
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +24 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +49 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +13 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.js +19 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +10 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +15 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folders/deleteFolder/abstractions.d.ts +21 -0
- package/features/folders/deleteFolder/abstractions.js +15 -0
- package/features/folders/deleteFolder/abstractions.js.map +1 -0
- package/features/folders/deleteFolder/feature.d.ts +3 -0
- package/features/folders/deleteFolder/feature.js +20 -0
- package/features/folders/deleteFolder/feature.js.map +1 -0
- package/features/folders/deleteFolder/index.d.ts +1 -0
- package/features/folders/deleteFolder/index.js +3 -0
- package/features/folders/deleteFolder/index.js.map +1 -0
- package/features/folders/deleteFolder/useDeleteFolder.d.ts +3 -0
- package/features/folders/deleteFolder/useDeleteFolder.js +14 -0
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -0
- package/features/folders/feature.d.ts +1 -0
- package/features/folders/feature.js +45 -0
- package/features/folders/feature.js.map +1 -0
- package/features/folders/folderModelProvider/FolderModelContext.d.ts +2 -0
- package/features/folders/folderModelProvider/FolderModelContext.js +28 -0
- package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -0
- package/features/folders/folderModelProvider/FolderModelDto.d.ts +2 -0
- package/features/folders/folderModelProvider/FolderModelDto.js +3 -0
- package/features/folders/folderModelProvider/FolderModelDto.js.map +1 -0
- package/features/folders/folderModelProvider/FolderModelProvider.d.ts +13 -0
- package/features/folders/folderModelProvider/FolderModelProvider.js +58 -0
- package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -0
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.d.ts +22 -0
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +48 -0
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -0
- package/features/folders/folderModelProvider/GetFolderModelRepository.d.ts +13 -0
- package/features/folders/folderModelProvider/GetFolderModelRepository.js +29 -0
- package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -0
- package/features/folders/folderModelProvider/abstractions.d.ts +20 -0
- package/features/folders/folderModelProvider/abstractions.js +5 -0
- package/features/folders/folderModelProvider/abstractions.js.map +1 -0
- package/features/folders/folderModelProvider/feature.d.ts +3 -0
- package/features/folders/folderModelProvider/feature.js +20 -0
- package/features/folders/folderModelProvider/feature.js.map +1 -0
- package/features/folders/folderModelProvider/index.d.ts +1 -0
- package/features/folders/folderModelProvider/index.js +3 -0
- package/features/folders/folderModelProvider/index.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.d.ts +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +119 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +12 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +43 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +10 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +15 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -0
- package/features/folders/getDescendantFolders/abstractions.d.ts +23 -0
- package/features/folders/getDescendantFolders/abstractions.js +13 -0
- package/features/folders/getDescendantFolders/abstractions.js.map +1 -0
- package/features/folders/getDescendantFolders/feature.d.ts +3 -0
- package/features/folders/getDescendantFolders/feature.js +18 -0
- package/features/folders/getDescendantFolders/feature.js.map +1 -0
- package/features/folders/getDescendantFolders/index.d.ts +1 -0
- package/features/folders/getDescendantFolders/index.js +3 -0
- package/features/folders/getDescendantFolders/index.js.map +1 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.d.ts +3 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +14 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -0
- package/features/folders/getFolder/GetFolderGqlGateway.d.ts +30 -0
- package/features/folders/getFolder/GetFolderGqlGateway.js +53 -0
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -0
- package/features/folders/getFolder/GetFolderRepository.d.ts +13 -0
- package/features/folders/getFolder/GetFolderRepository.js +20 -0
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -0
- package/features/folders/getFolder/GetFolderUseCase.d.ts +10 -0
- package/features/folders/getFolder/GetFolderUseCase.js +15 -0
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -0
- package/features/folders/getFolder/abstractions.d.ts +22 -0
- package/features/folders/getFolder/abstractions.js +15 -0
- package/features/folders/getFolder/abstractions.js.map +1 -0
- package/features/folders/getFolder/feature.d.ts +3 -0
- package/features/folders/getFolder/feature.js +20 -0
- package/features/folders/getFolder/feature.js.map +1 -0
- package/features/folders/getFolder/index.d.ts +1 -0
- package/features/folders/getFolder/index.js +3 -0
- package/features/folders/getFolder/index.js.map +1 -0
- package/features/folders/getFolder/useGetFolder.d.ts +3 -0
- package/features/folders/getFolder/useGetFolder.js +14 -0
- package/features/folders/getFolder/useGetFolder.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.d.ts +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +112 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +12 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +38 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +10 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +15 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -0
- package/features/folders/getFolderAncestors/abstractions.d.ts +23 -0
- package/features/folders/getFolderAncestors/abstractions.js +13 -0
- package/features/folders/getFolderAncestors/abstractions.js.map +1 -0
- package/features/folders/getFolderAncestors/feature.d.ts +3 -0
- package/features/folders/getFolderAncestors/feature.js +18 -0
- package/features/folders/getFolderAncestors/feature.js.map +1 -0
- package/features/folders/getFolderAncestors/index.d.ts +1 -0
- package/features/folders/getFolderAncestors/index.js +3 -0
- package/features/folders/getFolderAncestors/index.js.map +1 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +3 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js +14 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.d.ts +1 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +169 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +32 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +35 -0
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/abstractions.d.ts +15 -0
- package/features/folders/getFolderExtensionsFields/abstractions.js +11 -0
- package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/feature.d.ts +3 -0
- package/features/folders/getFolderExtensionsFields/feature.js +25 -0
- package/features/folders/getFolderExtensionsFields/feature.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.d.ts +12 -0
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +25 -0
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.d.ts +12 -0
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +24 -0
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.d.ts +9 -0
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +14 -0
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/index.d.ts +1 -0
- package/features/folders/getFolderExtensionsFields/index.js +3 -0
- package/features/folders/getFolderExtensionsFields/index.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.d.ts +23 -0
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +19 -0
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.d.ts +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +184 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +8 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +12 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -0
- package/features/folders/getFolderLevelPermission/abstractions.d.ts +8 -0
- package/features/folders/getFolderLevelPermission/abstractions.js +4 -0
- package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -0
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.d.ts +15 -0
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +29 -0
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -0
- package/features/folders/getFolderLevelPermission/feature.d.ts +3 -0
- package/features/folders/getFolderLevelPermission/feature.js +21 -0
- package/features/folders/getFolderLevelPermission/feature.js.map +1 -0
- package/features/folders/getFolderLevelPermission/index.d.ts +1 -0
- package/features/folders/getFolderLevelPermission/index.js +3 -0
- package/features/folders/getFolderLevelPermission/index.js.map +1 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +4 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +16 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -0
- package/features/folders/listFolders/ListFolders.test.d.ts +1 -0
- package/features/folders/listFolders/ListFolders.test.js +122 -0
- package/features/folders/listFolders/ListFolders.test.js.map +1 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +30 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.js +49 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -0
- package/features/folders/listFolders/ListFoldersRepository.d.ts +13 -0
- package/features/folders/listFolders/ListFoldersRepository.js +21 -0
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -0
- package/features/folders/listFolders/ListFoldersUseCase.d.ts +10 -0
- package/features/folders/listFolders/ListFoldersUseCase.js +15 -0
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +12 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +18 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -0
- package/features/folders/listFolders/abstractions.d.ts +22 -0
- package/features/folders/listFolders/abstractions.js +6 -0
- package/features/folders/listFolders/abstractions.js.map +1 -0
- package/features/folders/listFolders/feature.d.ts +4 -0
- package/features/folders/listFolders/feature.js +31 -0
- package/features/folders/listFolders/feature.js.map +1 -0
- package/features/folders/listFolders/index.d.ts +2 -0
- package/features/folders/listFolders/index.js +4 -0
- package/features/folders/listFolders/index.js.map +1 -0
- package/features/folders/listFolders/useListFolders.d.ts +6 -0
- package/features/folders/listFolders/useListFolders.js +47 -0
- package/features/folders/listFolders/useListFolders.js.map +1 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.d.ts +1 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +212 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +31 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +56 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +13 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +20 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +11 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +22 -0
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -0
- package/features/folders/listFoldersByParentIds/abstractions.d.ts +22 -0
- package/features/folders/listFoldersByParentIds/abstractions.js +6 -0
- package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -0
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.d.ts +12 -0
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +30 -0
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -0
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.d.ts +13 -0
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +27 -0
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -0
- package/features/folders/listFoldersByParentIds/feature.d.ts +4 -0
- package/features/folders/listFoldersByParentIds/feature.js +35 -0
- package/features/folders/listFoldersByParentIds/feature.js.map +1 -0
- package/features/folders/listFoldersByParentIds/index.d.ts +1 -0
- package/features/folders/listFoldersByParentIds/index.js +3 -0
- package/features/folders/listFoldersByParentIds/index.js.map +1 -0
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +7 -0
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +53 -0
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.d.ts +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +150 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.d.ts +35 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +57 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.d.ts +16 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +49 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.d.ts +10 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +15 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.d.ts +12 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +18 -0
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -0
- package/features/folders/loadFolderHierarchy/abstractions.d.ts +27 -0
- package/features/folders/loadFolderHierarchy/abstractions.js +6 -0
- package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -0
- package/features/folders/loadFolderHierarchy/feature.d.ts +4 -0
- package/features/folders/loadFolderHierarchy/feature.js +31 -0
- package/features/folders/loadFolderHierarchy/feature.js.map +1 -0
- package/features/folders/loadFolderHierarchy/index.d.ts +1 -0
- package/features/folders/loadFolderHierarchy/index.js +3 -0
- package/features/folders/loadFolderHierarchy/index.js.map +1 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.d.ts +7 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +53 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolder.test.d.ts +1 -0
- package/features/folders/updateFolder/UpdateFolder.test.js +402 -0
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +29 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +68 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderRepository.d.ts +13 -0
- package/features/folders/updateFolder/UpdateFolderRepository.js +31 -0
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +11 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.js +16 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folders/updateFolder/abstractions.d.ts +42 -0
- package/features/folders/updateFolder/abstractions.js +6 -0
- package/features/folders/updateFolder/abstractions.js.map +1 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.d.ts +15 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +76 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.d.ts +16 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +70 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -0
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.d.ts +12 -0
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +18 -0
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.d.ts +10 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +20 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -0
- package/features/folders/updateFolder/feature.d.ts +4 -0
- package/features/folders/updateFolder/feature.js +39 -0
- package/features/folders/updateFolder/feature.js.map +1 -0
- package/features/folders/updateFolder/index.d.ts +1 -0
- package/features/folders/updateFolder/index.js +3 -0
- package/features/folders/updateFolder/index.js.map +1 -0
- package/features/folders/updateFolder/useUpdateFolder.d.ts +5 -0
- package/features/folders/updateFolder/useUpdateFolder.js +26 -0
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -0
- package/graphql/app.gql.d.ts +1 -1
- package/graphql/app.gql.js +20 -12
- package/graphql/app.gql.js.map +1 -1
- package/graphql/records/common.d.ts +1 -1
- package/graphql/records/common.js +39 -30
- package/graphql/records/common.js.map +1 -1
- package/graphql/records/getRecord.d.ts +2 -2
- package/graphql/records/getRecord.js +3 -18
- package/graphql/records/getRecord.js.map +1 -1
- package/graphql/records/listRecords.d.ts +2 -2
- package/graphql/records/listRecords.js +14 -27
- package/graphql/records/listRecords.js.map +1 -1
- package/graphql/records/moveRecord.d.ts +2 -2
- package/graphql/records/moveRecord.js +14 -17
- package/graphql/records/moveRecord.js.map +1 -1
- package/graphql/records/types.d.ts +1 -1
- package/graphql/records/types.js +1 -5
- package/graphql/records/types.js.map +1 -1
- package/graphql/records.gql.d.ts +3 -7
- package/graphql/records.gql.js +3 -82
- package/graphql/records.gql.js.map +1 -1
- package/handlers.d.ts +5 -5
- package/handlers.js +11 -19
- package/handlers.js.map +1 -1
- package/hooks/index.d.ts +7 -8
- package/hooks/index.js +7 -99
- package/hooks/index.js.map +1 -1
- package/hooks/useAcoApp.d.ts +1 -1
- package/hooks/useAcoApp.js +5 -14
- package/hooks/useAcoApp.js.map +1 -1
- package/hooks/useAcoList.d.ts +2 -2
- package/hooks/useAcoList.js +4 -10
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useFolder.d.ts +1 -1
- package/hooks/useFolder.js +5 -12
- package/hooks/useFolder.js.map +1 -1
- package/hooks/useFolderModel.d.ts +2 -0
- package/hooks/useFolderModel.js +18 -0
- package/hooks/useFolderModel.js.map +1 -0
- package/hooks/useFoldersType.d.ts +1 -0
- package/hooks/useFoldersType.js +17 -0
- package/hooks/useFoldersType.js.map +1 -0
- package/hooks/useNavigateFolder.d.ts +1 -1
- package/hooks/useNavigateFolder.js +4 -10
- package/hooks/useNavigateFolder.js.map +1 -1
- package/hooks/useRecords.d.ts +24 -25
- package/hooks/useRecords.js +70 -75
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.d.ts +2 -2
- package/hooks/useTags.js +27 -30
- package/hooks/useTags.js.map +1 -1
- package/index.d.ts +22 -7
- package/index.js +23 -81
- package/index.js.map +1 -1
- package/package.json +28 -41
- package/sorting.d.ts +3 -3
- package/sorting.js +15 -37
- package/sorting.js.map +1 -1
- package/table.types.d.ts +13 -9
- package/table.types.js +1 -5
- package/table.types.js.map +1 -1
- package/types.d.ts +20 -100
- package/types.js +13 -38
- package/types.js.map +1 -1
- package/Folders.d.ts +0 -2
- package/Folders.js +0 -23
- package/Folders.js.map +0 -1
- package/components/AdvancedSearch/AdvancedSearch.styled.d.ts +0 -5
- package/components/AdvancedSearch/AdvancedSearch.styled.js +0 -25
- package/components/AdvancedSearch/AdvancedSearch.styled.js.map +0 -1
- package/components/AdvancedSearch/Button/Button.styled.d.ts +0 -6
- package/components/AdvancedSearch/Button/Button.styled.js +0 -26
- package/components/AdvancedSearch/Button/Button.styled.js.map +0 -1
- package/components/AdvancedSearch/Feedback/Feedback.d.ts +0 -6
- package/components/AdvancedSearch/Feedback/Feedback.js +0 -17
- package/components/AdvancedSearch/Feedback/Feedback.js.map +0 -1
- package/components/AdvancedSearch/Feedback/index.d.ts +0 -1
- package/components/AdvancedSearch/Feedback/index.js +0 -18
- package/components/AdvancedSearch/Feedback/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.d.ts +0 -9
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js +0 -23
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.d.ts +0 -6
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.js +0 -22
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.d.ts +0 -64
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js +0 -216
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.d.ts +0 -14
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js +0 -56
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.d.ts +0 -19
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js +0 -68
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js.map +0 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.d.ts +0 -7
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js +0 -26
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js.map +0 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.d.ts +0 -11
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js +0 -41
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js.map +0 -1
- package/components/FolderGrid/Folder.d.ts +0 -5
- package/components/FolderGrid/Folder.js +0 -42
- package/components/FolderGrid/Folder.js.map +0 -1
- package/components/FolderGrid/FolderGrid.d.ts +0 -8
- package/components/FolderGrid/FolderGrid.js +0 -29
- package/components/FolderGrid/FolderGrid.js.map +0 -1
- package/components/FolderGrid/styled.d.ts +0 -16
- package/components/FolderGrid/styled.js +0 -68
- package/components/FolderGrid/styled.js.map +0 -1
- package/components/FolderTree/ButtonCreate/styled.d.ts +0 -14
- package/components/FolderTree/ButtonCreate/styled.js +0 -54
- package/components/FolderTree/ButtonCreate/styled.js.map +0 -1
- package/components/FolderTree/Empty/styled.d.ts +0 -5
- package/components/FolderTree/Empty/styled.js +0 -25
- package/components/FolderTree/Empty/styled.js.map +0 -1
- package/components/FolderTree/Loader/styled.d.ts +0 -9
- package/components/FolderTree/Loader/styled.js +0 -39
- package/components/FolderTree/Loader/styled.js.map +0 -1
- package/components/FolderTree/MenuActions/styled.d.ts +0 -5
- package/components/FolderTree/MenuActions/styled.js +0 -25
- package/components/FolderTree/MenuActions/styled.js.map +0 -1
- package/components/FolderTree/Node/styled.d.ts +0 -35
- package/components/FolderTree/Node/styled.js +0 -84
- package/components/FolderTree/Node/styled.js.map +0 -1
- package/components/FolderTree/NodePreview/styled.d.ts +0 -5
- package/components/FolderTree/NodePreview/styled.js +0 -25
- package/components/FolderTree/NodePreview/styled.js.map +0 -1
- package/components/FolderTree/Placeholder/index.d.ts +0 -6
- package/components/FolderTree/Placeholder/index.js +0 -22
- package/components/FolderTree/Placeholder/index.js.map +0 -1
- package/components/FolderTree/Placeholder/styled.d.ts +0 -5
- package/components/FolderTree/Placeholder/styled.js +0 -25
- package/components/FolderTree/Placeholder/styled.js.map +0 -1
- package/components/FolderTree/styled.d.ts +0 -5
- package/components/FolderTree/styled.js +0 -25
- package/components/FolderTree/styled.js.map +0 -1
- package/components/Search/styled.d.ts +0 -5
- package/components/Search/styled.js +0 -25
- package/components/Search/styled.js.map +0 -1
- package/components/Table/components/Table/gateways/LocalStorage.d.ts +0 -6
- package/components/Table/components/Table/gateways/LocalStorage.js +0 -29
- package/components/Table/components/Table/gateways/LocalStorage.js.map +0 -1
- package/contexts/DisplayError/index.d.ts +0 -6
- package/contexts/DisplayError/index.js +0 -44
- package/contexts/DisplayError/index.js.map +0 -1
- package/contexts/FoldersApi/FoldersApiProvider.d.ts +0 -26
- package/contexts/FoldersApi/FoldersApiProvider.js +0 -255
- package/contexts/FoldersApi/FoldersApiProvider.js.map +0 -1
- package/contexts/FoldersApi/index.d.ts +0 -2
- package/contexts/FoldersApi/index.js +0 -29
- package/contexts/FoldersApi/index.js.map +0 -1
- package/contexts/FoldersApi/useFoldersApi.d.ts +0 -2
- package/contexts/FoldersApi/useFoldersApi.js +0 -17
- package/contexts/FoldersApi/useFoldersApi.js.map +0 -1
- package/contexts/navigateFolderWithRouter.d.ts +0 -8
- package/contexts/navigateFolderWithRouter.js +0 -93
- package/contexts/navigateFolderWithRouter.js.map +0 -1
- package/dialogs/styled.d.ts +0 -5
- package/dialogs/styled.js +0 -25
- package/dialogs/styled.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -5
- package/graphql/folders.gql.js +0 -19
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/records/createRecord.d.ts +0 -2
- package/graphql/records/createRecord.js +0 -20
- package/graphql/records/createRecord.js.map +0 -1
- package/graphql/records/deleteRecord.d.ts +0 -2
- package/graphql/records/deleteRecord.js +0 -20
- package/graphql/records/deleteRecord.js.map +0 -1
- package/graphql/records/listTags.d.ts +0 -2
- package/graphql/records/listTags.js +0 -20
- package/graphql/records/listTags.js.map +0 -1
- package/graphql/records/updateRecord.d.ts +0 -2
- package/graphql/records/updateRecord.js +0 -20
- package/graphql/records/updateRecord.js.map +0 -1
- package/hooks/useFolders.d.ts +0 -17
- package/hooks/useFolders.js +0 -49
- package/hooks/useFolders.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { useContainer } from "@webiny/app";
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { autorun } from "mobx";
|
|
4
|
+
import { useFeature } from "@webiny/app";
|
|
5
|
+
import { FolderDtoMapper } from "../../../domain/folder/FolderDtoMapper.js";
|
|
6
|
+
import { FoldersCache } from "../abstractions.js";
|
|
7
|
+
import { LoadingActionsEnum } from "../../../types.js";
|
|
8
|
+
import { LoadFolderHierarchyFeature } from "./feature.js";
|
|
9
|
+
export const useLoadFolderHierarchy = () => {
|
|
10
|
+
const container = useContainer();
|
|
11
|
+
const {
|
|
12
|
+
useCase,
|
|
13
|
+
loading
|
|
14
|
+
} = useFeature(LoadFolderHierarchyFeature);
|
|
15
|
+
const foldersCache = container.resolve(FoldersCache);
|
|
16
|
+
const [vm, setVm] = useState({
|
|
17
|
+
folders: [],
|
|
18
|
+
loading: {
|
|
19
|
+
INIT: true
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const loadFolderHierarchy = useCallback(id => {
|
|
23
|
+
return useCase.execute(id);
|
|
24
|
+
}, [useCase]);
|
|
25
|
+
const getIsFolderLoading = useCallback((action = LoadingActionsEnum.init) => {
|
|
26
|
+
return loading.isLoading(action);
|
|
27
|
+
}, []);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
return autorun(() => {
|
|
30
|
+
const folders = foldersCache.getItems().map(folder => FolderDtoMapper.toDTO(folder));
|
|
31
|
+
setVm(vm => ({
|
|
32
|
+
...vm,
|
|
33
|
+
folders
|
|
34
|
+
}));
|
|
35
|
+
});
|
|
36
|
+
}, [foldersCache]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
return autorun(() => {
|
|
39
|
+
const loadingState = loading.get();
|
|
40
|
+
setVm(vm => ({
|
|
41
|
+
...vm,
|
|
42
|
+
loading: loadingState
|
|
43
|
+
}));
|
|
44
|
+
});
|
|
45
|
+
}, [loading]);
|
|
46
|
+
return {
|
|
47
|
+
...vm,
|
|
48
|
+
getIsFolderLoading,
|
|
49
|
+
loadFolderHierarchy
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=useLoadFolderHierarchy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useContainer","useCallback","useEffect","useState","autorun","useFeature","FolderDtoMapper","FoldersCache","LoadingActionsEnum","LoadFolderHierarchyFeature","useLoadFolderHierarchy","container","useCase","loading","foldersCache","resolve","vm","setVm","folders","INIT","loadFolderHierarchy","id","execute","getIsFolderLoading","action","init","isLoading","getItems","map","folder","toDTO","loadingState","get"],"sources":["useLoadFolderHierarchy.ts"],"sourcesContent":["import { useContainer } from \"@webiny/app\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { useFeature } from \"@webiny/app\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { FolderDtoMapper } from \"~/domain/folder/FolderDtoMapper.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { LoadingActionsEnum } from \"~/types.js\";\nimport { LoadFolderHierarchyFeature } from \"./feature.js\";\n\nexport const useLoadFolderHierarchy = () => {\n const container = useContainer();\n const { useCase, loading } = useFeature(LoadFolderHierarchyFeature);\n\n const foldersCache = container.resolve(FoldersCache);\n\n const [vm, setVm] = useState<{\n folders: FolderDto[];\n loading: Record<string, boolean>;\n }>({\n folders: [],\n loading: {\n INIT: true\n }\n });\n\n const loadFolderHierarchy = useCallback(\n (id: string) => {\n return useCase.execute(id);\n },\n [useCase]\n );\n\n const getIsFolderLoading = useCallback((action = LoadingActionsEnum.init) => {\n return loading.isLoading(action);\n }, []);\n\n useEffect(() => {\n return autorun(() => {\n const folders = foldersCache.getItems().map(folder => FolderDtoMapper.toDTO(folder));\n\n setVm(vm => ({\n ...vm,\n folders\n }));\n });\n }, [foldersCache]);\n\n useEffect(() => {\n return autorun(() => {\n const loadingState = loading.get();\n\n setVm(vm => ({\n ...vm,\n loading: loadingState\n }));\n });\n }, [loading]);\n\n return {\n ...vm,\n getIsFolderLoading,\n loadFolderHierarchy\n };\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,aAAa;AAC1C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,UAAU,QAAQ,aAAa;AAExC,SAASC,eAAe;AACxB,SAASC,YAAY;AACrB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EACxC,MAAMC,SAAS,GAAGX,YAAY,CAAC,CAAC;EAChC,MAAM;IAAEY,OAAO;IAAEC;EAAQ,CAAC,GAAGR,UAAU,CAACI,0BAA0B,CAAC;EAEnE,MAAMK,YAAY,GAAGH,SAAS,CAACI,OAAO,CAACR,YAAY,CAAC;EAEpD,MAAM,CAACS,EAAE,EAAEC,KAAK,CAAC,GAAGd,QAAQ,CAGzB;IACCe,OAAO,EAAE,EAAE;IACXL,OAAO,EAAE;MACLM,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGnB,WAAW,CAClCoB,EAAU,IAAK;IACZ,OAAOT,OAAO,CAACU,OAAO,CAACD,EAAE,CAAC;EAC9B,CAAC,EACD,CAACT,OAAO,CACZ,CAAC;EAED,MAAMW,kBAAkB,GAAGtB,WAAW,CAAC,CAACuB,MAAM,GAAGhB,kBAAkB,CAACiB,IAAI,KAAK;IACzE,OAAOZ,OAAO,CAACa,SAAS,CAACF,MAAM,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAENtB,SAAS,CAAC,MAAM;IACZ,OAAOE,OAAO,CAAC,MAAM;MACjB,MAAMc,OAAO,GAAGJ,YAAY,CAACa,QAAQ,CAAC,CAAC,CAACC,GAAG,CAACC,MAAM,IAAIvB,eAAe,CAACwB,KAAK,CAACD,MAAM,CAAC,CAAC;MAEpFZ,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLE;MACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAACJ,YAAY,CAAC,CAAC;EAElBZ,SAAS,CAAC,MAAM;IACZ,OAAOE,OAAO,CAAC,MAAM;MACjB,MAAM2B,YAAY,GAAGlB,OAAO,CAACmB,GAAG,CAAC,CAAC;MAElCf,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLH,OAAO,EAAEkB;MACb,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAAClB,OAAO,CAAC,CAAC;EAEb,OAAO;IACH,GAAGG,EAAE;IACLO,kBAAkB;IAClBH;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
2
|
+
import { LoadingRepository } from "@webiny/app-utils";
|
|
3
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
4
|
+
import { ListCache } from "../cache/index.js";
|
|
5
|
+
import { Folder } from "../../../domain/folder/Folder.js";
|
|
6
|
+
import { Container } from "@webiny/di";
|
|
7
|
+
import { FoldersContext } from "../abstractions.js";
|
|
8
|
+
import { FoldersCache } from "../abstractions.js";
|
|
9
|
+
import { UpdateFolderFeature } from "./feature.js";
|
|
10
|
+
import { UpdateFolderUseCase } from "./abstractions.js";
|
|
11
|
+
import { UpdateFolderGateway } from "./abstractions.js";
|
|
12
|
+
import { FoldersLoadingRepository } from "../abstractions.js";
|
|
13
|
+
class UpdateFolderMockGateway {
|
|
14
|
+
constructor(mockResponse) {
|
|
15
|
+
this.mockResponse = mockResponse;
|
|
16
|
+
}
|
|
17
|
+
async execute() {
|
|
18
|
+
return this.mockResponse;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
describe("UpdateFolder", () => {
|
|
22
|
+
const type = "abc";
|
|
23
|
+
function setupTest(params) {
|
|
24
|
+
const container = new Container();
|
|
25
|
+
const foldersCache = params.foldersCache ? params.foldersCache : new ListCache();
|
|
26
|
+
if (!params.foldersCache) {
|
|
27
|
+
foldersCache.addItems([Folder.create({
|
|
28
|
+
id: "any-folder-id",
|
|
29
|
+
title: "Any Folder",
|
|
30
|
+
slug: "any-folder",
|
|
31
|
+
parentId: null,
|
|
32
|
+
permissions: [],
|
|
33
|
+
type
|
|
34
|
+
})]);
|
|
35
|
+
}
|
|
36
|
+
if (params.folders) {
|
|
37
|
+
foldersCache.addItems(params.folders);
|
|
38
|
+
}
|
|
39
|
+
container.registerInstance(FoldersContext, {
|
|
40
|
+
type
|
|
41
|
+
});
|
|
42
|
+
container.registerInstance(FoldersCache, foldersCache);
|
|
43
|
+
container.registerInstance(FoldersLoadingRepository, new LoadingRepository());
|
|
44
|
+
UpdateFolderFeature.register(container);
|
|
45
|
+
container.registerInstance(UpdateFolderGateway, params.gateway);
|
|
46
|
+
return {
|
|
47
|
+
container,
|
|
48
|
+
foldersCache,
|
|
49
|
+
updateFolder: container.resolve(UpdateFolderUseCase)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
vi.clearAllMocks();
|
|
54
|
+
});
|
|
55
|
+
it("should be able to update a folder", async () => {
|
|
56
|
+
const gateway = new UpdateFolderMockGateway({
|
|
57
|
+
id: "any-folder-id",
|
|
58
|
+
title: "Updated Folder",
|
|
59
|
+
slug: "updated-folder",
|
|
60
|
+
parentId: "another-id",
|
|
61
|
+
permissions: [],
|
|
62
|
+
type
|
|
63
|
+
});
|
|
64
|
+
const {
|
|
65
|
+
updateFolder,
|
|
66
|
+
foldersCache
|
|
67
|
+
} = setupTest({
|
|
68
|
+
gateway
|
|
69
|
+
});
|
|
70
|
+
const spy = vi.spyOn(gateway, "execute");
|
|
71
|
+
expect(foldersCache.hasItems()).toBe(true);
|
|
72
|
+
const item = foldersCache.getItem(folder => folder.id === "any-folder-id");
|
|
73
|
+
expect(item?.id).toEqual("any-folder-id");
|
|
74
|
+
expect(item?.title).toEqual("Any Folder");
|
|
75
|
+
await updateFolder.execute({
|
|
76
|
+
id: "any-folder-id",
|
|
77
|
+
title: "Updated Folder",
|
|
78
|
+
slug: "updated-folder",
|
|
79
|
+
parentId: "another-id",
|
|
80
|
+
permissions: [],
|
|
81
|
+
type
|
|
82
|
+
});
|
|
83
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
84
|
+
const updatedItem = foldersCache.getItem(folder => folder.id === "any-folder-id");
|
|
85
|
+
expect(updatedItem).toBeDefined();
|
|
86
|
+
expect(updatedItem?.id).toEqual("any-folder-id");
|
|
87
|
+
expect(updatedItem?.type).toEqual(type);
|
|
88
|
+
expect(updatedItem?.title).toEqual("Updated Folder");
|
|
89
|
+
expect(updatedItem?.slug).toEqual("updated-folder");
|
|
90
|
+
expect(updatedItem?.parentId).toEqual("another-id");
|
|
91
|
+
});
|
|
92
|
+
it("should propagate `permissions` changes to child folders", async () => {
|
|
93
|
+
const parentFolder = Folder.create({
|
|
94
|
+
id: "parent-folder-id",
|
|
95
|
+
title: "Parent Folder",
|
|
96
|
+
slug: "parent-folder",
|
|
97
|
+
parentId: null,
|
|
98
|
+
permissions: [],
|
|
99
|
+
type
|
|
100
|
+
});
|
|
101
|
+
const childFolder1 = Folder.create({
|
|
102
|
+
id: "child-folder-id-1",
|
|
103
|
+
title: "Child Folder 1",
|
|
104
|
+
slug: "child-folder-1",
|
|
105
|
+
parentId: parentFolder.id,
|
|
106
|
+
permissions: [],
|
|
107
|
+
type
|
|
108
|
+
});
|
|
109
|
+
const childFolder2 = Folder.create({
|
|
110
|
+
id: "child-folder-id-2",
|
|
111
|
+
title: "Child Folder 2",
|
|
112
|
+
slug: "child-folder-2",
|
|
113
|
+
parentId: childFolder1.id,
|
|
114
|
+
permissions: [],
|
|
115
|
+
type
|
|
116
|
+
});
|
|
117
|
+
const childFolder3 = Folder.create({
|
|
118
|
+
id: "child-folder-id-3",
|
|
119
|
+
title: "Child Folder 3",
|
|
120
|
+
slug: "child-folder-3",
|
|
121
|
+
parentId: parentFolder.id,
|
|
122
|
+
// <-- This folder is a sibling of childFolder1, not a child
|
|
123
|
+
permissions: [],
|
|
124
|
+
type
|
|
125
|
+
});
|
|
126
|
+
const foldersCache = new ListCache();
|
|
127
|
+
foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);
|
|
128
|
+
|
|
129
|
+
// Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).
|
|
130
|
+
const parentNewPermissions = [{
|
|
131
|
+
level: "viewer",
|
|
132
|
+
target: "admin:123"
|
|
133
|
+
}, {
|
|
134
|
+
level: "viewer",
|
|
135
|
+
target: "admin:456"
|
|
136
|
+
}];
|
|
137
|
+
{
|
|
138
|
+
const gateway = new UpdateFolderMockGateway({
|
|
139
|
+
id: parentFolder.id,
|
|
140
|
+
title: parentFolder.title,
|
|
141
|
+
slug: parentFolder.slug,
|
|
142
|
+
parentId: parentFolder.parentId,
|
|
143
|
+
permissions: parentNewPermissions,
|
|
144
|
+
type
|
|
145
|
+
});
|
|
146
|
+
const {
|
|
147
|
+
updateFolder
|
|
148
|
+
} = setupTest({
|
|
149
|
+
gateway,
|
|
150
|
+
foldersCache
|
|
151
|
+
});
|
|
152
|
+
await updateFolder.execute({
|
|
153
|
+
id: parentFolder.id,
|
|
154
|
+
title: parentFolder.title,
|
|
155
|
+
slug: parentFolder.slug,
|
|
156
|
+
parentId: parentFolder.parentId,
|
|
157
|
+
permissions: parentNewPermissions,
|
|
158
|
+
type
|
|
159
|
+
});
|
|
160
|
+
const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
|
|
161
|
+
expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
162
|
+
...permission,
|
|
163
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
164
|
+
})));
|
|
165
|
+
const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
|
|
166
|
+
expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
167
|
+
...permission,
|
|
168
|
+
inheritedFrom: `parent:${childFolderCache1?.id}`
|
|
169
|
+
})));
|
|
170
|
+
const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
|
|
171
|
+
expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
172
|
+
...permission,
|
|
173
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
174
|
+
})));
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3
|
|
178
|
+
const child1NewPermissions = [{
|
|
179
|
+
level: "owner",
|
|
180
|
+
target: "admin:123"
|
|
181
|
+
}];
|
|
182
|
+
{
|
|
183
|
+
const gateway = new UpdateFolderMockGateway({
|
|
184
|
+
id: childFolder1.id,
|
|
185
|
+
title: childFolder1.title,
|
|
186
|
+
slug: childFolder1.slug,
|
|
187
|
+
parentId: childFolder1.parentId,
|
|
188
|
+
permissions: child1NewPermissions,
|
|
189
|
+
type
|
|
190
|
+
});
|
|
191
|
+
const {
|
|
192
|
+
updateFolder
|
|
193
|
+
} = setupTest({
|
|
194
|
+
gateway,
|
|
195
|
+
foldersCache
|
|
196
|
+
});
|
|
197
|
+
await updateFolder.execute({
|
|
198
|
+
id: childFolder1.id,
|
|
199
|
+
title: childFolder1.title,
|
|
200
|
+
slug: childFolder1.slug,
|
|
201
|
+
parentId: childFolder1.parentId,
|
|
202
|
+
permissions: child1NewPermissions,
|
|
203
|
+
type
|
|
204
|
+
});
|
|
205
|
+
const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
|
|
206
|
+
expect(childFolderCache1?.permissions).toEqual([...child1NewPermissions, {
|
|
207
|
+
...parentNewPermissions[1],
|
|
208
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
209
|
+
}]);
|
|
210
|
+
const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
|
|
211
|
+
expect(childFolderCache2?.permissions).toEqual([...child1NewPermissions.map(permission => ({
|
|
212
|
+
...permission,
|
|
213
|
+
inheritedFrom: `parent:${childFolderCache1?.id}`
|
|
214
|
+
})), {
|
|
215
|
+
...parentNewPermissions[1],
|
|
216
|
+
inheritedFrom: `parent:${childFolderCache1?.id}`
|
|
217
|
+
}]);
|
|
218
|
+
const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
|
|
219
|
+
expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
220
|
+
...permission,
|
|
221
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
222
|
+
})));
|
|
223
|
+
}
|
|
224
|
+
{
|
|
225
|
+
// Let's remove childFolder1 permissions:
|
|
226
|
+
// childFolder1 should inherit back permissions from parentFolder,
|
|
227
|
+
// the change should be propagated to childFolder2, but not to childFolder3
|
|
228
|
+
const newPermissions = [];
|
|
229
|
+
const gateway = new UpdateFolderMockGateway({
|
|
230
|
+
id: childFolder1.id,
|
|
231
|
+
title: childFolder1.title,
|
|
232
|
+
slug: childFolder1.slug,
|
|
233
|
+
parentId: childFolder1.parentId,
|
|
234
|
+
permissions: newPermissions,
|
|
235
|
+
type
|
|
236
|
+
});
|
|
237
|
+
const {
|
|
238
|
+
updateFolder
|
|
239
|
+
} = setupTest({
|
|
240
|
+
gateway,
|
|
241
|
+
foldersCache
|
|
242
|
+
});
|
|
243
|
+
await updateFolder.execute({
|
|
244
|
+
id: childFolder1.id,
|
|
245
|
+
title: childFolder1.title,
|
|
246
|
+
slug: childFolder1.slug,
|
|
247
|
+
parentId: childFolder1.parentId,
|
|
248
|
+
permissions: newPermissions,
|
|
249
|
+
type
|
|
250
|
+
});
|
|
251
|
+
const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
|
|
252
|
+
expect(childFolderCache1?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
253
|
+
...permission,
|
|
254
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
255
|
+
})));
|
|
256
|
+
const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
|
|
257
|
+
expect(childFolderCache2?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
258
|
+
...permission,
|
|
259
|
+
inheritedFrom: `parent:${childFolderCache1?.id}`
|
|
260
|
+
})));
|
|
261
|
+
const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
|
|
262
|
+
expect(childFolderCache3?.permissions).toEqual(parentNewPermissions.map(permission => ({
|
|
263
|
+
...permission,
|
|
264
|
+
inheritedFrom: `parent:${parentFolder?.id}`
|
|
265
|
+
})));
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
it("should propagate `path` changes to child folders", async () => {
|
|
269
|
+
const parentFolder = Folder.create({
|
|
270
|
+
id: "parent-folder-id",
|
|
271
|
+
title: "Parent Folder",
|
|
272
|
+
slug: "parent-folder",
|
|
273
|
+
parentId: null,
|
|
274
|
+
permissions: [],
|
|
275
|
+
path: `${ROOT_FOLDER}/parent-folder`,
|
|
276
|
+
type
|
|
277
|
+
});
|
|
278
|
+
const childFolder1 = Folder.create({
|
|
279
|
+
id: "child-folder-id-1",
|
|
280
|
+
title: "Child Folder 1",
|
|
281
|
+
slug: "child-folder-1",
|
|
282
|
+
parentId: parentFolder.id,
|
|
283
|
+
permissions: [],
|
|
284
|
+
path: `${ROOT_FOLDER}/parent-folder/child-folder-1`,
|
|
285
|
+
type
|
|
286
|
+
});
|
|
287
|
+
const childFolder2 = Folder.create({
|
|
288
|
+
id: "child-folder-id-2",
|
|
289
|
+
title: "Child Folder 2",
|
|
290
|
+
slug: "child-folder-2",
|
|
291
|
+
parentId: childFolder1.id,
|
|
292
|
+
permissions: [],
|
|
293
|
+
path: `${ROOT_FOLDER}/parent-folder/child-folder-1/child-folder-2`,
|
|
294
|
+
type
|
|
295
|
+
});
|
|
296
|
+
const childFolder3 = Folder.create({
|
|
297
|
+
id: "child-folder-id-3",
|
|
298
|
+
title: "Child Folder 3",
|
|
299
|
+
slug: "child-folder-3",
|
|
300
|
+
parentId: parentFolder.id,
|
|
301
|
+
// <-- This folder is a sibling of childFolder1, not a child
|
|
302
|
+
permissions: [],
|
|
303
|
+
path: `${ROOT_FOLDER}/parent-folder/child-folder-3`,
|
|
304
|
+
type
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
// Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).
|
|
308
|
+
const newParentPath = `${ROOT_FOLDER}/parent-folder-edit`;
|
|
309
|
+
const foldersCache = new ListCache();
|
|
310
|
+
foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);
|
|
311
|
+
{
|
|
312
|
+
const gateway = new UpdateFolderMockGateway({
|
|
313
|
+
id: parentFolder.id,
|
|
314
|
+
title: parentFolder.title,
|
|
315
|
+
slug: parentFolder.slug + "-edit",
|
|
316
|
+
parentId: parentFolder.parentId,
|
|
317
|
+
permissions: parentFolder.permissions,
|
|
318
|
+
path: newParentPath,
|
|
319
|
+
type
|
|
320
|
+
});
|
|
321
|
+
const {
|
|
322
|
+
updateFolder
|
|
323
|
+
} = setupTest({
|
|
324
|
+
gateway,
|
|
325
|
+
foldersCache
|
|
326
|
+
});
|
|
327
|
+
await updateFolder.execute({
|
|
328
|
+
id: parentFolder.id,
|
|
329
|
+
title: parentFolder.title,
|
|
330
|
+
slug: parentFolder.slug + "-edit",
|
|
331
|
+
parentId: parentFolder.parentId,
|
|
332
|
+
permissions: parentFolder.permissions,
|
|
333
|
+
type
|
|
334
|
+
});
|
|
335
|
+
const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
|
|
336
|
+
expect(childFolderCache1?.path).toEqual(`${newParentPath}/child-folder-1`);
|
|
337
|
+
const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
|
|
338
|
+
expect(childFolderCache2?.path).toEqual(`${newParentPath}/child-folder-1/child-folder-2`);
|
|
339
|
+
const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
|
|
340
|
+
expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3
|
|
344
|
+
const newChildFolder1Path = `${newParentPath}/child-folder-1-edit`;
|
|
345
|
+
{
|
|
346
|
+
const gateway = new UpdateFolderMockGateway({
|
|
347
|
+
id: childFolder1.id,
|
|
348
|
+
title: childFolder1.title,
|
|
349
|
+
slug: childFolder1.slug + "-edit",
|
|
350
|
+
parentId: childFolder1.parentId,
|
|
351
|
+
permissions: childFolder1.permissions,
|
|
352
|
+
path: newChildFolder1Path,
|
|
353
|
+
type
|
|
354
|
+
});
|
|
355
|
+
const {
|
|
356
|
+
updateFolder
|
|
357
|
+
} = setupTest({
|
|
358
|
+
gateway,
|
|
359
|
+
foldersCache
|
|
360
|
+
});
|
|
361
|
+
await updateFolder.execute({
|
|
362
|
+
id: childFolder1.id,
|
|
363
|
+
title: childFolder1.title,
|
|
364
|
+
slug: childFolder1.slug + "-edit",
|
|
365
|
+
parentId: childFolder1.parentId,
|
|
366
|
+
permissions: childFolder1.permissions,
|
|
367
|
+
type
|
|
368
|
+
});
|
|
369
|
+
const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);
|
|
370
|
+
expect(childFolderCache1?.path).toEqual(newChildFolder1Path);
|
|
371
|
+
const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);
|
|
372
|
+
expect(childFolderCache2?.path).toEqual(`${newChildFolder1Path}/child-folder-2`);
|
|
373
|
+
const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);
|
|
374
|
+
expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
it("should handle gateway errors gracefully", async () => {
|
|
378
|
+
class UpdateFolderErrorMockGateway {
|
|
379
|
+
async execute() {
|
|
380
|
+
throw new Error("Gateway error");
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
const gateway = new UpdateFolderErrorMockGateway();
|
|
384
|
+
const spy = vi.spyOn(gateway, "execute");
|
|
385
|
+
const {
|
|
386
|
+
updateFolder
|
|
387
|
+
} = setupTest({
|
|
388
|
+
gateway
|
|
389
|
+
});
|
|
390
|
+
await expect(updateFolder.execute({
|
|
391
|
+
id: "any-folder-id",
|
|
392
|
+
title: "Updated Folder",
|
|
393
|
+
slug: "updated-folder",
|
|
394
|
+
parentId: "another-id",
|
|
395
|
+
permissions: [],
|
|
396
|
+
type
|
|
397
|
+
})).rejects.toThrow("Gateway error");
|
|
398
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
//# sourceMappingURL=UpdateFolder.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","it","expect","beforeEach","vi","LoadingRepository","ROOT_FOLDER","ListCache","Folder","Container","FoldersContext","FoldersCache","UpdateFolderFeature","UpdateFolderUseCase","UpdateFolderGateway","FoldersLoadingRepository","UpdateFolderMockGateway","constructor","mockResponse","execute","type","setupTest","params","container","foldersCache","addItems","create","id","title","slug","parentId","permissions","folders","registerInstance","register","gateway","updateFolder","resolve","clearAllMocks","spy","spyOn","hasItems","toBe","item","getItem","folder","toEqual","toHaveBeenCalledTimes","updatedItem","toBeDefined","parentFolder","childFolder1","childFolder2","childFolder3","parentNewPermissions","level","target","childFolderCache1","map","permission","inheritedFrom","childFolderCache2","childFolderCache3","child1NewPermissions","newPermissions","path","newParentPath","newChildFolder1Path","UpdateFolderErrorMockGateway","Error","rejects","toThrow"],"sources":["UpdateFolder.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { type FolderPermission } from \"@webiny/shared-aco/flp/flp.types.js\";\nimport { LoadingRepository } from \"@webiny/app-utils\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { ListCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { Container } from \"@webiny/di\";\nimport { FoldersContext } from \"~/features/folders/abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { UpdateFolderFeature } from \"~/features/folders/updateFolder/feature.js\";\nimport { UpdateFolderUseCase } from \"~/features/folders/updateFolder/abstractions.js\";\nimport { UpdateFolderGateway } from \"~/features/folders/updateFolder/abstractions.js\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\n\nclass UpdateFolderMockGateway implements UpdateFolderGateway.Interface {\n mockResponse: Partial<FolderDto>;\n\n constructor(mockResponse: Partial<FolderDto>) {\n this.mockResponse = mockResponse;\n }\n\n async execute() {\n return this.mockResponse as FolderDto;\n }\n}\n\ninterface SetupTestParams {\n gateway: UpdateFolderGateway.Interface;\n folders?: Folder[];\n foldersCache?: ListCache<Folder>;\n}\n\ndescribe(\"UpdateFolder\", () => {\n const type = \"abc\";\n\n function setupTest(params: SetupTestParams) {\n const container = new Container();\n const foldersCache = params.foldersCache ? params.foldersCache : new ListCache<Folder>();\n\n if (!params.foldersCache) {\n foldersCache.addItems([\n Folder.create({\n id: \"any-folder-id\",\n title: \"Any Folder\",\n slug: \"any-folder\",\n parentId: null,\n permissions: [],\n type\n })\n ]);\n }\n\n if (params.folders) {\n foldersCache.addItems(params.folders);\n }\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n container.registerInstance(FoldersLoadingRepository, new LoadingRepository());\n\n UpdateFolderFeature.register(container);\n container.registerInstance(UpdateFolderGateway, params.gateway);\n\n return { container, foldersCache, updateFolder: container.resolve(UpdateFolderUseCase) };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be able to update a folder\", async () => {\n const gateway = new UpdateFolderMockGateway({\n id: \"any-folder-id\",\n title: \"Updated Folder\",\n slug: \"updated-folder\",\n parentId: \"another-id\",\n permissions: [],\n type\n });\n\n const { updateFolder, foldersCache } = setupTest({ gateway });\n\n const spy = vi.spyOn(gateway, \"execute\");\n\n expect(foldersCache.hasItems()).toBe(true);\n const item = foldersCache.getItem(folder => folder.id === \"any-folder-id\");\n expect(item?.id).toEqual(\"any-folder-id\");\n expect(item?.title).toEqual(\"Any Folder\");\n\n await updateFolder.execute({\n id: \"any-folder-id\",\n title: \"Updated Folder\",\n slug: \"updated-folder\",\n parentId: \"another-id\",\n permissions: [],\n type\n });\n\n expect(spy).toHaveBeenCalledTimes(1);\n const updatedItem = foldersCache.getItem(folder => folder.id === \"any-folder-id\");\n\n expect(updatedItem).toBeDefined();\n expect(updatedItem?.id).toEqual(\"any-folder-id\");\n expect(updatedItem?.type).toEqual(type);\n expect(updatedItem?.title).toEqual(\"Updated Folder\");\n expect(updatedItem?.slug).toEqual(\"updated-folder\");\n expect(updatedItem?.parentId).toEqual(\"another-id\");\n });\n\n it(\"should propagate `permissions` changes to child folders\", async () => {\n const parentFolder = Folder.create({\n id: \"parent-folder-id\",\n title: \"Parent Folder\",\n slug: \"parent-folder\",\n parentId: null,\n permissions: [],\n type\n });\n\n const childFolder1 = Folder.create({\n id: \"child-folder-id-1\",\n title: \"Child Folder 1\",\n slug: \"child-folder-1\",\n parentId: parentFolder.id,\n permissions: [],\n type\n });\n\n const childFolder2 = Folder.create({\n id: \"child-folder-id-2\",\n title: \"Child Folder 2\",\n slug: \"child-folder-2\",\n parentId: childFolder1.id,\n permissions: [],\n type\n });\n\n const childFolder3 = Folder.create({\n id: \"child-folder-id-3\",\n title: \"Child Folder 3\",\n slug: \"child-folder-3\",\n parentId: parentFolder.id, // <-- This folder is a sibling of childFolder1, not a child\n permissions: [],\n type\n });\n\n const foldersCache = new ListCache<Folder>();\n foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);\n\n // Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).\n const parentNewPermissions: FolderPermission[] = [\n { level: \"viewer\", target: \"admin:123\" },\n { level: \"viewer\", target: \"admin:456\" }\n ];\n\n {\n const gateway = new UpdateFolderMockGateway({\n id: parentFolder.id,\n title: parentFolder.title,\n slug: parentFolder.slug,\n parentId: parentFolder.parentId,\n permissions: parentNewPermissions,\n type\n });\n\n const { updateFolder } = setupTest({ gateway, foldersCache });\n\n await updateFolder.execute({\n id: parentFolder.id,\n title: parentFolder.title,\n slug: parentFolder.slug,\n parentId: parentFolder.parentId,\n permissions: parentNewPermissions,\n type\n });\n\n const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);\n expect(childFolderCache1?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${parentFolder?.id}`\n }))\n );\n\n const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);\n expect(childFolderCache2?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${childFolderCache1?.id}`\n }))\n );\n\n const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);\n expect(childFolderCache3?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${parentFolder?.id}`\n }))\n );\n }\n\n // Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3\n const child1NewPermissions: FolderPermission[] = [{ level: \"owner\", target: \"admin:123\" }];\n\n {\n const gateway = new UpdateFolderMockGateway({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug,\n parentId: childFolder1.parentId,\n permissions: child1NewPermissions,\n type\n });\n\n const { updateFolder } = setupTest({ gateway, foldersCache });\n\n await updateFolder.execute({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug,\n parentId: childFolder1.parentId,\n permissions: child1NewPermissions,\n type\n });\n\n const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);\n expect(childFolderCache1?.permissions).toEqual([\n ...child1NewPermissions,\n {\n ...parentNewPermissions[1],\n inheritedFrom: `parent:${parentFolder?.id}`\n }\n ]);\n\n const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);\n expect(childFolderCache2?.permissions).toEqual([\n ...child1NewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${childFolderCache1?.id}`\n })),\n {\n ...parentNewPermissions[1],\n inheritedFrom: `parent:${childFolderCache1?.id}`\n }\n ]);\n\n const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);\n expect(childFolderCache3?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${parentFolder?.id}`\n }))\n );\n }\n\n {\n // Let's remove childFolder1 permissions:\n // childFolder1 should inherit back permissions from parentFolder,\n // the change should be propagated to childFolder2, but not to childFolder3\n const newPermissions: FolderPermission[] = [];\n\n const gateway = new UpdateFolderMockGateway({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug,\n parentId: childFolder1.parentId,\n permissions: newPermissions,\n type\n });\n\n const { updateFolder } = setupTest({ gateway, foldersCache });\n\n await updateFolder.execute({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug,\n parentId: childFolder1.parentId,\n permissions: newPermissions,\n type\n });\n\n const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);\n expect(childFolderCache1?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${parentFolder?.id}`\n }))\n );\n\n const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);\n expect(childFolderCache2?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${childFolderCache1?.id}`\n }))\n );\n\n const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);\n expect(childFolderCache3?.permissions).toEqual(\n parentNewPermissions.map(permission => ({\n ...permission,\n inheritedFrom: `parent:${parentFolder?.id}`\n }))\n );\n }\n });\n\n it(\"should propagate `path` changes to child folders\", async () => {\n const parentFolder = Folder.create({\n id: \"parent-folder-id\",\n title: \"Parent Folder\",\n slug: \"parent-folder\",\n parentId: null,\n permissions: [],\n path: `${ROOT_FOLDER}/parent-folder`,\n type\n });\n\n const childFolder1 = Folder.create({\n id: \"child-folder-id-1\",\n title: \"Child Folder 1\",\n slug: \"child-folder-1\",\n parentId: parentFolder.id,\n permissions: [],\n path: `${ROOT_FOLDER}/parent-folder/child-folder-1`,\n type\n });\n\n const childFolder2 = Folder.create({\n id: \"child-folder-id-2\",\n title: \"Child Folder 2\",\n slug: \"child-folder-2\",\n parentId: childFolder1.id,\n permissions: [],\n path: `${ROOT_FOLDER}/parent-folder/child-folder-1/child-folder-2`,\n type\n });\n\n const childFolder3 = Folder.create({\n id: \"child-folder-id-3\",\n title: \"Child Folder 3\",\n slug: \"child-folder-3\",\n parentId: parentFolder.id, // <-- This folder is a sibling of childFolder1, not a child\n permissions: [],\n path: `${ROOT_FOLDER}/parent-folder/child-folder-3`,\n type\n });\n\n // Let's update parentFolder, the change should be propagated to all it's children (childFolder1, childFolder2 and childFolder3).\n const newParentPath: string = `${ROOT_FOLDER}/parent-folder-edit`;\n\n const foldersCache = new ListCache<Folder>();\n foldersCache.addItems([parentFolder, childFolder1, childFolder2, childFolder3]);\n\n {\n const gateway = new UpdateFolderMockGateway({\n id: parentFolder.id,\n title: parentFolder.title,\n slug: parentFolder.slug + \"-edit\",\n parentId: parentFolder.parentId,\n permissions: parentFolder.permissions,\n path: newParentPath,\n type\n });\n\n const { updateFolder } = setupTest({ gateway, foldersCache });\n\n await updateFolder.execute({\n id: parentFolder.id,\n title: parentFolder.title,\n slug: parentFolder.slug + \"-edit\",\n parentId: parentFolder.parentId,\n permissions: parentFolder.permissions,\n type\n });\n\n const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);\n expect(childFolderCache1?.path).toEqual(`${newParentPath}/child-folder-1`);\n\n const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);\n expect(childFolderCache2?.path).toEqual(\n `${newParentPath}/child-folder-1/child-folder-2`\n );\n\n const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);\n expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);\n }\n\n // Let's update childFolder1, the change should be propagated to childFolder2, but not to childFolder3\n const newChildFolder1Path: string = `${newParentPath}/child-folder-1-edit`;\n\n {\n const gateway = new UpdateFolderMockGateway({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug + \"-edit\",\n parentId: childFolder1.parentId,\n permissions: childFolder1.permissions,\n path: newChildFolder1Path,\n type\n });\n\n const { updateFolder } = setupTest({ gateway, foldersCache });\n\n await updateFolder.execute({\n id: childFolder1.id,\n title: childFolder1.title,\n slug: childFolder1.slug + \"-edit\",\n parentId: childFolder1.parentId,\n permissions: childFolder1.permissions,\n type\n });\n\n const childFolderCache1 = foldersCache.getItem(folder => folder.id === childFolder1.id);\n expect(childFolderCache1?.path).toEqual(newChildFolder1Path);\n\n const childFolderCache2 = foldersCache.getItem(folder => folder.id === childFolder2.id);\n expect(childFolderCache2?.path).toEqual(`${newChildFolder1Path}/child-folder-2`);\n\n const childFolderCache3 = foldersCache.getItem(folder => folder.id === childFolder3.id);\n expect(childFolderCache3?.path).toEqual(`${newParentPath}/child-folder-3`);\n }\n });\n\n it(\"should handle gateway errors gracefully\", async () => {\n class UpdateFolderErrorMockGateway implements UpdateFolderGateway.Interface {\n async execute(): Promise<FolderDto> {\n throw new Error(\"Gateway error\");\n }\n }\n\n const gateway = new UpdateFolderErrorMockGateway();\n const spy = vi.spyOn(gateway, \"execute\");\n\n const { updateFolder } = setupTest({ gateway });\n\n await expect(\n updateFolder.execute({\n id: \"any-folder-id\",\n title: \"Updated Folder\",\n slug: \"updated-folder\",\n parentId: \"another-id\",\n permissions: [],\n type\n })\n ).rejects.toThrow(\"Gateway error\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAE7D,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,WAAW;AAEpB,SAASC,SAAS;AAClB,SAASC,MAAM;AACf,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,mBAAmB;AAC5B,SAASC,wBAAwB;AAEjC,MAAMC,uBAAuB,CAA0C;EAGnEC,WAAWA,CAACC,YAAgC,EAAE;IAC1C,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACD,YAAY;EAC5B;AACJ;AAQAlB,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC3B,MAAMoB,IAAI,GAAG,KAAK;EAElB,SAASC,SAASA,CAACC,MAAuB,EAAE;IACxC,MAAMC,SAAS,GAAG,IAAId,SAAS,CAAC,CAAC;IACjC,MAAMe,YAAY,GAAGF,MAAM,CAACE,YAAY,GAAGF,MAAM,CAACE,YAAY,GAAG,IAAIjB,SAAS,CAAS,CAAC;IAExF,IAAI,CAACe,MAAM,CAACE,YAAY,EAAE;MACtBA,YAAY,CAACC,QAAQ,CAAC,CAClBjB,MAAM,CAACkB,MAAM,CAAC;QACVC,EAAE,EAAE,eAAe;QACnBC,KAAK,EAAE,YAAY;QACnBC,IAAI,EAAE,YAAY;QAClBC,QAAQ,EAAE,IAAI;QACdC,WAAW,EAAE,EAAE;QACfX;MACJ,CAAC,CAAC,CACL,CAAC;IACN;IAEA,IAAIE,MAAM,CAACU,OAAO,EAAE;MAChBR,YAAY,CAACC,QAAQ,CAACH,MAAM,CAACU,OAAO,CAAC;IACzC;IAEAT,SAAS,CAACU,gBAAgB,CAACvB,cAAc,EAAE;MAAEU;IAAK,CAAC,CAAC;IACpDG,SAAS,CAACU,gBAAgB,CAACtB,YAAY,EAAEa,YAAY,CAAC;IACtDD,SAAS,CAACU,gBAAgB,CAAClB,wBAAwB,EAAE,IAAIV,iBAAiB,CAAC,CAAC,CAAC;IAE7EO,mBAAmB,CAACsB,QAAQ,CAACX,SAAS,CAAC;IACvCA,SAAS,CAACU,gBAAgB,CAACnB,mBAAmB,EAAEQ,MAAM,CAACa,OAAO,CAAC;IAE/D,OAAO;MAAEZ,SAAS;MAAEC,YAAY;MAAEY,YAAY,EAAEb,SAAS,CAACc,OAAO,CAACxB,mBAAmB;IAAE,CAAC;EAC5F;EAEAV,UAAU,CAAC,MAAM;IACbC,EAAE,CAACkC,aAAa,CAAC,CAAC;EACtB,CAAC,CAAC;EAEFrC,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMkC,OAAO,GAAG,IAAInB,uBAAuB,CAAC;MACxCW,EAAE,EAAE,eAAe;MACnBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAE,YAAY;MACtBC,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEF,MAAM;MAAEgB,YAAY;MAAEZ;IAAa,CAAC,GAAGH,SAAS,CAAC;MAAEc;IAAQ,CAAC,CAAC;IAE7D,MAAMI,GAAG,GAAGnC,EAAE,CAACoC,KAAK,CAACL,OAAO,EAAE,SAAS,CAAC;IAExCjC,MAAM,CAACsB,YAAY,CAACiB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1C,MAAMC,IAAI,GAAGnB,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK,eAAe,CAAC;IAC1EzB,MAAM,CAACyC,IAAI,EAAEhB,EAAE,CAAC,CAACmB,OAAO,CAAC,eAAe,CAAC;IACzC5C,MAAM,CAACyC,IAAI,EAAEf,KAAK,CAAC,CAACkB,OAAO,CAAC,YAAY,CAAC;IAEzC,MAAMV,YAAY,CAACjB,OAAO,CAAC;MACvBQ,EAAE,EAAE,eAAe;MACnBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAE,YAAY;MACtBC,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEFlB,MAAM,CAACqC,GAAG,CAAC,CAACQ,qBAAqB,CAAC,CAAC,CAAC;IACpC,MAAMC,WAAW,GAAGxB,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK,eAAe,CAAC;IAEjFzB,MAAM,CAAC8C,WAAW,CAAC,CAACC,WAAW,CAAC,CAAC;IACjC/C,MAAM,CAAC8C,WAAW,EAAErB,EAAE,CAAC,CAACmB,OAAO,CAAC,eAAe,CAAC;IAChD5C,MAAM,CAAC8C,WAAW,EAAE5B,IAAI,CAAC,CAAC0B,OAAO,CAAC1B,IAAI,CAAC;IACvClB,MAAM,CAAC8C,WAAW,EAAEpB,KAAK,CAAC,CAACkB,OAAO,CAAC,gBAAgB,CAAC;IACpD5C,MAAM,CAAC8C,WAAW,EAAEnB,IAAI,CAAC,CAACiB,OAAO,CAAC,gBAAgB,CAAC;IACnD5C,MAAM,CAAC8C,WAAW,EAAElB,QAAQ,CAAC,CAACgB,OAAO,CAAC,YAAY,CAAC;EACvD,CAAC,CAAC;EAEF7C,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACtE,MAAMiD,YAAY,GAAG1C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,kBAAkB;MACtBC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE,eAAe;MACrBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEF,MAAM+B,YAAY,GAAG3C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEoB,YAAY,CAACvB,EAAE;MACzBI,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEF,MAAMgC,YAAY,GAAG5C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEqB,YAAY,CAACxB,EAAE;MACzBI,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEF,MAAMiC,YAAY,GAAG7C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEoB,YAAY,CAACvB,EAAE;MAAE;MAC3BI,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CAAC;IAEF,MAAMI,YAAY,GAAG,IAAIjB,SAAS,CAAS,CAAC;IAC5CiB,YAAY,CAACC,QAAQ,CAAC,CAACyB,YAAY,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC,CAAC;;IAE/E;IACA,MAAMC,oBAAwC,GAAG,CAC7C;MAAEC,KAAK,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAY,CAAC,EACxC;MAAED,KAAK,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAY,CAAC,CAC3C;IAED;MACI,MAAMrB,OAAO,GAAG,IAAInB,uBAAuB,CAAC;QACxCW,EAAE,EAAEuB,YAAY,CAACvB,EAAE;QACnBC,KAAK,EAAEsB,YAAY,CAACtB,KAAK;QACzBC,IAAI,EAAEqB,YAAY,CAACrB,IAAI;QACvBC,QAAQ,EAAEoB,YAAY,CAACpB,QAAQ;QAC/BC,WAAW,EAAEuB,oBAAoB;QACjClC;MACJ,CAAC,CAAC;MAEF,MAAM;QAAEgB;MAAa,CAAC,GAAGf,SAAS,CAAC;QAAEc,OAAO;QAAEX;MAAa,CAAC,CAAC;MAE7D,MAAMY,YAAY,CAACjB,OAAO,CAAC;QACvBQ,EAAE,EAAEuB,YAAY,CAACvB,EAAE;QACnBC,KAAK,EAAEsB,YAAY,CAACtB,KAAK;QACzBC,IAAI,EAAEqB,YAAY,CAACrB,IAAI;QACvBC,QAAQ,EAAEoB,YAAY,CAACpB,QAAQ;QAC/BC,WAAW,EAAEuB,oBAAoB;QACjClC;MACJ,CAAC,CAAC;MAEF,MAAMqC,iBAAiB,GAAGjC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKwB,YAAY,CAACxB,EAAE,CAAC;MACvFzB,MAAM,CAACuD,iBAAiB,EAAE1B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CAAC,CACN,CAAC;MAED,MAAMkC,iBAAiB,GAAGrC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKyB,YAAY,CAACzB,EAAE,CAAC;MACvFzB,MAAM,CAAC2D,iBAAiB,EAAE9B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUH,iBAAiB,EAAE9B,EAAE;MAClD,CAAC,CAAC,CACN,CAAC;MAED,MAAMmC,iBAAiB,GAAGtC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK0B,YAAY,CAAC1B,EAAE,CAAC;MACvFzB,MAAM,CAAC4D,iBAAiB,EAAE/B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CAAC,CACN,CAAC;IACL;;IAEA;IACA,MAAMoC,oBAAwC,GAAG,CAAC;MAAER,KAAK,EAAE,OAAO;MAAEC,MAAM,EAAE;IAAY,CAAC,CAAC;IAE1F;MACI,MAAMrB,OAAO,GAAG,IAAInB,uBAAuB,CAAC;QACxCW,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI;QACvBC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEgC,oBAAoB;QACjC3C;MACJ,CAAC,CAAC;MAEF,MAAM;QAAEgB;MAAa,CAAC,GAAGf,SAAS,CAAC;QAAEc,OAAO;QAAEX;MAAa,CAAC,CAAC;MAE7D,MAAMY,YAAY,CAACjB,OAAO,CAAC;QACvBQ,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI;QACvBC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEgC,oBAAoB;QACjC3C;MACJ,CAAC,CAAC;MAEF,MAAMqC,iBAAiB,GAAGjC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKwB,YAAY,CAACxB,EAAE,CAAC;MACvFzB,MAAM,CAACuD,iBAAiB,EAAE1B,WAAW,CAAC,CAACe,OAAO,CAAC,CAC3C,GAAGiB,oBAAoB,EACvB;QACI,GAAGT,oBAAoB,CAAC,CAAC,CAAC;QAC1BM,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CACJ,CAAC;MAEF,MAAMkC,iBAAiB,GAAGrC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKyB,YAAY,CAACzB,EAAE,CAAC;MACvFzB,MAAM,CAAC2D,iBAAiB,EAAE9B,WAAW,CAAC,CAACe,OAAO,CAAC,CAC3C,GAAGiB,oBAAoB,CAACL,GAAG,CAACC,UAAU,KAAK;QACvC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUH,iBAAiB,EAAE9B,EAAE;MAClD,CAAC,CAAC,CAAC,EACH;QACI,GAAG2B,oBAAoB,CAAC,CAAC,CAAC;QAC1BM,aAAa,EAAE,UAAUH,iBAAiB,EAAE9B,EAAE;MAClD,CAAC,CACJ,CAAC;MAEF,MAAMmC,iBAAiB,GAAGtC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK0B,YAAY,CAAC1B,EAAE,CAAC;MACvFzB,MAAM,CAAC4D,iBAAiB,EAAE/B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CAAC,CACN,CAAC;IACL;IAEA;MACI;MACA;MACA;MACA,MAAMqC,cAAkC,GAAG,EAAE;MAE7C,MAAM7B,OAAO,GAAG,IAAInB,uBAAuB,CAAC;QACxCW,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI;QACvBC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEiC,cAAc;QAC3B5C;MACJ,CAAC,CAAC;MAEF,MAAM;QAAEgB;MAAa,CAAC,GAAGf,SAAS,CAAC;QAAEc,OAAO;QAAEX;MAAa,CAAC,CAAC;MAE7D,MAAMY,YAAY,CAACjB,OAAO,CAAC;QACvBQ,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI;QACvBC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEiC,cAAc;QAC3B5C;MACJ,CAAC,CAAC;MAEF,MAAMqC,iBAAiB,GAAGjC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKwB,YAAY,CAACxB,EAAE,CAAC;MACvFzB,MAAM,CAACuD,iBAAiB,EAAE1B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CAAC,CACN,CAAC;MAED,MAAMkC,iBAAiB,GAAGrC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKyB,YAAY,CAACzB,EAAE,CAAC;MACvFzB,MAAM,CAAC2D,iBAAiB,EAAE9B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUH,iBAAiB,EAAE9B,EAAE;MAClD,CAAC,CAAC,CACN,CAAC;MAED,MAAMmC,iBAAiB,GAAGtC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK0B,YAAY,CAAC1B,EAAE,CAAC;MACvFzB,MAAM,CAAC4D,iBAAiB,EAAE/B,WAAW,CAAC,CAACe,OAAO,CAC1CQ,oBAAoB,CAACI,GAAG,CAACC,UAAU,KAAK;QACpC,GAAGA,UAAU;QACbC,aAAa,EAAE,UAAUV,YAAY,EAAEvB,EAAE;MAC7C,CAAC,CAAC,CACN,CAAC;IACL;EACJ,CAAC,CAAC;EAEF1B,EAAE,CAAC,kDAAkD,EAAE,YAAY;IAC/D,MAAMiD,YAAY,GAAG1C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,kBAAkB;MACtBC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE,eAAe;MACrBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,EAAE;MACfkC,IAAI,EAAE,GAAG3D,WAAW,gBAAgB;MACpCc;IACJ,CAAC,CAAC;IAEF,MAAM+B,YAAY,GAAG3C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEoB,YAAY,CAACvB,EAAE;MACzBI,WAAW,EAAE,EAAE;MACfkC,IAAI,EAAE,GAAG3D,WAAW,+BAA+B;MACnDc;IACJ,CAAC,CAAC;IAEF,MAAMgC,YAAY,GAAG5C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEqB,YAAY,CAACxB,EAAE;MACzBI,WAAW,EAAE,EAAE;MACfkC,IAAI,EAAE,GAAG3D,WAAW,8CAA8C;MAClEc;IACJ,CAAC,CAAC;IAEF,MAAMiC,YAAY,GAAG7C,MAAM,CAACkB,MAAM,CAAC;MAC/BC,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAEoB,YAAY,CAACvB,EAAE;MAAE;MAC3BI,WAAW,EAAE,EAAE;MACfkC,IAAI,EAAE,GAAG3D,WAAW,+BAA+B;MACnDc;IACJ,CAAC,CAAC;;IAEF;IACA,MAAM8C,aAAqB,GAAG,GAAG5D,WAAW,qBAAqB;IAEjE,MAAMkB,YAAY,GAAG,IAAIjB,SAAS,CAAS,CAAC;IAC5CiB,YAAY,CAACC,QAAQ,CAAC,CAACyB,YAAY,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC,CAAC;IAE/E;MACI,MAAMlB,OAAO,GAAG,IAAInB,uBAAuB,CAAC;QACxCW,EAAE,EAAEuB,YAAY,CAACvB,EAAE;QACnBC,KAAK,EAAEsB,YAAY,CAACtB,KAAK;QACzBC,IAAI,EAAEqB,YAAY,CAACrB,IAAI,GAAG,OAAO;QACjCC,QAAQ,EAAEoB,YAAY,CAACpB,QAAQ;QAC/BC,WAAW,EAAEmB,YAAY,CAACnB,WAAW;QACrCkC,IAAI,EAAEC,aAAa;QACnB9C;MACJ,CAAC,CAAC;MAEF,MAAM;QAAEgB;MAAa,CAAC,GAAGf,SAAS,CAAC;QAAEc,OAAO;QAAEX;MAAa,CAAC,CAAC;MAE7D,MAAMY,YAAY,CAACjB,OAAO,CAAC;QACvBQ,EAAE,EAAEuB,YAAY,CAACvB,EAAE;QACnBC,KAAK,EAAEsB,YAAY,CAACtB,KAAK;QACzBC,IAAI,EAAEqB,YAAY,CAACrB,IAAI,GAAG,OAAO;QACjCC,QAAQ,EAAEoB,YAAY,CAACpB,QAAQ;QAC/BC,WAAW,EAAEmB,YAAY,CAACnB,WAAW;QACrCX;MACJ,CAAC,CAAC;MAEF,MAAMqC,iBAAiB,GAAGjC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKwB,YAAY,CAACxB,EAAE,CAAC;MACvFzB,MAAM,CAACuD,iBAAiB,EAAEQ,IAAI,CAAC,CAACnB,OAAO,CAAC,GAAGoB,aAAa,iBAAiB,CAAC;MAE1E,MAAML,iBAAiB,GAAGrC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKyB,YAAY,CAACzB,EAAE,CAAC;MACvFzB,MAAM,CAAC2D,iBAAiB,EAAEI,IAAI,CAAC,CAACnB,OAAO,CACnC,GAAGoB,aAAa,gCACpB,CAAC;MAED,MAAMJ,iBAAiB,GAAGtC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK0B,YAAY,CAAC1B,EAAE,CAAC;MACvFzB,MAAM,CAAC4D,iBAAiB,EAAEG,IAAI,CAAC,CAACnB,OAAO,CAAC,GAAGoB,aAAa,iBAAiB,CAAC;IAC9E;;IAEA;IACA,MAAMC,mBAA2B,GAAG,GAAGD,aAAa,sBAAsB;IAE1E;MACI,MAAM/B,OAAO,GAAG,IAAInB,uBAAuB,CAAC;QACxCW,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI,GAAG,OAAO;QACjCC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEoB,YAAY,CAACpB,WAAW;QACrCkC,IAAI,EAAEE,mBAAmB;QACzB/C;MACJ,CAAC,CAAC;MAEF,MAAM;QAAEgB;MAAa,CAAC,GAAGf,SAAS,CAAC;QAAEc,OAAO;QAAEX;MAAa,CAAC,CAAC;MAE7D,MAAMY,YAAY,CAACjB,OAAO,CAAC;QACvBQ,EAAE,EAAEwB,YAAY,CAACxB,EAAE;QACnBC,KAAK,EAAEuB,YAAY,CAACvB,KAAK;QACzBC,IAAI,EAAEsB,YAAY,CAACtB,IAAI,GAAG,OAAO;QACjCC,QAAQ,EAAEqB,YAAY,CAACrB,QAAQ;QAC/BC,WAAW,EAAEoB,YAAY,CAACpB,WAAW;QACrCX;MACJ,CAAC,CAAC;MAEF,MAAMqC,iBAAiB,GAAGjC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKwB,YAAY,CAACxB,EAAE,CAAC;MACvFzB,MAAM,CAACuD,iBAAiB,EAAEQ,IAAI,CAAC,CAACnB,OAAO,CAACqB,mBAAmB,CAAC;MAE5D,MAAMN,iBAAiB,GAAGrC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAKyB,YAAY,CAACzB,EAAE,CAAC;MACvFzB,MAAM,CAAC2D,iBAAiB,EAAEI,IAAI,CAAC,CAACnB,OAAO,CAAC,GAAGqB,mBAAmB,iBAAiB,CAAC;MAEhF,MAAML,iBAAiB,GAAGtC,YAAY,CAACoB,OAAO,CAACC,MAAM,IAAIA,MAAM,CAAClB,EAAE,KAAK0B,YAAY,CAAC1B,EAAE,CAAC;MACvFzB,MAAM,CAAC4D,iBAAiB,EAAEG,IAAI,CAAC,CAACnB,OAAO,CAAC,GAAGoB,aAAa,iBAAiB,CAAC;IAC9E;EACJ,CAAC,CAAC;EAEFjE,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACtD,MAAMmE,4BAA4B,CAA0C;MACxE,MAAMjD,OAAOA,CAAA,EAAuB;QAChC,MAAM,IAAIkD,KAAK,CAAC,eAAe,CAAC;MACpC;IACJ;IAEA,MAAMlC,OAAO,GAAG,IAAIiC,4BAA4B,CAAC,CAAC;IAClD,MAAM7B,GAAG,GAAGnC,EAAE,CAACoC,KAAK,CAACL,OAAO,EAAE,SAAS,CAAC;IAExC,MAAM;MAAEC;IAAa,CAAC,GAAGf,SAAS,CAAC;MAAEc;IAAQ,CAAC,CAAC;IAE/C,MAAMjC,MAAM,CACRkC,YAAY,CAACjB,OAAO,CAAC;MACjBQ,EAAE,EAAE,eAAe;MACnBC,KAAK,EAAE,gBAAgB;MACvBC,IAAI,EAAE,gBAAgB;MACtBC,QAAQ,EAAE,YAAY;MACtBC,WAAW,EAAE,EAAE;MACfX;IACJ,CAAC,CACL,CAAC,CAACkD,OAAO,CAACC,OAAO,CAAC,eAAe,CAAC;IAElCrE,MAAM,CAACqC,GAAG,CAAC,CAACQ,qBAAqB,CAAC,CAAC,CAAC;EACxC,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
|
|
2
|
+
import type { FolderDto } from "../../../domain/folder/FolderDto.js";
|
|
3
|
+
import { FolderModelProvider } from "../../../features/folders/abstractions.js";
|
|
4
|
+
import type { FolderGatewayDto } from "./abstractions.js";
|
|
5
|
+
import { UpdateFolderGateway as GatewayAbstraction } from "./abstractions.js";
|
|
6
|
+
import type { AcoError } from "../../../types.js";
|
|
7
|
+
export interface UpdateFolderResponse {
|
|
8
|
+
aco: {
|
|
9
|
+
updateFolder: {
|
|
10
|
+
data: FolderDto;
|
|
11
|
+
error: AcoError | null;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface UpdateFolderVariables {
|
|
16
|
+
id: string;
|
|
17
|
+
data: Partial<Omit<FolderDto, "id" | "createdOn" | "createdBy" | "savedOn" | "savedBy" | "modifiedOn" | "modifiedBy">>;
|
|
18
|
+
}
|
|
19
|
+
export declare const UPDATE_FOLDER: (FOLDER_FIELDS: string) => import("graphql").DocumentNode;
|
|
20
|
+
declare class UpdateFolderGqlGatewayImpl implements GatewayAbstraction.Interface {
|
|
21
|
+
private client;
|
|
22
|
+
private folderModelProvider;
|
|
23
|
+
constructor(client: ApolloClient.Interface, folderModelProvider: FolderModelProvider.Interface);
|
|
24
|
+
execute(folder: FolderGatewayDto): Promise<FolderDto>;
|
|
25
|
+
}
|
|
26
|
+
export declare const UpdateFolderGqlGateway: typeof UpdateFolderGqlGatewayImpl & {
|
|
27
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFolderGateway>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
|
|
3
|
+
import { FolderModelProvider } from "../abstractions.js";
|
|
4
|
+
import { UpdateFolderGateway as GatewayAbstraction } from "./abstractions.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
6
|
+
export const UPDATE_FOLDER = FOLDER_FIELDS => gql`
|
|
7
|
+
mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {
|
|
8
|
+
aco {
|
|
9
|
+
updateFolder(id: $id, data: $data) {
|
|
10
|
+
data ${FOLDER_FIELDS}
|
|
11
|
+
error {
|
|
12
|
+
code
|
|
13
|
+
data
|
|
14
|
+
message
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
class UpdateFolderGqlGatewayImpl {
|
|
21
|
+
constructor(client, folderModelProvider) {
|
|
22
|
+
this.client = client;
|
|
23
|
+
this.folderModelProvider = folderModelProvider;
|
|
24
|
+
}
|
|
25
|
+
async execute(folder) {
|
|
26
|
+
const fields = await this.folderModelProvider.getGraphQLSelection();
|
|
27
|
+
const {
|
|
28
|
+
id,
|
|
29
|
+
title,
|
|
30
|
+
slug,
|
|
31
|
+
permissions,
|
|
32
|
+
parentId,
|
|
33
|
+
extensions
|
|
34
|
+
} = folder;
|
|
35
|
+
const {
|
|
36
|
+
data: response
|
|
37
|
+
} = await this.client.mutate({
|
|
38
|
+
mutation: UPDATE_FOLDER(fields),
|
|
39
|
+
variables: {
|
|
40
|
+
id,
|
|
41
|
+
data: {
|
|
42
|
+
title,
|
|
43
|
+
slug,
|
|
44
|
+
extensions,
|
|
45
|
+
parentId: parentId === ROOT_FOLDER ? null : parentId,
|
|
46
|
+
permissions: permissions.filter(p => !p.inheritedFrom)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
if (!response) {
|
|
51
|
+
throw new Error("Network error while updating folder.");
|
|
52
|
+
}
|
|
53
|
+
const {
|
|
54
|
+
data,
|
|
55
|
+
error
|
|
56
|
+
} = response.aco.updateFolder;
|
|
57
|
+
if (!data) {
|
|
58
|
+
throw new Error(error?.message || "Could not update folder");
|
|
59
|
+
}
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export const UpdateFolderGqlGateway = GatewayAbstraction.createImplementation({
|
|
64
|
+
implementation: UpdateFolderGqlGatewayImpl,
|
|
65
|
+
dependencies: [ApolloClient, FolderModelProvider]
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=UpdateFolderGqlGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gql","ApolloClient","FolderModelProvider","UpdateFolderGateway","GatewayAbstraction","ROOT_FOLDER","UPDATE_FOLDER","FOLDER_FIELDS","UpdateFolderGqlGatewayImpl","constructor","client","folderModelProvider","execute","folder","fields","getGraphQLSelection","id","title","slug","permissions","parentId","extensions","data","response","mutate","mutation","variables","filter","p","inheritedFrom","Error","error","aco","updateFolder","message","UpdateFolderGqlGateway","createImplementation","implementation","dependencies"],"sources":["UpdateFolderGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApolloClient } from \"@webiny/app-admin/features/apolloClient/abstraction.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport type { FolderGatewayDto } from \"./abstractions.js\";\nimport { UpdateFolderGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\nexport interface UpdateFolderResponse {\n aco: {\n updateFolder: {\n data: FolderDto;\n error: AcoError | null;\n };\n };\n}\n\nexport interface UpdateFolderVariables {\n id: string;\n data: Partial<\n Omit<\n FolderDto,\n \"id\" | \"createdOn\" | \"createdBy\" | \"savedOn\" | \"savedBy\" | \"modifiedOn\" | \"modifiedBy\"\n >\n >;\n}\n\nexport const UPDATE_FOLDER = (FOLDER_FIELDS: string) => gql`\n mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {\n aco {\n updateFolder(id: $id, data: $data) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nclass UpdateFolderGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: ApolloClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(folder: FolderGatewayDto) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const { id, title, slug, permissions, parentId, extensions } = folder;\n\n const { data: response } = await this.client.mutate<\n UpdateFolderResponse,\n UpdateFolderVariables\n >({\n mutation: UPDATE_FOLDER(fields),\n variables: {\n id,\n data: {\n title,\n slug,\n extensions,\n parentId: parentId === ROOT_FOLDER ? null : parentId,\n permissions: permissions.filter(p => !p.inheritedFrom)\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while updating folder.\");\n }\n\n const { data, error } = response.aco.updateFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update folder\");\n }\n\n return data;\n }\n}\n\nexport const UpdateFolderGqlGateway = GatewayAbstraction.createImplementation({\n implementation: UpdateFolderGqlGatewayImpl,\n dependencies: [ApolloClient, FolderModelProvider]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAASC,YAAY,QAAQ,wDAAwD;AAErF,SAASC,mBAAmB;AAE5B,SAASC,mBAAmB,IAAIC,kBAAkB;AAElD,SAASC,WAAW;AAqBpB,OAAO,MAAMC,aAAa,GAAIC,aAAqB,IAAKP,GAAG;AAC3D;AACA;AACA;AACA,uBAAuBO,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,0BAA0B,CAAyC;EACrEC,WAAWA,CACCC,MAA8B,EAC9BC,mBAAkD,EAC5D;IAAA,KAFUD,MAA8B,GAA9BA,MAA8B;IAAA,KAC9BC,mBAAkD,GAAlDA,mBAAkD;EAC3D;EAEH,MAAMC,OAAOA,CAACC,MAAwB,EAAE;IACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,mBAAmB,CAACI,mBAAmB,CAAC,CAAC;IAEnE,MAAM;MAAEC,EAAE;MAAEC,KAAK;MAAEC,IAAI;MAAEC,WAAW;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGR,MAAM;IAErE,MAAM;MAAES,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACb,MAAM,CAACc,MAAM,CAGjD;MACEC,QAAQ,EAAEnB,aAAa,CAACQ,MAAM,CAAC;MAC/BY,SAAS,EAAE;QACPV,EAAE;QACFM,IAAI,EAAE;UACFL,KAAK;UACLC,IAAI;UACJG,UAAU;UACVD,QAAQ,EAAEA,QAAQ,KAAKf,WAAW,GAAG,IAAI,GAAGe,QAAQ;UACpDD,WAAW,EAAEA,WAAW,CAACQ,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa;QACzD;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACN,QAAQ,EAAE;MACX,MAAM,IAAIO,KAAK,CAAC,sCAAsC,CAAC;IAC3D;IAEA,MAAM;MAAER,IAAI;MAAES;IAAM,CAAC,GAAGR,QAAQ,CAACS,GAAG,CAACC,YAAY;IAEjD,IAAI,CAACX,IAAI,EAAE;MACP,MAAM,IAAIQ,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,yBAAyB,CAAC;IAChE;IAEA,OAAOZ,IAAI;EACf;AACJ;AAEA,OAAO,MAAMa,sBAAsB,GAAG/B,kBAAkB,CAACgC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE7B,0BAA0B;EAC1C8B,YAAY,EAAE,CAACrC,YAAY,EAAEC,mBAAmB;AACpD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Folder } from "../../../domain/folder/Folder.js";
|
|
2
|
+
import { FoldersCache } from "../abstractions.js";
|
|
3
|
+
import { UpdateFolderRepository as RepositoryAbstraction, UpdateFolderGateway } from "./abstractions.js";
|
|
4
|
+
declare class UpdateFolderRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
5
|
+
private cache;
|
|
6
|
+
private gateway;
|
|
7
|
+
constructor(cache: FoldersCache.Interface, gateway: UpdateFolderGateway.Interface);
|
|
8
|
+
execute(folder: Folder): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const UpdateFolderRepository: typeof UpdateFolderRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFolderRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|