nuxt-breeze/plugins/error-handler.ts

18 lines
392 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')
}
})
})