fix: graphql error notifications

This commit is contained in:
Nicolas Giard 2019-01-12 22:33:30 -05:00
parent 7e62c01ed1
commit 959f2ebde1
9 changed files with 42 additions and 58 deletions

View File

@ -204,29 +204,33 @@ export default {
},
async save() {
this.$store.commit(`loadingStart`, 'admin-auth-savestrategies')
await this.$apollo.mutate({
mutation: strategiesSaveMutation,
variables: {
config: {
audience: this.jwtAudience,
tokenExpiration: this.jwtExpiration,
tokenRenewal: this.jwtRenewablePeriod
},
strategies: this.strategies.map(str => _.pick(str, [
'isEnabled',
'key',
'config',
'selfRegistration',
'domainWhitelist',
'autoEnrollGroups'
])).map(str => ({...str, config: str.config.map(cfg => ({...cfg, value: JSON.stringify({ v: cfg.value.value })}))}))
}
})
this.$store.commit('showNotification', {
message: 'Authentication configuration saved successfully.',
style: 'success',
icon: 'check'
})
try {
await this.$apollo.mutate({
mutation: strategiesSaveMutation,
variables: {
config: {
audience: this.jwtAudience,
tokenExpiration: this.jwtExpiration,
tokenRenewal: this.jwtRenewablePeriod
},
strategies: this.strategies.map(str => _.pick(str, [
'isEnabled',
'key',
'config',
'selfRegistration',
'domainWhitelist',
'autoEnrollGroups'
])).map(str => ({...str, config: str.config.map(cfg => ({...cfg, value: JSON.stringify({ v: cfg.value.value })}))}))
}
})
this.$store.commit('showNotification', {
message: 'Authentication configuration saved successfully.',
style: 'success',
icon: 'check'
})
} catch (err) {
this.$store.commit('pushGraphError', err)
}
this.$store.commit(`loadingStop`, 'admin-auth-savestrategies')
}
},

View File

@ -229,11 +229,7 @@ export default {
this.siteTitle = this.config.title
this.company = this.config.company
} catch (err) {
this.$store.commit('showNotification', {
style: 'red',
message: err.message,
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
}
},

View File

@ -93,11 +93,7 @@ export default {
icon: 'check'
})
} catch (err) {
this.$store.commit('showNotification', {
style: 'red',
message: err.message,
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
},
async deleteGroup() {
@ -119,11 +115,7 @@ export default {
})
this.$router.replace('/groups')
} catch (err) {
this.$store.commit('showNotification', {
style: 'red',
message: err.message,
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
},
async refresh() {

View File

@ -149,11 +149,7 @@ export default {
icon: 'check'
})
} catch (err) {
this.$store.commit('showNotification', {
style: 'red',
message: err.message,
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
}
},

View File

@ -180,11 +180,7 @@ export default {
icon: 'check'
})
} catch (err) {
this.$store.commit('showNotification', {
style: 'red',
message: err.message,
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
}
},

View File

@ -214,11 +214,7 @@ export default {
throw new Error(_.get(resp, 'data.navigation.updateTree.responseResult.message', 'An unexpected error occured.'))
}
} catch (err) {
this.$store.commit('showNotification', {
message: err.message,
style: 'red',
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
this.$store.commit(`loadingStop`, 'admin-navigation-save')
},

View File

@ -146,11 +146,7 @@ export default {
throw new Error(resp.message)
}
} catch (err) {
this.$store.commit('showNotification', {
message: `Error: ${err.message}`,
style: 'error',
icon: 'warning'
})
this.$store.commit('pushGraphError', err)
}
this.$store.commit(`loadingStop`, 'admin-theme-save')
this.loading = false

View File

@ -47,6 +47,13 @@ export default new Vuex.Store({
},
updateNotificationState (state, newState) {
state.notification.isActive = newState
},
pushGraphError (state, err) {
WIKI.$store.commit('showNotification', {
style: 'red',
message: _.get(err, 'graphQLErrors[0].message', err.message),
icon: 'warning'
})
}
},
actions: { },

View File

@ -1,5 +1,6 @@
const graphHelper = require('../../helpers/graph')
const safeRegex = require('safe-regex')
const _ = require('lodash')
/* global WIKI */