mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-12-26 00:50:12 +01:00
84 lines
2.2 KiB
JavaScript
Vendored
84 lines
2.2 KiB
JavaScript
Vendored
import { defineStore } from 'pinia'
|
|
import router from '@/router'
|
|
const { notify } = useNotification()
|
|
|
|
export const useNotifyStore = defineStore({
|
|
id: 'notify',
|
|
|
|
state: () => {
|
|
return {
|
|
err: null,
|
|
message: null,
|
|
originalMessage: null,
|
|
debug: null,
|
|
}
|
|
},
|
|
|
|
getters: {
|
|
},
|
|
|
|
actions: {
|
|
parseError(err) {
|
|
this.$reset
|
|
this.err = err
|
|
|
|
// Hnalde axios response error
|
|
if (err.response) {
|
|
if (err.response.status === 407) {
|
|
this.message = trans('errors.auth_proxy_failed'),
|
|
this.originalMessage = trans('errors.auth_proxy_failed_legend')
|
|
}
|
|
else if (err.response.status === 403) {
|
|
this.message = trans('errors.unauthorized'),
|
|
this.originalMessage = trans('errors.unauthorized_legend')
|
|
}
|
|
else if(err.response.data) {
|
|
this.message = err.response.data.message,
|
|
this.originalMessage = err.response.data.originalMessage ?? null
|
|
this.debug = err.response.data.debug ?? null
|
|
}
|
|
} else {
|
|
this.message = err.message
|
|
this.debug = err.stack ?? null
|
|
}
|
|
// else if (err.request) {
|
|
|
|
//
|
|
},
|
|
|
|
notFound(err) {
|
|
router.push({ name: '404' })
|
|
},
|
|
|
|
error(err) {
|
|
this.parseError(err)
|
|
router.push({ name: 'genericError' })
|
|
},
|
|
|
|
info(notification) {
|
|
notify({ type: 'is-info', ...notification})
|
|
},
|
|
|
|
success(notification) {
|
|
notify({ type: 'is-success', ...notification})
|
|
},
|
|
|
|
warn(notification) {
|
|
notify({ type: 'is-warning', ...notification})
|
|
},
|
|
|
|
alert(notification) {
|
|
notify({ type: 'is-danger', ...notification})
|
|
},
|
|
|
|
action(notification) {
|
|
notify({ type: 'is-dark', ...notification})
|
|
},
|
|
|
|
clear() {
|
|
notify({ clean: true })
|
|
}
|
|
|
|
},
|
|
})
|