@webiny/app-aco 6.0.0-alpha.0 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/AdvancedSearch/AdvancedSearch.d.ts +1 -1
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.d.ts +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +3 -3
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +3 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +2 -2
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.d.ts +1 -1
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepository.d.ts +2 -2
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +3 -3
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.d.ts +2 -2
- package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
- package/components/AdvancedSearch/index.d.ts +2 -2
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useInputField.d.ts +1 -1
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/FolderTree/List/List.d.ts +1 -1
- package/components/FolderTree/List/List.js +15 -1
- package/components/FolderTree/List/List.js.map +1 -1
- package/components/FolderTree/List/utils.d.ts +1 -1
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/MenuActions/MenuActions.js +2 -0
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
- package/components/FolderTree/index.d.ts +1 -1
- package/components/FolderTree/index.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +2 -2
- 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.map +1 -1
- 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.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +1 -1
- 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.map +1 -1
- package/components/Table/components/Table/Columns/Column.d.ts +2 -2
- 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.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
- 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.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +1 -1
- 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.map +1 -1
- package/components/Table/components/Table/Table.d.ts +4 -3
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.d.ts +8 -6
- package/components/Table/components/Table/TableInner.js.map +1 -1
- package/components/Table/components/Table/TablePresenter.d.ts +1 -1
- package/components/Table/components/Table/TablePresenter.js.map +1 -1
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +1 -1
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
- package/components/Table/createTableData.d.ts +6 -6
- package/components/Table/createTableData.js +8 -8
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/useTableRow.d.ts +9 -4
- package/components/Table/useTableRow.js +10 -3
- package/components/Table/useTableRow.js.map +1 -1
- package/config/AcoConfig.d.ts +12 -7
- package/config/AcoConfig.js +0 -5
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/index.d.ts +1 -1
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/createFolderFieldDecoratorFactory.d.ts +1 -1
- package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
- package/config/folder/index.d.ts +1 -1
- package/config/folder/index.js.map +1 -1
- package/config/record/index.d.ts +1 -1
- package/config/record/index.js.map +1 -1
- package/config/table/Column.d.ts +10 -4
- package/config/table/Column.js.map +1 -1
- package/config/table/index.d.ts +9 -4
- package/config/table/index.js.map +1 -1
- package/contexts/acoList.d.ts +1 -1
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.d.ts +2 -2
- package/contexts/app.js.map +1 -1
- package/contexts/folder.d.ts +1 -1
- package/contexts/folder.js.map +1 -1
- package/contexts/folders.d.ts +2 -1
- package/contexts/folders.js.map +1 -1
- package/contexts/index.d.ts +1 -1
- package/contexts/index.js +1 -1
- package/contexts/index.js.map +1 -1
- package/contexts/records.d.ts +3 -2
- package/contexts/records.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.d.ts +1 -1
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.d.ts +1 -1
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.d.ts +3 -2
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.d.ts +1 -1
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/features/folders/Folder.d.ts +1 -1
- package/features/folders/Folder.js.map +1 -1
- package/features/folders/cache/FoldersCacheFactory.d.ts +1 -1
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
- package/features/folders/createFolder/CreateFolder.d.ts +2 -2
- package/features/folders/createFolder/CreateFolder.js.map +1 -1
- package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +4 -4
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
- package/features/folders/createFolder/CreateFolderRepository.d.ts +3 -3
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCase.d.ts +2 -2
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +2 -2
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/createFolder/FolderDto.d.ts +1 -1
- package/features/folders/createFolder/FolderDto.js.map +1 -1
- package/features/folders/createFolder/FolderGqlDto.d.ts +1 -1
- package/features/folders/createFolder/FolderGqlDto.js.map +1 -1
- package/features/folders/createFolder/ICreateFolderGateway.d.ts +2 -2
- package/features/folders/createFolder/ICreateFolderGateway.js.map +1 -1
- package/features/folders/createFolder/ICreateFolderRepository.d.ts +1 -1
- package/features/folders/createFolder/ICreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/ICreateFolderUseCase.d.ts +1 -1
- package/features/folders/createFolder/ICreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/useCreateFolder.d.ts +1 -1
- package/features/folders/createFolder/useCreateFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.d.ts +2 -2
- package/features/folders/deleteFolder/DeleteFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +3 -3
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +4 -4
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +2 -2
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +2 -2
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +1 -1
- package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +1 -1
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/useDeleteFolder.d.ts +1 -1
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
- package/features/folders/getDescendantFolders/FolderDto.d.ts +1 -1
- package/features/folders/getDescendantFolders/FolderDto.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +3 -3
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +2 -2
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +1 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +1 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getFolder/GetFolder.d.ts +2 -2
- package/features/folders/getFolder/GetFolder.js.map +1 -1
- package/features/folders/getFolder/GetFolderGqlGateway.d.ts +3 -3
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
- package/features/folders/getFolder/GetFolderRepository.d.ts +3 -3
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCase.d.ts +2 -2
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +2 -2
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/getFolder/IGetFolderGateway.d.ts +1 -1
- package/features/folders/getFolder/IGetFolderGateway.js.map +1 -1
- package/features/folders/getFolder/useGetFolder.d.ts +1 -1
- package/features/folders/getFolder/useGetFolder.js.map +1 -1
- package/features/folders/getFolderAncestors/FolderDto.d.ts +9 -0
- package/features/folders/getFolderAncestors/FolderDto.js +3 -0
- package/features/folders/getFolderAncestors/FolderDto.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.d.ts +4 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.js +12 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.d.ts +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +97 -0
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +7 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +25 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +14 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +18 -0
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.d.ts +4 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js +3 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js.map +1 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.d.ts +7 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js +3 -0
- package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js.map +1 -0
- package/features/folders/getFolderAncestors/index.d.ts +1 -0
- package/features/folders/getFolderAncestors/index.js +3 -0
- package/features/folders/getFolderAncestors/index.js.map +1 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +3 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js +17 -0
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -0
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js.map +1 -1
- package/features/folders/getFolderHierarchy/FolderDto.d.ts +2 -2
- package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -1
- package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +1 -1
- package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +5 -5
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +3 -3
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +2 -2
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +2 -2
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +1 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +1 -1
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +1 -1
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +2 -2
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +4 -4
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +2 -2
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +1 -1
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
- package/features/folders/getFolderModel/FolderModelContext.js.map +1 -1
- package/features/folders/getFolderModel/FolderModelDto.d.ts +1 -1
- package/features/folders/getFolderModel/FolderModelDto.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModel.d.ts +3 -3
- package/features/folders/getFolderModel/GetFolderModel.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.d.ts +4 -4
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelRepository.d.ts +2 -2
- package/features/folders/getFolderModel/GetFolderModelRepository.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelUseCase.d.ts +2 -2
- package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +1 -1
- package/features/folders/getFolderModel/IGetFolderModelGateway.d.ts +1 -1
- package/features/folders/getFolderModel/IGetFolderModelGateway.js.map +1 -1
- package/features/folders/getFolderModel/IGetFolderModelRepository.d.ts +1 -1
- package/features/folders/getFolderModel/IGetFolderModelRepository.js.map +1 -1
- package/features/folders/index.d.ts +1 -0
- package/features/folders/index.js +1 -0
- package/features/folders/index.js.map +1 -1
- package/features/folders/listFolders/FolderDto.d.ts +2 -2
- package/features/folders/listFolders/FolderDto.js.map +1 -1
- package/features/folders/listFolders/FolderGqlDto.d.ts +1 -1
- package/features/folders/listFolders/FolderGqlDto.js.map +1 -1
- package/features/folders/listFolders/IListFoldersGateway.d.ts +1 -1
- package/features/folders/listFolders/IListFoldersGateway.js.map +1 -1
- package/features/folders/listFolders/ListFolders.d.ts +5 -5
- package/features/folders/listFolders/ListFolders.js.map +1 -1
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.d.ts +3 -3
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +3 -3
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersRepository.d.ts +3 -3
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCase.d.ts +2 -2
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +2 -2
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFolders/useListFolders.d.ts +1 -1
- package/features/folders/listFolders/useListFolders.js.map +1 -1
- package/features/folders/listFoldersByParentIds/FolderDto.d.ts +2 -2
- package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -1
- package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +1 -1
- package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +1 -1
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +1 -1
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +5 -5
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +3 -3
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +3 -3
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +2 -2
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +2 -2
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +3 -3
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +1 -1
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
- package/features/folders/updateFolder/FolderDto.d.ts +1 -1
- package/features/folders/updateFolder/FolderDto.js.map +1 -1
- package/features/folders/updateFolder/FolderGqlDto.d.ts +1 -1
- package/features/folders/updateFolder/FolderGqlDto.js.map +1 -1
- package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +2 -2
- package/features/folders/updateFolder/IUpdateFolderGateway.js.map +1 -1
- package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +1 -1
- package/features/folders/updateFolder/IUpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +1 -1
- package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolder.d.ts +2 -2
- package/features/folders/updateFolder/UpdateFolder.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +4 -4
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepository.d.ts +3 -3
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.d.ts +2 -2
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.d.ts +2 -2
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +2 -2
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +2 -2
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -1
- package/features/folders/updateFolder/useUpdateFolder.d.ts +1 -1
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
- package/graphql/app.gql.d.ts +1 -1
- package/graphql/app.gql.js.map +1 -1
- package/graphql/records/common.d.ts +1 -1
- package/graphql/records/common.js.map +1 -1
- package/graphql/records/createRecord.d.ts +1 -1
- package/graphql/records/createRecord.js.map +1 -1
- package/graphql/records/deleteRecord.d.ts +1 -1
- package/graphql/records/deleteRecord.js.map +1 -1
- package/graphql/records/getRecord.d.ts +1 -1
- package/graphql/records/getRecord.js.map +1 -1
- package/graphql/records/listRecords.d.ts +1 -1
- package/graphql/records/listRecords.js.map +1 -1
- package/graphql/records/listTags.d.ts +1 -1
- package/graphql/records/listTags.js.map +1 -1
- package/graphql/records/moveRecord.d.ts +1 -1
- package/graphql/records/moveRecord.js.map +1 -1
- package/graphql/records/types.d.ts +1 -1
- package/graphql/records/types.js.map +1 -1
- package/graphql/records/updateRecord.d.ts +1 -1
- package/graphql/records/updateRecord.js.map +1 -1
- package/handlers.d.ts +4 -4
- package/handlers.js.map +1 -1
- package/hooks/useAcoApp.d.ts +1 -1
- package/hooks/useAcoApp.js.map +1 -1
- package/hooks/useAcoList.d.ts +2 -2
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useRecords.d.ts +2 -2
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.d.ts +1 -1
- package/hooks/useTags.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +18 -18
- package/sorting.d.ts +1 -1
- package/sorting.js.map +1 -1
- package/table.types.d.ts +6 -4
- package/table.types.js.map +1 -1
- package/types.d.ts +2 -2
- package/types.js +0 -1
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ROOT_FOLDER","ListFoldersByParentIdsUseCase","constructor","repository","execute","params","parentIds","getParentIds"],"sources":["ListFoldersByParentIdsUseCase.ts"],"sourcesContent":["import { IListFoldersByParentIdsRepository } from \"./IListFoldersByParentIdsRepository\";\nimport {\n IListFoldersByParentIdsUseCase,\n ListFoldersByParentIdsUseCaseParams\n} from \"./IListFoldersByParentIdsUseCase\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class ListFoldersByParentIdsUseCase implements IListFoldersByParentIdsUseCase {\n private repository: IListFoldersByParentIdsRepository;\n\n constructor(repository: IListFoldersByParentIdsRepository) {\n this.repository = repository;\n }\n\n async execute(params: ListFoldersByParentIdsUseCaseParams) {\n await this.repository.execute({\n parentIds: this.getParentIds(params.parentIds)\n });\n }\n\n private getParentIds(parentIds?: string[]) {\n if (!parentIds) {\n return [ROOT_FOLDER];\n }\n\n return parentIds;\n }\n}\n"],"mappings":"AAKA,SAASA,WAAW;AAEpB,OAAO,MAAMC,6BAA6B,CAA2C;EAGjFC,WAAWA,CAACC,UAA6C,EAAE;IACvD,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAA2C,EAAE;IACvD,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAAC;MAC1BE,SAAS,EAAE,IAAI,CAACC,YAAY,CAACF,MAAM,CAACC,SAAS;IACjD,CAAC,CAAC;EACN;EAEQC,YAAYA,CAACD,SAAoB,EAAE;IACvC,IAAI,CAACA,SAAS,EAAE;MACZ,OAAO,CAACN,WAAW,CAAC;IACxB;IAEA,OAAOM,SAAS;EACpB;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ROOT_FOLDER","ListFoldersByParentIdsUseCase","constructor","repository","execute","params","parentIds","getParentIds"],"sources":["ListFoldersByParentIdsUseCase.ts"],"sourcesContent":["import type { IListFoldersByParentIdsRepository } from \"./IListFoldersByParentIdsRepository\";\nimport type {\n IListFoldersByParentIdsUseCase,\n ListFoldersByParentIdsUseCaseParams\n} from \"./IListFoldersByParentIdsUseCase\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class ListFoldersByParentIdsUseCase implements IListFoldersByParentIdsUseCase {\n private repository: IListFoldersByParentIdsRepository;\n\n constructor(repository: IListFoldersByParentIdsRepository) {\n this.repository = repository;\n }\n\n async execute(params: ListFoldersByParentIdsUseCaseParams) {\n await this.repository.execute({\n parentIds: this.getParentIds(params.parentIds)\n });\n }\n\n private getParentIds(parentIds?: string[]) {\n if (!parentIds) {\n return [ROOT_FOLDER];\n }\n\n return parentIds;\n }\n}\n"],"mappings":"AAKA,SAASA,WAAW;AAEpB,OAAO,MAAMC,6BAA6B,CAA2C;EAGjFC,WAAWA,CAACC,UAA6C,EAAE;IACvD,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAA2C,EAAE;IACvD,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAAC;MAC1BE,SAAS,EAAE,IAAI,CAACC,YAAY,CAACF,MAAM,CAACC,SAAS;IACjD,CAAC,CAAC;EACN;EAEQC,YAAYA,CAACD,SAAoB,EAAE;IACvC,IAAI,CAACA,SAAS,EAAE;MACZ,OAAO,CAACN,WAAW,CAAC;IACxB;IAEA,OAAOM,SAAS;EACpB;AACJ","ignoreList":[]}
|
package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ILoadingRepository } from "@webiny/app-utils";
|
|
2
|
-
import { IListFoldersByParentIdsUseCase, ListFoldersByParentIdsUseCaseParams } from "./IListFoldersByParentIdsUseCase";
|
|
3
|
-
import { LoadedCache } from "../..";
|
|
1
|
+
import type { ILoadingRepository } from "@webiny/app-utils";
|
|
2
|
+
import type { IListFoldersByParentIdsUseCase, ListFoldersByParentIdsUseCaseParams } from "./IListFoldersByParentIdsUseCase";
|
|
3
|
+
import type { LoadedCache } from "../..";
|
|
4
4
|
export declare class ListFoldersByParentIdsUseCaseWithLoading implements IListFoldersByParentIdsUseCase {
|
|
5
5
|
private loadingRepository;
|
|
6
6
|
private loadedCache;
|
package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LoadingActionsEnum","ListFoldersByParentIdsUseCaseWithLoading","constructor","loadingRepository","loadedCache","useCase","execute","params","action","init","parentIds","length","filter","parentId","getItems","includes","join","runCallBack"],"sources":["ListFoldersByParentIdsUseCaseWithLoading.ts"],"sourcesContent":["import { ILoadingRepository } from \"@webiny/app-utils\";\nimport {\n IListFoldersByParentIdsUseCase,\n ListFoldersByParentIdsUseCaseParams\n} from \"./IListFoldersByParentIdsUseCase\";\nimport { LoadedCache } from \"~/features\";\nimport { LoadingActionsEnum } from \"~/types\";\n\nexport class ListFoldersByParentIdsUseCaseWithLoading implements IListFoldersByParentIdsUseCase {\n private loadingRepository: ILoadingRepository;\n private loadedCache: LoadedCache;\n private useCase: IListFoldersByParentIdsUseCase;\n\n constructor(\n loadingRepository: ILoadingRepository,\n loadedCache: LoadedCache,\n useCase: IListFoldersByParentIdsUseCase\n ) {\n this.loadingRepository = loadingRepository;\n this.loadedCache = loadedCache;\n this.useCase = useCase;\n }\n\n async execute(params: ListFoldersByParentIdsUseCaseParams) {\n let action: string = LoadingActionsEnum.init;\n\n if (params.parentIds?.length) {\n action = params.parentIds\n .filter(parentId => !this.loadedCache.getItems().includes(parentId))\n .join(\":\");\n }\n\n if (action) {\n await this.loadingRepository.runCallBack(this.useCase.execute(params), action);\n } else {\n await this.useCase.execute(params);\n }\n }\n}\n"],"mappings":"AAMA,SAASA,kBAAkB;AAE3B,OAAO,MAAMC,wCAAwC,CAA2C;EAK5FC,WAAWA,CACPC,iBAAqC,EACrCC,WAAwB,EACxBC,OAAuC,EACzC;IACE,IAAI,CAACF,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA2C,EAAE;IACvD,IAAIC,MAAc,GAAGR,kBAAkB,CAACS,IAAI;IAE5C,IAAIF,MAAM,CAACG,SAAS,EAAEC,MAAM,EAAE;MAC1BH,MAAM,GAAGD,MAAM,CAACG,SAAS,CACpBE,MAAM,CAACC,QAAQ,IAAI,CAAC,IAAI,CAACT,WAAW,CAACU,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAACF,QAAQ,CAAC,CAAC,CACnEG,IAAI,CAAC,GAAG,CAAC;IAClB;IAEA,IAAIR,MAAM,EAAE;MACR,MAAM,IAAI,CAACL,iBAAiB,CAACc,WAAW,CAAC,IAAI,CAACZ,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC,EAAEC,MAAM,CAAC;IAClF,CAAC,MAAM;MACH,MAAM,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC;IACtC;EACJ;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LoadingActionsEnum","ListFoldersByParentIdsUseCaseWithLoading","constructor","loadingRepository","loadedCache","useCase","execute","params","action","init","parentIds","length","filter","parentId","getItems","includes","join","runCallBack"],"sources":["ListFoldersByParentIdsUseCaseWithLoading.ts"],"sourcesContent":["import type { ILoadingRepository } from \"@webiny/app-utils\";\nimport type {\n IListFoldersByParentIdsUseCase,\n ListFoldersByParentIdsUseCaseParams\n} from \"./IListFoldersByParentIdsUseCase\";\nimport type { LoadedCache } from \"~/features\";\nimport { LoadingActionsEnum } from \"~/types\";\n\nexport class ListFoldersByParentIdsUseCaseWithLoading implements IListFoldersByParentIdsUseCase {\n private loadingRepository: ILoadingRepository;\n private loadedCache: LoadedCache;\n private useCase: IListFoldersByParentIdsUseCase;\n\n constructor(\n loadingRepository: ILoadingRepository,\n loadedCache: LoadedCache,\n useCase: IListFoldersByParentIdsUseCase\n ) {\n this.loadingRepository = loadingRepository;\n this.loadedCache = loadedCache;\n this.useCase = useCase;\n }\n\n async execute(params: ListFoldersByParentIdsUseCaseParams) {\n let action: string = LoadingActionsEnum.init;\n\n if (params.parentIds?.length) {\n action = params.parentIds\n .filter(parentId => !this.loadedCache.getItems().includes(parentId))\n .join(\":\");\n }\n\n if (action) {\n await this.loadingRepository.runCallBack(this.useCase.execute(params), action);\n } else {\n await this.useCase.execute(params);\n }\n }\n}\n"],"mappings":"AAMA,SAASA,kBAAkB;AAE3B,OAAO,MAAMC,wCAAwC,CAA2C;EAK5FC,WAAWA,CACPC,iBAAqC,EACrCC,WAAwB,EACxBC,OAAuC,EACzC;IACE,IAAI,CAACF,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA2C,EAAE;IACvD,IAAIC,MAAc,GAAGR,kBAAkB,CAACS,IAAI;IAE5C,IAAIF,MAAM,CAACG,SAAS,EAAEC,MAAM,EAAE;MAC1BH,MAAM,GAAGD,MAAM,CAACG,SAAS,CACpBE,MAAM,CAACC,QAAQ,IAAI,CAAC,IAAI,CAACT,WAAW,CAACU,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAACF,QAAQ,CAAC,CAAC,CACnEG,IAAI,CAAC,GAAG,CAAC;IAClB;IAEA,IAAIR,MAAM,EAAE;MACR,MAAM,IAAI,CAACL,iBAAiB,CAACc,WAAW,CAAC,IAAI,CAACZ,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC,EAAEC,MAAM,CAAC;IAClF,CAAC,MAAM;MACH,MAAM,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC;IACtC;EACJ;AACJ","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FolderItem } from "../../../types";
|
|
1
|
+
import type { FolderItem } from "../../../types";
|
|
2
2
|
export declare const useListFoldersByParentIds: () => {
|
|
3
3
|
listFoldersByParentIds: (parentIds?: string[]) => Promise<void>;
|
|
4
4
|
getIsFolderLoading: (action?: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useState","autorun","useApolloClient","ListFoldersByParentIdsGqlGateway","ListFoldersByParentIds","FolderDtoMapper","useFoldersType","useGetFolderGraphQLSelection","ROOT_FOLDER","useListFoldersByParentIds","client","type","fields","gateway","vm","setVm","folders","loading","useCase","foldersCache","loadingState","getInstance","listFoldersByParentIds","parentIds","execute","getIsFolderLoading","action","isLoading","getItems","map","folder","toDTO","getActiveLoadings"],"sources":["useListFoldersByParentIds.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { ListFoldersByParentIdsGqlGateway } from \"./ListFoldersByParentIdsGqlGateway\";\nimport { ListFoldersByParentIds } from \"./ListFoldersByParentIds\";\nimport { FolderDtoMapper } from \"./FolderDto\";\nimport { useFoldersType, useGetFolderGraphQLSelection } from \"~/hooks\";\nimport { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport const useListFoldersByParentIds = () => {\n const client = useApolloClient();\n const type = useFoldersType();\n const fields = useGetFolderGraphQLSelection();\n const gateway = new ListFoldersByParentIdsGqlGateway(client, fields);\n\n const [vm, setVm] = useState<{\n folders: FolderItem[];\n loading: string[];\n }>({\n folders: [],\n loading: []\n });\n\n const {\n useCase,\n folders: foldersCache,\n loading: loadingState\n } = useMemo(() => {\n return ListFoldersByParentIds.getInstance(type, gateway);\n }, [type, gateway]);\n\n const listFoldersByParentIds = useCallback(\n (parentIds?: string[]) => {\n return useCase.execute({ parentIds });\n },\n [useCase]\n );\n\n const getIsFolderLoading = useCallback(\n (action = ROOT_FOLDER) => {\n if (!loadingState) {\n return true;\n }\n\n return loadingState.isLoading(action);\n },\n [loadingState]\n );\n\n useEffect(() => {\n return autorun(() => {\n const folders = foldersCache.getItems().map(folder => FolderDtoMapper.toDTO(folder));\n\n setVm(vm => ({\n ...vm,\n folders\n }));\n });\n }, [foldersCache]);\n\n useEffect(() => {\n return autorun(() => {\n const loading = loadingState.getActiveLoadings();\n\n setVm(vm => ({\n ...vm,\n loading\n }));\n });\n }, [loadingState]);\n\n return {\n ...vm,\n listFoldersByParentIds,\n getIsFolderLoading\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACjE,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,gCAAgC;AACzC,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,cAAc,EAAEC,4BAA4B;AAErD,SAASC,WAAW;AAEpB,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,MAAMC,MAAM,GAAGR,eAAe,CAAC,CAAC;EAChC,MAAMS,IAAI,GAAGL,cAAc,CAAC,CAAC;EAC7B,MAAMM,MAAM,GAAGL,4BAA4B,CAAC,CAAC;EAC7C,MAAMM,OAAO,GAAG,IAAIV,gCAAgC,CAACO,MAAM,EAAEE,MAAM,CAAC;EAEpE,MAAM,CAACE,EAAE,EAAEC,KAAK,CAAC,GAAGf,QAAQ,CAGzB;IACCgB,OAAO,EAAE,EAAE;IACXC,OAAO,EAAE;EACb,CAAC,CAAC;EAEF,MAAM;IACFC,OAAO;IACPF,OAAO,EAAEG,YAAY;IACrBF,OAAO,EAAEG;EACb,CAAC,GAAGrB,OAAO,CAAC,MAAM;IACd,OAAOK,sBAAsB,CAACiB,WAAW,CAACV,IAAI,EAAEE,OAAO,CAAC;EAC5D,CAAC,EAAE,CAACF,IAAI,EAAEE,OAAO,CAAC,CAAC;EAEnB,MAAMS,sBAAsB,GAAGzB,WAAW,CACrC0B,SAAoB,IAAK;IACtB,OAAOL,OAAO,CAACM,OAAO,CAAC;MAAED;IAAU,CAAC,CAAC;EACzC,CAAC,EACD,CAACL,OAAO,CACZ,CAAC;EAED,MAAMO,kBAAkB,GAAG5B,WAAW,CAClC,CAAC6B,MAAM,GAAGlB,WAAW,KAAK;IACtB,IAAI,CAACY,YAAY,EAAE;MACf,OAAO,IAAI;IACf;IAEA,OAAOA,YAAY,CAACO,SAAS,CAACD,MAAM,CAAC;EACzC,CAAC,EACD,CAACN,YAAY,CACjB,CAAC;EAEDtB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjB,MAAMe,OAAO,GAAGG,YAAY,CAACS,QAAQ,CAAC,CAAC,CAACC,GAAG,CAACC,MAAM,IAAIzB,eAAe,CAAC0B,KAAK,CAACD,MAAM,CAAC,CAAC;MAEpFf,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLE;MACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAACG,YAAY,CAAC,CAAC;EAElBrB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjB,MAAMgB,OAAO,GAAGG,YAAY,CAACY,iBAAiB,CAAC,CAAC;MAEhDjB,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLG;MACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAACG,YAAY,CAAC,CAAC;EAElB,OAAO;IACH,GAAGN,EAAE;IACLQ,sBAAsB;IACtBG;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","autorun","useApolloClient","ListFoldersByParentIdsGqlGateway","ListFoldersByParentIds","FolderDtoMapper","useFoldersType","useGetFolderGraphQLSelection","ROOT_FOLDER","useListFoldersByParentIds","client","type","fields","gateway","vm","setVm","folders","loading","useCase","foldersCache","loadingState","getInstance","listFoldersByParentIds","parentIds","execute","getIsFolderLoading","action","isLoading","getItems","map","folder","toDTO","getActiveLoadings"],"sources":["useListFoldersByParentIds.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { ListFoldersByParentIdsGqlGateway } from \"./ListFoldersByParentIdsGqlGateway\";\nimport { ListFoldersByParentIds } from \"./ListFoldersByParentIds\";\nimport { FolderDtoMapper } from \"./FolderDto\";\nimport { useFoldersType, useGetFolderGraphQLSelection } from \"~/hooks\";\nimport type { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport const useListFoldersByParentIds = () => {\n const client = useApolloClient();\n const type = useFoldersType();\n const fields = useGetFolderGraphQLSelection();\n const gateway = new ListFoldersByParentIdsGqlGateway(client, fields);\n\n const [vm, setVm] = useState<{\n folders: FolderItem[];\n loading: string[];\n }>({\n folders: [],\n loading: []\n });\n\n const {\n useCase,\n folders: foldersCache,\n loading: loadingState\n } = useMemo(() => {\n return ListFoldersByParentIds.getInstance(type, gateway);\n }, [type, gateway]);\n\n const listFoldersByParentIds = useCallback(\n (parentIds?: string[]) => {\n return useCase.execute({ parentIds });\n },\n [useCase]\n );\n\n const getIsFolderLoading = useCallback(\n (action = ROOT_FOLDER) => {\n if (!loadingState) {\n return true;\n }\n\n return loadingState.isLoading(action);\n },\n [loadingState]\n );\n\n useEffect(() => {\n return autorun(() => {\n const folders = foldersCache.getItems().map(folder => FolderDtoMapper.toDTO(folder));\n\n setVm(vm => ({\n ...vm,\n folders\n }));\n });\n }, [foldersCache]);\n\n useEffect(() => {\n return autorun(() => {\n const loading = loadingState.getActiveLoadings();\n\n setVm(vm => ({\n ...vm,\n loading\n }));\n });\n }, [loadingState]);\n\n return {\n ...vm,\n listFoldersByParentIds,\n getIsFolderLoading\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACjE,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,gCAAgC;AACzC,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,cAAc,EAAEC,4BAA4B;AAErD,SAASC,WAAW;AAEpB,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,MAAMC,MAAM,GAAGR,eAAe,CAAC,CAAC;EAChC,MAAMS,IAAI,GAAGL,cAAc,CAAC,CAAC;EAC7B,MAAMM,MAAM,GAAGL,4BAA4B,CAAC,CAAC;EAC7C,MAAMM,OAAO,GAAG,IAAIV,gCAAgC,CAACO,MAAM,EAAEE,MAAM,CAAC;EAEpE,MAAM,CAACE,EAAE,EAAEC,KAAK,CAAC,GAAGf,QAAQ,CAGzB;IACCgB,OAAO,EAAE,EAAE;IACXC,OAAO,EAAE;EACb,CAAC,CAAC;EAEF,MAAM;IACFC,OAAO;IACPF,OAAO,EAAEG,YAAY;IACrBF,OAAO,EAAEG;EACb,CAAC,GAAGrB,OAAO,CAAC,MAAM;IACd,OAAOK,sBAAsB,CAACiB,WAAW,CAACV,IAAI,EAAEE,OAAO,CAAC;EAC5D,CAAC,EAAE,CAACF,IAAI,EAAEE,OAAO,CAAC,CAAC;EAEnB,MAAMS,sBAAsB,GAAGzB,WAAW,CACrC0B,SAAoB,IAAK;IACtB,OAAOL,OAAO,CAACM,OAAO,CAAC;MAAED;IAAU,CAAC,CAAC;EACzC,CAAC,EACD,CAACL,OAAO,CACZ,CAAC;EAED,MAAMO,kBAAkB,GAAG5B,WAAW,CAClC,CAAC6B,MAAM,GAAGlB,WAAW,KAAK;IACtB,IAAI,CAACY,YAAY,EAAE;MACf,OAAO,IAAI;IACf;IAEA,OAAOA,YAAY,CAACO,SAAS,CAACD,MAAM,CAAC;EACzC,CAAC,EACD,CAACN,YAAY,CACjB,CAAC;EAEDtB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjB,MAAMe,OAAO,GAAGG,YAAY,CAACS,QAAQ,CAAC,CAAC,CAACC,GAAG,CAACC,MAAM,IAAIzB,eAAe,CAAC0B,KAAK,CAACD,MAAM,CAAC,CAAC;MAEpFf,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLE;MACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAACG,YAAY,CAAC,CAAC;EAElBrB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjB,MAAMgB,OAAO,GAAGG,YAAY,CAACY,iBAAiB,CAAC,CAAC;MAEhDjB,KAAK,CAACD,EAAE,KAAK;QACT,GAAGA,EAAE;QACLG;MACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;EACN,CAAC,EAAE,CAACG,YAAY,CAAC,CAAC;EAElB,OAAO;IACH,GAAGN,EAAE;IACLQ,sBAAsB;IACtBG;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["FolderDto.ts"],"sourcesContent":["import { FolderPermission } from \"~/types\";\n\nexport interface FolderDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n parentId: string | null;\n extensions: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["FolderDto.ts"],"sourcesContent":["import type { FolderPermission } from \"~/types\";\n\nexport interface FolderDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n parentId: string | null;\n extensions: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["FolderGqlDto.ts"],"sourcesContent":["import { CmsIdentity, FolderPermission } from \"~/types\";\n\nexport interface FolderGqlDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n type: string;\n parentId: string | null;\n path: string;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity | null;\n modifiedOn: string | null;\n extensions: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["FolderGqlDto.ts"],"sourcesContent":["import type { CmsIdentity, FolderPermission } from \"~/types\";\n\nexport interface FolderGqlDto {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n type: string;\n parentId: string | null;\n path: string;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity | null;\n modifiedOn: string | null;\n extensions: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FolderDto } from "./FolderDto";
|
|
2
|
-
import { FolderGqlDto } from "./FolderGqlDto";
|
|
1
|
+
import type { FolderDto } from "./FolderDto";
|
|
2
|
+
import type { FolderGqlDto } from "./FolderGqlDto";
|
|
3
3
|
export interface IUpdateFolderGateway {
|
|
4
4
|
execute: (folder: FolderDto) => Promise<FolderGqlDto>;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IUpdateFolderGateway.ts"],"sourcesContent":["import { FolderDto } from \"./FolderDto\";\nimport { FolderGqlDto } from \"./FolderGqlDto\";\n\nexport interface IUpdateFolderGateway {\n execute: (folder: FolderDto) => Promise<FolderGqlDto>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IUpdateFolderGateway.ts"],"sourcesContent":["import type { FolderDto } from \"./FolderDto\";\nimport type { FolderGqlDto } from \"./FolderGqlDto\";\n\nexport interface IUpdateFolderGateway {\n execute: (folder: FolderDto) => Promise<FolderGqlDto>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IUpdateFolderRepository.ts"],"sourcesContent":["import { Folder } from \"../Folder\";\n\nexport interface IUpdateFolderRepository {\n execute: (folder: Folder) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IUpdateFolderRepository.ts"],"sourcesContent":["import type { Folder } from \"../Folder\";\n\nexport interface IUpdateFolderRepository {\n execute: (folder: Folder) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IUpdateFolderUseCase.ts"],"sourcesContent":["import { FolderPermission } from \"~/types\";\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"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["IUpdateFolderUseCase.ts"],"sourcesContent":["import type { FolderPermission } from \"~/types\";\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"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUpdateFolderUseCase } from "./IUpdateFolderUseCase";
|
|
2
|
-
import { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
1
|
+
import type { IUpdateFolderUseCase } from "./IUpdateFolderUseCase";
|
|
2
|
+
import type { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
3
3
|
export declare class UpdateFolder {
|
|
4
4
|
static getInstance(type: string, gateway: IUpdateFolderGateway): IUpdateFolderUseCase;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["loadingRepositoryFactory","UpdateFolderRepository","UpdateFolderRepositoryWithPermissionsChange","UpdateFolderUseCase","UpdateFolderUseCaseWithLoading","UpdateFolderUseCaseWithoutInheritedPermissions","folderCacheFactory","UpdateFolderRepositoryWithPathChange","UpdateFolder","getInstance","type","gateway","foldersCache","getCache","loadingRepository","getRepository","repository","repositoryWithPathChange","repositoryWithPermissionsChange","useCase","useCaseWithoutInheritedPermissions"],"sources":["UpdateFolder.ts"],"sourcesContent":["import { loadingRepositoryFactory } from \"@webiny/app-utils\";\nimport { IUpdateFolderUseCase } from \"./IUpdateFolderUseCase\";\nimport { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport { UpdateFolderRepository } from \"./UpdateFolderRepository\";\nimport { UpdateFolderRepositoryWithPermissionsChange } from \"./UpdateFolderRepositoryWithPermissionsChange\";\nimport { UpdateFolderUseCase } from \"./UpdateFolderUseCase\";\nimport { UpdateFolderUseCaseWithLoading } from \"./UpdateFolderUseCaseWithLoading\";\nimport { UpdateFolderUseCaseWithoutInheritedPermissions } from \"./UpdateFolderUseCaseWithoutInheritedPermissions\";\nimport { folderCacheFactory } from \"../cache\";\nimport { UpdateFolderRepositoryWithPathChange } from \"~/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange\";\n\nexport class UpdateFolder {\n public static getInstance(type: string, gateway: IUpdateFolderGateway): IUpdateFolderUseCase {\n const foldersCache = folderCacheFactory.getCache(type);\n const loadingRepository = loadingRepositoryFactory.getRepository(type);\n\n const repository = new UpdateFolderRepository(foldersCache, gateway);\n const repositoryWithPathChange = new UpdateFolderRepositoryWithPathChange(\n foldersCache,\n repository\n );\n const repositoryWithPermissionsChange = new UpdateFolderRepositoryWithPermissionsChange(\n foldersCache,\n repositoryWithPathChange\n );\n\n const useCase = new UpdateFolderUseCase(repositoryWithPermissionsChange);\n const useCaseWithoutInheritedPermissions =\n new UpdateFolderUseCaseWithoutInheritedPermissions(useCase);\n return new UpdateFolderUseCaseWithLoading(\n loadingRepository,\n useCaseWithoutInheritedPermissions\n );\n }\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,mBAAmB;AAG5D,SAASC,sBAAsB;AAC/B,SAASC,2CAA2C;AACpD,SAASC,mBAAmB;AAC5B,SAASC,8BAA8B;AACvC,SAASC,8CAA8C;AACvD,SAASC,kBAAkB;AAC3B,SAASC,oCAAoC;AAE7C,OAAO,MAAMC,YAAY,CAAC;EACtB,OAAcC,WAAWA,CAACC,IAAY,EAAEC,OAA6B,EAAwB;IACzF,MAAMC,YAAY,GAAGN,kBAAkB,CAACO,QAAQ,CAACH,IAAI,CAAC;IACtD,MAAMI,iBAAiB,GAAGd,wBAAwB,CAACe,aAAa,CAACL,IAAI,CAAC;IAEtE,MAAMM,UAAU,GAAG,IAAIf,sBAAsB,CAACW,YAAY,EAAED,OAAO,CAAC;IACpE,MAAMM,wBAAwB,GAAG,IAAIV,oCAAoC,CACrEK,YAAY,EACZI,UACJ,CAAC;IACD,MAAME,+BAA+B,GAAG,IAAIhB,2CAA2C,CACnFU,YAAY,EACZK,wBACJ,CAAC;IAED,MAAME,OAAO,GAAG,IAAIhB,mBAAmB,CAACe,+BAA+B,CAAC;IACxE,MAAME,kCAAkC,GACpC,IAAIf,8CAA8C,CAACc,OAAO,CAAC;IAC/D,OAAO,IAAIf,8BAA8B,CACrCU,iBAAiB,EACjBM,kCACJ,CAAC;EACL;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["loadingRepositoryFactory","UpdateFolderRepository","UpdateFolderRepositoryWithPermissionsChange","UpdateFolderUseCase","UpdateFolderUseCaseWithLoading","UpdateFolderUseCaseWithoutInheritedPermissions","folderCacheFactory","UpdateFolderRepositoryWithPathChange","UpdateFolder","getInstance","type","gateway","foldersCache","getCache","loadingRepository","getRepository","repository","repositoryWithPathChange","repositoryWithPermissionsChange","useCase","useCaseWithoutInheritedPermissions"],"sources":["UpdateFolder.ts"],"sourcesContent":["import { loadingRepositoryFactory } from \"@webiny/app-utils\";\nimport type { IUpdateFolderUseCase } from \"./IUpdateFolderUseCase\";\nimport type { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport { UpdateFolderRepository } from \"./UpdateFolderRepository\";\nimport { UpdateFolderRepositoryWithPermissionsChange } from \"./UpdateFolderRepositoryWithPermissionsChange\";\nimport { UpdateFolderUseCase } from \"./UpdateFolderUseCase\";\nimport { UpdateFolderUseCaseWithLoading } from \"./UpdateFolderUseCaseWithLoading\";\nimport { UpdateFolderUseCaseWithoutInheritedPermissions } from \"./UpdateFolderUseCaseWithoutInheritedPermissions\";\nimport { folderCacheFactory } from \"../cache\";\nimport { UpdateFolderRepositoryWithPathChange } from \"~/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange\";\n\nexport class UpdateFolder {\n public static getInstance(type: string, gateway: IUpdateFolderGateway): IUpdateFolderUseCase {\n const foldersCache = folderCacheFactory.getCache(type);\n const loadingRepository = loadingRepositoryFactory.getRepository(type);\n\n const repository = new UpdateFolderRepository(foldersCache, gateway);\n const repositoryWithPathChange = new UpdateFolderRepositoryWithPathChange(\n foldersCache,\n repository\n );\n const repositoryWithPermissionsChange = new UpdateFolderRepositoryWithPermissionsChange(\n foldersCache,\n repositoryWithPathChange\n );\n\n const useCase = new UpdateFolderUseCase(repositoryWithPermissionsChange);\n const useCaseWithoutInheritedPermissions =\n new UpdateFolderUseCaseWithoutInheritedPermissions(useCase);\n return new UpdateFolderUseCaseWithLoading(\n loadingRepository,\n useCaseWithoutInheritedPermissions\n );\n }\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,mBAAmB;AAG5D,SAASC,sBAAsB;AAC/B,SAASC,2CAA2C;AACpD,SAASC,mBAAmB;AAC5B,SAASC,8BAA8B;AACvC,SAASC,8CAA8C;AACvD,SAASC,kBAAkB;AAC3B,SAASC,oCAAoC;AAE7C,OAAO,MAAMC,YAAY,CAAC;EACtB,OAAcC,WAAWA,CAACC,IAAY,EAAEC,OAA6B,EAAwB;IACzF,MAAMC,YAAY,GAAGN,kBAAkB,CAACO,QAAQ,CAACH,IAAI,CAAC;IACtD,MAAMI,iBAAiB,GAAGd,wBAAwB,CAACe,aAAa,CAACL,IAAI,CAAC;IAEtE,MAAMM,UAAU,GAAG,IAAIf,sBAAsB,CAACW,YAAY,EAAED,OAAO,CAAC;IACpE,MAAMM,wBAAwB,GAAG,IAAIV,oCAAoC,CACrEK,YAAY,EACZI,UACJ,CAAC;IACD,MAAME,+BAA+B,GAAG,IAAIhB,2CAA2C,CACnFU,YAAY,EACZK,wBACJ,CAAC;IAED,MAAME,OAAO,GAAG,IAAIhB,mBAAmB,CAACe,+BAA+B,CAAC;IACxE,MAAME,kCAAkC,GACpC,IAAIf,8CAA8C,CAACc,OAAO,CAAC;IAC/D,OAAO,IAAIf,8BAA8B,CACrCU,iBAAiB,EACjBM,kCACJ,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -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 { 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,"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,7 +1,7 @@
|
|
|
1
|
-
import ApolloClient from "apollo-client";
|
|
2
|
-
import { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
3
|
-
import { FolderDto } from "./FolderDto";
|
|
4
|
-
import { AcoError, FolderItem } from "../../../types";
|
|
1
|
+
import type ApolloClient from "apollo-client";
|
|
2
|
+
import type { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
3
|
+
import type { FolderDto } from "./FolderDto";
|
|
4
|
+
import type { AcoError, FolderItem } from "../../../types";
|
|
5
5
|
export interface UpdateFolderResponse {
|
|
6
6
|
aco: {
|
|
7
7
|
updateFolder: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gql","ROOT_FOLDER","UPDATE_FOLDER","FOLDER_FIELDS","UpdateFolderGqlGateway","constructor","client","modelFields","execute","folder","id","title","slug","permissions","parentId","extensions","data","response","mutate","mutation","variables","filter","p","inheritedFrom","Error","error","aco","updateFolder","message"],"sources":["UpdateFolderGqlGateway.ts"],"sourcesContent":["import ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport { FolderDto } from \"./FolderDto\";\nimport { AcoError, FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface UpdateFolderResponse {\n aco: {\n updateFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface UpdateFolderVariables {\n id: string;\n data: Partial<\n Omit<\n FolderItem,\n \"id\" | \"createdOn\" | \"createdBy\" | \"savedOn\" | \"savedBy\" | \"modifiedOn\" | \"modifiedBy\"\n >\n >;\n}\n\nexport const UPDATE_FOLDER = (FOLDER_FIELDS: string) => gql`\n mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {\n aco {\n updateFolder(id: $id, data: $data) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class UpdateFolderGqlGateway implements IUpdateFolderGateway {\n private client: ApolloClient<any>;\n private modelFields: string;\n\n constructor(client: ApolloClient<any>, modelFields: string) {\n this.client = client;\n this.modelFields = modelFields;\n }\n\n async execute(folder: FolderDto) {\n const { id, title, slug, permissions, parentId, extensions } = folder;\n\n const { data: response } = await this.client.mutate<\n UpdateFolderResponse,\n UpdateFolderVariables\n >({\n mutation: UPDATE_FOLDER(this.modelFields),\n variables: {\n id,\n data: {\n title,\n slug,\n extensions,\n parentId: parentId === ROOT_FOLDER ? null : parentId,\n permissions: permissions.filter(p => !p.inheritedFrom)\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while updating folder.\");\n }\n\n const { data, error } = response.aco.updateFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update folder\");\n }\n\n return data;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;AAI7B,SAASC,WAAW;AAqBpB,OAAO,MAAMC,aAAa,GAAIC,aAAqB,IAAKH,GAAG;AAC3D;AACA;AACA;AACA,uBAAuBG,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,sBAAsB,CAAiC;EAIhEC,WAAWA,CAACC,MAAyB,EAAEC,WAAmB,EAAE;IACxD,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMC,OAAOA,CAACC,MAAiB,EAAE;IAC7B,MAAM;MAAEC,EAAE;MAAEC,KAAK;MAAEC,IAAI;MAAEC,WAAW;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGN,MAAM;IAErE,MAAM;MAAEO,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACX,MAAM,CAACY,MAAM,CAGjD;MACEC,QAAQ,EAAEjB,aAAa,CAAC,IAAI,CAACK,WAAW,CAAC;MACzCa,SAAS,EAAE;QACPV,EAAE;QACFM,IAAI,EAAE;UACFL,KAAK;UACLC,IAAI;UACJG,UAAU;UACVD,QAAQ,EAAEA,QAAQ,KAAKb,WAAW,GAAG,IAAI,GAAGa,QAAQ;UACpDD,WAAW,EAAEA,WAAW,CAACQ,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa;QACzD;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACN,QAAQ,EAAE;MACX,MAAM,IAAIO,KAAK,CAAC,sCAAsC,CAAC;IAC3D;IAEA,MAAM;MAAER,IAAI;MAAES;IAAM,CAAC,GAAGR,QAAQ,CAACS,GAAG,CAACC,YAAY;IAEjD,IAAI,CAACX,IAAI,EAAE;MACP,MAAM,IAAIQ,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,yBAAyB,CAAC;IAChE;IAEA,OAAOZ,IAAI;EACf;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["gql","ROOT_FOLDER","UPDATE_FOLDER","FOLDER_FIELDS","UpdateFolderGqlGateway","constructor","client","modelFields","execute","folder","id","title","slug","permissions","parentId","extensions","data","response","mutate","mutation","variables","filter","p","inheritedFrom","Error","error","aco","updateFolder","message"],"sources":["UpdateFolderGqlGateway.ts"],"sourcesContent":["import type ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport type { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport type { FolderDto } from \"./FolderDto\";\nimport type { AcoError, FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface UpdateFolderResponse {\n aco: {\n updateFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface UpdateFolderVariables {\n id: string;\n data: Partial<\n Omit<\n FolderItem,\n \"id\" | \"createdOn\" | \"createdBy\" | \"savedOn\" | \"savedBy\" | \"modifiedOn\" | \"modifiedBy\"\n >\n >;\n}\n\nexport const UPDATE_FOLDER = (FOLDER_FIELDS: string) => gql`\n mutation UpdateFolder($id: ID!, $data: FolderUpdateInput!) {\n aco {\n updateFolder(id: $id, data: $data) {\n data ${FOLDER_FIELDS}\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class UpdateFolderGqlGateway implements IUpdateFolderGateway {\n private client: ApolloClient<any>;\n private modelFields: string;\n\n constructor(client: ApolloClient<any>, modelFields: string) {\n this.client = client;\n this.modelFields = modelFields;\n }\n\n async execute(folder: FolderDto) {\n const { id, title, slug, permissions, parentId, extensions } = folder;\n\n const { data: response } = await this.client.mutate<\n UpdateFolderResponse,\n UpdateFolderVariables\n >({\n mutation: UPDATE_FOLDER(this.modelFields),\n variables: {\n id,\n data: {\n title,\n slug,\n extensions,\n parentId: parentId === ROOT_FOLDER ? null : parentId,\n permissions: permissions.filter(p => !p.inheritedFrom)\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while updating folder.\");\n }\n\n const { data, error } = response.aco.updateFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update folder\");\n }\n\n return data;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;AAI7B,SAASC,WAAW;AAqBpB,OAAO,MAAMC,aAAa,GAAIC,aAAqB,IAAKH,GAAG;AAC3D;AACA;AACA;AACA,uBAAuBG,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMC,sBAAsB,CAAiC;EAIhEC,WAAWA,CAACC,MAAyB,EAAEC,WAAmB,EAAE;IACxD,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMC,OAAOA,CAACC,MAAiB,EAAE;IAC7B,MAAM;MAAEC,EAAE;MAAEC,KAAK;MAAEC,IAAI;MAAEC,WAAW;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGN,MAAM;IAErE,MAAM;MAAEO,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACX,MAAM,CAACY,MAAM,CAGjD;MACEC,QAAQ,EAAEjB,aAAa,CAAC,IAAI,CAACK,WAAW,CAAC;MACzCa,SAAS,EAAE;QACPV,EAAE;QACFM,IAAI,EAAE;UACFL,KAAK;UACLC,IAAI;UACJG,UAAU;UACVD,QAAQ,EAAEA,QAAQ,KAAKb,WAAW,GAAG,IAAI,GAAGa,QAAQ;UACpDD,WAAW,EAAEA,WAAW,CAACQ,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa;QACzD;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACN,QAAQ,EAAE;MACX,MAAM,IAAIO,KAAK,CAAC,sCAAsC,CAAC;IAC3D;IAEA,MAAM;MAAER,IAAI;MAAES;IAAM,CAAC,GAAGR,QAAQ,CAACS,GAAG,CAACC,YAAY;IAEjD,IAAI,CAACX,IAAI,EAAE;MACP,MAAM,IAAIQ,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,yBAAyB,CAAC;IAChE;IAEA,OAAOZ,IAAI;EACf;AACJ","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
-
import { ListCache } from "../cache";
|
|
1
|
+
import type { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
+
import type { ListCache } from "../cache";
|
|
3
3
|
import { Folder } from "../Folder";
|
|
4
|
-
import { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
4
|
+
import type { IUpdateFolderGateway } from "./IUpdateFolderGateway";
|
|
5
5
|
export declare class UpdateFolderRepository implements IUpdateFolderRepository {
|
|
6
6
|
private cache;
|
|
7
7
|
private gateway;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Folder","UpdateFolderRepository","constructor","cache","gateway","execute","folder","dto","id","title","slug","permissions","parentId","extensions","result","updateItems","f","create"],"sources":["UpdateFolderRepository.ts"],"sourcesContent":["import { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\nimport { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport { FolderDto } from \"./FolderDto\";\n\nexport class UpdateFolderRepository implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private gateway: IUpdateFolderGateway;\n\n constructor(cache: ListCache<Folder>, gateway: IUpdateFolderGateway) {\n this.cache = cache;\n this.gateway = gateway;\n }\n\n async execute(folder: Folder) {\n const dto: FolderDto = {\n id: folder.id,\n title: folder.title,\n slug: folder.slug,\n permissions: folder.permissions,\n parentId: folder.parentId,\n extensions: folder.extensions\n };\n\n const result = await this.gateway.execute(dto);\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"],"mappings":"AAEA,SAASA,MAAM;AAIf,OAAO,MAAMC,sBAAsB,CAAoC;EAInEC,WAAWA,CAACC,KAAwB,EAAEC,OAA6B,EAAE;IACjE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,GAAc,GAAG;MACnBC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbC,KAAK,EAAEH,MAAM,CAACG,KAAK;MACnBC,IAAI,EAAEJ,MAAM,CAACI,IAAI;MACjBC,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;MACzBC,UAAU,EAAEP,MAAM,CAACO;IACvB,CAAC;IAED,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACV,OAAO,CAACC,OAAO,CAACE,GAAG,CAAC;IAE9C,IAAI,CAACJ,KAAK,CAACY,WAAW,CAACC,CAAC,IAAI;MACxB,IAAIA,CAAC,CAACR,EAAE,KAAKF,MAAM,CAACE,EAAE,EAAE;QACpB,OAAOR,MAAM,CAACiB,MAAM,CAACH,MAAM,CAAC;MAChC;MAEA,OAAOd,MAAM,CAACiB,MAAM,CAACD,CAAC,CAAC;IAC3B,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Folder","UpdateFolderRepository","constructor","cache","gateway","execute","folder","dto","id","title","slug","permissions","parentId","extensions","result","updateItems","f","create"],"sources":["UpdateFolderRepository.ts"],"sourcesContent":["import type { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport type { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\nimport type { IUpdateFolderGateway } from \"./IUpdateFolderGateway\";\nimport type { FolderDto } from \"./FolderDto\";\n\nexport class UpdateFolderRepository implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private gateway: IUpdateFolderGateway;\n\n constructor(cache: ListCache<Folder>, gateway: IUpdateFolderGateway) {\n this.cache = cache;\n this.gateway = gateway;\n }\n\n async execute(folder: Folder) {\n const dto: FolderDto = {\n id: folder.id,\n title: folder.title,\n slug: folder.slug,\n permissions: folder.permissions,\n parentId: folder.parentId,\n extensions: folder.extensions\n };\n\n const result = await this.gateway.execute(dto);\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"],"mappings":"AAEA,SAASA,MAAM;AAIf,OAAO,MAAMC,sBAAsB,CAAoC;EAInEC,WAAWA,CAACC,KAAwB,EAAEC,OAA6B,EAAE;IACjE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,GAAc,GAAG;MACnBC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbC,KAAK,EAAEH,MAAM,CAACG,KAAK;MACnBC,IAAI,EAAEJ,MAAM,CAACI,IAAI;MACjBC,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;MACzBC,UAAU,EAAEP,MAAM,CAACO;IACvB,CAAC;IAED,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACV,OAAO,CAACC,OAAO,CAACE,GAAG,CAAC;IAE9C,IAAI,CAACJ,KAAK,CAACY,WAAW,CAACC,CAAC,IAAI;MACxB,IAAIA,CAAC,CAACR,EAAE,KAAKF,MAAM,CAACE,EAAE,EAAE;QACpB,OAAOR,MAAM,CAACiB,MAAM,CAACH,MAAM,CAAC;MAChC;MAEA,OAAOd,MAAM,CAACiB,MAAM,CAACD,CAAC,CAAC;IAC3B,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
-
import { ListCache } from "../cache";
|
|
1
|
+
import type { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
+
import type { ListCache } from "../cache";
|
|
3
3
|
import { Folder } from "../Folder";
|
|
4
4
|
export declare class UpdateFolderRepositoryWithPathChange implements IUpdateFolderRepository {
|
|
5
5
|
private cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Path","Folder","UpdateFolderRepositoryWithPathChange","constructor","cache","decoretee","execute","folder","folderPath","path","cachedFolderPath","getItem","f","id","updatedFolder","directChildren","listDirectChildren","length","updateChildrenPathsRecursively","children","parentFolder","child","updatedChild","updateItems","newPath","create","slug","updated","grandChildren","getItems","filter","parentId"],"sources":["UpdateFolderRepositoryWithPathChange.ts"],"sourcesContent":["import { Path } from \"@webiny/shared-aco\";\nimport { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderRepositoryWithPathChange implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private decoretee: IUpdateFolderRepository;\n\n constructor(cache: ListCache<Folder>, decoretee: IUpdateFolderRepository) {\n this.cache = cache;\n this.decoretee = decoretee;\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.decoretee.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"],"mappings":"AAAA,SAASA,IAAI,QAAQ,oBAAoB;AAGzC,SAASC,MAAM;AAEf,OAAO,MAAMC,oCAAoC,CAAoC;EAIjFC,WAAWA,CAACC,KAAwB,EAAEC,SAAkC,EAAE;IACtE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,UAAU,GAAGD,MAAM,CAACE,IAAI;IAC9B,MAAMC,gBAAgB,GAAG,IAAI,CAACN,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC,EAAEJ,IAAI;;IAE1E;IACA,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;;IAEpC;IACA,IAAI,CAACG,gBAAgB,EAAE;MACnB;IACJ;;IAEA;IACA,IAAIA,gBAAgB,KAAKF,UAAU,EAAE;MACjC;IACJ;;IAEA;IACA,MAAMM,aAAa,GAAG,IAAI,CAACV,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC;IACjE,IAAI,CAACC,aAAa,EAAE;MAChB;IACJ;;IAEA;IACA,MAAMC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACF,aAAa,CAAC;IAC7D,IAAI,CAACC,cAAc,CAACE,MAAM,EAAE;MACxB;IACJ;IAEA,IAAI,CAACC,8BAA8B,CAACH,cAAc,EAAED,aAAa,CAAC;EACtE;EAEQI,8BAA8BA,CAACC,QAAkB,EAAEC,YAAoB,EAAE;IAC7E,KAAK,MAAMC,KAAK,IAAIF,QAAQ,EAAE;MAC1B,IAAIG,YAAgC;;MAEpC;MACA,IAAI,CAAClB,KAAK,CAACmB,WAAW,CAACX,CAAC,IAAI;QACxB,IAAIA,CAAC,CAACC,EAAE,KAAKQ,KAAK,CAACR,EAAE,EAAE;UACnB,MAAMW,OAAO,GAAGxB,IAAI,CAACyB,MAAM,CAACb,CAAC,CAACc,IAAI,EAAEN,YAAY,CAACX,IAAI,CAAC,CAAC,CAAC;UACxD,MAAMkB,OAAO,GAAG1B,MAAM,CAACwB,MAAM,CAAC;YAC1B,GAAGb,CAAC;YACJH,IAAI,EAAEe;UACV,CAAC,CAAC;UAEFF,YAAY,GAAGK,OAAO,CAAC,CAAC;UACxB,OAAOA,OAAO;QAClB;QACA,OAAOf,CAAC;MACZ,CAAC,CAAC;;MAEF;MACA,IAAIU,YAAY,EAAE;QACd,MAAMM,aAAa,GAAG,IAAI,CAACZ,kBAAkB,CAACM,YAAY,CAAC;QAC3D,IAAIM,aAAa,CAACX,MAAM,EAAE;UACtB,IAAI,CAACC,8BAA8B,CAACU,aAAa,EAAEN,YAAY,CAAC;QACpE;MACJ;IACJ;EACJ;EAEQN,kBAAkBA,CAACT,MAAc,EAAE;IACvC,OAAO,IAAI,CAACH,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAACC,MAAM,CAAClB,CAAC,IAAIA,CAAC,CAACmB,QAAQ,KAAKxB,MAAM,CAACM,EAAE,CAAC;EACtE;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Path","Folder","UpdateFolderRepositoryWithPathChange","constructor","cache","decoretee","execute","folder","folderPath","path","cachedFolderPath","getItem","f","id","updatedFolder","directChildren","listDirectChildren","length","updateChildrenPathsRecursively","children","parentFolder","child","updatedChild","updateItems","newPath","create","slug","updated","grandChildren","getItems","filter","parentId"],"sources":["UpdateFolderRepositoryWithPathChange.ts"],"sourcesContent":["import { Path } from \"@webiny/shared-aco\";\nimport type { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport type { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderRepositoryWithPathChange implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private decoretee: IUpdateFolderRepository;\n\n constructor(cache: ListCache<Folder>, decoretee: IUpdateFolderRepository) {\n this.cache = cache;\n this.decoretee = decoretee;\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.decoretee.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"],"mappings":"AAAA,SAASA,IAAI,QAAQ,oBAAoB;AAGzC,SAASC,MAAM;AAEf,OAAO,MAAMC,oCAAoC,CAAoC;EAIjFC,WAAWA,CAACC,KAAwB,EAAEC,SAAkC,EAAE;IACtE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,UAAU,GAAGD,MAAM,CAACE,IAAI;IAC9B,MAAMC,gBAAgB,GAAG,IAAI,CAACN,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC,EAAEJ,IAAI;;IAE1E;IACA,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;;IAEpC;IACA,IAAI,CAACG,gBAAgB,EAAE;MACnB;IACJ;;IAEA;IACA,IAAIA,gBAAgB,KAAKF,UAAU,EAAE;MACjC;IACJ;;IAEA;IACA,MAAMM,aAAa,GAAG,IAAI,CAACV,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC;IACjE,IAAI,CAACC,aAAa,EAAE;MAChB;IACJ;;IAEA;IACA,MAAMC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACF,aAAa,CAAC;IAC7D,IAAI,CAACC,cAAc,CAACE,MAAM,EAAE;MACxB;IACJ;IAEA,IAAI,CAACC,8BAA8B,CAACH,cAAc,EAAED,aAAa,CAAC;EACtE;EAEQI,8BAA8BA,CAACC,QAAkB,EAAEC,YAAoB,EAAE;IAC7E,KAAK,MAAMC,KAAK,IAAIF,QAAQ,EAAE;MAC1B,IAAIG,YAAgC;;MAEpC;MACA,IAAI,CAAClB,KAAK,CAACmB,WAAW,CAACX,CAAC,IAAI;QACxB,IAAIA,CAAC,CAACC,EAAE,KAAKQ,KAAK,CAACR,EAAE,EAAE;UACnB,MAAMW,OAAO,GAAGxB,IAAI,CAACyB,MAAM,CAACb,CAAC,CAACc,IAAI,EAAEN,YAAY,CAACX,IAAI,CAAC,CAAC,CAAC;UACxD,MAAMkB,OAAO,GAAG1B,MAAM,CAACwB,MAAM,CAAC;YAC1B,GAAGb,CAAC;YACJH,IAAI,EAAEe;UACV,CAAC,CAAC;UAEFF,YAAY,GAAGK,OAAO,CAAC,CAAC;UACxB,OAAOA,OAAO;QAClB;QACA,OAAOf,CAAC;MACZ,CAAC,CAAC;;MAEF;MACA,IAAIU,YAAY,EAAE;QACd,MAAMM,aAAa,GAAG,IAAI,CAACZ,kBAAkB,CAACM,YAAY,CAAC;QAC3D,IAAIM,aAAa,CAACX,MAAM,EAAE;UACtB,IAAI,CAACC,8BAA8B,CAACU,aAAa,EAAEN,YAAY,CAAC;QACpE;MACJ;IACJ;EACJ;EAEQN,kBAAkBA,CAACT,MAAc,EAAE;IACvC,OAAO,IAAI,CAACH,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAACC,MAAM,CAAClB,CAAC,IAAIA,CAAC,CAACmB,QAAQ,KAAKxB,MAAM,CAACM,EAAE,CAAC;EACtE;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
-
import { ListCache } from "../cache";
|
|
1
|
+
import type { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
2
|
+
import type { ListCache } from "../cache";
|
|
3
3
|
import { Folder } from "../Folder";
|
|
4
4
|
export declare class UpdateFolderRepositoryWithPermissionsChange implements IUpdateFolderRepository {
|
|
5
5
|
private cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isEqual","Permissions","Folder","UpdateFolderRepositoryWithPermissionsChange","constructor","cache","decoretee","execute","folder","folderPermissions","permissions","cachedFolderPermissions","getItem","f","id","parentFolder","parentId","updatedFolder","updateFolderPermissions","directChildren","listDirectChildren","length","updateChildrenPermissionsRecursively","children","child","updatedChild","grandChildren","folderId","updateItems","create","getItems","filter"],"sources":["UpdateFolderRepositoryWithPermissionsChange.ts"],"sourcesContent":["import isEqual from \"lodash/isEqual\";\nimport { Permissions } from \"@webiny/shared-aco\";\nimport { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderRepositoryWithPermissionsChange implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private decoretee: IUpdateFolderRepository;\n\n constructor(cache: ListCache<Folder>, decoretee: IUpdateFolderRepository) {\n this.cache = cache;\n this.decoretee = decoretee;\n }\n\n async execute(folder: Folder) {\n const folderPermissions = [...folder.permissions];\n const cachedFolderPermissions = this.cache.getItem(f => f.id === folder.id)?.permissions;\n\n // Let's run the original use case and update the folder.\n await this.decoretee.execute(folder);\n\n if (!cachedFolderPermissions) {\n // If the folder is not in the cache, we can't proceed to update its children permissions.\n return;\n }\n\n if (isEqual(cachedFolderPermissions, folderPermissions)) {\n // If the permissions are the same, we don't need to update anything.\n return;\n }\n\n // If the permissions have changed, we need to update the folder and its children.\n // Starting with the folder itself, inheriting permissions from its parent folder.\n const parentFolder = this.cache.getItem(f => f.id === folder.parentId);\n const updatedFolder = this.updateFolderPermissions(folder.id, parentFolder);\n\n // Now we need to update the permissions of all permissions of the folder's children.\n const directChildren = this.listDirectChildren(updatedFolder);\n if (directChildren.length) {\n this.updateChildrenPermissionsRecursively(directChildren, updatedFolder);\n }\n }\n\n private updateChildrenPermissionsRecursively(children: Folder[], parentFolder: Folder) {\n for (const child of children) {\n const updatedChild = this.updateFolderPermissions(child.id, parentFolder);\n const grandChildren = this.listDirectChildren(updatedChild);\n if (grandChildren.length) {\n this.updateChildrenPermissionsRecursively(grandChildren, updatedChild);\n }\n }\n }\n\n private updateFolderPermissions(folderId: string, parentFolder: Folder | undefined): Folder {\n let updatedFolder: Folder | undefined;\n this.cache.updateItems(f => {\n if (f.id === folderId) {\n const permissions = Permissions.create(f.permissions, parentFolder);\n updatedFolder = Folder.create({ ...f, permissions });\n return updatedFolder;\n }\n return f;\n });\n\n return updatedFolder!;\n }\n\n private listDirectChildren(folder: Folder) {\n return this.cache.getItems().filter(f => f.parentId === folder.id);\n }\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,gBAAgB;AACpC,SAASC,WAAW,QAAQ,oBAAoB;AAGhD,SAASC,MAAM;AAEf,OAAO,MAAMC,2CAA2C,CAAoC;EAIxFC,WAAWA,CAACC,KAAwB,EAAEC,SAAkC,EAAE;IACtE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,iBAAiB,GAAG,CAAC,GAAGD,MAAM,CAACE,WAAW,CAAC;IACjD,MAAMC,uBAAuB,GAAG,IAAI,CAACN,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC,EAAEJ,WAAW;;IAExF;IACA,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpC,IAAI,CAACG,uBAAuB,EAAE;MAC1B;MACA;IACJ;IAEA,IAAIX,OAAO,CAACW,uBAAuB,EAAEF,iBAAiB,CAAC,EAAE;MACrD;MACA;IACJ;;IAEA;IACA;IACA,MAAMM,YAAY,GAAG,IAAI,CAACV,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACQ,QAAQ,CAAC;IACtE,MAAMC,aAAa,GAAG,IAAI,CAACC,uBAAuB,CAACV,MAAM,CAACM,EAAE,EAAEC,YAAY,CAAC;;IAE3E;IACA,MAAMI,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACH,aAAa,CAAC;IAC7D,IAAIE,cAAc,CAACE,MAAM,EAAE;MACvB,IAAI,CAACC,oCAAoC,CAACH,cAAc,EAAEF,aAAa,CAAC;IAC5E;EACJ;EAEQK,oCAAoCA,CAACC,QAAkB,EAAER,YAAoB,EAAE;IACnF,KAAK,MAAMS,KAAK,IAAID,QAAQ,EAAE;MAC1B,MAAME,YAAY,GAAG,IAAI,CAACP,uBAAuB,CAACM,KAAK,CAACV,EAAE,EAAEC,YAAY,CAAC;MACzE,MAAMW,aAAa,GAAG,IAAI,CAACN,kBAAkB,CAACK,YAAY,CAAC;MAC3D,IAAIC,aAAa,CAACL,MAAM,EAAE;QACtB,IAAI,CAACC,oCAAoC,CAACI,aAAa,EAAED,YAAY,CAAC;MAC1E;IACJ;EACJ;EAEQP,uBAAuBA,CAACS,QAAgB,EAAEZ,YAAgC,EAAU;IACxF,IAAIE,aAAiC;IACrC,IAAI,CAACZ,KAAK,CAACuB,WAAW,CAACf,CAAC,IAAI;MACxB,IAAIA,CAAC,CAACC,EAAE,KAAKa,QAAQ,EAAE;QACnB,MAAMjB,WAAW,GAAGT,WAAW,CAAC4B,MAAM,CAAChB,CAAC,CAACH,WAAW,EAAEK,YAAY,CAAC;QACnEE,aAAa,GAAGf,MAAM,CAAC2B,MAAM,CAAC;UAAE,GAAGhB,CAAC;UAAEH;QAAY,CAAC,CAAC;QACpD,OAAOO,aAAa;MACxB;MACA,OAAOJ,CAAC;IACZ,CAAC,CAAC;IAEF,OAAOI,aAAa;EACxB;EAEQG,kBAAkBA,CAACZ,MAAc,EAAE;IACvC,OAAO,IAAI,CAACH,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAACC,MAAM,CAAClB,CAAC,IAAIA,CAAC,CAACG,QAAQ,KAAKR,MAAM,CAACM,EAAE,CAAC;EACtE;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isEqual","Permissions","Folder","UpdateFolderRepositoryWithPermissionsChange","constructor","cache","decoretee","execute","folder","folderPermissions","permissions","cachedFolderPermissions","getItem","f","id","parentFolder","parentId","updatedFolder","updateFolderPermissions","directChildren","listDirectChildren","length","updateChildrenPermissionsRecursively","children","child","updatedChild","grandChildren","folderId","updateItems","create","getItems","filter"],"sources":["UpdateFolderRepositoryWithPermissionsChange.ts"],"sourcesContent":["import isEqual from \"lodash/isEqual\";\nimport { Permissions } from \"@webiny/shared-aco\";\nimport type { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport type { ListCache } from \"../cache\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderRepositoryWithPermissionsChange implements IUpdateFolderRepository {\n private cache: ListCache<Folder>;\n private decoretee: IUpdateFolderRepository;\n\n constructor(cache: ListCache<Folder>, decoretee: IUpdateFolderRepository) {\n this.cache = cache;\n this.decoretee = decoretee;\n }\n\n async execute(folder: Folder) {\n const folderPermissions = [...folder.permissions];\n const cachedFolderPermissions = this.cache.getItem(f => f.id === folder.id)?.permissions;\n\n // Let's run the original use case and update the folder.\n await this.decoretee.execute(folder);\n\n if (!cachedFolderPermissions) {\n // If the folder is not in the cache, we can't proceed to update its children permissions.\n return;\n }\n\n if (isEqual(cachedFolderPermissions, folderPermissions)) {\n // If the permissions are the same, we don't need to update anything.\n return;\n }\n\n // If the permissions have changed, we need to update the folder and its children.\n // Starting with the folder itself, inheriting permissions from its parent folder.\n const parentFolder = this.cache.getItem(f => f.id === folder.parentId);\n const updatedFolder = this.updateFolderPermissions(folder.id, parentFolder);\n\n // Now we need to update the permissions of all permissions of the folder's children.\n const directChildren = this.listDirectChildren(updatedFolder);\n if (directChildren.length) {\n this.updateChildrenPermissionsRecursively(directChildren, updatedFolder);\n }\n }\n\n private updateChildrenPermissionsRecursively(children: Folder[], parentFolder: Folder) {\n for (const child of children) {\n const updatedChild = this.updateFolderPermissions(child.id, parentFolder);\n const grandChildren = this.listDirectChildren(updatedChild);\n if (grandChildren.length) {\n this.updateChildrenPermissionsRecursively(grandChildren, updatedChild);\n }\n }\n }\n\n private updateFolderPermissions(folderId: string, parentFolder: Folder | undefined): Folder {\n let updatedFolder: Folder | undefined;\n this.cache.updateItems(f => {\n if (f.id === folderId) {\n const permissions = Permissions.create(f.permissions, parentFolder);\n updatedFolder = Folder.create({ ...f, permissions });\n return updatedFolder;\n }\n return f;\n });\n\n return updatedFolder!;\n }\n\n private listDirectChildren(folder: Folder) {\n return this.cache.getItems().filter(f => f.parentId === folder.id);\n }\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,gBAAgB;AACpC,SAASC,WAAW,QAAQ,oBAAoB;AAGhD,SAASC,MAAM;AAEf,OAAO,MAAMC,2CAA2C,CAAoC;EAIxFC,WAAWA,CAACC,KAAwB,EAAEC,SAAkC,EAAE;IACtE,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAc,EAAE;IAC1B,MAAMC,iBAAiB,GAAG,CAAC,GAAGD,MAAM,CAACE,WAAW,CAAC;IACjD,MAAMC,uBAAuB,GAAG,IAAI,CAACN,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACM,EAAE,CAAC,EAAEJ,WAAW;;IAExF;IACA,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpC,IAAI,CAACG,uBAAuB,EAAE;MAC1B;MACA;IACJ;IAEA,IAAIX,OAAO,CAACW,uBAAuB,EAAEF,iBAAiB,CAAC,EAAE;MACrD;MACA;IACJ;;IAEA;IACA;IACA,MAAMM,YAAY,GAAG,IAAI,CAACV,KAAK,CAACO,OAAO,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKN,MAAM,CAACQ,QAAQ,CAAC;IACtE,MAAMC,aAAa,GAAG,IAAI,CAACC,uBAAuB,CAACV,MAAM,CAACM,EAAE,EAAEC,YAAY,CAAC;;IAE3E;IACA,MAAMI,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACH,aAAa,CAAC;IAC7D,IAAIE,cAAc,CAACE,MAAM,EAAE;MACvB,IAAI,CAACC,oCAAoC,CAACH,cAAc,EAAEF,aAAa,CAAC;IAC5E;EACJ;EAEQK,oCAAoCA,CAACC,QAAkB,EAAER,YAAoB,EAAE;IACnF,KAAK,MAAMS,KAAK,IAAID,QAAQ,EAAE;MAC1B,MAAME,YAAY,GAAG,IAAI,CAACP,uBAAuB,CAACM,KAAK,CAACV,EAAE,EAAEC,YAAY,CAAC;MACzE,MAAMW,aAAa,GAAG,IAAI,CAACN,kBAAkB,CAACK,YAAY,CAAC;MAC3D,IAAIC,aAAa,CAACL,MAAM,EAAE;QACtB,IAAI,CAACC,oCAAoC,CAACI,aAAa,EAAED,YAAY,CAAC;MAC1E;IACJ;EACJ;EAEQP,uBAAuBA,CAACS,QAAgB,EAAEZ,YAAgC,EAAU;IACxF,IAAIE,aAAiC;IACrC,IAAI,CAACZ,KAAK,CAACuB,WAAW,CAACf,CAAC,IAAI;MACxB,IAAIA,CAAC,CAACC,EAAE,KAAKa,QAAQ,EAAE;QACnB,MAAMjB,WAAW,GAAGT,WAAW,CAAC4B,MAAM,CAAChB,CAAC,CAACH,WAAW,EAAEK,YAAY,CAAC;QACnEE,aAAa,GAAGf,MAAM,CAAC2B,MAAM,CAAC;UAAE,GAAGhB,CAAC;UAAEH;QAAY,CAAC,CAAC;QACpD,OAAOO,aAAa;MACxB;MACA,OAAOJ,CAAC;IACZ,CAAC,CAAC;IAEF,OAAOI,aAAa;EACxB;EAEQG,kBAAkBA,CAACZ,MAAc,EAAE;IACvC,OAAO,IAAI,CAACH,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAACC,MAAM,CAAClB,CAAC,IAAIA,CAAC,CAACG,QAAQ,KAAKR,MAAM,CAACM,EAAE,CAAC;EACtE;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { UpdateFolderParams, IUpdateFolderUseCase } from "./IUpdateFolderUseCase";
|
|
2
|
-
import { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
1
|
+
import type { UpdateFolderParams, IUpdateFolderUseCase } from "./IUpdateFolderUseCase";
|
|
2
|
+
import type { IUpdateFolderRepository } from "./IUpdateFolderRepository";
|
|
3
3
|
export declare class UpdateFolderUseCase implements IUpdateFolderUseCase {
|
|
4
4
|
private repository;
|
|
5
5
|
constructor(repository: IUpdateFolderRepository);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Folder","UpdateFolderUseCase","constructor","repository","execute","params","create","id","title","slug","type","parentId","permissions","extensions"],"sources":["UpdateFolderUseCase.ts"],"sourcesContent":["import { UpdateFolderParams, IUpdateFolderUseCase } from \"./IUpdateFolderUseCase\";\nimport { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderUseCase implements IUpdateFolderUseCase {\n private repository: IUpdateFolderRepository;\n\n constructor(repository: IUpdateFolderRepository) {\n this.repository = repository;\n }\n\n async execute(params: UpdateFolderParams) {\n await this.repository.execute(\n Folder.create({\n id: params.id,\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"],"mappings":"AAEA,SAASA,MAAM;AAEf,OAAO,MAAMC,mBAAmB,CAAiC;EAG7DC,WAAWA,CAACC,UAAmC,EAAE;IAC7C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,MAAM,CAACM,MAAM,CAAC;MACVC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbC,KAAK,EAAEH,MAAM,CAACG,KAAK;MACnBC,IAAI,EAAEJ,MAAM,CAACI,IAAI;MACjBC,IAAI,EAAEL,MAAM,CAACK,IAAI;MACjBC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;MACzBC,WAAW,EAAEP,MAAM,CAACO,WAAW;MAC/BC,UAAU,EAAER,MAAM,CAACQ;IACvB,CAAC,CACL,CAAC;EACL;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Folder","UpdateFolderUseCase","constructor","repository","execute","params","create","id","title","slug","type","parentId","permissions","extensions"],"sources":["UpdateFolderUseCase.ts"],"sourcesContent":["import type { UpdateFolderParams, IUpdateFolderUseCase } from \"./IUpdateFolderUseCase\";\nimport type { IUpdateFolderRepository } from \"./IUpdateFolderRepository\";\nimport { Folder } from \"../Folder\";\n\nexport class UpdateFolderUseCase implements IUpdateFolderUseCase {\n private repository: IUpdateFolderRepository;\n\n constructor(repository: IUpdateFolderRepository) {\n this.repository = repository;\n }\n\n async execute(params: UpdateFolderParams) {\n await this.repository.execute(\n Folder.create({\n id: params.id,\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"],"mappings":"AAEA,SAASA,MAAM;AAEf,OAAO,MAAMC,mBAAmB,CAAiC;EAG7DC,WAAWA,CAACC,UAAmC,EAAE;IAC7C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,MAAM,CAACM,MAAM,CAAC;MACVC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbC,KAAK,EAAEH,MAAM,CAACG,KAAK;MACnBC,IAAI,EAAEJ,MAAM,CAACI,IAAI;MACjBC,IAAI,EAAEL,MAAM,CAACK,IAAI;MACjBC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;MACzBC,WAAW,EAAEP,MAAM,CAACO,WAAW;MAC/BC,UAAU,EAAER,MAAM,CAACQ;IACvB,CAAC,CACL,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ILoadingRepository } from "@webiny/app-utils";
|
|
2
|
-
import { IUpdateFolderUseCase, UpdateFolderParams } from "./IUpdateFolderUseCase";
|
|
1
|
+
import type { ILoadingRepository } from "@webiny/app-utils";
|
|
2
|
+
import type { IUpdateFolderUseCase, UpdateFolderParams } from "./IUpdateFolderUseCase";
|
|
3
3
|
export declare class UpdateFolderUseCaseWithLoading implements IUpdateFolderUseCase {
|
|
4
4
|
private loadingRepository;
|
|
5
5
|
private useCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LoadingActionsEnum","UpdateFolderUseCaseWithLoading","constructor","loadingRepository","useCase","execute","params","runCallBack","update"],"sources":["UpdateFolderUseCaseWithLoading.ts"],"sourcesContent":["import { ILoadingRepository } from \"@webiny/app-utils\";\nimport { LoadingActionsEnum } from \"~/types\";\nimport { IUpdateFolderUseCase, UpdateFolderParams } from \"./IUpdateFolderUseCase\";\n\nexport class UpdateFolderUseCaseWithLoading implements IUpdateFolderUseCase {\n private loadingRepository: ILoadingRepository;\n private useCase: IUpdateFolderUseCase;\n\n constructor(loadingRepository: ILoadingRepository, useCase: IUpdateFolderUseCase) {\n this.loadingRepository = loadingRepository;\n this.useCase = useCase;\n }\n\n async execute(params: UpdateFolderParams) {\n await this.loadingRepository.runCallBack(\n this.useCase.execute(params),\n LoadingActionsEnum.update\n );\n }\n}\n"],"mappings":"AACA,SAASA,kBAAkB;AAG3B,OAAO,MAAMC,8BAA8B,CAAiC;EAIxEC,WAAWA,CAACC,iBAAqC,EAAEC,OAA6B,EAAE;IAC9E,IAAI,CAACD,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACH,iBAAiB,CAACI,WAAW,CACpC,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC,EAC5BN,kBAAkB,CAACQ,MACvB,CAAC;EACL;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LoadingActionsEnum","UpdateFolderUseCaseWithLoading","constructor","loadingRepository","useCase","execute","params","runCallBack","update"],"sources":["UpdateFolderUseCaseWithLoading.ts"],"sourcesContent":["import type { ILoadingRepository } from \"@webiny/app-utils\";\nimport { LoadingActionsEnum } from \"~/types\";\nimport type { IUpdateFolderUseCase, UpdateFolderParams } from \"./IUpdateFolderUseCase\";\n\nexport class UpdateFolderUseCaseWithLoading implements IUpdateFolderUseCase {\n private loadingRepository: ILoadingRepository;\n private useCase: IUpdateFolderUseCase;\n\n constructor(loadingRepository: ILoadingRepository, useCase: IUpdateFolderUseCase) {\n this.loadingRepository = loadingRepository;\n this.useCase = useCase;\n }\n\n async execute(params: UpdateFolderParams) {\n await this.loadingRepository.runCallBack(\n this.useCase.execute(params),\n LoadingActionsEnum.update\n );\n }\n}\n"],"mappings":"AACA,SAASA,kBAAkB;AAG3B,OAAO,MAAMC,8BAA8B,CAAiC;EAIxEC,WAAWA,CAACC,iBAAqC,EAAEC,OAA6B,EAAE;IAC9E,IAAI,CAACD,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACH,iBAAiB,CAACI,WAAW,CACpC,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC,EAC5BN,kBAAkB,CAACQ,MACvB,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IUpdateFolderUseCase, UpdateFolderParams } from "./IUpdateFolderUseCase";
|
|
1
|
+
import type { IUpdateFolderUseCase, UpdateFolderParams } from "./IUpdateFolderUseCase";
|
|
2
2
|
export declare class UpdateFolderUseCaseWithoutInheritedPermissions implements IUpdateFolderUseCase {
|
|
3
3
|
private useCase;
|
|
4
4
|
constructor(useCase: IUpdateFolderUseCase);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpdateFolderUseCaseWithoutInheritedPermissions","constructor","useCase","execute","params","permissions","filter","p","inheritedFrom"],"sources":["UpdateFolderUseCaseWithoutInheritedPermissions.ts"],"sourcesContent":["import { IUpdateFolderUseCase, UpdateFolderParams } from \"./IUpdateFolderUseCase\";\n\nexport class UpdateFolderUseCaseWithoutInheritedPermissions implements IUpdateFolderUseCase {\n private useCase: IUpdateFolderUseCase;\n\n constructor(useCase: IUpdateFolderUseCase) {\n this.useCase = useCase;\n }\n\n async execute(params: UpdateFolderParams) {\n // We must omit all inherited permissions.\n const permissions = params.permissions.filter(p => !p.inheritedFrom);\n\n await this.useCase.execute({\n ...params,\n permissions\n });\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,8CAA8C,CAAiC;EAGxFC,WAAWA,CAACC,OAA6B,EAAE;IACvC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC;IACA,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa,CAAC;IAEpE,MAAM,IAAI,CAACN,OAAO,CAACC,OAAO,CAAC;MACvB,GAAGC,MAAM;MACTC;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["UpdateFolderUseCaseWithoutInheritedPermissions","constructor","useCase","execute","params","permissions","filter","p","inheritedFrom"],"sources":["UpdateFolderUseCaseWithoutInheritedPermissions.ts"],"sourcesContent":["import type { IUpdateFolderUseCase, UpdateFolderParams } from \"./IUpdateFolderUseCase\";\n\nexport class UpdateFolderUseCaseWithoutInheritedPermissions implements IUpdateFolderUseCase {\n private useCase: IUpdateFolderUseCase;\n\n constructor(useCase: IUpdateFolderUseCase) {\n this.useCase = useCase;\n }\n\n async execute(params: UpdateFolderParams) {\n // We must omit all inherited permissions.\n const permissions = params.permissions.filter(p => !p.inheritedFrom);\n\n await this.useCase.execute({\n ...params,\n permissions\n });\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,8CAA8C,CAAiC;EAGxFC,WAAWA,CAACC,OAA6B,EAAE;IACvC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC;IACA,MAAMC,WAAW,GAAGD,MAAM,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa,CAAC;IAEpE,MAAM,IAAI,CAACN,OAAO,CAACC,OAAO,CAAC;MACvB,GAAGC,MAAM;MACTC;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useApolloClient","UpdateFolderGqlGateway","UpdateFolder","useFoldersType","useGetFolderGraphQLSelection","useUpdateFolder","client","type","fields","gateway","updateFolder","params","instance","getInstance","execute"],"sources":["useUpdateFolder.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { UpdateFolderGqlGateway } from \"./UpdateFolderGqlGateway\";\nimport { UpdateFolder } from \"./UpdateFolder\";\nimport { UpdateFolderParams } from \"./IUpdateFolderUseCase\";\nimport { useFoldersType, useGetFolderGraphQLSelection } from \"~/hooks\";\n\nexport const useUpdateFolder = () => {\n const client = useApolloClient();\n const type = useFoldersType();\n const fields = useGetFolderGraphQLSelection();\n const gateway = new UpdateFolderGqlGateway(client, fields);\n\n const updateFolder = useCallback(\n (params: UpdateFolderParams) => {\n const instance = UpdateFolder.getInstance(type, gateway);\n return instance.execute(params);\n },\n [type, gateway]\n );\n\n return {\n updateFolder\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AAErB,SAASC,cAAc,EAAEC,4BAA4B;AAErD,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAMC,MAAM,GAAGN,eAAe,CAAC,CAAC;EAChC,MAAMO,IAAI,GAAGJ,cAAc,CAAC,CAAC;EAC7B,MAAMK,MAAM,GAAGJ,4BAA4B,CAAC,CAAC;EAC7C,MAAMK,OAAO,GAAG,IAAIR,sBAAsB,CAACK,MAAM,EAAEE,MAAM,CAAC;EAE1D,MAAME,YAAY,GAAGX,WAAW,CAC3BY,MAA0B,IAAK;IAC5B,MAAMC,QAAQ,GAAGV,YAAY,CAACW,WAAW,CAACN,IAAI,EAAEE,OAAO,CAAC;IACxD,OAAOG,QAAQ,CAACE,OAAO,CAACH,MAAM,CAAC;EACnC,CAAC,EACD,CAACJ,IAAI,EAAEE,OAAO,CAClB,CAAC;EAED,OAAO;IACHC;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useApolloClient","UpdateFolderGqlGateway","UpdateFolder","useFoldersType","useGetFolderGraphQLSelection","useUpdateFolder","client","type","fields","gateway","updateFolder","params","instance","getInstance","execute"],"sources":["useUpdateFolder.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { UpdateFolderGqlGateway } from \"./UpdateFolderGqlGateway\";\nimport { UpdateFolder } from \"./UpdateFolder\";\nimport type { UpdateFolderParams } from \"./IUpdateFolderUseCase\";\nimport { useFoldersType, useGetFolderGraphQLSelection } from \"~/hooks\";\n\nexport const useUpdateFolder = () => {\n const client = useApolloClient();\n const type = useFoldersType();\n const fields = useGetFolderGraphQLSelection();\n const gateway = new UpdateFolderGqlGateway(client, fields);\n\n const updateFolder = useCallback(\n (params: UpdateFolderParams) => {\n const instance = UpdateFolder.getInstance(type, gateway);\n return instance.execute(params);\n },\n [type, gateway]\n );\n\n return {\n updateFolder\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AAErB,SAASC,cAAc,EAAEC,4BAA4B;AAErD,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAMC,MAAM,GAAGN,eAAe,CAAC,CAAC;EAChC,MAAMO,IAAI,GAAGJ,cAAc,CAAC,CAAC;EAC7B,MAAMK,MAAM,GAAGJ,4BAA4B,CAAC,CAAC;EAC7C,MAAMK,OAAO,GAAG,IAAIR,sBAAsB,CAACK,MAAM,EAAEE,MAAM,CAAC;EAE1D,MAAME,YAAY,GAAGX,WAAW,CAC3BY,MAA0B,IAAK;IAC5B,MAAMC,QAAQ,GAAGV,YAAY,CAACW,WAAW,CAACN,IAAI,EAAEE,OAAO,CAAC;IACxD,OAAOG,QAAQ,CAACE,OAAO,CAACH,MAAM,CAAC;EACnC,CAAC,EACD,CAACJ,IAAI,EAAEE,OAAO,CAClB,CAAC;EAED,OAAO;IACHC;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/graphql/app.gql.d.ts
CHANGED
package/graphql/app.gql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gql","createGetAppQuery"],"sources":["app.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { AcoError, AcoModel } from \"~/types\";\n\nexport interface GraphQlAcoApp {\n id: string;\n model: AcoModel;\n}\nexport interface GetAppResult {\n aco: {\n app: {\n data: GraphQlAcoApp | null;\n error: AcoError | null;\n };\n };\n}\nexport interface GetAppVariables {\n id: string;\n}\n\nexport const createGetAppQuery = () => {\n return gql`\n query GetApp($id: ID!) {\n aco {\n app: getApp(id: $id) {\n data {\n id\n model\n }\n error {\n code\n message\n data\n stack\n }\n }\n }\n }\n `;\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAmB7B,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACnC,OAAOD,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["gql","createGetAppQuery"],"sources":["app.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport type { AcoError, AcoModel } from \"~/types\";\n\nexport interface GraphQlAcoApp {\n id: string;\n model: AcoModel;\n}\nexport interface GetAppResult {\n aco: {\n app: {\n data: GraphQlAcoApp | null;\n error: AcoError | null;\n };\n };\n}\nexport interface GetAppVariables {\n id: string;\n}\n\nexport const createGetAppQuery = () => {\n return gql`\n query GetApp($id: ID!) {\n aco {\n app: getApp(id: $id) {\n data {\n id\n model\n }\n error {\n code\n message\n data\n stack\n }\n }\n }\n }\n `;\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAmB7B,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACnC,OAAOD,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AcoModel } from "../../types";
|
|
1
|
+
import type { AcoModel } from "../../types";
|
|
2
2
|
export declare const ERROR_FIELD = "\n error {\n code\n data\n message\n }\n";
|
|
3
3
|
export declare const createAppFields: (model: AcoModel) => string;
|
|
4
4
|
export declare const LIST_META_FIELD = "\n meta {\n cursor\n totalCount\n hasMoreItems\n }\n";
|