From 2851aa591c073750ad9826bb28cba36f1a8cc15a Mon Sep 17 00:00:00 2001 From: Michal Klobukowski Date: Fri, 6 Jul 2018 16:42:04 +0200 Subject: [PATCH] Fix filters used to obtain uer's projects Feature #13747 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- src/index.tsx | 9 ++++----- src/store/project/project-action.ts | 29 +++++++++++++++++------------ 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 21ecdab1..be01e0a0 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -23,22 +23,21 @@ const history = createBrowserHistory(); const store = configureStore(history); store.dispatch(authActions.INIT()); -const rootUuid = authService.getRootUuid(); -store.dispatch(getProjectList(rootUuid)); +store.dispatch(getProjectList(authService.getUuid())); const App = () =>
- - + +
; ReactDOM.render( - , + , document.getElementById('root') as HTMLElement ); diff --git a/src/store/project/project-action.ts b/src/store/project/project-action.ts index 4cc21979..51693496 100644 --- a/src/store/project/project-action.ts +++ b/src/store/project/project-action.ts @@ -3,10 +3,11 @@ // SPDX-License-Identifier: AGPL-3.0 import { default as unionize, ofType, UnionOf } from "unionize"; -import { Project } from "../../models/project"; -import { groupsService } from "../../services/services"; +import { Project, ProjectResource } from "../../models/project"; +import { projectService } from "../../services/services"; import { Dispatch } from "redux"; import { getResourceKind } from "../../models/resource"; +import FilterBuilder from "../../common/api/filter-builder"; const actions = unionize({ CREATE_PROJECT: ofType(), @@ -20,17 +21,21 @@ const actions = unionize({ tag: 'type', value: 'payload' }); - + export const getProjectList = (parentUuid: string = '') => (dispatch: Dispatch) => { - dispatch(actions.PROJECTS_REQUEST(parentUuid)); - return groupsService.list().then(listResults => { - const projects = listResults.items.map(item => ({ - ...item, - kind: getResourceKind(item.kind) - })); - dispatch(actions.PROJECTS_SUCCESS({ projects, parentItemId: parentUuid })); - return projects; - }); + dispatch(actions.PROJECTS_REQUEST(parentUuid)); + return projectService.list({ + filters: FilterBuilder + .create() + .addEqual("ownerUuid", parentUuid) + }).then(listResults => { + const projects = listResults.items.map(item => ({ + ...item, + kind: getResourceKind(item.kind) + })); + dispatch(actions.PROJECTS_SUCCESS({ projects, parentItemId: parentUuid })); + return projects; + }); }; export type ProjectAction = UnionOf; -- 2.30.2