diff options
Diffstat (limited to 'src/store/modules/AccessControl')
-rw-r--r-- | src/store/modules/AccessControl/LocalUserMangementStore.js | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js index 41bbe0d8..de79a2d7 100644 --- a/src/store/modules/AccessControl/LocalUserMangementStore.js +++ b/src/store/modules/AccessControl/LocalUserMangementStore.js @@ -19,19 +19,45 @@ const LocalUserManagementStore = { getUsers({ commit }) { api .get("/redfish/v1/AccountService/Accounts") - .then(response => { - return response.data.Members.map(user => user["@odata.id"]); - }) - .then(userIds => { - return api.all(userIds.map(user => api.get(user))); - }) + .then(response => response.data.Members.map(user => user["@odata.id"])) + .then(userIds => api.all(userIds.map(user => api.get(user)))) .then(users => { const userData = users.map(user => user.data); commit("setUsers", userData); }) - .catch(error => { - console.log(error); - }); + .catch(error => console.log(error)); + }, + createUser({ dispatch }, { username, password, privilege, status }) { + const data = { + UserName: username, + Password: password, + RoleId: privilege, + Enabled: status + }; + api + .post("/redfish/v1/AccountService/Accounts", data) + .then(() => dispatch("getUsers")) + .catch(error => console.log(error)); + }, + updateUser( + { dispatch }, + { originalUsername, username, password, privilege, status } + ) { + const data = {}; + if (username) data.UserName = username; + if (password) data.Password = password; + if (privilege) data.RoleId = privilege; + if (status !== undefined) data.Enabled = status; + api + .patch(`/redfish/v1/AccountService/Accounts/${originalUsername}`, data) + .then(() => dispatch("getUsers")) + .catch(error => console.log(error)); + }, + deleteUser({ dispatch }, username) { + api + .delete(`/redfish/v1/AccountService/Accounts/${username}`) + .then(() => dispatch("getUsers")) + .catch(error => console.log(error)); } } }; |