summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichalX Szopinski <michalx.szopinski@intel.com>2021-06-07 16:46:59 +0300
committerKiran Kumar Ballapalli <kirankumarb@ami.com>2023-04-10 06:17:51 +0300
commit5905f96bac2e8386f8b56b97c11f8e7655c8424a (patch)
tree47dd36435bdf8fbac0878933756ec977c400be79 /src
parent80d697d8a6e9343aeba1a4955fdbbc4627bf2e9e (diff)
downloadwebui-vue-5905f96bac2e8386f8b56b97c11f8e7655c8424a.tar.xz
Handle API error messages on add/edit user
Display API error messages on Local user managment tab. Change-Id: I8ffe2359aa454503d07e8895907202bd0d8493f5 Signed-off-by: MichalX Szopinski <michalx.szopinski@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/store/modules/SecurityAndAccess/UserManagementStore.js51
1 files changed, 27 insertions, 24 deletions
diff --git a/src/store/modules/SecurityAndAccess/UserManagementStore.js b/src/store/modules/SecurityAndAccess/UserManagementStore.js
index 78dbd433..3bdf91d2 100644
--- a/src/store/modules/SecurityAndAccess/UserManagementStore.js
+++ b/src/store/modules/SecurityAndAccess/UserManagementStore.js
@@ -1,6 +1,19 @@
import api, { getResponseCount } from '@/store/api';
import i18n from '@/i18n';
+const getServerErrorMessages = function (error) {
+ let errorData = error.response.data.error
+ ? error.response.data.error
+ : error.response.data;
+ if (typeof errorData == 'string') {
+ return [];
+ }
+ return Object.values(errorData)
+ .reduce((a, b) => a.concat(b))
+ .filter((info) => info.Message)
+ .map((info) => info.Message);
+};
+
const UserManagementStore = {
namespaced: true,
state: {
@@ -113,27 +126,13 @@ const UserManagementStore = {
})
)
.catch((error) => {
- let message = i18n.t('pageUserManagement.toast.errorCreateUser', {
- username,
- });
- if (error.response && error.response.data) {
- if (error.response.data['UserName@Message.ExtendedInfo']) {
- let obj = error.response.data['UserName@Message.ExtendedInfo'];
- for (var key in obj) {
- if (obj[key].Message) {
- let msg = obj[key].Message;
- if (msg.indexOf('already exists') != -1) {
- message = i18n.t(
- 'pageUserManagement.toast.errorAlreadyExistUser',
- {
- username,
- }
- );
- }
- }
- }
- }
- }
+ let serverMessages = getServerErrorMessages(error);
+ let message =
+ serverMessages.length > 0
+ ? serverMessages.join(' ')
+ : i18n.t('pageUserManagement.toast.errorCreateUser', {
+ username: username,
+ });
throw new Error(message);
});
},
@@ -157,9 +156,13 @@ const UserManagementStore = {
)
.catch((error) => {
console.log(error);
- const message = i18n.t('pageUserManagement.toast.errorUpdateUser', {
- username: originalUsername,
- });
+ const serverMessages = getServerErrorMessages(error);
+ const message =
+ serverMessages.length > 0
+ ? serverMessages.join(' ')
+ : i18n.t('pageUserManagement.toast.errorUpdateUser', {
+ username: originalUsername,
+ });
throw new Error(message);
});
},