diff options
Diffstat (limited to 'src/store')
-rw-r--r-- | src/store/index.js | 6 | ||||
-rw-r--r-- | src/store/modules/AccessControl/LocalUserMangementStore.js | 56 |
2 files changed, 61 insertions, 1 deletions
diff --git a/src/store/index.js b/src/store/index.js index fb6015f4..3b86bfe2 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,11 +1,15 @@ import Vue from "vue"; import Vuex from "vuex"; +import LocalUserManagementStore from "./modules/AccessControl/LocalUserMangementStore"; + Vue.use(Vuex); export default new Vuex.Store({ state: {}, mutations: {}, actions: {}, - modules: {} + modules: { + localUsers: LocalUserManagementStore + } }); diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js new file mode 100644 index 00000000..dddfd2cc --- /dev/null +++ b/src/store/modules/AccessControl/LocalUserMangementStore.js @@ -0,0 +1,56 @@ +import Axios from "axios"; + +const LocalUserManagementStore = { + namespaced: true, + state: { + allUsers: [] + }, + getters: { + allUsers(state) { + return state.allUsers; + } + }, + mutations: { + setUsers(state, allUsers) { + state.allUsers = allUsers; + } + }, + actions: { + getUsers({ commit }) { + let base; + let username; + let password; + if (base && username && password) { + Axios.defaults.baseURL = base; + Axios.defaults.auth = {}; + Axios.defaults.auth.username = username; + Axios.defaults.auth.password = password; + Axios.get("redfish/v1/AccountService/Accounts") + .then(response => { + return response.data.Members.map(user => user["@odata.id"]); + }) + .then(userIds => { + return Axios.all(userIds.map(user => Axios.get(user))); + }) + .then(users => { + const userData = users.map(user => user.data); + commit("setUsers", userData); + }) + .catch(error => { + console.log(error); + }); + } else { + // Faking async call with timeout + setTimeout(() => { + const users = [ + { UserName: "root", RoleId: "Admin", Locked: false, Enabled: true }, + { UserName: "user1", RoleId: "user", Locked: false, Enabled: false } + ]; + commit("setUsers", users); + }, 3000); + } + } + } +}; + +export default LocalUserManagementStore; |