15736: Add uuid column to site manager page
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 30 Oct 2019 20:30:54 +0000 (16:30 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Thu, 31 Oct 2019 19:13:36 +0000 (15:13 -0400)
src/models/session.ts
src/services/auth-service/auth-service.ts
src/store/auth/auth-action-session.ts
src/store/auth/auth-action.ts
src/views/site-manager-panel/site-manager-panel-root.tsx

index 9a942967370f1241de198007359d6582ac594a2a..91a0d997606257391e0958f595dc3696475b9402 100644 (file)
@@ -12,9 +12,10 @@ export interface Session {
     clusterId: string;
     remoteHost: string;
     baseUrl: string;
-    username: string;
+    name: string;
     email: string;
     token: string;
+    uuid: string;
     loggedIn: boolean;
     status: SessionStatus;
     active: boolean;
index da96f1629b2fc9e3cf76ba91c3215df43bd17666..d5cb4ec205c36cdfc9d0545a167218a454b3103a 100644 (file)
@@ -176,11 +176,12 @@ export class AuthService {
             clusterId: cfg.uuidPrefix,
             remoteHost: cfg.rootUrl,
             baseUrl: cfg.baseUrl,
-            username: getUserFullname(user),
+            name: getUserFullname(user),
             email: user ? user.email : '',
             token: this.getApiToken(),
             loggedIn: true,
             active: true,
+            uuid: user ? user.uuid : '',
             status: SessionStatus.VALIDATED
         } as Session;
         const localSessions = this.getSessions().map(s => ({
@@ -195,11 +196,12 @@ export class AuthService {
                 clusterId,
                 remoteHost,
                 baseUrl: '',
-                username: '',
+                name: '',
                 email: '',
                 token: '',
                 loggedIn: false,
                 active: false,
+                uuid: '',
                 status: SessionStatus.INVALIDATED
             } as Session;
         });
index 6af72e0c7e413bf5f5be384fe9e605a93e62016a..a23fb2ffea3d5f049551b1ffadb3a09cad4b1057 100644 (file)
@@ -120,7 +120,8 @@ export const validateSession = (session: Session, activeSession: Session) =>
             session.baseUrl = baseUrl;
             session.token = token;
             session.email = user.email;
-            session.username = getUserFullname(user);
+            session.uuid = user.uuid;
+            session.name = getUserFullname(user);
             session.loggedIn = true;
         } catch {
             session.loggedIn = false;
@@ -163,7 +164,8 @@ export const addSession = (remoteHost: string) =>
                     status: SessionStatus.VALIDATED,
                     active: false,
                     email: user.email,
-                    username: getUserFullname(user),
+                    name: getUserFullname(user),
+                    uuid: user.uuid,
                     remoteHost,
                     baseUrl,
                     clusterId,
index e273d18c1b4327bb82c2c8ec4e4b170b9ed9c8d5..5bac6b19b8e922051aef551e73916f2722a3dd64 100644 (file)
@@ -67,10 +67,13 @@ export const initAuth = (config: Config) => (dispatch: Dispatch, getState: () =>
 const init = (config: Config) => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
     const user = services.authService.getUser();
     const token = services.authService.getApiToken();
-    const homeCluster = services.authService.getHomeCluster();
+    let homeCluster = services.authService.getHomeCluster();
     if (token) {
         setAuthorizationHeader(services, token);
     }
+    if (homeCluster && !config.remoteHosts[homeCluster]) {
+        homeCluster = undefined;
+    }
     dispatch(authActions.CONFIG({ config }));
     dispatch(authActions.SET_HOME_CLUSTER(config.loginCluster || homeCluster || config.uuidPrefix));
     if (token && user) {
index e75aa1f95578a091ef24f975ae4bb360c5961c5e..a8f7439a012b8c6c03f2e6f214cb594b53addf36 100644 (file)
@@ -133,8 +133,8 @@ export const SiteManagerPanelRoot = compose(
                             <TableRow className={classes.tableRow}>
                                 <TableCell>Cluster ID</TableCell>
                                 <TableCell>Host</TableCell>
-                                <TableCell>Username</TableCell>
                                 <TableCell>Email</TableCell>
+                                <TableCell>UUID</TableCell>
                                 <TableCell>Status</TableCell>
                             </TableRow>
                         </TableHead>
@@ -146,8 +146,8 @@ export const SiteManagerPanelRoot = compose(
                                         <a href={remoteHostsConfig[session.clusterId].workbench2Url} style={{ textDecoration: 'none' }}> <ResourceCluster uuid={session.clusterId} /></a>
                                         : session.clusterId}</TableCell>
                                     <TableCell>{session.remoteHost}</TableCell>
-                                    <TableCell>{validating ? <CircularProgress size={20} /> : session.username}</TableCell>
                                     <TableCell>{validating ? <CircularProgress size={20} /> : session.email}</TableCell>
+                                    <TableCell>{validating ? <CircularProgress size={20} /> : session.uuid}</TableCell>
                                     <TableCell className={classes.statusCell}>
                                         <Button fullWidth
                                             disabled={validating || session.status === SessionStatus.INVALIDATED || session.active}