From 2dedad7a44c5f742326b2de43344a2bd9f0722e8 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Thu, 2 Jun 2022 13:57:08 -0400 Subject: [PATCH] CSR-663 move functions to analytics-mixin --- src/mixins/analytics-mixin.js | 37 +++++++++++++++++++++++++++++-- src/router/index.js | 41 +++-------------------------------- 2 files changed, 38 insertions(+), 40 deletions(-) diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 466407a61..347a0bb92 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -1,8 +1,9 @@ import { storeActions } from "@/constants/store-actions"; -import { getDeviceIdValue, getSessionIdValue, getSessionKeyValue } from "@/helpers/heritage-integration/cookie-helper"; +import { setCookieProperties, getDeviceIdValue, getSessionIdValue, getSessionKeyValue } from "@/helpers/heritage-integration/cookie-helper"; import { queryStrings } from "@/constants/query-strings"; import { experimentSettings } from "@/constants/experiments"; import { analyticsPageEvents, GaCategories, GaActions, GaLabels, GaEvents } from "@/constants/analytics"; +import { cookieNames } from "@/constants/cookie-names"; import baseMixin from "@/mixins/base-mixin"; @@ -57,7 +58,7 @@ export default { if (pushToLogApp) { this.logCustomEvent(category, action, label, undefined); } - + }, pushPageViewToGA() { @@ -105,6 +106,38 @@ export default { return baseMethod.apply(object, arguments); }; }, + + async initSession() { + const sid = getSessionIdValue(); + const skey = getSessionKeyValue(); + var payload = { + userId: getDeviceIdValue(), + sessionId: sid, + userAgent: navigator.userAgent, + referrer: document.referrer, + }; + + const response = await baseMixin.methods.dispatchStoreAction(storeActions.INITIALIZE_SESSION, payload, false); + + if (response.data) { + if (response.data.sessionKey && skey === 0) { + setCookieProperties({ [cookieNames.SESSION_KEY]: response.data.sessionKey}); + } + if (response.data.sessionId && sid === '00000000-0000-0000-0000-000000000000') { + setCookieProperties({ [cookieNames.SESSION_ID]: response.data.sessionId}); + } + } + }, + + noSession() { + if (getSessionKeyValue() === 0 || getSessionIdValue() === '00000000-0000-0000-0000-000000000000') { + return true; + } + else + { + return false; + } + } }, computed: { analyticsPageEvents() { diff --git a/src/router/index.js b/src/router/index.js index 881d0607d..800473526 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,8 +5,7 @@ import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js" import { routingTable } from "@/router/router-constants/routing-table.js"; import { globalEvents, globalEventTypes } from "@/constants/events"; import { queryStrings } from "@/constants/query-strings"; -import { setCookieProperties, getDeviceIdValue, getSessionIdValue, getSessionKeyValue } from "@/helpers/heritage-integration/cookie-helper"; -import { cookieNames } from "@/constants/cookie-names"; +import { getDeviceIdValue } from "@/helpers/heritage-integration/cookie-helper"; // Heritage integration import { isSavedSessionStillActive } from "@/helpers/heritage-integration/session-helper"; @@ -47,8 +46,8 @@ const routes = [ async beforeEnter(to, from, next) { // If we have no query string, or we don't have the FmgPage query string. try { - if (noSession()) { - await initSession(); + if (analyticsMixin.methods.noSession()) { + await analyticsMixin.methods.initSession(); } // If the saved session has timed out, clear the session, execute 404 logic. @@ -249,40 +248,6 @@ async function GetRouteInfoFromPageName(pageName) { return routeData; } -async function initSession() { - const sid = getSessionIdValue(); - const skey = getSessionKeyValue(); - var payload = { - userId: getDeviceIdValue(), - sessionId: sid, - userAgent: navigator.userAgent, - referrer: document.referrer, - }; - - const response = await baseMixin.methods.dispatchStoreAction(storeActions.INITIALIZE_SESSION, payload, false); - - if (response.data) { - if (response.data.sessionKey && skey === 0) { - setCookieProperties({ [cookieNames.SESSION_KEY]: response.data.sessionKey}); - } - if (response.data.sessionId && sid === '00000000-0000-0000-0000-000000000000') { - setCookieProperties({ [cookieNames.SESSION_ID]: response.data.sessionId}); - } - } - - return true; -} - -function noSession() { - if (getSessionKeyValue() === 0 || getSessionIdValue() === '00000000-0000-0000-0000-000000000000') { - return true; - } - else - { - return false; - } -} - // Go to our start page on a 404. async function GoToFunnelStartOn404(next) { const apiResponse = await store.dispatch(storeActions.GET_HOMEPAGE_NAME);