import {defineNuxtPlugin, useCookie} from "nuxt/app"; import {useAccessProfileStore} from "~/stores/accessProfile"; import {useEntityManager} from "~/composables/data/useEntityManager"; import UnauthorizedError from "~/services/error/UnauthorizedError"; import {useRedirectToLogin} from "~/composables/layout/useRedirectToLogin"; export default defineNuxtPlugin(async ({ssrContext}) => { const redirectToLogin = useRedirectToLogin() const bearer = useCookie('BEARER') const accessId = useCookie('AccessId') const accessProfile = useAccessProfileStore() if (accessId.value === null) { redirectToLogin() return } accessProfile.$patch({ bearer: bearer.value, id: parseInt(accessId.value) }) const {em} = useEntityManager() try { await em.refreshProfile(parseInt(accessId.value)) } catch (error) { if (error instanceof UnauthorizedError) { redirectToLogin() } else { throw error } } })