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
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js
index c729d15..113b420 100644
--- a/src/store/modules/AccessControl/LocalUserMangementStore.js
+++ b/src/store/modules/AccessControl/LocalUserMangementStore.js
@@ -20,6 +20,7 @@
namespaced: true,
state: {
allUsers: [],
+ accountRoles: [],
accountLockoutDuration: null,
accountLockoutThreshold: null,
accountMinPasswordLength: null,
@@ -29,6 +30,9 @@
allUsers(state) {
return state.allUsers;
},
+ accountRoles(state) {
+ return state.accountRoles;
+ },
accountSettings(state) {
return {
lockoutDuration: state.accountLockoutDuration,
@@ -46,6 +50,9 @@
setUsers(state, allUsers) {
state.allUsers = allUsers;
},
+ setAccountRoles(state, accountRoles) {
+ state.accountRoles = accountRoles;
+ },
setLockoutDuration(state, lockoutDuration) {
state.accountLockoutDuration = lockoutDuration;
},
@@ -88,6 +95,17 @@
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,