Browse Source

fix: graphql error notifications

pull/760/head
Nicolas Giard 5 years ago
parent
commit
959f2ebde1
9 changed files with 42 additions and 58 deletions
  1. 50
      client/components/admin/admin-auth.vue
  2. 6
      client/components/admin/admin-general.vue
  3. 12
      client/components/admin/admin-groups-edit.vue
  4. 6
      client/components/admin/admin-groups.vue
  5. 6
      client/components/admin/admin-mail.vue
  6. 6
      client/components/admin/admin-navigation.vue
  7. 6
      client/components/admin/admin-theme.vue
  8. 7
      client/store/index.js
  9. 1
      server/graph/resolvers/group.js

50
client/components/admin/admin-auth.vue

@ -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')
}
},

6
client/components/admin/admin-general.vue

@ -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)
}
}
},

12
client/components/admin/admin-groups-edit.vue

@ -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() {

6
client/components/admin/admin-groups.vue

@ -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)
}
}
},

6
client/components/admin/admin-mail.vue

@ -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)
}
}
},

6
client/components/admin/admin-navigation.vue

@ -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')
},

6
client/components/admin/admin-theme.vue

@ -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

7
client/store/index.js

@ -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: { },

1
server/graph/resolvers/group.js

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

Loading…
Cancel
Save