Implement try/catch error handling in invite module
This commit is contained in:
parent
aa9ea40961
commit
b2c9308b80
2 changed files with 25 additions and 15 deletions
|
@ -1,4 +1,6 @@
|
|||
import { generateInviteToken, inviteViaEmail, listInviteTokens, revokeToken } from '@/api/invites'
|
||||
import { Message } from 'element-ui'
|
||||
import i18n from '@/lang'
|
||||
|
||||
const invites = {
|
||||
state: {
|
||||
|
@ -25,18 +27,35 @@ const invites = {
|
|||
commit('SET_LOADING', false)
|
||||
},
|
||||
async GenerateInviteToken({ commit, dispatch, getters }, { maxUse, expiresAt }) {
|
||||
const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)
|
||||
commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })
|
||||
try {
|
||||
const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)
|
||||
commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
dispatch('FetchInviteTokens')
|
||||
},
|
||||
async InviteUserViaEmail({ commit, dispatch, getters }, { email, name }) {
|
||||
await inviteViaEmail(email, name, getters.authHost, getters.token)
|
||||
try {
|
||||
await inviteViaEmail(email, name, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
Message({
|
||||
message: i18n.t('invites.emailSent'),
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
},
|
||||
RemoveNewToken({ commit }) {
|
||||
commit('SET_NEW_TOKEN', {})
|
||||
},
|
||||
async RevokeToken({ commit, dispatch, getters }, token) {
|
||||
await revokeToken(token, getters.authHost, getters.token)
|
||||
try {
|
||||
await revokeToken(token, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
dispatch('FetchInviteTokens')
|
||||
}
|
||||
}
|
||||
|
|
|
@ -192,17 +192,8 @@ export default {
|
|||
async inviteUserViaEmail() {
|
||||
this.$refs['inviteUserForm'].validate(async(valid) => {
|
||||
if (valid) {
|
||||
try {
|
||||
await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
this.closeDialogWindow()
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('invites.emailSent')
|
||||
})
|
||||
await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)
|
||||
this.closeDialogWindow()
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
|
|
Loading…
Reference in a new issue