nuxt-breeze/plugins/error-handler.ts

20 lines
402 B
TypeScript

import { FetchError } from 'ofetch'
export default defineNuxtPlugin(async (nuxtApp) => {
nuxtApp.hook('vue:error', (error) => {
if (!(error instanceof FetchError)) {
throw error
}
const status = error.response?.status ?? -1
if ([401, 419].includes(status)) {
navigateTo('/login')
}
if ([409].includes(status)) {
navigateTo('/verify-email')
}
})
})