@webiny/app-aco 6.3.0 → 6.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.js +3 -4
- package/app.js.map +1 -1
- package/components/Actions/DeleteFolder/DeleteFolder.js +21 -26
- package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
- package/components/Actions/DeleteFolder/index.js +0 -2
- package/components/Actions/EditFolder/EditFolder.js +20 -25
- package/components/Actions/EditFolder/EditFolder.js.map +1 -1
- package/components/Actions/EditFolder/index.js +0 -2
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +20 -25
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
- package/components/Actions/SetFolderPemissions/index.js +0 -2
- package/components/Actions/index.js +0 -2
- package/components/AdvancedSearch/AdvancedSearch.js +67 -75
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
- package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
- 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.js +0 -2
- package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
- 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.js +11 -20
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
- 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.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
- 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.js +41 -42
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
- package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
- package/components/AdvancedSearch/domain/Feedback.js +12 -11
- package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.js +206 -190
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/Filter.js +64 -47
- package/components/AdvancedSearch/domain/Filter.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
- package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
- 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 +17 -16
- package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
- package/components/AdvancedSearch/domain/index.js +0 -2
- package/components/AdvancedSearch/fields/Boolean.js +23 -25
- package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
- package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/Input.js +12 -14
- package/components/AdvancedSearch/fields/Input.js.map +1 -1
- package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
- package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
- package/components/AdvancedSearch/fields/index.js +0 -2
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -121
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.gql.js +9 -8
- package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.js +0 -3
- package/components/AdvancedSearch/gateways/index.js +0 -2
- package/components/AdvancedSearch/index.js +22 -24
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useFilterRepository.js +4 -3
- package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
- package/components/AdvancedSearch/useInputField.js +4 -6
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/Extensions/Extensions.js +23 -26
- package/components/Extensions/Extensions.js.map +1 -1
- package/components/Extensions/index.js +0 -2
- package/components/FolderGrid/FolderGridItem.js +67 -62
- package/components/FolderGrid/FolderGridItem.js.map +1 -1
- package/components/FolderGrid/index.js +0 -2
- 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.js +23 -20
- package/components/FolderPicker/FolderPicker.js.map +1 -1
- package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
- package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
- package/components/FolderTree/ButtonCreate/index.js +0 -2
- package/components/FolderTree/Empty/Empty.js +5 -6
- package/components/FolderTree/Empty/Empty.js.map +1 -1
- package/components/FolderTree/Empty/index.js +0 -2
- package/components/FolderTree/List/List.js +120 -135
- package/components/FolderTree/List/List.js.map +1 -1
- package/components/FolderTree/List/index.js +0 -2
- package/components/FolderTree/List/utils.js +31 -64
- 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.js +0 -2
- package/components/FolderTree/MenuActions/MenuActions.js +19 -27
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
- package/components/FolderTree/MenuActions/index.js +0 -2
- package/components/FolderTree/Node/Node.js +27 -47
- package/components/FolderTree/Node/Node.js.map +1 -1
- package/components/FolderTree/Node/index.js +0 -2
- package/components/FolderTree/NodePreview/NodePreview.js +11 -14
- package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
- package/components/FolderTree/NodePreview/index.js +0 -2
- package/components/FolderTree/index.d.ts +2 -1
- package/components/FolderTree/index.js +47 -57
- package/components/FolderTree/index.js.map +1 -1
- package/components/Search/Search.js +15 -20
- package/components/Search/Search.js.map +1 -1
- package/components/Search/index.js +0 -2
- 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.js +17 -18
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
- 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.js +12 -11
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
- 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.js +0 -2
- package/components/Table/components/Table/Columns/Column.js +18 -17
- package/components/Table/components/Table/Columns/Column.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
- package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
- 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 +66 -60
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
- 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.js +15 -11
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
- package/components/Table/components/Table/Columns/index.js +0 -2
- package/components/Table/components/Table/Table.js +38 -32
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.js +33 -40
- 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.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.js +0 -2
- package/components/Table/components/Table/index.js +0 -2
- package/components/Table/components/index.js +0 -2
- package/components/Table/createTableData.js +13 -16
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/index.js +0 -2
- package/components/Table/useTableRow.js +17 -29
- package/components/Table/useTableRow.js.map +1 -1
- package/components/index.js +0 -2
- package/config/AcoConfig.js +43 -30
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/FieldRenderer.js +27 -30
- package/config/advanced-search/FieldRenderer.js.map +1 -1
- package/config/advanced-search/index.js +3 -2
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/Action.js +27 -32
- package/config/folder/Action.js.map +1 -1
- package/config/folder/DropConfirmation.js +12 -13
- package/config/folder/DropConfirmation.js.map +1 -1
- package/config/folder/createFolderFieldDecoratorFactory.js +14 -18
- package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
- package/config/folder/index.js +4 -3
- package/config/folder/index.js.map +1 -1
- package/config/index.js +0 -2
- package/config/record/Action.js +28 -33
- package/config/record/Action.js.map +1 -1
- package/config/record/index.js +3 -2
- package/config/record/index.js.map +1 -1
- package/config/table/Column.js +65 -81
- package/config/table/Column.js.map +1 -1
- package/config/table/Sorting.js +24 -27
- package/config/table/Sorting.js.map +1 -1
- package/config/table/index.js +4 -3
- package/config/table/index.js.map +1 -1
- package/constants.js +0 -2
- package/contexts/acoList.js +283 -384
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.js +40 -53
- package/contexts/app.js.map +1 -1
- package/contexts/folder.js +11 -15
- package/contexts/folder.js.map +1 -1
- package/contexts/folders.js +27 -32
- package/contexts/folders.js.map +1 -1
- package/contexts/index.js +0 -2
- package/contexts/navigateFolder.js +49 -57
- package/contexts/navigateFolder.js.map +1 -1
- package/contexts/records.js +299 -422
- package/contexts/records.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +105 -107
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/DialogSetPermissions/graphql.js +3 -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.js +0 -2
- package/dialogs/useConfirmMoveFolderDialog.js +16 -19
- package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
- package/dialogs/useCreateDialog.js +78 -93
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.js +27 -33
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.js +77 -80
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.d.ts +1 -1
- package/dialogs/useMoveToFolderDialog.js +33 -49
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.js +85 -87
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/domain/folder/Folder.js +25 -24
- package/domain/folder/Folder.js.map +1 -1
- package/domain/folder/FolderDto.js +0 -3
- package/domain/folder/FolderDtoMapper.js +24 -25
- package/domain/folder/FolderDtoMapper.js.map +1 -1
- package/domain/folder/FolderIdentity.js +16 -17
- package/domain/folder/FolderIdentity.js.map +1 -1
- package/domain/folder/RootFolder.js +24 -23
- package/domain/folder/RootFolder.js.map +1 -1
- package/exports/admin/aco.js +0 -2
- package/exports/admin/ui.js +0 -2
- package/features/folders/abstractions.js +6 -5
- package/features/folders/abstractions.js.map +1 -1
- package/features/folders/cache/FoldersCacheFactory.js +13 -12
- 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.js +13 -12
- package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/index.js +0 -2
- package/features/folders/createFolder/CreateFolder.test.js +44 -48
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
- package/features/folders/createFolder/CreateFolderGqlGateway.js +27 -32
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
- package/features/folders/createFolder/CreateFolderRepository.js +29 -24
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/abstractions.js +4 -12
- package/features/folders/createFolder/abstractions.js.map +1 -1
- package/features/folders/createFolder/feature.js +15 -14
- package/features/folders/createFolder/feature.js.map +1 -1
- package/features/folders/createFolder/index.js +0 -2
- package/features/folders/createFolder/useCreateFolder.js +6 -9
- package/features/folders/createFolder/useCreateFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -28
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/abstractions.js +4 -12
- package/features/folders/deleteFolder/abstractions.js.map +1 -1
- package/features/folders/deleteFolder/feature.js +15 -14
- package/features/folders/deleteFolder/feature.js.map +1 -1
- package/features/folders/deleteFolder/index.js +0 -2
- package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
- package/features/folders/feature.js +23 -29
- package/features/folders/feature.js.map +1 -1
- package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
- package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
- package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
- package/features/folders/folderModelProvider/FolderModelProvider.js +23 -23
- package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +20 -26
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
- package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
- package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
- package/features/folders/folderModelProvider/abstractions.js +3 -2
- package/features/folders/folderModelProvider/abstractions.js.map +1 -1
- package/features/folders/folderModelProvider/feature.js +15 -14
- package/features/folders/folderModelProvider/feature.js.map +1 -1
- package/features/folders/folderModelProvider/index.js +0 -2
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getDescendantFolders/abstractions.js +3 -10
- package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
- package/features/folders/getDescendantFolders/feature.js +14 -13
- package/features/folders/getDescendantFolders/feature.js.map +1 -1
- package/features/folders/getDescendantFolders/index.js +0 -2
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
- package/features/folders/getFolder/GetFolderGqlGateway.js +26 -31
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
- package/features/folders/getFolder/GetFolderRepository.js +18 -13
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCase.js +13 -10
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
- package/features/folders/getFolder/abstractions.js +4 -12
- package/features/folders/getFolder/abstractions.js.map +1 -1
- package/features/folders/getFolder/feature.js +15 -14
- package/features/folders/getFolder/feature.js.map +1 -1
- package/features/folders/getFolder/index.js +0 -2
- package/features/folders/getFolder/useGetFolder.js +6 -9
- package/features/folders/getFolder/useGetFolder.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
- package/features/folders/getFolderAncestors/abstractions.js +3 -10
- package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
- package/features/folders/getFolderAncestors/feature.js +14 -13
- package/features/folders/getFolderAncestors/feature.js.map +1 -1
- package/features/folders/getFolderAncestors/index.js +0 -2
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
- package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/feature.js +16 -18
- package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/index.js +0 -2
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +135 -164
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
- package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +17 -20
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
- package/features/folders/getFolderLevelPermission/feature.js +14 -16
- package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
- package/features/folders/getFolderLevelPermission/index.js +0 -2
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
- package/features/folders/listFolders/ListFolders.test.js +98 -111
- package/features/folders/listFolders/ListFolders.test.js.map +1 -1
- package/features/folders/listFolders/ListFoldersGqlGateway.js +29 -27
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersRepository.js +19 -14
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFolders/abstractions.js +4 -3
- package/features/folders/listFolders/abstractions.js.map +1 -1
- package/features/folders/listFolders/feature.js +17 -23
- package/features/folders/listFolders/feature.js.map +1 -1
- package/features/folders/listFolders/index.js +0 -2
- package/features/folders/listFolders/useListFolders.js +35 -37
- package/features/folders/listFolders/useListFolders.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +31 -33
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
- package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
- package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
- package/features/folders/listFoldersByParentIds/feature.js +18 -26
- package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
- package/features/folders/listFoldersByParentIds/index.js +0 -2
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
- package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
- package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
- package/features/folders/loadFolderHierarchy/feature.js +17 -23
- package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
- package/features/folders/loadFolderHierarchy/index.js +0 -2
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -45
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/abstractions.js +4 -3
- package/features/folders/updateFolder/abstractions.js.map +1 -1
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +44 -56
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +15 -15
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -1
- package/features/folders/updateFolder/feature.js +20 -28
- package/features/folders/updateFolder/feature.js.map +1 -1
- package/features/folders/updateFolder/index.js +0 -2
- package/features/folders/updateFolder/useUpdateFolder.js +17 -19
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
- package/graphql/app.gql.js +3 -4
- package/graphql/app.gql.js.map +1 -1
- package/graphql/records/common.js +41 -39
- package/graphql/records/common.js.map +1 -1
- package/graphql/records/getRecord.js +2 -3
- package/graphql/records/getRecord.js.map +1 -1
- package/graphql/records/listRecords.js +22 -13
- package/graphql/records/listRecords.js.map +1 -1
- package/graphql/records/moveRecord.js +5 -6
- package/graphql/records/moveRecord.js.map +1 -1
- package/graphql/records/types.js +0 -3
- package/graphql/records.gql.js +0 -2
- package/handlers.js +17 -40
- package/handlers.js.map +1 -1
- package/hooks/index.js +0 -2
- package/hooks/useAcoApp.js +11 -12
- package/hooks/useAcoApp.js.map +1 -1
- package/hooks/useAcoList.js +5 -6
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useFolder.js +6 -7
- package/hooks/useFolder.js.map +1 -1
- package/hooks/useFolderModel.js +11 -13
- package/hooks/useFolderModel.js.map +1 -1
- package/hooks/useFoldersType.js +7 -12
- package/hooks/useFoldersType.js.map +1 -1
- package/hooks/useNavigateFolder.js +5 -6
- package/hooks/useNavigateFolder.js.map +1 -1
- package/hooks/useRecords.js +56 -77
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.js +21 -30
- package/hooks/useTags.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +3 -8
- package/package.json +21 -21
- package/presentation/folderTree/FolderTree.d.ts +19 -0
- package/presentation/folderTree/FolderTree.js +252 -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 +51 -0
- package/presentation/folderTree/FolderTreePresenter.js +303 -0
- package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.js +517 -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/sorting.js +25 -28
- package/sorting.js.map +1 -1
- package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
- package/static/svg/folder.f3d5c400.svg +4 -0
- package/table.types.js +0 -3
- package/types.js +10 -13
- 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/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/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/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/index.js.map +0 -1
- package/constants.js.map +0 -1
- package/contexts/index.js.map +0 -1
- package/dialogs/index.js.map +0 -1
- package/domain/folder/FolderDto.js.map +0 -1
- package/exports/admin/aco.js.map +0 -1
- package/exports/admin/ui.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/index.js.map +0 -1
- package/features/folders/deleteFolder/index.js.map +0 -1
- package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
- package/features/folders/folderModelProvider/index.js.map +0 -1
- package/features/folders/getDescendantFolders/index.js.map +0 -1
- package/features/folders/getFolder/index.js.map +0 -1
- package/features/folders/getFolderAncestors/index.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
- package/features/folders/getFolderLevelPermission/index.js.map +0 -1
- package/features/folders/listFolders/index.js.map +0 -1
- package/features/folders/listFoldersByParentIds/index.js.map +0 -1
- package/features/folders/loadFolderHierarchy/index.js.map +0 -1
- package/features/folders/updateFolder/index.js.map +0 -1
- package/graphql/records/types.js.map +0 -1
- package/graphql/records.gql.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/index.js.map +0 -1
- package/table.types.js.map +0 -1
|
@@ -1,58 +1,54 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
2
|
import { Container } from "@webiny/di";
|
|
3
|
-
import { FoldersCache } from "../abstractions.js";
|
|
4
|
-
import {
|
|
5
|
-
import { CreateFolderUseCase } from "./abstractions.js";
|
|
3
|
+
import { FoldersCache, FoldersContext } from "../abstractions.js";
|
|
4
|
+
import { CreateFolderGateway, CreateFolderUseCase } from "./abstractions.js";
|
|
6
5
|
import { CreateFolderFeature } from "./feature.js";
|
|
7
|
-
import { CreateFolderGateway } from "./abstractions.js";
|
|
8
6
|
import { ListCache } from "../cache/index.js";
|
|
9
7
|
class CreateFolderMockGateway {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
async execute() {
|
|
9
|
+
return {
|
|
10
|
+
id: "any-folder-id",
|
|
11
|
+
title: "New Folder",
|
|
12
|
+
slug: "new-folder",
|
|
13
|
+
type: "abc"
|
|
14
|
+
};
|
|
15
|
+
}
|
|
18
16
|
}
|
|
19
|
-
describe("CreateFolder", ()
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
describe("CreateFolder", ()=>{
|
|
18
|
+
const type = "abc";
|
|
19
|
+
const gateway = new CreateFolderMockGateway();
|
|
20
|
+
let container;
|
|
21
|
+
const foldersCache = new ListCache();
|
|
22
|
+
beforeEach(()=>{
|
|
23
|
+
container = new Container();
|
|
24
|
+
foldersCache.clear();
|
|
25
|
+
container.registerInstance(FoldersContext, {
|
|
26
|
+
type
|
|
27
|
+
});
|
|
28
|
+
container.registerInstance(FoldersCache, foldersCache);
|
|
29
|
+
CreateFolderFeature.register(container);
|
|
30
|
+
container.registerInstance(CreateFolderGateway, gateway);
|
|
29
31
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
it("should be able to create a new folder", async ()=>{
|
|
33
|
+
const spy = vi.spyOn(gateway, "execute");
|
|
34
|
+
const createFolder = container.resolve(CreateFolderUseCase);
|
|
35
|
+
expect(foldersCache.hasItems()).toBe(false);
|
|
36
|
+
await createFolder.execute({
|
|
37
|
+
title: "New Folder",
|
|
38
|
+
slug: "new-folder",
|
|
39
|
+
parentId: null,
|
|
40
|
+
permissions: [],
|
|
41
|
+
type
|
|
42
|
+
});
|
|
43
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
44
|
+
expect(foldersCache.hasItems()).toBe(true);
|
|
45
|
+
const item = foldersCache.getItem((folder)=>"new-folder" === folder.slug);
|
|
46
|
+
expect(item).toBeDefined();
|
|
47
|
+
expect(item?.id).toEqual("any-folder-id");
|
|
48
|
+
expect(item?.type).toEqual(type);
|
|
49
|
+
expect(item?.title).toEqual("New Folder");
|
|
50
|
+
expect(item?.slug).toEqual("new-folder");
|
|
46
51
|
});
|
|
47
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
48
|
-
expect(foldersCache.hasItems()).toBe(true);
|
|
49
|
-
const item = foldersCache.getItem(folder => folder.slug === "new-folder");
|
|
50
|
-
expect(item).toBeDefined();
|
|
51
|
-
expect(item?.id).toEqual("any-folder-id");
|
|
52
|
-
expect(item?.type).toEqual(type);
|
|
53
|
-
expect(item?.title).toEqual("New Folder");
|
|
54
|
-
expect(item?.slug).toEqual("new-folder");
|
|
55
|
-
});
|
|
56
52
|
});
|
|
57
53
|
|
|
58
54
|
//# sourceMappingURL=CreateFolder.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/CreateFolder.test.js","sources":["../../../../src/features/folders/createFolder/CreateFolder.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { FoldersCache } from \"../abstractions.js\";\nimport { FoldersContext } from \"../abstractions.js\";\nimport { CreateFolderUseCase } from \"./abstractions.js\";\nimport { CreateFolderFeature } from \"./feature.js\";\nimport { CreateFolderGateway } from \"./abstractions.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { ListCache } from \"~/features/folders/cache/index.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\n\nclass CreateFolderMockGateway implements CreateFolderGateway.Interface {\n async execute() {\n return {\n id: \"any-folder-id\",\n title: \"New Folder\",\n slug: \"new-folder\",\n type: \"abc\"\n } as FolderDto;\n }\n}\n\ndescribe(\"CreateFolder\", () => {\n const type = \"abc\";\n const gateway = new CreateFolderMockGateway();\n\n let container: Container;\n const foldersCache = new ListCache<Folder>();\n\n beforeEach(() => {\n container = new Container();\n foldersCache.clear();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n\n CreateFolderFeature.register(container);\n\n // Replace the feature gateway with a mock\n container.registerInstance(CreateFolderGateway, gateway);\n });\n\n it(\"should be able to create a new folder\", async () => {\n const spy = vi.spyOn(gateway, \"execute\");\n const createFolder = container.resolve(CreateFolderUseCase);\n\n expect(foldersCache.hasItems()).toBe(false);\n\n await createFolder.execute({\n title: \"New Folder\",\n slug: \"new-folder\",\n parentId: null,\n permissions: [],\n type\n });\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(true);\n\n const item = foldersCache.getItem(folder => folder.slug === \"new-folder\");\n\n expect(item).toBeDefined();\n expect(item?.id).toEqual(\"any-folder-id\");\n expect(item?.type).toEqual(type);\n expect(item?.title).toEqual(\"New Folder\");\n expect(item?.slug).toEqual(\"new-folder\");\n });\n});\n"],"names":["CreateFolderMockGateway","describe","type","gateway","container","foldersCache","ListCache","beforeEach","Container","FoldersContext","FoldersCache","CreateFolderFeature","CreateFolderGateway","it","spy","vi","createFolder","CreateFolderUseCase","expect","item","folder"],"mappings":";;;;;;AAWA,MAAMA;IACF,MAAM,UAAU;QACZ,OAAO;YACH,IAAI;YACJ,OAAO;YACP,MAAM;YACN,MAAM;QACV;IACJ;AACJ;AAEAC,SAAS,gBAAgB;IACrB,MAAMC,OAAO;IACb,MAAMC,UAAU,IAAIH;IAEpB,IAAII;IACJ,MAAMC,eAAe,IAAIC;IAEzBC,WAAW;QACPH,YAAY,IAAII;QAChBH,aAAa,KAAK;QAElBD,UAAU,gBAAgB,CAACK,gBAAgB;YAAEP;QAAK;QAClDE,UAAU,gBAAgB,CAACM,cAAcL;QAEzCM,oBAAoB,QAAQ,CAACP;QAG7BA,UAAU,gBAAgB,CAACQ,qBAAqBT;IACpD;IAEAU,GAAG,yCAAyC;QACxC,MAAMC,MAAMC,GAAG,KAAK,CAACZ,SAAS;QAC9B,MAAMa,eAAeZ,UAAU,OAAO,CAACa;QAEvCC,OAAOb,aAAa,QAAQ,IAAI,IAAI,CAAC;QAErC,MAAMW,aAAa,OAAO,CAAC;YACvB,OAAO;YACP,MAAM;YACN,UAAU;YACV,aAAa,EAAE;YACfd;QACJ;QAEAgB,OAAOJ,KAAK,qBAAqB,CAAC;QAClCI,OAAOb,aAAa,QAAQ,IAAI,IAAI,CAAC;QAErC,MAAMc,OAAOd,aAAa,OAAO,CAACe,CAAAA,SAAUA,AAAgB,iBAAhBA,OAAO,IAAI;QAEvDF,OAAOC,MAAM,WAAW;QACxBD,OAAOC,MAAM,IAAI,OAAO,CAAC;QACzBD,OAAOC,MAAM,MAAM,OAAO,CAACjB;QAC3BgB,OAAOC,MAAM,OAAO,OAAO,CAAC;QAC5BD,OAAOC,MAAM,MAAM,OAAO,CAAC;IAC/B;AACJ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import graphql_tag from "graphql-tag";
|
|
2
2
|
import { ApolloClient } from "@webiny/app-admin/features/apolloClient/abstraction.js";
|
|
3
3
|
import { FolderModelProvider } from "../abstractions.js";
|
|
4
|
-
import { CreateFolderGateway
|
|
5
|
-
|
|
4
|
+
import { CreateFolderGateway } from "./abstractions.js";
|
|
5
|
+
const CREATE_FOLDER = (FOLDER_FIELDS)=>graphql_tag`
|
|
6
6
|
mutation CreateFolder($data: FolderCreateInput!) {
|
|
7
7
|
aco {
|
|
8
8
|
createFolder(data: $data) {
|
|
@@ -17,38 +17,33 @@ export const CREATE_FOLDER = FOLDER_FIELDS => gql`
|
|
|
17
17
|
}
|
|
18
18
|
`;
|
|
19
19
|
class CreateFolderGqlGatewayImpl {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
async execute(folder) {
|
|
25
|
-
const fields = await this.folderModelProvider.getGraphQLSelection();
|
|
26
|
-
const {
|
|
27
|
-
data: response
|
|
28
|
-
} = await this.client.mutate({
|
|
29
|
-
mutation: CREATE_FOLDER(fields),
|
|
30
|
-
variables: {
|
|
31
|
-
data: {
|
|
32
|
-
...folder
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
if (!response) {
|
|
37
|
-
throw new Error("Network error while creating folder.");
|
|
20
|
+
constructor(client, folderModelProvider){
|
|
21
|
+
this.client = client;
|
|
22
|
+
this.folderModelProvider = folderModelProvider;
|
|
38
23
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
async execute(folder) {
|
|
25
|
+
const fields = await this.folderModelProvider.getGraphQLSelection();
|
|
26
|
+
const { data: response } = await this.client.mutate({
|
|
27
|
+
mutation: CREATE_FOLDER(fields),
|
|
28
|
+
variables: {
|
|
29
|
+
data: {
|
|
30
|
+
...folder
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
if (!response) throw new Error("Network error while creating folder.");
|
|
35
|
+
const { data, error } = response.aco.createFolder;
|
|
36
|
+
if (!data) throw new Error(error?.message || "Could not create folder");
|
|
37
|
+
return data;
|
|
45
38
|
}
|
|
46
|
-
return data;
|
|
47
|
-
}
|
|
48
39
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
const CreateFolderGqlGateway = CreateFolderGateway.createImplementation({
|
|
41
|
+
implementation: CreateFolderGqlGatewayImpl,
|
|
42
|
+
dependencies: [
|
|
43
|
+
ApolloClient,
|
|
44
|
+
FolderModelProvider
|
|
45
|
+
]
|
|
52
46
|
});
|
|
47
|
+
export { CREATE_FOLDER, CreateFolderGqlGateway };
|
|
53
48
|
|
|
54
49
|
//# sourceMappingURL=CreateFolderGqlGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/CreateFolderGqlGateway.js","sources":["../../../../src/features/folders/createFolder/CreateFolderGqlGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApolloClient } from \"@webiny/app-admin/features/apolloClient/abstraction.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { FolderModelProvider } from \"~/features/folders/abstractions.js\";\nimport type { FolderGatewayDto } from \"./abstractions.js\";\nimport { CreateFolderGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport type { AcoError } from \"~/types.js\";\n\nexport interface CreateFolderResponse {\n aco: {\n createFolder: {\n data: FolderDto;\n error: AcoError | null;\n };\n };\n}\n\nexport interface CreateFolderVariables {\n data: Omit<\n FolderDto,\n | \"id\"\n | \"path\"\n | \"createdOn\"\n | \"createdBy\"\n | \"savedOn\"\n | \"savedBy\"\n | \"modifiedOn\"\n | \"modifiedBy\"\n | \"hasNonInheritedPermissions\"\n | \"canManageContent\"\n | \"canManagePermissions\"\n | \"canManageStructure\"\n >;\n}\n\nexport const CREATE_FOLDER = (FOLDER_FIELDS: string) => gql`\n mutation CreateFolder($data: FolderCreateInput!) {\n aco {\n createFolder(data: $data) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n `;\n\nclass CreateFolderGqlGatewayImpl implements GatewayAbstraction.Interface {\n constructor(\n private client: ApolloClient.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(folder: FolderGatewayDto) {\n const fields = await this.folderModelProvider.getGraphQLSelection();\n\n const { data: response } = await this.client.mutate<\n CreateFolderResponse,\n CreateFolderVariables\n >({\n mutation: CREATE_FOLDER(fields),\n variables: {\n data: {\n ...folder\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while creating folder.\");\n }\n\n const { data, error } = response.aco.createFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not create folder\");\n }\n\n return data;\n }\n}\n\nexport const CreateFolderGqlGateway = GatewayAbstraction.createImplementation({\n implementation: CreateFolderGqlGatewayImpl,\n dependencies: [ApolloClient, FolderModelProvider]\n});\n"],"names":["CREATE_FOLDER","FOLDER_FIELDS","gql","CreateFolderGqlGatewayImpl","client","folderModelProvider","folder","fields","response","Error","data","error","CreateFolderGqlGateway","GatewayAbstraction","ApolloClient","FolderModelProvider"],"mappings":";;;;AAmCO,MAAMA,gBAAgB,CAACC,gBAA0BC,WAAG,CAAC;;;;yBAInC,EAAED,cAAc;;;;;;;;;IASrC,CAAC;AAEL,MAAME;IACF,YACYC,MAA8B,EAC9BC,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,EAAE,MAAMC,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAGjD;YACE,UAAUR,cAAcO;YACxB,WAAW;gBACP,MAAM;oBACF,GAAGD,MAAM;gBACb;YACJ;QACJ;QAEA,IAAI,CAACE,UACD,MAAM,IAAIC,MAAM;QAGpB,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGH,SAAS,GAAG,CAAC,YAAY;QAEjD,IAAI,CAACE,MACD,MAAM,IAAID,MAAME,OAAO,WAAW;QAGtC,OAAOD;IACX;AACJ;AAEO,MAAME,yBAAyBC,oBAAAA,oBAAuC,CAAC;IAC1E,gBAAgBV;IAChB,cAAc;QAACW;QAAcC;KAAoB;AACrD"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
|
-
import { FoldersContext } from "../abstractions.js";
|
|
2
|
-
import { CreateFolderGateway } from "./abstractions.js";
|
|
3
|
-
import { CreateFolderRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
4
|
-
import { FoldersCache } from "../abstractions.js";
|
|
1
|
+
import { FoldersCache, FoldersContext } from "../abstractions.js";
|
|
2
|
+
import { CreateFolderGateway, CreateFolderRepository } from "./abstractions.js";
|
|
5
3
|
import { Folder } from "../../../domain/folder/Folder.js";
|
|
6
4
|
class CreateFolderRepositoryImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
5
|
+
constructor(cache, foldersContext, gateway){
|
|
6
|
+
this.cache = cache;
|
|
7
|
+
this.foldersContext = foldersContext;
|
|
8
|
+
this.gateway = gateway;
|
|
9
|
+
}
|
|
10
|
+
async execute(folder) {
|
|
11
|
+
const dto = {
|
|
12
|
+
title: folder.title,
|
|
13
|
+
slug: folder.slug,
|
|
14
|
+
permissions: folder.permissions,
|
|
15
|
+
type: this.foldersContext.type,
|
|
16
|
+
parentId: folder.parentId,
|
|
17
|
+
extensions: folder.extensions
|
|
18
|
+
};
|
|
19
|
+
const result = await this.gateway.execute(dto);
|
|
20
|
+
this.cache.addItems([
|
|
21
|
+
Folder.create(result)
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const CreateFolderRepository_CreateFolderRepository = CreateFolderRepository.createImplementation({
|
|
26
|
+
implementation: CreateFolderRepositoryImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
FoldersCache,
|
|
29
|
+
FoldersContext,
|
|
30
|
+
CreateFolderGateway
|
|
31
|
+
]
|
|
28
32
|
});
|
|
33
|
+
export { CreateFolderRepository_CreateFolderRepository as CreateFolderRepository };
|
|
29
34
|
|
|
30
35
|
//# sourceMappingURL=CreateFolderRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/CreateFolderRepository.js","sources":["../../../../src/features/folders/createFolder/CreateFolderRepository.ts"],"sourcesContent":["import { FoldersContext } from \"~/features/folders/abstractions.js\";\nimport type { FolderGatewayDto } from \"./abstractions.js\";\nimport { CreateFolderGateway } from \"./abstractions.js\";\nimport { CreateFolderRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { FoldersCache } from \"~/features/folders/abstractions.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\n\nclass CreateFolderRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private foldersContext: FoldersContext.Interface,\n private gateway: CreateFolderGateway.Interface\n ) {}\n\n async execute(folder: Folder) {\n const dto: FolderGatewayDto = {\n title: folder.title,\n slug: folder.slug,\n permissions: folder.permissions,\n type: this.foldersContext.type,\n parentId: folder.parentId,\n extensions: folder.extensions\n };\n\n const result = await this.gateway.execute(dto);\n this.cache.addItems([Folder.create(result)]);\n }\n}\n\nexport const CreateFolderRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateFolderRepositoryImpl,\n dependencies: [FoldersCache, FoldersContext, CreateFolderGateway]\n});\n"],"names":["CreateFolderRepositoryImpl","cache","foldersContext","gateway","folder","dto","result","Folder","CreateFolderRepository","RepositoryAbstraction","FoldersCache","FoldersContext","CreateFolderGateway"],"mappings":";;;AAOA,MAAMA;IACF,YACYC,KAA6B,EAC7BC,cAAwC,EACxCC,OAAsC,CAChD;aAHUF,KAAK,GAALA;aACAC,cAAc,GAAdA;aACAC,OAAO,GAAPA;IACT;IAEH,MAAM,QAAQC,MAAc,EAAE;QAC1B,MAAMC,MAAwB;YAC1B,OAAOD,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,aAAaA,OAAO,WAAW;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI;YAC9B,UAAUA,OAAO,QAAQ;YACzB,YAAYA,OAAO,UAAU;QACjC;QAEA,MAAME,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAACD;QAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAACE,OAAO,MAAM,CAACD;SAAQ;IAC/C;AACJ;AAEO,MAAME,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBT;IAChB,cAAc;QAACU;QAAcC;QAAgBC;KAAoB;AACrE"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { Folder } from "../../../domain/folder/Folder.js";
|
|
2
|
-
import {
|
|
2
|
+
import { CreateFolderRepository, CreateFolderUseCase } from "./abstractions.js";
|
|
3
3
|
class CreateFolderUseCaseImpl {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
constructor(repository){
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async execute(params) {
|
|
8
|
+
await this.repository.execute(Folder.create({
|
|
9
|
+
title: params.title,
|
|
10
|
+
slug: params.slug,
|
|
11
|
+
type: params.type,
|
|
12
|
+
parentId: params.parentId,
|
|
13
|
+
permissions: params.permissions,
|
|
14
|
+
extensions: params.extensions
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const CreateFolderUseCase_CreateFolderUseCase = CreateFolderUseCase.createImplementation({
|
|
19
|
+
implementation: CreateFolderUseCaseImpl,
|
|
20
|
+
dependencies: [
|
|
21
|
+
CreateFolderRepository
|
|
22
|
+
]
|
|
21
23
|
});
|
|
24
|
+
export { CreateFolderUseCase_CreateFolderUseCase as CreateFolderUseCase };
|
|
22
25
|
|
|
23
26
|
//# sourceMappingURL=CreateFolderUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/CreateFolderUseCase.js","sources":["../../../../src/features/folders/createFolder/CreateFolderUseCase.ts"],"sourcesContent":["import { Folder } from \"~/domain/folder/Folder.js\";\nimport {\n CreateFolderUseCase as UseCaseAbstraction,\n CreateFolderRepository\n} from \"./abstractions.js\";\n\nclass CreateFolderUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: CreateFolderRepository.Interface) {}\n\n async execute(params: UseCaseAbstraction.Params) {\n await this.repository.execute(\n Folder.create({\n title: params.title,\n slug: params.slug,\n type: params.type,\n parentId: params.parentId,\n permissions: params.permissions,\n extensions: params.extensions\n })\n );\n }\n}\n\nexport const CreateFolderUseCase = UseCaseAbstraction.createImplementation({\n implementation: CreateFolderUseCaseImpl,\n dependencies: [CreateFolderRepository]\n});\n"],"names":["CreateFolderUseCaseImpl","repository","params","Folder","CreateFolderUseCase","UseCaseAbstraction","CreateFolderRepository"],"mappings":";;AAMA,MAAMA;IACF,YAAoBC,UAA4C,CAAE;aAA9CA,UAAU,GAAVA;IAA+C;IAEnE,MAAM,QAAQC,MAAiC,EAAE;QAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CACzBC,OAAO,MAAM,CAAC;YACV,OAAOD,OAAO,KAAK;YACnB,MAAMA,OAAO,IAAI;YACjB,MAAMA,OAAO,IAAI;YACjB,UAAUA,OAAO,QAAQ;YACzB,aAAaA,OAAO,WAAW;YAC/B,YAAYA,OAAO,UAAU;QACjC;IAER;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAAuC,CAAC;IACvE,gBAAgBL;IAChB,cAAc;QAACM;KAAuB;AAC1C"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
// Repository
|
|
8
|
-
|
|
9
|
-
export const CreateFolderRepository = createAbstraction("CreateFolderRepository");
|
|
10
|
-
|
|
11
|
-
// Gateway
|
|
12
|
-
|
|
13
|
-
export const CreateFolderGateway = createAbstraction("CreateFolderGateway");
|
|
2
|
+
const CreateFolderUseCase = createAbstraction("CreateFolderUseCase");
|
|
3
|
+
const CreateFolderRepository = createAbstraction("CreateFolderRepository");
|
|
4
|
+
const CreateFolderGateway = createAbstraction("CreateFolderGateway");
|
|
5
|
+
export { CreateFolderGateway, CreateFolderRepository, CreateFolderUseCase };
|
|
14
6
|
|
|
15
7
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/abstractions.js","sources":["../../../../src/features/folders/createFolder/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { Folder } from \"~/domain/folder/Folder.js\";\nimport type { FolderPermission } from \"~/types.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\n\n// Use Case\n\nexport interface CreateFolderParams {\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 ICreateFolderUseCase {\n execute: (params: CreateFolderParams) => Promise<void>;\n}\n\nexport const CreateFolderUseCase = createAbstraction<ICreateFolderUseCase>(\"CreateFolderUseCase\");\n\nexport namespace CreateFolderUseCase {\n export type Interface = ICreateFolderUseCase;\n export type Params = CreateFolderParams;\n}\n\n// Repository\n\nexport interface ICreateFolderRepository {\n execute: (folder: Folder) => Promise<void>;\n}\n\nexport const CreateFolderRepository =\n createAbstraction<ICreateFolderRepository>(\"CreateFolderRepository\");\n\nexport namespace CreateFolderRepository {\n export type Interface = ICreateFolderRepository;\n}\n\n// Gateway\nexport interface ICreateFolderGateway {\n execute: (folderDto: FolderGatewayDto) => Promise<FolderDto>;\n}\n\nexport const CreateFolderGateway = createAbstraction<ICreateFolderGateway>(\"CreateFolderGateway\");\nexport namespace CreateFolderGateway {\n export type Interface = ICreateFolderGateway;\n}\n\nexport interface FolderGatewayDto {\n title: string;\n slug: string;\n permissions: FolderPermission[];\n type: string;\n parentId: string | null;\n extensions: Record<string, any>;\n}\n"],"names":["CreateFolderUseCase","createAbstraction","CreateFolderRepository","CreateFolderGateway"],"mappings":";AAoBO,MAAMA,sBAAsBC,kBAAwC;AAapE,MAAMC,yBACTD,kBAA2C;AAWxC,MAAME,sBAAsBF,kBAAwC"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
-
import { CreateFolderUseCase
|
|
3
|
-
import { CreateFolderUseCase } from "./CreateFolderUseCase.js";
|
|
2
|
+
import { CreateFolderUseCase } from "./abstractions.js";
|
|
3
|
+
import { CreateFolderUseCase as external_CreateFolderUseCase_js_CreateFolderUseCase } from "./CreateFolderUseCase.js";
|
|
4
4
|
import { CreateFolderRepository } from "./CreateFolderRepository.js";
|
|
5
5
|
import { CreateFolderGqlGateway } from "./CreateFolderGqlGateway.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
const CreateFolderFeature = createFeature({
|
|
7
|
+
name: "CreateFolder",
|
|
8
|
+
register (container) {
|
|
9
|
+
container.register(external_CreateFolderUseCase_js_CreateFolderUseCase);
|
|
10
|
+
container.register(CreateFolderRepository).inSingletonScope();
|
|
11
|
+
container.register(CreateFolderGqlGateway);
|
|
12
|
+
},
|
|
13
|
+
resolve (container) {
|
|
14
|
+
return {
|
|
15
|
+
useCase: container.resolve(CreateFolderUseCase)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
18
|
});
|
|
19
|
+
export { CreateFolderFeature };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/feature.js","sources":["../../../../src/features/folders/createFolder/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { CreateFolderUseCase as UseCase } from \"./abstractions.js\";\nimport { CreateFolderUseCase } from \"./CreateFolderUseCase.js\";\nimport { CreateFolderRepository } from \"./CreateFolderRepository.js\";\nimport { CreateFolderGqlGateway } from \"./CreateFolderGqlGateway.js\";\n\nexport const CreateFolderFeature = createFeature({\n name: \"CreateFolder\",\n register(container) {\n container.register(CreateFolderUseCase);\n container.register(CreateFolderRepository).inSingletonScope();\n container.register(CreateFolderGqlGateway);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase)\n };\n }\n});\n"],"names":["CreateFolderFeature","createFeature","container","CreateFolderUseCase","CreateFolderRepository","CreateFolderGqlGateway","UseCase"],"mappings":";;;;;AAMO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,wBAAwB,gBAAgB;QAC3DF,UAAU,QAAQ,CAACG;IACvB;IACA,SAAQH,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACI;QAC/B;IACJ;AACJ"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { useFeature } from "@webiny/app";
|
|
2
2
|
import { CreateFolderFeature } from "./feature.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
createFolder: folder => {
|
|
9
|
-
return useCase.execute(folder);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
3
|
+
const useCreateFolder = ()=>{
|
|
4
|
+
const { useCase } = useFeature(CreateFolderFeature);
|
|
5
|
+
return {
|
|
6
|
+
createFolder: (folder)=>useCase.execute(folder)
|
|
7
|
+
};
|
|
12
8
|
};
|
|
9
|
+
export { useCreateFolder };
|
|
13
10
|
|
|
14
11
|
//# sourceMappingURL=useCreateFolder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/createFolder/useCreateFolder.js","sources":["../../../../src/features/folders/createFolder/useCreateFolder.ts"],"sourcesContent":["import { useFeature } from \"@webiny/app\";\nimport { CreateFolderUseCase } from \"~/features/folders/createFolder/abstractions.js\";\nimport { CreateFolderFeature } from \"./feature.js\";\n\nexport const useCreateFolder = () => {\n const { useCase } = useFeature(CreateFolderFeature);\n\n return {\n createFolder: (folder: CreateFolderUseCase.Params) => {\n return useCase.execute(folder);\n }\n };\n};\n"],"names":["useCreateFolder","useCase","useFeature","CreateFolderFeature","folder"],"mappings":";;AAIO,MAAMA,kBAAkB;IAC3B,MAAM,EAAEC,OAAO,EAAE,GAAGC,WAAWC;IAE/B,OAAO;QACH,cAAc,CAACC,SACJH,QAAQ,OAAO,CAACG;IAE/B;AACJ"}
|
|
@@ -1,49 +1,48 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
2
|
import { Container } from "@webiny/di";
|
|
3
|
-
import { FoldersCache } from "../abstractions.js";
|
|
4
|
-
import {
|
|
5
|
-
import { DeleteFolderUseCase, DeleteFolderGateway } from "./abstractions.js";
|
|
3
|
+
import { FoldersCache, FoldersContext } from "../abstractions.js";
|
|
4
|
+
import { DeleteFolderGateway, DeleteFolderUseCase } from "./abstractions.js";
|
|
6
5
|
import { DeleteFolderFeature } from "./feature.js";
|
|
7
6
|
import { Folder } from "../../../domain/folder/Folder.js";
|
|
8
7
|
import { ListCache } from "../cache/index.js";
|
|
9
8
|
class DeleteFolderMockGateway {
|
|
10
|
-
|
|
9
|
+
async execute() {}
|
|
11
10
|
}
|
|
12
|
-
describe("DeleteFolder", ()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
describe("DeleteFolder", ()=>{
|
|
12
|
+
const type = "abc";
|
|
13
|
+
const gateway = new DeleteFolderMockGateway();
|
|
14
|
+
let container;
|
|
15
|
+
const foldersCache = new ListCache();
|
|
16
|
+
beforeEach(()=>{
|
|
17
|
+
foldersCache.clear();
|
|
18
|
+
container = new Container();
|
|
19
|
+
container.registerInstance(FoldersContext, {
|
|
20
|
+
type
|
|
21
|
+
});
|
|
22
|
+
container.registerInstance(FoldersCache, foldersCache);
|
|
23
|
+
DeleteFolderFeature.register(container);
|
|
24
|
+
container.registerInstance(DeleteFolderGateway, gateway);
|
|
25
|
+
foldersCache.addItems([
|
|
26
|
+
Folder.create({
|
|
27
|
+
id: "any-folder-id",
|
|
28
|
+
title: "New Folder",
|
|
29
|
+
slug: "new-folder",
|
|
30
|
+
parentId: null,
|
|
31
|
+
permissions: [],
|
|
32
|
+
type
|
|
33
|
+
})
|
|
34
|
+
]);
|
|
35
|
+
});
|
|
36
|
+
it("should be able to delete a folder", async ()=>{
|
|
37
|
+
const spy = vi.spyOn(gateway, "execute");
|
|
38
|
+
const deleteFolder = container.resolve(DeleteFolderUseCase);
|
|
39
|
+
expect(foldersCache.hasItems()).toBe(true);
|
|
40
|
+
const item = foldersCache.getItem((folder)=>"any-folder-id" === folder.id);
|
|
41
|
+
expect(item?.id).toEqual("any-folder-id");
|
|
42
|
+
await deleteFolder.execute("any-folder-id");
|
|
43
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
44
|
+
expect(foldersCache.hasItems()).toBe(false);
|
|
22
45
|
});
|
|
23
|
-
container.registerInstance(FoldersCache, foldersCache);
|
|
24
|
-
DeleteFolderFeature.register(container);
|
|
25
|
-
|
|
26
|
-
// Mock the gateway
|
|
27
|
-
container.registerInstance(DeleteFolderGateway, gateway);
|
|
28
|
-
foldersCache.addItems([Folder.create({
|
|
29
|
-
id: "any-folder-id",
|
|
30
|
-
title: "New Folder",
|
|
31
|
-
slug: "new-folder",
|
|
32
|
-
parentId: null,
|
|
33
|
-
permissions: [],
|
|
34
|
-
type
|
|
35
|
-
})]);
|
|
36
|
-
});
|
|
37
|
-
it("should be able to delete a folder", async () => {
|
|
38
|
-
const spy = vi.spyOn(gateway, "execute");
|
|
39
|
-
const deleteFolder = container.resolve(DeleteFolderUseCase);
|
|
40
|
-
expect(foldersCache.hasItems()).toBe(true);
|
|
41
|
-
const item = foldersCache.getItem(folder => folder.id === "any-folder-id");
|
|
42
|
-
expect(item?.id).toEqual("any-folder-id");
|
|
43
|
-
await deleteFolder.execute("any-folder-id");
|
|
44
|
-
expect(spy).toHaveBeenCalledTimes(1);
|
|
45
|
-
expect(foldersCache.hasItems()).toBe(false);
|
|
46
|
-
});
|
|
47
46
|
});
|
|
48
47
|
|
|
49
48
|
//# sourceMappingURL=DeleteFolder.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/deleteFolder/DeleteFolder.test.js","sources":["../../../../src/features/folders/deleteFolder/DeleteFolder.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { FoldersCache } from \"../abstractions.js\";\nimport { FoldersContext } from \"../abstractions.js\";\nimport { DeleteFolderUseCase, DeleteFolderGateway } from \"./abstractions.js\";\nimport { DeleteFolderFeature } from \"./feature.js\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { ListCache } from \"~/features/folders/cache/index.js\";\n\nclass DeleteFolderMockGateway implements DeleteFolderGateway.Interface {\n async execute() {}\n}\n\ndescribe(\"DeleteFolder\", () => {\n const type = \"abc\";\n const gateway = new DeleteFolderMockGateway();\n\n let container: Container;\n const foldersCache = new ListCache<Folder>();\n\n beforeEach(() => {\n foldersCache.clear();\n\n container = new Container();\n\n container.registerInstance(FoldersContext, { type });\n container.registerInstance(FoldersCache, foldersCache);\n\n DeleteFolderFeature.register(container);\n\n // Mock the gateway\n container.registerInstance(DeleteFolderGateway, gateway);\n\n foldersCache.addItems([\n Folder.create({\n id: \"any-folder-id\",\n title: \"New Folder\",\n slug: \"new-folder\",\n parentId: null,\n permissions: [],\n type\n })\n ]);\n });\n\n it(\"should be able to delete a folder\", async () => {\n const spy = vi.spyOn(gateway, \"execute\");\n const deleteFolder = container.resolve(DeleteFolderUseCase);\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\n await deleteFolder.execute(\"any-folder-id\");\n\n expect(spy).toHaveBeenCalledTimes(1);\n expect(foldersCache.hasItems()).toBe(false);\n });\n});\n"],"names":["DeleteFolderMockGateway","describe","type","gateway","container","foldersCache","ListCache","beforeEach","Container","FoldersContext","FoldersCache","DeleteFolderFeature","DeleteFolderGateway","Folder","it","spy","vi","deleteFolder","DeleteFolderUseCase","expect","item","folder"],"mappings":";;;;;;;AASA,MAAMA;IACF,MAAM,UAAU,CAAC;AACrB;AAEAC,SAAS,gBAAgB;IACrB,MAAMC,OAAO;IACb,MAAMC,UAAU,IAAIH;IAEpB,IAAII;IACJ,MAAMC,eAAe,IAAIC;IAEzBC,WAAW;QACPF,aAAa,KAAK;QAElBD,YAAY,IAAII;QAEhBJ,UAAU,gBAAgB,CAACK,gBAAgB;YAAEP;QAAK;QAClDE,UAAU,gBAAgB,CAACM,cAAcL;QAEzCM,oBAAoB,QAAQ,CAACP;QAG7BA,UAAU,gBAAgB,CAACQ,qBAAqBT;QAEhDE,aAAa,QAAQ,CAAC;YAClBQ,OAAO,MAAM,CAAC;gBACV,IAAI;gBACJ,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,aAAa,EAAE;gBACfX;YACJ;SACH;IACL;IAEAY,GAAG,qCAAqC;QACpC,MAAMC,MAAMC,GAAG,KAAK,CAACb,SAAS;QAC9B,MAAMc,eAAeb,UAAU,OAAO,CAACc;QAEvCC,OAAOd,aAAa,QAAQ,IAAI,IAAI,CAAC;QACrC,MAAMe,OAAOf,aAAa,OAAO,CAACgB,CAAAA,SAAUA,AAAc,oBAAdA,OAAO,EAAE;QACrDF,OAAOC,MAAM,IAAI,OAAO,CAAC;QAEzB,MAAMH,aAAa,OAAO,CAAC;QAE3BE,OAAOJ,KAAK,qBAAqB,CAAC;QAClCI,OAAOd,aAAa,QAAQ,IAAI,IAAI,CAAC;IACzC;AACJ"}
|