| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import {useAccessProfileStore} from "~/stores/accessProfile";
- import {useEntityManager} from "~/composables/data/useEntityManager";
- import UnauthorizedError from "~/services/error/UnauthorizedError";
- import {useRedirectToLogout} from "~/composables/utils/useRedirectToLogout";
- export default defineNuxtPlugin(async () => {
- const redirectToLogout = useRedirectToLogout()
- const bearer = useCookie('BEARER')
- let accessCookieId = useCookie('AccessId')
- const switchId = useCookie('SwitchAccessId')
- if (accessCookieId.value === null || Number.isNaN(accessCookieId.value)) {
- redirectToLogout()
- return
- }
- const accessId: number = parseInt(accessCookieId.value)
- const accessProfile = useAccessProfileStore()
- accessProfile.$patch({
- bearer: bearer.value,
- id: accessId,
- switchId: switchId.value !== null ? parseInt(switchId.value) : null
- })
- const {em} = useEntityManager()
- try {
- await em.refreshProfile(accessId)
- } catch (error) {
- if (error instanceof UnauthorizedError) {
- redirectToLogout()
- } else {
- throw error
- }
- }
- })
|