[ARVADOS-WORKBENCH2] updated: 1.1.4-55-ga884c54

Git user git at public.curoverse.com
Thu Jun 14 03:48:50 EDT 2018


Summary of changes:
 src/common/api/filter-builder.ts                |  8 ++---
 src/components/api-token/api-token.tsx          |  6 ++--
 src/index.tsx                                   |  5 ++--
 src/models/user.ts                              |  2 ++
 src/services/auth-service/auth-service.ts       | 31 ++++++++++++++++----
 src/services/project-service/project-service.ts | 39 +++++++++++++------------
 src/store/auth/auth-reducer.test.ts             | 16 ++++++++--
 src/store/auth/auth-reducer.ts                  |  4 ++-
 8 files changed, 75 insertions(+), 36 deletions(-)

       via  a884c545e3edad2cc2ac1210fc3148f922c155dc (commit)
       via  d5fb635085181a3cc16dd2f3224c8e6fc8924964 (commit)
       via  c77b1a5becebf382fddc349ae9081503d511a02a (commit)
      from  63ff090649294e3d4bd99c977fc72680c0c43d34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit a884c545e3edad2cc2ac1210fc3148f922c155dc
Merge: 63ff090 d5fb635
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date:   Thu Jun 14 09:32:36 2018 +0200

    Merge master branch
    
    Feature #13590
    
    Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>

diff --cc src/components/api-token/api-token.tsx
index b6616d3,d63f6e0..7656bf8
--- a/src/components/api-token/api-token.tsx
+++ b/src/components/api-token/api-token.tsx
@@@ -23,11 -23,13 +23,13 @@@ class ApiToken extends React.Component<
          const search = this.props.location ? this.props.location.search : "";
          const apiToken = ApiToken.getUrlParameter(search, 'api_token');
          this.props.dispatch(authActions.SAVE_API_TOKEN(apiToken));
-         this.props.dispatch(authService.getUserDetails());
-         this.props.dispatch(projectService.getProjectList());
+         this.props.dispatch<any>(authService.getUserDetails()).then(() => {
+             const rootUuid = authService.getRootUuid();
+             this.props.dispatch(projectService.getProjectList(rootUuid));
+         });
      }
      render() {
 -        return <Redirect to="/"/>
 +        return <Redirect to="/"/>;
      }
  }
  
diff --cc src/services/auth-service/auth-service.ts
index 4e50138,07e0ff0..5878dc6
--- a/src/services/auth-service/auth-service.ts
+++ b/src/services/auth-service/auth-service.ts
@@@ -71,7 -86,11 +86,11 @@@ export default class AuthService 
              .then(resp => {
                  dispatch(actions.USER_DETAILS_SUCCESS(resp.data));
              });
-             // .catch(err => {
-             // });
 -    };
++    }
+ 
+     public getRootUuid() {
+         const uuid = this.getOwnerUuid();
+         const uuidParts = uuid ? uuid.split('-') : [];
+         return uuidParts.length > 1 ? `${uuidParts[0]}-${uuidParts[1]}` : undefined;
      }
  }
diff --cc src/services/project-service/project-service.ts
index 939799d,e1e490b..dbc0f92
--- a/src/services/project-service/project-service.ts
+++ b/src/services/project-service/project-service.ts
@@@ -35,23 -35,26 +35,26 @@@ interface GroupsResponse 
  export default class ProjectService {
      public getProjectList = (parentUuid?: string) => (dispatch: Dispatch): Promise<Project[]> => {
          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<GroupsResponse>(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<GroupsResponse>('/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([]);
+         }
 -    };
 +    }
  }

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list