blob: dddfd2ccadadf9adead02832f6a71e9965cbf8c9 [file] [log] [blame]
Yoshie Muranaka35080ac2020-01-17 15:38:57 -06001import Axios from "axios";
2
3const LocalUserManagementStore = {
4 namespaced: true,
5 state: {
6 allUsers: []
7 },
8 getters: {
9 allUsers(state) {
10 return state.allUsers;
11 }
12 },
13 mutations: {
14 setUsers(state, allUsers) {
15 state.allUsers = allUsers;
16 }
17 },
18 actions: {
19 getUsers({ commit }) {
20 let base;
21 let username;
22 let password;
23 if (base && username && password) {
24 Axios.defaults.baseURL = base;
25 Axios.defaults.auth = {};
26 Axios.defaults.auth.username = username;
27 Axios.defaults.auth.password = password;
28 Axios.get("redfish/v1/AccountService/Accounts")
29 .then(response => {
30 return response.data.Members.map(user => user["@odata.id"]);
31 })
32 .then(userIds => {
33 return Axios.all(userIds.map(user => Axios.get(user)));
34 })
35 .then(users => {
36 const userData = users.map(user => user.data);
37 commit("setUsers", userData);
38 })
39 .catch(error => {
40 console.log(error);
41 });
42 } else {
43 // Faking async call with timeout
44 setTimeout(() => {
45 const users = [
46 { UserName: "root", RoleId: "Admin", Locked: false, Enabled: true },
47 { UserName: "user1", RoleId: "user", Locked: false, Enabled: false }
48 ];
49 commit("setUsers", users);
50 }, 3000);
51 }
52 }
53 }
54};
55
56export default LocalUserManagementStore;