init.server.ts 886 B

12345678910111213141516171819202122232425
  1. import {defineNuxtPlugin} from "nuxt/app";
  2. import {useProfileAccessStore} from "~/store/profile/access";
  3. import {QUERY_TYPE} from "~/types/enums";
  4. import {useDataProvider} from "~/composables/data/useDataProvider";
  5. export default defineNuxtPlugin(async ({ssrContext}) => {
  6. const profileAccessStore = useProfileAccessStore()
  7. const arraysCookies = ssrContext?.req?.headers.cookie?.split('; ').map((a:string) => a.split('='))
  8. if(arraysCookies) {
  9. const cookies = Object.fromEntries(arraysCookies)
  10. profileAccessStore.$patch({
  11. bearer: cookies['BEARER'],
  12. id: cookies['AccessId']
  13. })
  14. const dataProvider = useDataProvider()
  15. const myProfile = await dataProvider.invoke({
  16. type: QUERY_TYPE.DEFAULT,
  17. url: '/api/my_profile'
  18. })
  19. profileAccessStore.setProfile(myProfile.data)
  20. }
  21. })