diff options
author | Yoshie Muranaka <yoshiemuranaka@gmail.com> | 2020-04-17 21:22:56 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2020-04-21 23:13:28 +0300 |
commit | 038a9da1ae021f3aef91317c50f8baf3d7fef5bb (patch) | |
tree | 4fb43c15121858414f663e8589b3fef28d199f44 /src/store/modules/AccessControl | |
parent | 82cca545587fa8803fe35092614922bc1af3a48e (diff) | |
download | webui-vue-038a9da1ae021f3aef91317c50f8baf3d7fef5bb.tar.xz |
Add dynamic AccountService Roles
Get roles on local user management privilege dropdown
from /redfish/v1/AccountService/Roles instead of hard-coded
values.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I00409b17fc1a2a49b880883749c0241e0aae283e
Diffstat (limited to 'src/store/modules/AccessControl')
-rw-r--r-- | src/store/modules/AccessControl/LocalUserMangementStore.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js index c729d15f..113b420f 100644 --- a/src/store/modules/AccessControl/LocalUserMangementStore.js +++ b/src/store/modules/AccessControl/LocalUserMangementStore.js @@ -20,6 +20,7 @@ const LocalUserManagementStore = { namespaced: true, state: { allUsers: [], + accountRoles: [], accountLockoutDuration: null, accountLockoutThreshold: null, accountMinPasswordLength: null, @@ -29,6 +30,9 @@ const LocalUserManagementStore = { allUsers(state) { return state.allUsers; }, + accountRoles(state) { + return state.accountRoles; + }, accountSettings(state) { return { lockoutDuration: state.accountLockoutDuration, @@ -46,6 +50,9 @@ const LocalUserManagementStore = { setUsers(state, allUsers) { state.allUsers = allUsers; }, + setAccountRoles(state, accountRoles) { + state.accountRoles = accountRoles; + }, setLockoutDuration(state, lockoutDuration) { state.accountLockoutDuration = lockoutDuration; }, @@ -88,6 +95,17 @@ const LocalUserManagementStore = { throw new Error('Error loading account settings.'); }); }, + getAccountRoles({ commit }) { + api + .get('/redfish/v1/AccountService/Roles') + .then(({ data: { Members = [] } = {} }) => { + const roles = Members.map(role => { + return role['@odata.id'].split('/').pop(); + }); + commit('setAccountRoles', roles); + }) + .catch(error => console.log(error)); + }, async createUser({ dispatch }, { username, password, privilege, status }) { const data = { UserName: username, |