diff options
author | Yoshie Muranaka <yoshiemuranaka@gmail.com> | 2020-02-05 22:23:06 +0300 |
---|---|---|
committer | Gunnar Mills <gmills@us.ibm.com> | 2020-02-13 17:35:20 +0300 |
commit | 0fc91e798d058c1c98dcfec0c6c5bffbcab3e15e (patch) | |
tree | b3458f2bc016e357fa060198ee2979a6e1d6f4ae /src/store/modules | |
parent | 0a3405f78a7ad0846c038d9b0ebe3a09b0c21579 (diff) | |
download | webui-vue-0fc91e798d058c1c98dcfec0c6c5bffbcab3e15e.tar.xz |
Add toast component interactions
Include boostrap toast component to communicate success
and error requests on the local user management page.
- Created BVToastMixin to share initialization options
- Used async/await pattern to make sure toasts are shown
after asynchronous calls are complete
- Followed current AngularJS pattern of manual dismiss for
error toast and automatic dismiss for success toast
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I5d5c037b5f41781972106fb5e9a2096cc72c39ab
Diffstat (limited to 'src/store/modules')
-rw-r--r-- | src/store/modules/AccessControl/LocalUserMangementStore.js | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/store/modules/AccessControl/LocalUserMangementStore.js b/src/store/modules/AccessControl/LocalUserMangementStore.js index 815c1661..bc14c734 100644 --- a/src/store/modules/AccessControl/LocalUserMangementStore.js +++ b/src/store/modules/AccessControl/LocalUserMangementStore.js @@ -25,21 +25,28 @@ const LocalUserManagementStore = { const userData = users.map(user => user.data); commit('setUsers', userData); }) - .catch(error => console.log(error)); + .catch(error => { + console.log(error); + throw new Error('Error loading local users.'); + }); }, - createUser({ dispatch }, { username, password, privilege, status }) { + async createUser({ dispatch }, { username, password, privilege, status }) { const data = { UserName: username, Password: password, RoleId: privilege, Enabled: status }; - api + return await api .post('/redfish/v1/AccountService/Accounts', data) .then(() => dispatch('getUsers')) - .catch(error => console.log(error)); + .then(() => `Created user '${username}'.`) + .catch(error => { + console.log(error); + throw new Error(`Error creating user '${username}'.`); + }); }, - updateUser( + async updateUser( { dispatch }, { originalUsername, username, password, privilege, status } ) { @@ -48,16 +55,24 @@ const LocalUserManagementStore = { if (password) data.Password = password; if (privilege) data.RoleId = privilege; if (status !== undefined) data.Enabled = status; - api + return await api .patch(`/redfish/v1/AccountService/Accounts/${originalUsername}`, data) .then(() => dispatch('getUsers')) - .catch(error => console.log(error)); + .then(() => `Updated user '${originalUsername}'.`) + .catch(error => { + console.log(error); + throw new Error(`Error updating user '${originalUsername}'.`); + }); }, - deleteUser({ dispatch }, username) { - api + async deleteUser({ dispatch }, username) { + return await api .delete(`/redfish/v1/AccountService/Accounts/${username}`) .then(() => dispatch('getUsers')) - .catch(error => console.log(error)); + .then(() => `Deleted user '${username}'.`) + .catch(error => { + console.log(error); + throw new Error(`Error deleting user '${username}'.`); + }); } } }; |