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,