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) { accessProfile.$patch({ bearer: bearer.value, id: parseInt(accessId.value) }) } else { redirectToLogin() } const {em} = useEntityManager() try { await em.refreshProfile() } catch (error) { if (error instanceof UnauthorizedError) { redirectToLogin() } else { throw error } } })