| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import VuexORM from '@vuex-orm/core'
- import {QUERY_TYPE} from "~/types/enums";
- const cookieparser = process.server ? require('cookieparser') : undefined
- export const plugins = [
- VuexORM.install()
- ];
- export const actions = {
- /**
- * Méthode appelée lors de la phase d'initialisation de Nuxt coté serveur (SSR)
- * @param commit
- * @param dispatch
- * @param req
- * @return {Promise<void>}
- */
- async nuxtServerInit({dispatch}, {req}) {
- const initCookie = await dispatch('initCookies', {req: req})
- const updateProfile = await dispatch('getUserProfile')
- },
- /**
- * Récupère et Store les Cookies Bearer et XAccessId
- * @param commit
- * @param req
- * @return {Promise<void>}
- */
- async initCookies({commit}, {req}){
- let bearer = null
- let accessId = null
- let SwitchAccessId = null
- if (req.headers.cookie) {
- const parsed = cookieparser.parse(req.headers.cookie)
- try {
- bearer = parsed.BEARER
- } catch (err) {
- throw new Error(err.message)
- }
- try {
- accessId = parsed.AccessId
- } catch (err) {
- throw new Error(err.message)
- }
- try {
- SwitchAccessId = parsed.SwitchAccessId
- commit('profile/access/setSwitchId', SwitchAccessId)
- } catch (err) {}
- }
- commit('profile/access/setBearer', bearer)
- commit('profile/access/setId', accessId)
- },
- /**
- * Récupère les informations du profile connecté et update le Store Profile
- * @param dispatch
- * @param state
- * @return {Promise<void>}
- */
- async getUserProfile({dispatch, state}) {
- const my_profile = await this.app.context.$dataProvider.invoke({
- type: QUERY_TYPE.DEFAULT,
- url: 'my_profile'
- })
- dispatch('profile/access/setProfile', my_profile)
- },
- }
|