summaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
authorYoshie Muranaka <yoshiemuranaka@gmail.com>2020-02-05 22:23:06 +0300
committerGunnar Mills <gmills@us.ibm.com>2020-02-13 17:35:20 +0300
commit0fc91e798d058c1c98dcfec0c6c5bffbcab3e15e (patch)
treeb3458f2bc016e357fa060198ee2979a6e1d6f4ae /src/store
parent0a3405f78a7ad0846c038d9b0ebe3a09b0c21579 (diff)
downloadwebui-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')
-rw-r--r--src/store/modules/AccessControl/LocalUserMangementStore.js35
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}'.`);
+ });
}
}
};