Add session storage and role to user indicator

This commit is contained in:
Michael Rogers 2023-05-26 16:52:16 -05:00
parent f5d57210ae
commit 6a9b9613e4
3 changed files with 43 additions and 1 deletions
src
api/user
plugins/userIndicator/components

@ -0,0 +1,37 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2023, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
import { SESSION_STORAGE_KEY } from './constants';
export default {
getActiveRole() {
return sessionStorage.getItem(SESSION_STORAGE_KEY);
},
setActiveRole(role) {
return sessionStorage.setItem(SESSION_STORAGE_KEY, role);
},
clearActiveRole() {
return sessionStorage.removeItem(SESSION_STORAGE_KEY);
}
};

@ -22,3 +22,5 @@
export const MULTIPLE_PROVIDER_ERROR = 'Only one user provider may be set at a time.'; export const MULTIPLE_PROVIDER_ERROR = 'Only one user provider may be set at a time.';
export const NO_PROVIDER_ERROR = 'No user provider has been set.'; export const NO_PROVIDER_ERROR = 'No user provider has been set.';
export const SESSION_STORAGE_KEY = 'USER_ROLE';

@ -23,7 +23,8 @@
<template> <template>
<div class="c-indicator icon-person c-indicator--clickable"> <div class="c-indicator icon-person c-indicator--clickable">
<span class="label c-indicator__label"> <span class="label c-indicator__label">
{{ userName }} {{ `${userName}: ${role}` }}
<button>Change Role</button>
</span> </span>
</div> </div>
</template> </template>
@ -35,6 +36,7 @@ export default {
data() { data() {
return { return {
userName: undefined, userName: undefined,
role: undefined,
loggedIn: false loggedIn: false
}; };
}, },
@ -46,6 +48,7 @@ export default {
getUserInfo() { getUserInfo() {
this.openmct.user.getCurrentUser().then((user) => { this.openmct.user.getCurrentUser().then((user) => {
this.userName = user.getName(); this.userName = user.getName();
this.role = user.getRole();
this.loggedIn = this.openmct.user.isLoggedIn(); this.loggedIn = this.openmct.user.isLoggedIn();
}); });
} }