X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/63ff090649294e3d4bd99c977fc72680c0c43d34..a884c545e3edad2cc2ac1210fc3148f922c155dc:/src/services/project-service/project-service.ts?ds=inline diff --git a/src/services/project-service/project-service.ts b/src/services/project-service/project-service.ts index 939799d2dd..dbc0f9277e 100644 --- a/src/services/project-service/project-service.ts +++ b/src/services/project-service/project-service.ts @@ -35,23 +35,26 @@ interface GroupsResponse { export default class ProjectService { public getProjectList = (parentUuid?: string) => (dispatch: Dispatch): Promise => { dispatch(actions.PROJECTS_REQUEST()); - - const ub = new UrlBuilder('/groups'); - const fb = new FilterBuilder(); - fb.addEqual(FilterField.OWNER_UUID, parentUuid); - const url = ub.addParam('filters', fb.get()).get(); - - return serverApi.get(url).then(groups => { - const projects = groups.data.items.map(g => ({ - name: g.name, - createdAt: g.created_at, - modifiedAt: g.modified_at, - href: g.href, - uuid: g.uuid, - ownerUuid: g.owner_uuid - } as Project)); - dispatch(actions.PROJECTS_SUCCESS({projects, parentItemId: parentUuid})); - return projects; - }); + if (parentUuid) { + const fb = new FilterBuilder(); + fb.addLike(FilterField.OWNER_UUID, parentUuid); + return serverApi.get('/groups', { params: { + filters: fb.get() + }}).then(groups => { + const projects = groups.data.items.map(g => ({ + name: g.name, + createdAt: g.created_at, + modifiedAt: g.modified_at, + href: g.href, + uuid: g.uuid, + ownerUuid: g.owner_uuid + } as Project)); + dispatch(actions.PROJECTS_SUCCESS({projects, parentItemId: parentUuid})); + return projects; + }); + } else { + dispatch(actions.PROJECTS_SUCCESS({projects: [], parentItemId: parentUuid})); + return Promise.resolve([]); + } } }