@webiny/app-aco 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.eb81deee7e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -404
- package/app.js +8 -5
- package/app.js.map +1 -1
- package/components/Actions/DeleteFolder/DeleteFolder.js +24 -29
- 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 -3
- package/components/Actions/EditFolder/EditFolder.js +23 -28
- 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 -3
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +23 -28
- 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 -3
- package/components/Actions/index.d.ts +3 -3
- package/components/Actions/index.js +3 -5
- package/components/AdvancedSearch/AdvancedSearch.d.ts +3 -3
- package/components/AdvancedSearch/AdvancedSearch.js +73 -81
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchConfigs.js +39 -42
- package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.js +179 -200
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +655 -721
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/Button/Button.js +13 -16
- 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 -3
- package/components/AdvancedSearch/GraphQLInputMapper.d.ts +2 -2
- package/components/AdvancedSearch/GraphQLInputMapper.js +30 -41
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js +181 -140
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +2 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +58 -60
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +26 -27
- 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 +53 -73
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
- 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 +12 -21
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +16 -26
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
- 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 -5
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.d.ts +7 -7
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +7 -9
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +1 -3
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +3 -3
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +68 -71
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +2 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +111 -140
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +347 -329
- 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 -3
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +24 -28
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +42 -43
- 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 -4
- package/components/AdvancedSearch/QueryManagerDialog/index.d.ts +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.js +1 -3
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +53 -60
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +40 -53
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +60 -67
- 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 -3
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
- 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 -3
- package/components/AdvancedSearch/domain/Feedback.js +12 -11
- package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.d.ts +2 -3
- package/components/AdvancedSearch/domain/Field.js +206 -190
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/Filter.d.ts +15 -70
- package/components/AdvancedSearch/domain/Filter.js +65 -49
- package/components/AdvancedSearch/domain/Filter.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
- 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 -86
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +3 -3
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +10 -11
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
- package/components/AdvancedSearch/domain/Loading.js +47 -46
- package/components/AdvancedSearch/domain/Loading.js.map +1 -1
- package/components/AdvancedSearch/domain/Operation.js +5 -4
- package/components/AdvancedSearch/domain/Operation.js.map +1 -1
- package/components/AdvancedSearch/domain/Sorter.js +18 -17
- 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 -12
- package/components/AdvancedSearch/fields/Boolean.js +24 -26
- package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithTimezone.js +48 -53
- package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js +27 -31
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/Input.js +13 -15
- package/components/AdvancedSearch/fields/Input.js.map +1 -1
- package/components/AdvancedSearch/fields/PredefinedValues.js +18 -24
- 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 -7
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +8 -8
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -122
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.gql.d.ts +5 -5
- package/components/AdvancedSearch/gateways/filters.gql.js +8 -8
- package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.d.ts +2 -2
- package/components/AdvancedSearch/gateways/filters.types.js +0 -3
- package/components/AdvancedSearch/gateways/index.d.ts +2 -2
- package/components/AdvancedSearch/gateways/index.js +1 -4
- package/components/AdvancedSearch/index.d.ts +8 -6
- package/components/AdvancedSearch/index.js +27 -33
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useFilterRepository.d.ts +1 -1
- package/components/AdvancedSearch/useFilterRepository.js +11 -5
- package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
- package/components/AdvancedSearch/useInputField.d.ts +3 -4
- package/components/AdvancedSearch/useInputField.js +4 -6
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/FolderGrid/FolderGridItem.d.ts +4 -2
- package/components/FolderGrid/FolderGridItem.js +70 -60
- package/components/FolderGrid/FolderGridItem.js.map +1 -1
- package/components/FolderGrid/index.d.ts +1 -1
- package/components/FolderGrid/index.js +1 -3
- package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
- package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
- package/components/FolderIcons/assets/folder.js +21 -0
- package/components/FolderIcons/assets/folder.js.map +1 -0
- package/components/FolderIcons/index.js +2 -5
- package/components/FolderPicker/FolderPicker.d.ts +8 -0
- package/components/FolderPicker/FolderPicker.js +27 -0
- package/components/FolderPicker/FolderPicker.js.map +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js +19 -16
- package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
- package/components/FolderTree/ButtonCreate/index.d.ts +1 -1
- package/components/FolderTree/ButtonCreate/index.js +1 -3
- package/components/FolderTree/Empty/Empty.js +6 -7
- package/components/FolderTree/Empty/Empty.js.map +1 -1
- package/components/FolderTree/Empty/index.d.ts +1 -1
- package/components/FolderTree/Empty/index.js +1 -3
- package/components/FolderTree/List/List.d.ts +7 -4
- package/components/FolderTree/List/List.js +137 -107
- package/components/FolderTree/List/List.js.map +1 -1
- package/components/FolderTree/List/index.d.ts +1 -1
- package/components/FolderTree/List/index.js +1 -3
- package/components/FolderTree/List/utils.d.ts +3 -3
- package/components/FolderTree/List/utils.js +32 -65
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/Loader/Loader.js +15 -18
- package/components/FolderTree/Loader/Loader.js.map +1 -1
- package/components/FolderTree/Loader/index.d.ts +1 -1
- package/components/FolderTree/Loader/index.js +1 -3
- package/components/FolderTree/MenuActions/MenuActions.d.ts +6 -1
- package/components/FolderTree/MenuActions/MenuActions.js +20 -30
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
- package/components/FolderTree/MenuActions/index.d.ts +1 -1
- package/components/FolderTree/MenuActions/index.js +1 -3
- package/components/FolderTree/Node/Node.d.ts +3 -1
- package/components/FolderTree/Node/Node.js +30 -47
- package/components/FolderTree/Node/Node.js.map +1 -1
- package/components/FolderTree/Node/index.d.ts +1 -1
- package/components/FolderTree/Node/index.js +1 -3
- package/components/FolderTree/NodePreview/NodePreview.js +12 -15
- package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
- package/components/FolderTree/NodePreview/index.d.ts +1 -1
- package/components/FolderTree/NodePreview/index.js +1 -3
- package/components/FolderTree/index.d.ts +8 -4
- package/components/FolderTree/index.js +53 -59
- package/components/FolderTree/index.js.map +1 -1
- package/components/Search/Search.d.ts +1 -1
- package/components/Search/Search.js +15 -20
- package/components/Search/Search.js.map +1 -1
- package/components/Search/index.d.ts +1 -1
- package/components/Search/index.js +1 -3
- package/components/Table/cells/CellAuthor.d.ts +2 -0
- package/components/Table/cells/CellAuthor.js +10 -0
- package/components/Table/cells/CellAuthor.js.map +1 -0
- package/components/Table/cells/CellCreated.d.ts +2 -0
- package/components/Table/cells/CellCreated.js +13 -0
- package/components/Table/cells/CellCreated.js.map +1 -0
- package/components/Table/cells/CellModified.d.ts +2 -0
- package/components/Table/cells/CellModified.js +13 -0
- package/components/Table/cells/CellModified.js.map +1 -0
- package/components/Table/cells/index.d.ts +3 -0
- package/components/Table/cells/index.js +3 -0
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +3 -3
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
- 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 +17 -18
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +118 -131
- 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 +26 -25
- 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 +13 -12
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
- package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -7
- package/components/Table/components/Table/ColumnVisibility/index.js +5 -9
- package/components/Table/components/Table/Columns/Column.d.ts +10 -4
- package/components/Table/components/Table/Columns/Column.js +18 -15
- package/components/Table/components/Table/Columns/Column.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.d.ts +2 -2
- package/components/Table/components/Table/Columns/ColumnMapper.js +31 -25
- 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 +14 -13
- package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +69 -56
- 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 +15 -14
- 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 +16 -12
- 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 +0 -3
- package/components/Table/components/Table/Columns/index.d.ts +6 -6
- package/components/Table/components/Table/Columns/index.js +5 -8
- package/components/Table/components/Table/Table.d.ts +4 -2
- package/components/Table/components/Table/Table.js +44 -39
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.d.ts +6 -6
- package/components/Table/components/Table/TableInner.js +35 -42
- package/components/Table/components/Table/TableInner.js.map +1 -1
- package/components/Table/components/Table/TablePresenter.js +12 -9
- 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 +12 -11
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
- package/components/Table/components/Table/gateways/index.d.ts +2 -2
- package/components/Table/components/Table/gateways/index.js +1 -4
- package/components/Table/components/Table/index.d.ts +1 -1
- package/components/Table/components/Table/index.js +1 -3
- package/components/Table/components/index.d.ts +1 -1
- package/components/Table/components/index.js +1 -3
- package/components/Table/createTableData.d.ts +9 -6
- package/components/Table/createTableData.js +27 -15
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/index.d.ts +3 -3
- package/components/Table/index.js +3 -5
- package/components/Table/useTableRow.js +17 -29
- package/components/Table/useTableRow.js.map +1 -1
- package/components/index.d.ts +8 -8
- package/components/index.js +8 -10
- package/config/AcoConfig.d.ts +31 -40
- package/config/AcoConfig.js +48 -36
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/FieldRenderer.d.ts +5 -3
- package/config/advanced-search/FieldRenderer.js +29 -32
- package/config/advanced-search/FieldRenderer.js.map +1 -1
- package/config/advanced-search/index.d.ts +4 -5
- package/config/advanced-search/index.js +4 -3
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/Action.d.ts +1 -1
- package/config/folder/Action.js +27 -32
- package/config/folder/Action.js.map +1 -1
- package/config/folder/DropConfirmation.d.ts +5 -0
- package/config/folder/DropConfirmation.js +16 -0
- package/config/folder/DropConfirmation.js.map +1 -0
- package/config/folder/index.d.ts +6 -4
- package/config/folder/index.js +6 -3
- package/config/folder/index.js.map +1 -1
- package/config/index.d.ts +1 -2
- package/config/index.js +1 -4
- package/config/record/Action.d.ts +1 -1
- package/config/record/Action.js +28 -33
- package/config/record/Action.js.map +1 -1
- package/config/record/index.d.ts +4 -5
- package/config/record/index.js +4 -3
- package/config/record/index.js.map +1 -1
- package/config/table/Column.d.ts +8 -36
- package/config/table/Column.js +5 -74
- package/config/table/Column.js.map +1 -1
- package/config/table/Sorting.d.ts +2 -11
- package/config/table/Sorting.js +1 -31
- package/config/table/index.d.ts +7 -12
- package/config/table/index.js +6 -5
- package/config/table/index.js.map +1 -1
- package/constants.d.ts +1 -1
- package/constants.js +1 -3
- package/contexts/folder.d.ts +3 -3
- package/contexts/folder.js +11 -15
- package/contexts/folder.js.map +1 -1
- package/contexts/index.d.ts +1 -2
- package/contexts/index.js +1 -4
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +111 -108
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +12 -17
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +32 -37
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/DialogSetPermissions/graphql.d.ts +1 -1
- package/dialogs/DialogSetPermissions/graphql.js +2 -2
- package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
- package/dialogs/ParentFolderField.js +12 -13
- package/dialogs/ParentFolderField.js.map +1 -1
- package/dialogs/index.d.ts +6 -5
- package/dialogs/index.js +6 -7
- package/dialogs/useConfirmMoveFolderDialog.d.ts +12 -0
- package/dialogs/useConfirmMoveFolderDialog.js +21 -0
- package/dialogs/useConfirmMoveFolderDialog.js.map +1 -0
- package/dialogs/useCreateDialog.js +79 -98
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.d.ts +2 -2
- package/dialogs/useDeleteDialog.js +28 -34
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.d.ts +2 -2
- package/dialogs/useEditDialog.js +81 -84
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.d.ts +1 -1
- package/dialogs/useMoveToFolderDialog.js +36 -52
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.d.ts +2 -2
- package/dialogs/useSetPermissionsDialog.js +102 -92
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/{features/folders → domain/folder}/Folder.d.ts +2 -1
- package/domain/folder/Folder.js +29 -0
- package/domain/folder/Folder.js.map +1 -0
- package/{features/folders/createFolder/FolderGqlDto.d.ts → domain/folder/FolderDto.d.ts} +9 -8
- package/domain/folder/FolderDto.js +0 -0
- package/domain/folder/FolderDtoMapper.d.ts +5 -0
- package/domain/folder/FolderDtoMapper.js +29 -0
- package/domain/folder/FolderDtoMapper.js.map +1 -0
- package/domain/folder/FolderIdentity.d.ts +10 -0
- package/domain/folder/FolderIdentity.js +20 -0
- package/domain/folder/FolderIdentity.js.map +1 -0
- package/domain/folder/RootFolder.d.ts +4 -0
- package/domain/folder/RootFolder.js +29 -0
- package/domain/folder/RootFolder.js.map +1 -0
- package/exports/admin/ui.d.ts +2 -0
- package/exports/admin/ui.js +2 -0
- package/features/folders/abstractions.d.ts +32 -0
- package/features/folders/abstractions.js +9 -0
- package/features/folders/abstractions.js.map +1 -0
- package/features/folders/cache/FoldersCacheFactory.d.ts +4 -2
- package/features/folders/cache/FoldersCacheFactory.js +19 -13
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/ListCache.d.ts +2 -29
- package/features/folders/cache/ListCache.js +1 -43
- package/features/folders/cache/LoadedCache.js +33 -27
- package/features/folders/cache/LoadedCache.js.map +1 -1
- package/features/folders/cache/LoadedFoldersCacheFactory.d.ts +1 -1
- package/features/folders/cache/LoadedFoldersCacheFactory.js +14 -13
- package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/index.d.ts +4 -4
- package/features/folders/cache/index.js +4 -6
- package/features/folders/cache/updateDescendantPermissions.d.ts +12 -0
- package/features/folders/cache/updateDescendantPermissions.js +27 -0
- package/features/folders/cache/updateDescendantPermissions.js.map +1 -0
- package/features/folders/createFolder/CreateFolder.test.js +50 -34
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
- package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +17 -11
- package/features/folders/createFolder/CreateFolderGqlGateway.js +40 -38
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
- package/features/folders/createFolder/CreateFolderRepository.d.ts +12 -7
- package/features/folders/createFolder/CreateFolderRepository.js +32 -19
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCase.d.ts +8 -5
- package/features/folders/createFolder/CreateFolderUseCase.js +23 -15
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/abstractions.d.ts +41 -0
- package/features/folders/createFolder/abstractions.js +7 -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 +21 -0
- package/features/folders/createFolder/feature.js.map +1 -0
- package/features/folders/createFolder/index.d.ts +1 -1
- package/features/folders/createFolder/index.js +1 -3
- package/features/folders/createFolder/useCreateFolder.d.ts +2 -2
- package/features/folders/createFolder/useCreateFolder.js +8 -17
- package/features/folders/createFolder/useCreateFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.test.js +44 -35
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +10 -6
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +23 -25
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +10 -7
- package/features/folders/deleteFolder/DeleteFolderRepository.js +19 -9
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +8 -5
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +15 -15
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/abstractions.d.ts +21 -0
- package/features/folders/deleteFolder/abstractions.js +7 -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 +21 -0
- package/features/folders/deleteFolder/feature.js.map +1 -0
- package/features/folders/deleteFolder/index.d.ts +1 -1
- package/features/folders/deleteFolder/index.js +1 -3
- package/features/folders/deleteFolder/useDeleteFolder.d.ts +1 -2
- package/features/folders/deleteFolder/useDeleteFolder.js +8 -16
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
- package/features/folders/feature.d.ts +1 -0
- package/features/folders/feature.js +39 -0
- package/features/folders/feature.js.map +1 -0
- package/features/folders/folderEvents/AddCreatedFolderToCache.d.ts +22 -0
- package/features/folders/folderEvents/AddCreatedFolderToCache.js +24 -0
- package/features/folders/folderEvents/AddCreatedFolderToCache.js.map +1 -0
- package/features/folders/folderEvents/FolderCreatedEvent.d.ts +14 -0
- package/features/folders/folderEvents/FolderCreatedEvent.js +13 -0
- package/features/folders/folderEvents/FolderCreatedEvent.js.map +1 -0
- package/features/folders/folderEvents/FolderDeletedEvent.d.ts +9 -0
- package/features/folders/folderEvents/FolderDeletedEvent.js +13 -0
- package/features/folders/folderEvents/FolderDeletedEvent.js.map +1 -0
- package/features/folders/folderEvents/FolderEvents.test.js +238 -0
- package/features/folders/folderEvents/FolderEvents.test.js.map +1 -0
- package/features/folders/folderEvents/FolderUpdatedEvent.d.ts +12 -0
- package/features/folders/folderEvents/FolderUpdatedEvent.js +13 -0
- package/features/folders/folderEvents/FolderUpdatedEvent.js.map +1 -0
- package/features/folders/folderEvents/FolderWebsocketMessages.d.ts +15 -0
- package/features/folders/folderEvents/FolderWebsocketMessages.js +48 -0
- package/features/folders/folderEvents/FolderWebsocketMessages.js.map +1 -0
- package/features/folders/folderEvents/RefreshUpdatedFolderInCache.d.ts +19 -0
- package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js +27 -0
- package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js.map +1 -0
- package/features/folders/folderEvents/RemoveDeletedFolderFromCache.d.ts +13 -0
- package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js +15 -0
- package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js.map +1 -0
- package/features/folders/folderEvents/abstractions.d.ts +28 -0
- package/features/folders/folderEvents/abstractions.js +7 -0
- package/features/folders/folderEvents/abstractions.js.map +1 -0
- package/features/folders/folderEvents/feature.d.ts +9 -0
- package/features/folders/folderEvents/feature.js +21 -0
- package/features/folders/folderEvents/feature.js.map +1 -0
- package/features/folders/folderEvents/index.d.ts +5 -0
- package/features/folders/folderEvents/index.js +5 -0
- package/features/folders/folderModelProvider/FolderModelContext.d.ts +2 -0
- package/features/folders/folderModelProvider/FolderModelContext.js +21 -0
- package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -0
- package/features/folders/{getFolderModel → folderModelProvider}/FolderModelDto.d.ts +1 -1
- package/features/folders/folderModelProvider/FolderModelDto.js +0 -0
- package/features/folders/folderModelProvider/FolderModelProvider.d.ts +13 -0
- package/features/folders/folderModelProvider/FolderModelProvider.js +57 -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 +40 -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 +32 -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 +6 -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 +21 -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 +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +119 -98
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +11 -7
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +39 -26
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +8 -12
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +15 -15
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getDescendantFolders/abstractions.d.ts +23 -0
- package/features/folders/getDescendantFolders/abstractions.js +6 -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 +19 -0
- package/features/folders/getDescendantFolders/feature.js.map +1 -0
- package/features/folders/getDescendantFolders/index.d.ts +1 -1
- package/features/folders/getDescendantFolders/index.js +1 -3
- package/features/folders/getDescendantFolders/useGetDescendantFolders.d.ts +1 -1
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +8 -14
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
- package/features/folders/getFolder/GetFolderGqlGateway.d.ts +19 -10
- package/features/folders/getFolder/GetFolderGqlGateway.js +28 -30
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
- package/features/folders/getFolder/GetFolderRepository.d.ts +9 -6
- package/features/folders/getFolder/GetFolderRepository.js +22 -10
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCase.d.ts +8 -5
- package/features/folders/getFolder/GetFolderUseCase.js +15 -7
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
- package/features/folders/getFolder/abstractions.d.ts +22 -0
- package/features/folders/getFolder/abstractions.js +7 -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 +21 -0
- package/features/folders/getFolder/feature.js.map +1 -0
- package/features/folders/getFolder/index.d.ts +1 -1
- package/features/folders/getFolder/index.js +1 -3
- package/features/folders/getFolder/useGetFolder.d.ts +1 -2
- package/features/folders/getFolder/useGetFolder.js +8 -17
- package/features/folders/getFolder/useGetFolder.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +111 -91
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +11 -6
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +35 -20
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +8 -12
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +15 -15
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
- package/features/folders/getFolderAncestors/abstractions.d.ts +23 -0
- package/features/folders/getFolderAncestors/abstractions.js +6 -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 +19 -0
- package/features/folders/getFolderAncestors/feature.js.map +1 -0
- package/features/folders/getFolderAncestors/index.d.ts +1 -1
- package/features/folders/getFolderAncestors/index.js +1 -3
- package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +1 -1
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js +8 -14
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +196 -144
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +33 -27
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +33 -11
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/abstractions.d.ts +15 -0
- package/features/folders/getFolderExtensionsFields/abstractions.js +6 -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 +23 -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 +24 -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 +21 -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 +13 -0
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/index.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/index.js +1 -3
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.d.ts +25 -0
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +18 -0
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +144 -149
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +6 -2
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +10 -4
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/abstractions.d.ts +8 -0
- package/features/folders/getFolderLevelPermission/abstractions.js +5 -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 +26 -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 +19 -0
- package/features/folders/getFolderLevelPermission/feature.js.map +1 -0
- package/features/folders/getFolderLevelPermission/index.d.ts +1 -1
- package/features/folders/getFolderLevelPermission/index.js +1 -3
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +1 -1
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +11 -15
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
- package/features/folders/listFolders/ListFolders.test.js +106 -85
- package/features/folders/listFolders/ListFolders.test.js.map +1 -1
- package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +15 -10
- package/features/folders/listFolders/ListFoldersGqlGateway.js +32 -59
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersRepository.d.ts +9 -7
- package/features/folders/listFolders/ListFoldersRepository.js +23 -14
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCase.d.ts +7 -4
- package/features/folders/listFolders/ListFoldersUseCase.js +15 -7
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +9 -5
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +18 -9
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFolders/abstractions.d.ts +22 -0
- package/features/folders/listFolders/abstractions.js +7 -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 +25 -0
- package/features/folders/listFolders/feature.js.map +1 -0
- package/features/folders/listFolders/index.d.ts +2 -2
- package/features/folders/listFolders/index.js +2 -4
- package/features/folders/listFolders/useListFolders.d.ts +3 -3
- package/features/folders/listFolders/useListFolders.js +39 -47
- package/features/folders/listFolders/useListFolders.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -229
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +15 -10
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +34 -63
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +10 -8
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +22 -14
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +8 -5
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +21 -15
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
- package/features/folders/listFoldersByParentIds/abstractions.d.ts +22 -0
- package/features/folders/listFoldersByParentIds/abstractions.js +7 -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 +28 -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 +26 -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 +27 -0
- package/features/folders/listFoldersByParentIds/feature.js.map +1 -0
- package/features/folders/listFoldersByParentIds/index.d.ts +1 -1
- package/features/folders/listFoldersByParentIds/index.js +1 -3
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +3 -3
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +45 -55
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +148 -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 +44 -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 +18 -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 +21 -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 +7 -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 +25 -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 +1 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.d.ts +7 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +48 -0
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolder.test.js +380 -350
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +17 -11
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +37 -42
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepository.d.ts +9 -6
- package/features/folders/updateFolder/UpdateFolderRepository.js +30 -23
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +9 -5
- package/features/folders/updateFolder/UpdateFolderUseCase.js +16 -16
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/abstractions.d.ts +42 -0
- package/features/folders/updateFolder/abstractions.js +7 -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 +55 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.d.ts +13 -0
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +31 -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 +21 -0
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.d.ts +10 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js +20 -0
- package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js.map +1 -0
- package/features/folders/updateFolder/feature.d.ts +4 -0
- package/features/folders/updateFolder/feature.js +31 -0
- package/features/folders/updateFolder/feature.js.map +1 -0
- package/features/folders/updateFolder/index.d.ts +1 -1
- package/features/folders/updateFolder/index.js +1 -3
- package/features/folders/updateFolder/useUpdateFolder.d.ts +3 -2
- package/features/folders/updateFolder/useUpdateFolder.js +21 -17
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
- package/hooks/index.d.ts +1 -9
- package/hooks/index.js +1 -11
- package/hooks/useFolder.d.ts +1 -1
- package/hooks/useFolder.js +7 -8
- package/hooks/useFolder.js.map +1 -1
- package/index.d.ts +26 -10
- package/index.js +23 -11
- package/package.json +37 -44
- package/presentation/folderTree/FolderTree.d.ts +19 -0
- package/presentation/folderTree/FolderTree.js +260 -0
- package/presentation/folderTree/FolderTree.js.map +1 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
- package/presentation/folderTree/FolderTreePresenter.d.ts +55 -0
- package/presentation/folderTree/FolderTreePresenter.js +321 -0
- package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.js +621 -0
- package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
- package/presentation/folderTree/abstractions.d.ts +65 -0
- package/presentation/folderTree/abstractions.js +5 -0
- package/presentation/folderTree/abstractions.js.map +1 -0
- package/presentation/folderTree/feature.d.ts +3 -0
- package/presentation/folderTree/feature.js +17 -0
- package/presentation/folderTree/feature.js.map +1 -0
- package/presentation/folderTree/index.d.ts +5 -0
- package/presentation/folderTree/index.js +3 -0
- package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
- package/static/svg/folder.f3d5c400.svg +4 -0
- package/table.types.d.ts +9 -14
- package/table.types.js +0 -3
- package/types.d.ts +7 -116
- package/types.js +10 -21
- package/types.js.map +1 -1
- package/components/Actions/DeleteFolder/index.js.map +0 -1
- package/components/Actions/EditFolder/index.js.map +0 -1
- package/components/Actions/SetFolderPemissions/index.js.map +0 -1
- package/components/Actions/index.js.map +0 -1
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.d.ts +0 -15
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.js +0 -36
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.js.map +0 -1
- package/components/AdvancedSearch/Button/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
- package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
- package/components/AdvancedSearch/domain/index.js.map +0 -1
- package/components/AdvancedSearch/fields/index.js.map +0 -1
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
- package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
- package/components/AdvancedSearch/gateways/index.js.map +0 -1
- package/components/Extensions/Extensions.d.ts +0 -2
- package/components/Extensions/Extensions.js +0 -35
- package/components/Extensions/Extensions.js.map +0 -1
- package/components/Extensions/index.d.ts +0 -1
- package/components/Extensions/index.js +0 -3
- package/components/Extensions/index.js.map +0 -1
- package/components/FolderGrid/index.js.map +0 -1
- package/components/FolderIcons/index.js.map +0 -1
- package/components/FolderTree/ButtonCreate/index.js.map +0 -1
- package/components/FolderTree/Empty/index.js.map +0 -1
- package/components/FolderTree/List/index.js.map +0 -1
- package/components/FolderTree/Loader/index.js.map +0 -1
- package/components/FolderTree/MenuActions/index.js.map +0 -1
- package/components/FolderTree/Node/index.js.map +0 -1
- package/components/FolderTree/NodePreview/index.js.map +0 -1
- package/components/Search/index.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
- package/components/Table/components/Table/Columns/index.js.map +0 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
- package/components/Table/components/Table/gateways/LocalStorage.d.ts +0 -6
- package/components/Table/components/Table/gateways/LocalStorage.js +0 -14
- package/components/Table/components/Table/gateways/LocalStorage.js.map +0 -1
- package/components/Table/components/Table/gateways/index.js.map +0 -1
- package/components/Table/components/Table/index.js.map +0 -1
- package/components/Table/components/index.js.map +0 -1
- package/components/Table/index.js.map +0 -1
- package/components/index.js.map +0 -1
- package/config/folder/createFolderFieldDecoratorFactory.d.ts +0 -13
- package/config/folder/createFolderFieldDecoratorFactory.js +0 -21
- package/config/folder/createFolderFieldDecoratorFactory.js.map +0 -1
- package/config/index.js.map +0 -1
- package/config/table/Sorting.js.map +0 -1
- package/constants.js.map +0 -1
- package/contexts/DisplayError/index.d.ts +0 -6
- package/contexts/DisplayError/index.js +0 -12
- package/contexts/DisplayError/index.js.map +0 -1
- package/contexts/Loading/Loading.d.ts +0 -2
- package/contexts/Loading/Loading.js +0 -9
- package/contexts/Loading/Loading.js.map +0 -1
- package/contexts/Loading/index.d.ts +0 -1
- package/contexts/Loading/index.js +0 -3
- package/contexts/Loading/index.js.map +0 -1
- package/contexts/acoList.d.ts +0 -46
- package/contexts/acoList.js +0 -382
- package/contexts/acoList.js.map +0 -1
- package/contexts/app.d.ts +0 -41
- package/contexts/app.js +0 -191
- package/contexts/app.js.map +0 -1
- package/contexts/folders.d.ts +0 -12
- package/contexts/folders.js +0 -24
- package/contexts/folders.js.map +0 -1
- package/contexts/index.js.map +0 -1
- package/contexts/navigateFolder.d.ts +0 -19
- package/contexts/navigateFolder.js +0 -64
- package/contexts/navigateFolder.js.map +0 -1
- package/contexts/navigateFolderWithRouter.d.ts +0 -8
- package/contexts/navigateFolderWithRouter.js +0 -81
- package/contexts/navigateFolderWithRouter.js.map +0 -1
- package/contexts/records.d.ts +0 -29
- package/contexts/records.js +0 -446
- package/contexts/records.js.map +0 -1
- package/dialogs/index.js.map +0 -1
- package/features/folders/Folder.js +0 -28
- package/features/folders/Folder.js.map +0 -1
- package/features/folders/cache/ListCache.js.map +0 -1
- package/features/folders/cache/index.js.map +0 -1
- package/features/folders/createFolder/CreateFolder.d.ts +0 -5
- package/features/folders/createFolder/CreateFolder.js +0 -16
- package/features/folders/createFolder/CreateFolder.js.map +0 -1
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +0 -8
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js +0 -12
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +0 -1
- package/features/folders/createFolder/FolderDto.d.ts +0 -9
- package/features/folders/createFolder/FolderDto.js +0 -3
- package/features/folders/createFolder/FolderDto.js.map +0 -1
- package/features/folders/createFolder/FolderGqlDto.js +0 -3
- package/features/folders/createFolder/FolderGqlDto.js.map +0 -1
- package/features/folders/createFolder/ICreateFolderGateway.d.ts +0 -5
- package/features/folders/createFolder/ICreateFolderGateway.js +0 -3
- package/features/folders/createFolder/ICreateFolderGateway.js.map +0 -1
- package/features/folders/createFolder/ICreateFolderRepository.d.ts +0 -4
- package/features/folders/createFolder/ICreateFolderRepository.js +0 -3
- package/features/folders/createFolder/ICreateFolderRepository.js.map +0 -1
- package/features/folders/createFolder/ICreateFolderUseCase.d.ts +0 -12
- package/features/folders/createFolder/ICreateFolderUseCase.js +0 -3
- package/features/folders/createFolder/ICreateFolderUseCase.js.map +0 -1
- package/features/folders/createFolder/index.js.map +0 -1
- package/features/folders/deleteFolder/DeleteFolder.d.ts +0 -5
- package/features/folders/deleteFolder/DeleteFolder.js +0 -16
- package/features/folders/deleteFolder/DeleteFolder.js.map +0 -1
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +0 -8
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js +0 -12
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +0 -1
- package/features/folders/deleteFolder/IDeleteFolderGateway.d.ts +0 -3
- package/features/folders/deleteFolder/IDeleteFolderGateway.js +0 -3
- package/features/folders/deleteFolder/IDeleteFolderGateway.js.map +0 -1
- package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +0 -4
- package/features/folders/deleteFolder/IDeleteFolderRepository.js +0 -3
- package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +0 -1
- package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +0 -12
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js +0 -3
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +0 -1
- package/features/folders/deleteFolder/index.js.map +0 -1
- package/features/folders/getDescendantFolders/FolderDto.d.ts +0 -9
- package/features/folders/getDescendantFolders/FolderDto.js +0 -3
- package/features/folders/getDescendantFolders/FolderDto.js.map +0 -1
- package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +0 -4
- package/features/folders/getDescendantFolders/GetDescendantFolders.js +0 -12
- package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +0 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +0 -4
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js +0 -3
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +0 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +0 -7
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js +0 -3
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +0 -1
- package/features/folders/getDescendantFolders/index.js.map +0 -1
- package/features/folders/getFolder/GetFolder.d.ts +0 -5
- package/features/folders/getFolder/GetFolder.js +0 -16
- package/features/folders/getFolder/GetFolder.js.map +0 -1
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +0 -8
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js +0 -12
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +0 -1
- package/features/folders/getFolder/IGetFolderGateway.d.ts +0 -22
- package/features/folders/getFolder/IGetFolderGateway.js +0 -3
- package/features/folders/getFolder/IGetFolderGateway.js.map +0 -1
- package/features/folders/getFolder/IGetFolderRepository.d.ts +0 -3
- package/features/folders/getFolder/IGetFolderRepository.js +0 -3
- package/features/folders/getFolder/IGetFolderRepository.js.map +0 -1
- package/features/folders/getFolder/IGetFolderUseCase.d.ts +0 -6
- package/features/folders/getFolder/IGetFolderUseCase.js +0 -3
- package/features/folders/getFolder/IGetFolderUseCase.js.map +0 -1
- package/features/folders/getFolder/index.js.map +0 -1
- package/features/folders/getFolderAncestors/FolderDto.d.ts +0 -9
- package/features/folders/getFolderAncestors/FolderDto.js +0 -3
- package/features/folders/getFolderAncestors/FolderDto.js.map +0 -1
- package/features/folders/getFolderAncestors/GetFolderAncestors.d.ts +0 -4
- package/features/folders/getFolderAncestors/GetFolderAncestors.js +0 -12
- package/features/folders/getFolderAncestors/GetFolderAncestors.js.map +0 -1
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.d.ts +0 -4
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js +0 -3
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js.map +0 -1
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.d.ts +0 -7
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js +0 -3
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js.map +0 -1
- package/features/folders/getFolderAncestors/index.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.d.ts +0 -5
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js +0 -22
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.d.ts +0 -26
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js +0 -10
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.d.ts +0 -28
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js +0 -22
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.d.ts +0 -29
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js +0 -24
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.d.ts +0 -4
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js +0 -3
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.d.ts +0 -6
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js +0 -3
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.d.ts +0 -24
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js +0 -17
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js.map +0 -1
- package/features/folders/getFolderHierarchy/FolderDto.d.ts +0 -26
- package/features/folders/getFolderHierarchy/FolderDto.js +0 -34
- package/features/folders/getFolderHierarchy/FolderDto.js.map +0 -1
- package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +0 -21
- package/features/folders/getFolderHierarchy/FolderGqlDto.js +0 -3
- package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +0 -14
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.js +0 -22
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js +0 -205
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +0 -31
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js +0 -82
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +0 -12
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js +0 -28
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +0 -7
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js +0 -14
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +0 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +0 -8
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js +0 -12
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +0 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +0 -12
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js +0 -3
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +0 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.d.ts +0 -6
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js +0 -3
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js.map +0 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.d.ts +0 -6
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js +0 -3
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js.map +0 -1
- package/features/folders/getFolderHierarchy/index.d.ts +0 -1
- package/features/folders/getFolderHierarchy/index.js +0 -3
- package/features/folders/getFolderHierarchy/index.js.map +0 -1
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +0 -6
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js +0 -51
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +0 -1
- package/features/folders/getFolderLevelPermission/FolderPermissionName.d.ts +0 -1
- package/features/folders/getFolderLevelPermission/FolderPermissionName.js +0 -3
- package/features/folders/getFolderLevelPermission/FolderPermissionName.js.map +0 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +0 -5
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js +0 -16
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +0 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +0 -10
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js +0 -15
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +0 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +0 -7
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js +0 -10
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +0 -1
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.d.ts +0 -3
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js +0 -3
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js.map +0 -1
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.d.ts +0 -6
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js +0 -3
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js.map +0 -1
- package/features/folders/getFolderLevelPermission/index.js.map +0 -1
- package/features/folders/getFolderModel/FolderModelContext.d.ts +0 -3
- package/features/folders/getFolderModel/FolderModelContext.js +0 -60
- package/features/folders/getFolderModel/FolderModelContext.js.map +0 -1
- package/features/folders/getFolderModel/FolderModelDto.js +0 -3
- package/features/folders/getFolderModel/FolderModelDto.js.map +0 -1
- package/features/folders/getFolderModel/GetFolderModel.d.ts +0 -11
- package/features/folders/getFolderModel/GetFolderModel.js +0 -14
- package/features/folders/getFolderModel/GetFolderModel.js.map +0 -1
- package/features/folders/getFolderModel/GetFolderModel.test.js +0 -74
- package/features/folders/getFolderModel/GetFolderModel.test.js.map +0 -1
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.d.ts +0 -18
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.js +0 -42
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +0 -1
- package/features/folders/getFolderModel/GetFolderModelRepository.d.ts +0 -10
- package/features/folders/getFolderModel/GetFolderModelRepository.js +0 -24
- package/features/folders/getFolderModel/GetFolderModelRepository.js.map +0 -1
- package/features/folders/getFolderModel/GetFolderModelUseCase.d.ts +0 -7
- package/features/folders/getFolderModel/GetFolderModelUseCase.js +0 -10
- package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +0 -1
- package/features/folders/getFolderModel/IGetFolderModelGateway.d.ts +0 -4
- package/features/folders/getFolderModel/IGetFolderModelGateway.js +0 -3
- package/features/folders/getFolderModel/IGetFolderModelGateway.js.map +0 -1
- package/features/folders/getFolderModel/IGetFolderModelRepository.d.ts +0 -6
- package/features/folders/getFolderModel/IGetFolderModelRepository.js +0 -3
- package/features/folders/getFolderModel/IGetFolderModelRepository.js.map +0 -1
- package/features/folders/getFolderModel/IGetFolderModelUseCase.d.ts +0 -3
- package/features/folders/getFolderModel/IGetFolderModelUseCase.js +0 -3
- package/features/folders/getFolderModel/IGetFolderModelUseCase.js.map +0 -1
- package/features/folders/getFolderModel/index.d.ts +0 -3
- package/features/folders/getFolderModel/index.js +0 -5
- package/features/folders/getFolderModel/index.js.map +0 -1
- package/features/folders/getFolderModel/useFolderModel.d.ts +0 -1
- package/features/folders/getFolderModel/useFolderModel.js +0 -11
- package/features/folders/getFolderModel/useFolderModel.js.map +0 -1
- package/features/folders/index.d.ts +0 -14
- package/features/folders/index.js +0 -16
- package/features/folders/index.js.map +0 -1
- package/features/folders/listFolders/FolderDto.d.ts +0 -26
- package/features/folders/listFolders/FolderDto.js +0 -34
- package/features/folders/listFolders/FolderDto.js.map +0 -1
- package/features/folders/listFolders/FolderGqlDto.d.ts +0 -21
- package/features/folders/listFolders/FolderGqlDto.js +0 -3
- package/features/folders/listFolders/FolderGqlDto.js.map +0 -1
- package/features/folders/listFolders/IListFoldersGateway.d.ts +0 -7
- package/features/folders/listFolders/IListFoldersGateway.js +0 -3
- package/features/folders/listFolders/IListFoldersGateway.js.map +0 -1
- package/features/folders/listFolders/IListFoldersRepository.d.ts +0 -3
- package/features/folders/listFolders/IListFoldersRepository.js +0 -3
- package/features/folders/listFolders/IListFoldersRepository.js.map +0 -1
- package/features/folders/listFolders/IListFoldersUseCase.d.ts +0 -3
- package/features/folders/listFolders/IListFoldersUseCase.js +0 -3
- package/features/folders/listFolders/IListFoldersUseCase.js.map +0 -1
- package/features/folders/listFolders/ListFolders.d.ts +0 -14
- package/features/folders/listFolders/ListFolders.js +0 -21
- package/features/folders/listFolders/ListFolders.js.map +0 -1
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.d.ts +0 -26
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js +0 -83
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +0 -1
- package/features/folders/listFolders/index.js.map +0 -1
- package/features/folders/listFoldersByParentIds/FolderDto.d.ts +0 -26
- package/features/folders/listFoldersByParentIds/FolderDto.js +0 -34
- package/features/folders/listFoldersByParentIds/FolderDto.js.map +0 -1
- package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +0 -21
- package/features/folders/listFoldersByParentIds/FolderGqlDto.js +0 -3
- package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +0 -1
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +0 -8
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js +0 -3
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +0 -1
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.d.ts +0 -6
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js +0 -3
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js.map +0 -1
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.d.ts +0 -6
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js +0 -3
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js.map +0 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +0 -14
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js +0 -24
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +0 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +0 -8
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js +0 -23
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +0 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +0 -10
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js +0 -21
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +0 -1
- package/features/folders/listFoldersByParentIds/index.js.map +0 -1
- package/features/folders/updateFolder/FolderDto.d.ts +0 -9
- package/features/folders/updateFolder/FolderDto.js +0 -3
- package/features/folders/updateFolder/FolderDto.js.map +0 -1
- package/features/folders/updateFolder/FolderGqlDto.d.ts +0 -21
- package/features/folders/updateFolder/FolderGqlDto.js +0 -3
- package/features/folders/updateFolder/FolderGqlDto.js.map +0 -1
- package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +0 -5
- package/features/folders/updateFolder/IUpdateFolderGateway.js +0 -3
- package/features/folders/updateFolder/IUpdateFolderGateway.js.map +0 -1
- package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +0 -4
- package/features/folders/updateFolder/IUpdateFolderRepository.js +0 -3
- package/features/folders/updateFolder/IUpdateFolderRepository.js.map +0 -1
- package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +0 -13
- package/features/folders/updateFolder/IUpdateFolderUseCase.js +0 -3
- package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +0 -1
- package/features/folders/updateFolder/UpdateFolder.d.ts +0 -5
- package/features/folders/updateFolder/UpdateFolder.js +0 -22
- package/features/folders/updateFolder/UpdateFolder.js.map +0 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.d.ts +0 -11
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js +0 -70
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +0 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.d.ts +0 -12
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js +0 -64
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +0 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +0 -8
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js +0 -12
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +0 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +0 -6
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js +0 -15
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +0 -1
- package/features/folders/updateFolder/index.js.map +0 -1
- package/features/index.d.ts +0 -1
- package/features/index.js +0 -3
- package/features/index.js.map +0 -1
- package/graphql/app.gql.d.ts +0 -17
- package/graphql/app.gql.js +0 -23
- package/graphql/app.gql.js.map +0 -1
- package/graphql/records/common.d.ts +0 -4
- package/graphql/records/common.js +0 -55
- package/graphql/records/common.js.map +0 -1
- package/graphql/records/createRecord.d.ts +0 -2
- package/graphql/records/createRecord.js +0 -24
- package/graphql/records/createRecord.js.map +0 -1
- package/graphql/records/deleteRecord.d.ts +0 -2
- package/graphql/records/deleteRecord.js +0 -22
- package/graphql/records/deleteRecord.js.map +0 -1
- package/graphql/records/getRecord.d.ts +0 -2
- package/graphql/records/getRecord.js +0 -25
- package/graphql/records/getRecord.js.map +0 -1
- package/graphql/records/listRecords.d.ts +0 -2
- package/graphql/records/listRecords.js +0 -38
- package/graphql/records/listRecords.js.map +0 -1
- package/graphql/records/listTags.d.ts +0 -2
- package/graphql/records/listTags.js +0 -25
- package/graphql/records/listTags.js.map +0 -1
- package/graphql/records/moveRecord.d.ts +0 -2
- package/graphql/records/moveRecord.js +0 -29
- package/graphql/records/moveRecord.js.map +0 -1
- package/graphql/records/types.d.ts +0 -108
- package/graphql/records/types.js +0 -3
- package/graphql/records/types.js.map +0 -1
- package/graphql/records/updateRecord.d.ts +0 -2
- package/graphql/records/updateRecord.js +0 -24
- package/graphql/records/updateRecord.js.map +0 -1
- package/graphql/records.gql.d.ts +0 -7
- package/graphql/records.gql.js +0 -9
- package/graphql/records.gql.js.map +0 -1
- package/handlers.d.ts +0 -23
- package/handlers.js +0 -45
- package/handlers.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/hooks/useAcoApp.d.ts +0 -2
- package/hooks/useAcoApp.js +0 -20
- package/hooks/useAcoApp.js.map +0 -1
- package/hooks/useAcoList.d.ts +0 -3
- package/hooks/useAcoList.js +0 -11
- package/hooks/useAcoList.js.map +0 -1
- package/hooks/useFolders.d.ts +0 -20
- package/hooks/useFolders.js +0 -56
- package/hooks/useFolders.js.map +0 -1
- package/hooks/useFoldersType.d.ts +0 -1
- package/hooks/useFoldersType.js +0 -17
- package/hooks/useFoldersType.js.map +0 -1
- package/hooks/useGetFolderGraphQLSelection.d.ts +0 -1
- package/hooks/useGetFolderGraphQLSelection.js +0 -42
- package/hooks/useGetFolderGraphQLSelection.js.map +0 -1
- package/hooks/useNavigateFolder.d.ts +0 -2
- package/hooks/useNavigateFolder.js +0 -11
- package/hooks/useNavigateFolder.js.map +0 -1
- package/hooks/useRecords.d.ts +0 -63
- package/hooks/useRecords.js +0 -85
- package/hooks/useRecords.js.map +0 -1
- package/hooks/useTags.d.ts +0 -14
- package/hooks/useTags.js +0 -36
- package/hooks/useTags.js.map +0 -1
- package/index.js.map +0 -1
- package/sorting.d.ts +0 -9
- package/sorting.js +0 -34
- package/sorting.js.map +0 -1
- package/table.types.js.map +0 -1
- /package/features/folders/{getFolderHierarchy/GetFolderHierarchy.test.d.ts → folderEvents/FolderEvents.test.d.ts} +0 -0
- /package/features/folders/{getFolderModel/GetFolderModel.test.d.ts → loadFolderHierarchy/LoadFolderHierarchy.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpdateFolder","folderCacheFactory","Folder","ROOT_FOLDER","describe","type","foldersCache","getCache","beforeEach","jest","clearAllMocks","clear","addItems","create","id","title","slug","parentId","permissions","it","gateway","execute","fn","mockResolvedValue","updateFolder","getInstance","expect","hasItems","toBeTrue","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","mockRejectedValue","Error","rejects","toThrow"],"sources":["UpdateFolder.test.ts"],"sourcesContent":["import { UpdateFolder } from \"./UpdateFolder\";\nimport { folderCacheFactory } from \"../cache/FoldersCacheFactory\";\nimport { Folder } from \"../Folder\";\nimport type { FolderPermission } from \"@webiny/shared-aco/flp/flp.types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\ndescribe(\"UpdateFolder\", () => {\n const type = \"abc\";\n\n const foldersCache = folderCacheFactory.getCache(type);\n\n beforeEach(() => {\n jest.clearAllMocks();\n foldersCache.clear();\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 it(\"should be able to update a folder\", async () => {\n const gateway = {\n execute: jest.fn().mockResolvedValue({\n id: \"any-folder-id\",\n title: \"Updated Folder\",\n slug: \"updated-folder\",\n parentId: \"another-id\",\n permissions: [],\n type\n })\n };\n\n const updateFolder = UpdateFolder.getInstance(type, gateway);\n\n expect(foldersCache.hasItems()).toBeTrue();\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(gateway.execute).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 not update a folder if id is missing\", async () => {\n const gateway = {\n execute: jest.fn().mockResolvedValue(null)\n };\n\n const updateFolder = UpdateFolder.getInstance(type, gateway);\n\n await updateFolder.execute({\n id: \"\",\n title: \"Updated Folder\",\n slug: \"updated-folder\",\n parentId: \"another-id\",\n permissions: [],\n type\n });\n\n expect(gateway.execute).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(\"Any Folder\");\n expect(updatedItem?.slug).toEqual(\"any-folder\");\n expect(updatedItem?.parentId).toEqual(null);\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 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 = {\n execute: jest.fn().mockResolvedValue({\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 = UpdateFolder.getInstance(type, gateway);\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 = {\n execute: jest.fn().mockResolvedValue({\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 = UpdateFolder.getInstance(type, gateway);\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 = {\n execute: jest.fn().mockResolvedValue({\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 = UpdateFolder.getInstance(type, gateway);\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 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 newParentPath: string = `${ROOT_FOLDER}/parent-folder-edit`;\n\n {\n const gateway = {\n execute: jest.fn().mockResolvedValue({\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 = UpdateFolder.getInstance(type, gateway);\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 = {\n execute: jest.fn().mockResolvedValue({\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 = UpdateFolder.getInstance(type, gateway);\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 const gateway = {\n execute: jest.fn().mockRejectedValue(new Error(\"Gateway error\"))\n };\n\n const updateFolder = UpdateFolder.getInstance(type, 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(gateway.execute).toHaveBeenCalledTimes(1);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/UpdateFolder.test.js","sources":["../../../../src/features/folders/updateFolder/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"],"names":["UpdateFolderMockGateway","mockResponse","describe","type","setupTest","params","container","Container","foldersCache","ListCache","Folder","FoldersContext","FoldersCache","FoldersLoadingRepository","LoadingRepository","UpdateFolderFeature","UpdateFolderGateway","UpdateFolderUseCase","beforeEach","vi","it","gateway","updateFolder","spy","expect","item","folder","updatedItem","parentFolder","childFolder1","childFolder2","childFolder3","parentNewPermissions","childFolderCache1","permission","childFolderCache2","childFolderCache3","child1NewPermissions","newPermissions","ROOT_FOLDER","newParentPath","newChildFolder1Path","UpdateFolderErrorMockGateway","Error"],"mappings":";;;;;;;;;AAeA,MAAMA;IAGF,YAAYC,YAAgC,CAAE;QAC1C,IAAI,CAAC,YAAY,GAAGA;IACxB;IAEA,MAAM,UAAU;QACZ,OAAO,IAAI,CAAC,YAAY;IAC5B;AACJ;AAQAC,SAAS,gBAAgB;IACrB,MAAMC,OAAO;IAEb,SAASC,UAAUC,MAAuB;QACtC,MAAMC,YAAY,IAAIC;QACtB,MAAMC,eAAeH,OAAO,YAAY,GAAGA,OAAO,YAAY,GAAG,IAAII;QAErE,IAAI,CAACJ,OAAO,YAAY,EACpBG,aAAa,QAAQ,CAAC;YAClBE,OAAO,MAAM,CAAC;gBACV,IAAI;gBACJ,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,aAAa,EAAE;gBACfP;YACJ;SACH;QAGL,IAAIE,OAAO,OAAO,EACdG,aAAa,QAAQ,CAACH,OAAO,OAAO;QAGxCC,UAAU,gBAAgB,CAACK,gBAAgB;YAAER;QAAK;QAClDG,UAAU,gBAAgB,CAACM,cAAcJ;QACzCF,UAAU,gBAAgB,CAACO,0BAA0B,IAAIC;QAEzDC,oBAAoB,QAAQ,CAACT;QAC7BA,UAAU,gBAAgB,CAACU,qBAAqBX,OAAO,OAAO;QAE9D,OAAO;YAAEC;YAAWE;YAAc,cAAcF,UAAU,OAAO,CAACW;QAAqB;IAC3F;IAEAC,WAAW;QACPC,GAAG,aAAa;IACpB;IAEAC,GAAG,qCAAqC;QACpC,MAAMC,UAAU,IAAIrB,wBAAwB;YACxC,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACfG;QACJ;QAEA,MAAM,EAAEmB,YAAY,EAAEd,YAAY,EAAE,GAAGJ,UAAU;YAAEiB;QAAQ;QAE3D,MAAME,MAAMJ,GAAG,KAAK,CAACE,SAAS;QAE9BG,OAAOhB,aAAa,QAAQ,IAAI,IAAI,CAAC;QACrC,MAAMiB,OAAOjB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,AAAc,oBAAdA,OAAO,EAAE;QACrDF,OAAOC,MAAM,IAAI,OAAO,CAAC;QACzBD,OAAOC,MAAM,OAAO,OAAO,CAAC;QAE5B,MAAMH,aAAa,OAAO,CAAC;YACvB,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACfnB;QACJ;QAEAqB,OAAOD,KAAK,qBAAqB,CAAC;QAClC,MAAMI,cAAcnB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,AAAc,oBAAdA,OAAO,EAAE;QAE5DF,OAAOG,aAAa,WAAW;QAC/BH,OAAOG,aAAa,IAAI,OAAO,CAAC;QAChCH,OAAOG,aAAa,MAAM,OAAO,CAACxB;QAClCqB,OAAOG,aAAa,OAAO,OAAO,CAAC;QACnCH,OAAOG,aAAa,MAAM,OAAO,CAAC;QAClCH,OAAOG,aAAa,UAAU,OAAO,CAAC;IAC1C;IAEAP,GAAG,2DAA2D;QAC1D,MAAMQ,eAAelB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACfP;QACJ;QAEA,MAAM0B,eAAenB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUkB,aAAa,EAAE;YACzB,aAAa,EAAE;YACfzB;QACJ;QAEA,MAAM2B,eAAepB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUmB,aAAa,EAAE;YACzB,aAAa,EAAE;YACf1B;QACJ;QAEA,MAAM4B,eAAerB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUkB,aAAa,EAAE;YACzB,aAAa,EAAE;YACfzB;QACJ;QAEA,MAAMK,eAAe,IAAIC;QACzBD,aAAa,QAAQ,CAAC;YAACoB;YAAcC;YAAcC;YAAcC;SAAa;QAG9E,MAAMC,uBAA2C;YAC7C;gBAAE,OAAO;gBAAU,QAAQ;YAAY;YACvC;gBAAE,OAAO;gBAAU,QAAQ;YAAY;SAC1C;QAED;YACI,MAAMX,UAAU,IAAIrB,wBAAwB;gBACxC,IAAI4B,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaI;gBACb7B;YACJ;YAEA,MAAM,EAAEmB,YAAY,EAAE,GAAGlB,UAAU;gBAAEiB;gBAASb;YAAa;YAE3D,MAAMc,aAAa,OAAO,CAAC;gBACvB,IAAIM,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaI;gBACb7B;YACJ;YAEA,MAAM8B,oBAAoBzB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKG,aAAa,EAAE;YACtFL,OAAOS,mBAAmB,aAAa,OAAO,CAC1CD,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAEN,cAAc,IAAI;gBAC/C;YAGJ,MAAMO,oBAAoB3B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKI,aAAa,EAAE;YACtFN,OAAOW,mBAAmB,aAAa,OAAO,CAC1CH,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAED,mBAAmB,IAAI;gBACpD;YAGJ,MAAMG,oBAAoB5B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKK,aAAa,EAAE;YACtFP,OAAOY,mBAAmB,aAAa,OAAO,CAC1CJ,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAEN,cAAc,IAAI;gBAC/C;QAER;QAGA,MAAMS,uBAA2C;YAAC;gBAAE,OAAO;gBAAS,QAAQ;YAAY;SAAE;QAE1F;YACI,MAAMhB,UAAU,IAAIrB,wBAAwB;gBACxC,IAAI6B,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaQ;gBACblC;YACJ;YAEA,MAAM,EAAEmB,YAAY,EAAE,GAAGlB,UAAU;gBAAEiB;gBAASb;YAAa;YAE3D,MAAMc,aAAa,OAAO,CAAC;gBACvB,IAAIO,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaQ;gBACblC;YACJ;YAEA,MAAM8B,oBAAoBzB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKG,aAAa,EAAE;YACtFL,OAAOS,mBAAmB,aAAa,OAAO,CAAC;mBACxCI;gBACH;oBACI,GAAGL,oBAAoB,CAAC,EAAE;oBAC1B,eAAe,CAAC,OAAO,EAAEJ,cAAc,IAAI;gBAC/C;aACH;YAED,MAAMO,oBAAoB3B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKI,aAAa,EAAE;YACtFN,OAAOW,mBAAmB,aAAa,OAAO,CAAC;mBACxCE,qBAAqB,GAAG,CAACH,CAAAA,aAAe;wBACvC,GAAGA,UAAU;wBACb,eAAe,CAAC,OAAO,EAAED,mBAAmB,IAAI;oBACpD;gBACA;oBACI,GAAGD,oBAAoB,CAAC,EAAE;oBAC1B,eAAe,CAAC,OAAO,EAAEC,mBAAmB,IAAI;gBACpD;aACH;YAED,MAAMG,oBAAoB5B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKK,aAAa,EAAE;YACtFP,OAAOY,mBAAmB,aAAa,OAAO,CAC1CJ,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAEN,cAAc,IAAI;gBAC/C;QAER;QAEA;YAII,MAAMU,iBAAqC,EAAE;YAE7C,MAAMjB,UAAU,IAAIrB,wBAAwB;gBACxC,IAAI6B,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaS;gBACbnC;YACJ;YAEA,MAAM,EAAEmB,YAAY,EAAE,GAAGlB,UAAU;gBAAEiB;gBAASb;YAAa;YAE3D,MAAMc,aAAa,OAAO,CAAC;gBACvB,IAAIO,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI;gBACvB,UAAUA,aAAa,QAAQ;gBAC/B,aAAaS;gBACbnC;YACJ;YAEA,MAAM8B,oBAAoBzB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKG,aAAa,EAAE;YACtFL,OAAOS,mBAAmB,aAAa,OAAO,CAC1CD,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAEN,cAAc,IAAI;gBAC/C;YAGJ,MAAMO,oBAAoB3B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKI,aAAa,EAAE;YACtFN,OAAOW,mBAAmB,aAAa,OAAO,CAC1CH,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAED,mBAAmB,IAAI;gBACpD;YAGJ,MAAMG,oBAAoB5B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKK,aAAa,EAAE;YACtFP,OAAOY,mBAAmB,aAAa,OAAO,CAC1CJ,qBAAqB,GAAG,CAACE,CAAAA,aAAe;oBACpC,GAAGA,UAAU;oBACb,eAAe,CAAC,OAAO,EAAEN,cAAc,IAAI;gBAC/C;QAER;IACJ;IAEAR,GAAG,oDAAoD;QACnD,MAAMQ,eAAelB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACf,MAAM,GAAG6B,YAAY,cAAc,CAAC;YACpCpC;QACJ;QAEA,MAAM0B,eAAenB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUkB,aAAa,EAAE;YACzB,aAAa,EAAE;YACf,MAAM,GAAGW,YAAY,6BAA6B,CAAC;YACnDpC;QACJ;QAEA,MAAM2B,eAAepB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUmB,aAAa,EAAE;YACzB,aAAa,EAAE;YACf,MAAM,GAAGU,YAAY,4CAA4C,CAAC;YAClEpC;QACJ;QAEA,MAAM4B,eAAerB,OAAO,MAAM,CAAC;YAC/B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAUkB,aAAa,EAAE;YACzB,aAAa,EAAE;YACf,MAAM,GAAGW,YAAY,6BAA6B,CAAC;YACnDpC;QACJ;QAGA,MAAMqC,gBAAwB,GAAGD,YAAY,mBAAmB,CAAC;QAEjE,MAAM/B,eAAe,IAAIC;QACzBD,aAAa,QAAQ,CAAC;YAACoB;YAAcC;YAAcC;YAAcC;SAAa;QAE9E;YACI,MAAMV,UAAU,IAAIrB,wBAAwB;gBACxC,IAAI4B,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI,GAAG;gBAC1B,UAAUA,aAAa,QAAQ;gBAC/B,aAAaA,aAAa,WAAW;gBACrC,MAAMY;gBACNrC;YACJ;YAEA,MAAM,EAAEmB,YAAY,EAAE,GAAGlB,UAAU;gBAAEiB;gBAASb;YAAa;YAE3D,MAAMc,aAAa,OAAO,CAAC;gBACvB,IAAIM,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI,GAAG;gBAC1B,UAAUA,aAAa,QAAQ;gBAC/B,aAAaA,aAAa,WAAW;gBACrCzB;YACJ;YAEA,MAAM8B,oBAAoBzB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKG,aAAa,EAAE;YACtFL,OAAOS,mBAAmB,MAAM,OAAO,CAAC,GAAGO,cAAc,eAAe,CAAC;YAEzE,MAAML,oBAAoB3B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKI,aAAa,EAAE;YACtFN,OAAOW,mBAAmB,MAAM,OAAO,CACnC,GAAGK,cAAc,8BAA8B,CAAC;YAGpD,MAAMJ,oBAAoB5B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKK,aAAa,EAAE;YACtFP,OAAOY,mBAAmB,MAAM,OAAO,CAAC,GAAGI,cAAc,eAAe,CAAC;QAC7E;QAGA,MAAMC,sBAA8B,GAAGD,cAAc,oBAAoB,CAAC;QAE1E;YACI,MAAMnB,UAAU,IAAIrB,wBAAwB;gBACxC,IAAI6B,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI,GAAG;gBAC1B,UAAUA,aAAa,QAAQ;gBAC/B,aAAaA,aAAa,WAAW;gBACrC,MAAMY;gBACNtC;YACJ;YAEA,MAAM,EAAEmB,YAAY,EAAE,GAAGlB,UAAU;gBAAEiB;gBAASb;YAAa;YAE3D,MAAMc,aAAa,OAAO,CAAC;gBACvB,IAAIO,aAAa,EAAE;gBACnB,OAAOA,aAAa,KAAK;gBACzB,MAAMA,aAAa,IAAI,GAAG;gBAC1B,UAAUA,aAAa,QAAQ;gBAC/B,aAAaA,aAAa,WAAW;gBACrC1B;YACJ;YAEA,MAAM8B,oBAAoBzB,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKG,aAAa,EAAE;YACtFL,OAAOS,mBAAmB,MAAM,OAAO,CAACQ;YAExC,MAAMN,oBAAoB3B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKI,aAAa,EAAE;YACtFN,OAAOW,mBAAmB,MAAM,OAAO,CAAC,GAAGM,oBAAoB,eAAe,CAAC;YAE/E,MAAML,oBAAoB5B,aAAa,OAAO,CAACkB,CAAAA,SAAUA,OAAO,EAAE,KAAKK,aAAa,EAAE;YACtFP,OAAOY,mBAAmB,MAAM,OAAO,CAAC,GAAGI,cAAc,eAAe,CAAC;QAC7E;IACJ;IAEApB,GAAG,2CAA2C;QAC1C,MAAMsB;YACF,MAAM,UAA8B;gBAChC,MAAM,IAAIC,MAAM;YACpB;QACJ;QAEA,MAAMtB,UAAU,IAAIqB;QACpB,MAAMnB,MAAMJ,GAAG,KAAK,CAACE,SAAS;QAE9B,MAAM,EAAEC,YAAY,EAAE,GAAGlB,UAAU;YAAEiB;QAAQ;QAE7C,MAAMG,OACFF,aAAa,OAAO,CAAC;YACjB,IAAI;YACJ,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACfnB;QACJ,IACF,OAAO,CAAC,OAAO,CAAC;QAElBqB,OAAOD,KAAK,qBAAqB,CAAC;IACtC;AACJ"}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
import type {
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.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";
|
|
5
7
|
export interface UpdateFolderResponse {
|
|
6
8
|
aco: {
|
|
7
9
|
updateFolder: {
|
|
8
|
-
data:
|
|
10
|
+
data: FolderDto;
|
|
9
11
|
error: AcoError | null;
|
|
10
12
|
};
|
|
11
13
|
};
|
|
12
14
|
}
|
|
13
15
|
export interface UpdateFolderVariables {
|
|
14
16
|
id: string;
|
|
15
|
-
data: Partial<Omit<
|
|
17
|
+
data: Partial<Omit<FolderDto, "id" | "createdOn" | "createdBy" | "savedOn" | "savedBy" | "modifiedOn" | "modifiedBy">>;
|
|
16
18
|
}
|
|
17
|
-
export declare const UPDATE_FOLDER: (FOLDER_FIELDS: string) =>
|
|
18
|
-
|
|
19
|
+
export declare const UPDATE_FOLDER: (FOLDER_FIELDS: string) => string;
|
|
20
|
+
declare class UpdateFolderGqlGatewayImpl implements GatewayAbstraction.Interface {
|
|
19
21
|
private client;
|
|
20
|
-
private
|
|
21
|
-
constructor(client:
|
|
22
|
-
execute(folder:
|
|
22
|
+
private folderModelProvider;
|
|
23
|
+
constructor(client: MainGraphQLClient.Interface, folderModelProvider: FolderModelProvider.Interface);
|
|
24
|
+
execute(folder: FolderGatewayDto): Promise<FolderDto>;
|
|
23
25
|
}
|
|
26
|
+
export declare const UpdateFolderGqlGateway: typeof UpdateFolderGqlGatewayImpl & {
|
|
27
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFolderGateway>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
+
import { FolderModelProvider } from "../abstractions.js";
|
|
3
|
+
import { UpdateFolderGateway } from "./abstractions.js";
|
|
4
|
+
import { ROOT_FOLDER } from "../../../constants.js";
|
|
5
|
+
const UPDATE_FOLDER = (FOLDER_FIELDS)=>`
|
|
4
6
|
mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {
|
|
5
7
|
aco {
|
|
6
8
|
updateFolder(id: $id, data: $data) {
|
|
@@ -14,47 +16,40 @@ export const UPDATE_FOLDER = FOLDER_FIELDS => gql`
|
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
18
|
`;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
async execute(folder) {
|
|
23
|
-
const {
|
|
24
|
-
id,
|
|
25
|
-
title,
|
|
26
|
-
slug,
|
|
27
|
-
permissions,
|
|
28
|
-
parentId,
|
|
29
|
-
extensions
|
|
30
|
-
} = folder;
|
|
31
|
-
const {
|
|
32
|
-
data: response
|
|
33
|
-
} = await this.client.mutate({
|
|
34
|
-
mutation: UPDATE_FOLDER(this.modelFields),
|
|
35
|
-
variables: {
|
|
36
|
-
id,
|
|
37
|
-
data: {
|
|
38
|
-
title,
|
|
39
|
-
slug,
|
|
40
|
-
extensions,
|
|
41
|
-
parentId: parentId === ROOT_FOLDER ? null : parentId,
|
|
42
|
-
permissions: permissions.filter(p => !p.inheritedFrom)
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
if (!response) {
|
|
47
|
-
throw new Error("Network error while updating folder.");
|
|
19
|
+
class UpdateFolderGqlGatewayImpl {
|
|
20
|
+
constructor(client, folderModelProvider){
|
|
21
|
+
this.client = client;
|
|
22
|
+
this.folderModelProvider = folderModelProvider;
|
|
48
23
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
24
|
+
async execute(folder) {
|
|
25
|
+
const fields = await this.folderModelProvider.getGraphQLSelection();
|
|
26
|
+
const { id, title, slug, permissions, parentId, extensions } = folder;
|
|
27
|
+
const response = await this.client.execute({
|
|
28
|
+
query: UPDATE_FOLDER(fields),
|
|
29
|
+
variables: {
|
|
30
|
+
id,
|
|
31
|
+
data: {
|
|
32
|
+
title,
|
|
33
|
+
slug,
|
|
34
|
+
extensions,
|
|
35
|
+
parentId: parentId === ROOT_FOLDER ? null : parentId,
|
|
36
|
+
permissions: permissions.filter((p)=>!p.inheritedFrom && !p.plugin)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (!response) throw new Error("Network error while updating folder.");
|
|
41
|
+
const { data, error } = response.aco.updateFolder;
|
|
42
|
+
if (!data) throw new Error(error?.message || "Could not update folder");
|
|
43
|
+
return data;
|
|
55
44
|
}
|
|
56
|
-
return data;
|
|
57
|
-
}
|
|
58
45
|
}
|
|
46
|
+
const UpdateFolderGqlGateway = UpdateFolderGateway.createImplementation({
|
|
47
|
+
implementation: UpdateFolderGqlGatewayImpl,
|
|
48
|
+
dependencies: [
|
|
49
|
+
MainGraphQLClient,
|
|
50
|
+
FolderModelProvider
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
export { UPDATE_FOLDER, UpdateFolderGqlGateway };
|
|
59
54
|
|
|
60
55
|
//# sourceMappingURL=UpdateFolderGqlGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/UpdateFolderGqlGateway.js","sources":["../../../../src/features/folders/updateFolder/UpdateFolderGqlGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.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) => /* GraphQL */ `\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: MainGraphQLClient.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 response = await this.client.execute<UpdateFolderResponse, UpdateFolderVariables>({\n query: 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 && !p.plugin)\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: [MainGraphQLClient, FolderModelProvider]\n});\n"],"names":["UPDATE_FOLDER","FOLDER_FIELDS","UpdateFolderGqlGatewayImpl","client","folderModelProvider","folder","fields","id","title","slug","permissions","parentId","extensions","response","ROOT_FOLDER","p","Error","data","error","UpdateFolderGqlGateway","GatewayAbstraction","MainGraphQLClient","FolderModelProvider"],"mappings":";;;;AA2BO,MAAMA,gBAAgB,CAACC,gBAAwC,CAAC;;;;qBAIlD,EAAEA,cAAc;;;;;;;;;AASrC,CAAC;AAED,MAAMC;IACF,YACYC,MAAmC,EACnCC,mBAAkD,CAC5D;aAFUD,MAAM,GAANA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,MAAwB,EAAE;QACpC,MAAMC,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB;QAEjE,MAAM,EAAEC,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGP;QAE/D,MAAMQ,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA8C;YACpF,OAAOb,cAAcM;YACrB,WAAW;gBACPC;gBACA,MAAM;oBACFC;oBACAC;oBACAG;oBACA,UAAUD,aAAaG,cAAc,OAAOH;oBAC5C,aAAaD,YAAY,MAAM,CAACK,CAAAA,IAAK,CAACA,EAAE,aAAa,IAAI,CAACA,EAAE,MAAM;gBACtE;YACJ;QACJ;QAEA,IAAI,CAACF,UACD,MAAM,IAAIG,MAAM;QAGpB,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGL,SAAS,GAAG,CAAC,YAAY;QAEjD,IAAI,CAACI,MACD,MAAM,IAAID,MAAME,OAAO,WAAW;QAGtC,OAAOD;IACX;AACJ;AAEO,MAAME,yBAAyBC,oBAAAA,oBAAuC,CAAC;IAC1E,gBAAgBlB;IAChB,cAAc;QAACmB;QAAmBC;KAAoB;AAC1D"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export declare class UpdateFolderRepository implements IUpdateFolderRepository {
|
|
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 {
|
|
6
5
|
private cache;
|
|
7
6
|
private gateway;
|
|
8
|
-
constructor(cache:
|
|
7
|
+
constructor(cache: FoldersCache.Interface, gateway: UpdateFolderGateway.Interface);
|
|
9
8
|
execute(folder: Folder): Promise<void>;
|
|
10
9
|
}
|
|
10
|
+
export declare const UpdateFolderRepository: typeof UpdateFolderRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFolderRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -1,26 +1,33 @@
|
|
|
1
|
-
import { Folder } from "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
}
|
|
1
|
+
import { Folder } from "../../../domain/folder/Folder.js";
|
|
2
|
+
import { FoldersCache } from "../abstractions.js";
|
|
3
|
+
import { UpdateFolderGateway, UpdateFolderRepository } from "./abstractions.js";
|
|
4
|
+
class UpdateFolderRepositoryImpl {
|
|
5
|
+
constructor(cache, gateway){
|
|
6
|
+
this.cache = cache;
|
|
7
|
+
this.gateway = gateway;
|
|
8
|
+
}
|
|
9
|
+
async execute(folder) {
|
|
10
|
+
const result = await this.gateway.execute({
|
|
11
|
+
id: folder.id,
|
|
12
|
+
title: folder.title,
|
|
13
|
+
slug: folder.slug,
|
|
14
|
+
extensions: folder.extensions,
|
|
15
|
+
parentId: folder.parentId,
|
|
16
|
+
permissions: folder.permissions
|
|
17
|
+
});
|
|
18
|
+
this.cache.updateItems((f)=>{
|
|
19
|
+
if (f.id === folder.id) return Folder.create(result);
|
|
20
|
+
return Folder.create(f);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
24
23
|
}
|
|
24
|
+
const UpdateFolderRepository_UpdateFolderRepository = UpdateFolderRepository.createImplementation({
|
|
25
|
+
implementation: UpdateFolderRepositoryImpl,
|
|
26
|
+
dependencies: [
|
|
27
|
+
FoldersCache,
|
|
28
|
+
UpdateFolderGateway
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
export { UpdateFolderRepository_UpdateFolderRepository as UpdateFolderRepository };
|
|
25
32
|
|
|
26
33
|
//# sourceMappingURL=UpdateFolderRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/UpdateFolderRepository.js","sources":["../../../../src/features/folders/updateFolder/UpdateFolderRepository.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport { FoldersCache } from \"../abstractions.js\";\nimport {\n UpdateFolderRepository as RepositoryAbstraction,\n UpdateFolderGateway\n} from \"./abstractions.js\";\n\nclass UpdateFolderRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private gateway: UpdateFolderGateway.Interface\n ) {}\n\n async execute(folder: Folder) {\n const result = await this.gateway.execute({\n id: folder.id,\n title: folder.title,\n slug: folder.slug,\n extensions: folder.extensions,\n parentId: folder.parentId,\n permissions: folder.permissions\n });\n\n this.cache.updateItems(f => {\n if (f.id === folder.id) {\n return Folder.create(result);\n }\n\n return Folder.create(f);\n });\n }\n}\n\nexport const UpdateFolderRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateFolderRepositoryImpl,\n dependencies: [FoldersCache, UpdateFolderGateway]\n});\n"],"names":["UpdateFolderRepositoryImpl","cache","gateway","folder","result","f","Folder","UpdateFolderRepository","RepositoryAbstraction","FoldersCache","UpdateFolderGateway"],"mappings":";;;AAOA,MAAMA;IACF,YACYC,KAA6B,EAC7BC,OAAsC,CAChD;aAFUD,KAAK,GAALA;aACAC,OAAO,GAAPA;IACT;IAEH,MAAM,QAAQC,MAAc,EAAE;QAC1B,MAAMC,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,IAAID,OAAO,EAAE;YACb,OAAOA,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,YAAYA,OAAO,UAAU;YAC7B,UAAUA,OAAO,QAAQ;YACzB,aAAaA,OAAO,WAAW;QACnC;QAEA,IAAI,CAAC,KAAK,CAAC,WAAW,CAACE,CAAAA;YACnB,IAAIA,EAAE,EAAE,KAAKF,OAAO,EAAE,EAClB,OAAOG,OAAO,MAAM,CAACF;YAGzB,OAAOE,OAAO,MAAM,CAACD;QACzB;IACJ;AACJ;AAEO,MAAME,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBR;IAChB,cAAc;QAACS;QAAcC;KAAoB;AACrD"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import type { UpdateFolderParams
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import type { UpdateFolderParams } from "./abstractions.js";
|
|
2
|
+
import { UpdateFolderUseCase as UseCaseAbstraction, UpdateFolderRepository } from "./abstractions.js";
|
|
3
|
+
declare class UpdateFolderUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
4
4
|
private repository;
|
|
5
|
-
constructor(repository:
|
|
6
|
-
execute(
|
|
5
|
+
constructor(repository: UpdateFolderRepository.Interface);
|
|
6
|
+
execute(folder: UpdateFolderParams): Promise<void>;
|
|
7
7
|
}
|
|
8
|
+
export declare const UpdateFolderUseCase: typeof UpdateFolderUseCaseImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateFolderUseCase>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Folder } from "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
slug: params.slug,
|
|
11
|
-
type: params.type,
|
|
12
|
-
parentId: params.parentId,
|
|
13
|
-
permissions: params.permissions,
|
|
14
|
-
extensions: params.extensions
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
1
|
+
import { Folder } from "../../../domain/folder/Folder.js";
|
|
2
|
+
import { UpdateFolderRepository, UpdateFolderUseCase } from "./abstractions.js";
|
|
3
|
+
class UpdateFolderUseCaseImpl {
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(folder) {
|
|
8
|
+
await this.repository.execute(Folder.create(folder));
|
|
9
|
+
}
|
|
17
10
|
}
|
|
11
|
+
const UpdateFolderUseCase_UpdateFolderUseCase = UpdateFolderUseCase.createImplementation({
|
|
12
|
+
implementation: UpdateFolderUseCaseImpl,
|
|
13
|
+
dependencies: [
|
|
14
|
+
UpdateFolderRepository
|
|
15
|
+
]
|
|
16
|
+
});
|
|
17
|
+
export { UpdateFolderUseCase_UpdateFolderUseCase as UpdateFolderUseCase };
|
|
18
18
|
|
|
19
19
|
//# sourceMappingURL=UpdateFolderUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/UpdateFolderUseCase.js","sources":["../../../../src/features/folders/updateFolder/UpdateFolderUseCase.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport type { UpdateFolderParams } from \"./abstractions.js\";\nimport {\n UpdateFolderUseCase as UseCaseAbstraction,\n UpdateFolderRepository\n} from \"./abstractions.js\";\n\nclass UpdateFolderUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: UpdateFolderRepository.Interface) {}\n\n async execute(folder: UpdateFolderParams) {\n await this.repository.execute(Folder.create(folder));\n }\n}\n\nexport const UpdateFolderUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateFolderUseCaseImpl,\n dependencies: [UpdateFolderRepository]\n});\n"],"names":["UpdateFolderUseCaseImpl","repository","folder","Folder","UpdateFolderUseCase","UseCaseAbstraction","UpdateFolderRepository"],"mappings":";;AAOA,MAAMA;IACF,YAAoBC,UAA4C,CAAE;aAA9CA,UAAU,GAAVA;IAA+C;IAEnE,MAAM,QAAQC,MAA0B,EAAE;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACC,OAAO,MAAM,CAACD;IAChD;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAAuC,CAAC;IACvE,gBAAgBL;IAChB,cAAc;QAACM;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Folder } from "../../../domain/folder/Folder.js";
|
|
2
|
+
import type { FolderDto } from "../../../domain/folder/FolderDto.js";
|
|
3
|
+
import type { FolderPermission } from "../../../types.js";
|
|
4
|
+
export interface FolderGatewayDto {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
slug: string;
|
|
8
|
+
permissions: FolderPermission[];
|
|
9
|
+
parentId: string | null;
|
|
10
|
+
extensions: Record<string, any>;
|
|
11
|
+
}
|
|
12
|
+
export interface UpdateFolderParams {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
slug: string;
|
|
16
|
+
type: string;
|
|
17
|
+
parentId: string | null;
|
|
18
|
+
permissions: FolderPermission[];
|
|
19
|
+
extensions?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
export interface IUpdateFolderUseCase {
|
|
22
|
+
execute: (params: UpdateFolderParams) => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export interface IUpdateFolderRepository {
|
|
25
|
+
execute: (folder: Folder) => Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export interface IUpdateFolderGateway {
|
|
28
|
+
execute: (folder: FolderGatewayDto) => Promise<FolderDto>;
|
|
29
|
+
}
|
|
30
|
+
export declare const UpdateFolderUseCase: import("@webiny/di").Abstraction<IUpdateFolderUseCase>;
|
|
31
|
+
export declare namespace UpdateFolderUseCase {
|
|
32
|
+
type Interface = IUpdateFolderUseCase;
|
|
33
|
+
type Params = UpdateFolderParams;
|
|
34
|
+
}
|
|
35
|
+
export declare const UpdateFolderRepository: import("@webiny/di").Abstraction<IUpdateFolderRepository>;
|
|
36
|
+
export declare namespace UpdateFolderRepository {
|
|
37
|
+
type Interface = IUpdateFolderRepository;
|
|
38
|
+
}
|
|
39
|
+
export declare const UpdateFolderGateway: import("@webiny/di").Abstraction<IUpdateFolderGateway>;
|
|
40
|
+
export declare namespace UpdateFolderGateway {
|
|
41
|
+
type Interface = IUpdateFolderGateway;
|
|
42
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
const UpdateFolderUseCase = createAbstraction("UpdateFolderUseCase");
|
|
3
|
+
const UpdateFolderRepository = createAbstraction("UpdateFolderRepository");
|
|
4
|
+
const UpdateFolderGateway = createAbstraction("UpdateFolderGateway");
|
|
5
|
+
export { UpdateFolderGateway, UpdateFolderRepository, UpdateFolderUseCase };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/abstractions.js","sources":["../../../../src/features/folders/updateFolder/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { Folder } from \"~/domain/folder/Folder.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport type { FolderPermission } from \"~/types.js\";\n\nexport interface FolderGatewayDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n parentId: string | null;\n extensions: Record<string, any>;\n}\n\nexport interface UpdateFolderParams {\n id: string;\n title: string;\n slug: string;\n type: string;\n parentId: string | null;\n permissions: FolderPermission[];\n extensions?: Record<string, any>;\n}\n\nexport interface IUpdateFolderUseCase {\n execute: (params: UpdateFolderParams) => Promise<void>;\n}\n\nexport interface IUpdateFolderRepository {\n execute: (folder: Folder) => Promise<void>;\n}\n\nexport interface IUpdateFolderGateway {\n execute: (folder: FolderGatewayDto) => Promise<FolderDto>;\n}\n\nexport const UpdateFolderUseCase = createAbstraction<IUpdateFolderUseCase>(\"UpdateFolderUseCase\");\n\nexport namespace UpdateFolderUseCase {\n export type Interface = IUpdateFolderUseCase;\n export type Params = UpdateFolderParams;\n}\n\nexport const UpdateFolderRepository =\n createAbstraction<IUpdateFolderRepository>(\"UpdateFolderRepository\");\n\nexport namespace UpdateFolderRepository {\n export type Interface = IUpdateFolderRepository;\n}\n\nexport const UpdateFolderGateway = createAbstraction<IUpdateFolderGateway>(\"UpdateFolderGateway\");\n\nexport namespace UpdateFolderGateway {\n export type Interface = IUpdateFolderGateway;\n}\n"],"names":["UpdateFolderUseCase","createAbstraction","UpdateFolderRepository","UpdateFolderGateway"],"mappings":";AAoCO,MAAMA,sBAAsBC,kBAAwC;AAOpE,MAAMC,yBACTD,kBAA2C;AAMxC,MAAME,sBAAsBF,kBAAwC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FoldersCache } from "../../abstractions.js";
|
|
2
|
+
import { UpdateFolderRepository as RepositoryAbstraction } from "../abstractions.js";
|
|
3
|
+
import { Folder } from "../../../../domain/folder/Folder.js";
|
|
4
|
+
declare class UpdateFolderRepositoryWithPathChangeImpl implements RepositoryAbstraction.Interface {
|
|
5
|
+
private cache;
|
|
6
|
+
private decoratee;
|
|
7
|
+
constructor(cache: FoldersCache.Interface, decoratee: RepositoryAbstraction.Interface);
|
|
8
|
+
execute(folder: Folder): Promise<void>;
|
|
9
|
+
private updateChildrenPathsRecursively;
|
|
10
|
+
private listDirectChildren;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateFolderRepositoryWithPathChange: typeof UpdateFolderRepositoryWithPathChangeImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions.js").IUpdateFolderRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Path } from "@webiny/shared-aco";
|
|
2
|
+
import { FoldersCache } from "../../abstractions.js";
|
|
3
|
+
import { UpdateFolderRepository } from "../abstractions.js";
|
|
4
|
+
import { Folder } from "../../../../domain/folder/Folder.js";
|
|
5
|
+
class UpdateFolderRepositoryWithPathChangeImpl {
|
|
6
|
+
constructor(cache, decoratee){
|
|
7
|
+
this.cache = cache;
|
|
8
|
+
this.decoratee = decoratee;
|
|
9
|
+
}
|
|
10
|
+
async execute(folder) {
|
|
11
|
+
const folderPath = folder.path;
|
|
12
|
+
const cachedFolderPath = this.cache.getItem((f)=>f.id === folder.id)?.path;
|
|
13
|
+
await this.decoratee.execute(folder);
|
|
14
|
+
if (!cachedFolderPath) return;
|
|
15
|
+
if (cachedFolderPath === folderPath) return;
|
|
16
|
+
const updatedFolder = this.cache.getItem((f)=>f.id === folder.id);
|
|
17
|
+
if (!updatedFolder) return;
|
|
18
|
+
const directChildren = this.listDirectChildren(updatedFolder);
|
|
19
|
+
if (!directChildren.length) return;
|
|
20
|
+
this.updateChildrenPathsRecursively(directChildren, updatedFolder);
|
|
21
|
+
}
|
|
22
|
+
updateChildrenPathsRecursively(children, parentFolder) {
|
|
23
|
+
for (const child of children){
|
|
24
|
+
let updatedChild;
|
|
25
|
+
this.cache.updateItems((f)=>{
|
|
26
|
+
if (f.id === child.id) {
|
|
27
|
+
const newPath = Path.create(f.slug, parentFolder.path);
|
|
28
|
+
const updated = Folder.create({
|
|
29
|
+
...f,
|
|
30
|
+
path: newPath
|
|
31
|
+
});
|
|
32
|
+
updatedChild = updated;
|
|
33
|
+
return updated;
|
|
34
|
+
}
|
|
35
|
+
return f;
|
|
36
|
+
});
|
|
37
|
+
if (updatedChild) {
|
|
38
|
+
const grandChildren = this.listDirectChildren(updatedChild);
|
|
39
|
+
if (grandChildren.length) this.updateChildrenPathsRecursively(grandChildren, updatedChild);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
listDirectChildren(folder) {
|
|
44
|
+
return this.cache.getItems().filter((f)=>f.parentId === folder.id);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const UpdateFolderRepositoryWithPathChange = UpdateFolderRepository.createDecorator({
|
|
48
|
+
decorator: UpdateFolderRepositoryWithPathChangeImpl,
|
|
49
|
+
dependencies: [
|
|
50
|
+
FoldersCache
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
export { UpdateFolderRepositoryWithPathChange };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=RepositoryWithPathChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/decorators/RepositoryWithPathChange.js","sources":["../../../../../src/features/folders/updateFolder/decorators/RepositoryWithPathChange.ts"],"sourcesContent":["import { Path } from \"@webiny/shared-aco\";\nimport { FoldersCache } from \"../../abstractions.js\";\nimport { UpdateFolderRepository as RepositoryAbstraction } from \"../abstractions.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\n\nclass UpdateFolderRepositoryWithPathChangeImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private decoratee: RepositoryAbstraction.Interface\n ) {}\n\n async execute(folder: Folder) {\n const folderPath = folder.path;\n const cachedFolderPath = this.cache.getItem(f => f.id === folder.id)?.path;\n\n // Update the folder\n await this.decoratee.execute(folder);\n\n // If the folder is not in the cache, we can't proceed to update its children paths.\n if (!cachedFolderPath) {\n return;\n }\n\n // If the folder path has not changed, we don't need to update anything.\n if (cachedFolderPath === folderPath) {\n return;\n }\n\n // Fetch the updated folder from the cache (with the new path)\n const updatedFolder = this.cache.getItem(f => f.id === folder.id);\n if (!updatedFolder) {\n return;\n }\n\n // List direct children of the updated folder\n const directChildren = this.listDirectChildren(updatedFolder);\n if (!directChildren.length) {\n return;\n }\n\n this.updateChildrenPathsRecursively(directChildren, updatedFolder);\n }\n\n private updateChildrenPathsRecursively(children: Folder[], parentFolder: Folder) {\n for (const child of children) {\n let updatedChild: Folder | undefined;\n\n // Update the child's path in the cache\n this.cache.updateItems(f => {\n if (f.id === child.id) {\n const newPath = Path.create(f.slug, parentFolder.path); // Use the updated parent's path\n const updated = Folder.create({\n ...f,\n path: newPath\n });\n\n updatedChild = updated; // Store the updated child for recursion\n return updated;\n }\n return f;\n });\n\n // Recurse for the child's children\n if (updatedChild) {\n const grandChildren = this.listDirectChildren(updatedChild);\n if (grandChildren.length) {\n this.updateChildrenPathsRecursively(grandChildren, updatedChild);\n }\n }\n }\n }\n\n private listDirectChildren(folder: Folder) {\n return this.cache.getItems().filter(f => f.parentId === folder.id);\n }\n}\n\nexport const UpdateFolderRepositoryWithPathChange = RepositoryAbstraction.createDecorator({\n decorator: UpdateFolderRepositoryWithPathChangeImpl,\n dependencies: [FoldersCache]\n});\n"],"names":["UpdateFolderRepositoryWithPathChangeImpl","cache","decoratee","folder","folderPath","cachedFolderPath","f","updatedFolder","directChildren","children","parentFolder","child","updatedChild","newPath","Path","updated","Folder","grandChildren","UpdateFolderRepositoryWithPathChange","RepositoryAbstraction","FoldersCache"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,KAA6B,EAC7BC,SAA0C,CACpD;aAFUD,KAAK,GAALA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAc,EAAE;QAC1B,MAAMC,aAAaD,OAAO,IAAI;QAC9B,MAAME,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAKH,OAAO,EAAE,GAAG;QAGtE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA;QAG7B,IAAI,CAACE,kBACD;QAIJ,IAAIA,qBAAqBD,YACrB;QAIJ,MAAMG,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAACD,CAAAA,IAAKA,EAAE,EAAE,KAAKH,OAAO,EAAE;QAChE,IAAI,CAACI,eACD;QAIJ,MAAMC,iBAAiB,IAAI,CAAC,kBAAkB,CAACD;QAC/C,IAAI,CAACC,eAAe,MAAM,EACtB;QAGJ,IAAI,CAAC,8BAA8B,CAACA,gBAAgBD;IACxD;IAEQ,+BAA+BE,QAAkB,EAAEC,YAAoB,EAAE;QAC7E,KAAK,MAAMC,SAASF,SAAU;YAC1B,IAAIG;YAGJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAACN,CAAAA;gBACnB,IAAIA,EAAE,EAAE,KAAKK,MAAM,EAAE,EAAE;oBACnB,MAAME,UAAUC,KAAK,MAAM,CAACR,EAAE,IAAI,EAAEI,aAAa,IAAI;oBACrD,MAAMK,UAAUC,OAAO,MAAM,CAAC;wBAC1B,GAAGV,CAAC;wBACJ,MAAMO;oBACV;oBAEAD,eAAeG;oBACf,OAAOA;gBACX;gBACA,OAAOT;YACX;YAGA,IAAIM,cAAc;gBACd,MAAMK,gBAAgB,IAAI,CAAC,kBAAkB,CAACL;gBAC9C,IAAIK,cAAc,MAAM,EACpB,IAAI,CAAC,8BAA8B,CAACA,eAAeL;YAE3D;QACJ;IACJ;IAEQ,mBAAmBT,MAAc,EAAE;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAACG,CAAAA,IAAKA,EAAE,QAAQ,KAAKH,OAAO,EAAE;IACrE;AACJ;AAEO,MAAMe,uCAAuCC,uBAAAA,eAAqC,CAAC;IACtF,WAAWnB;IACX,cAAc;QAACoB;KAAa;AAChC"}
|