summaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
Diffstat (limited to 'src/store')
-rw-r--r--src/store/index.js6
-rw-r--r--src/store/modules/AccessControl/LocalUserMangementStore.js56
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;