From 870a4ea45a3cc7394ebc7f0a47f560dbedf36b66 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Thu, 14 Nov 2024 15:49:08 -0500 Subject: [PATCH 1/2] conditional logging in router conditional logging in router --- src/router/index.js | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/src/router/index.js b/src/router/index.js index 9fac41bb0..bcf5b8aac 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -50,15 +50,32 @@ const routes = [ async beforeEnter(to, from, next) { // If we have no query string, or we don't have the FmgPage query string. try { + const log = getQuerystringParameter(queryStrings.LOG); + + if (eval(log)) { + // prettier-ignore + console.log("------------- router index.js beforeEnter start -----------------"); + console.log(new Date() + " --to: " + JSON.stringify(to)); + console.log(new Date() + " --from: " + JSON.stringify(from)); + console.log(new Date() + " --next: " + JSON.stringify(next)); + console.log(new Date() + " --cookie: " + JSON.stringify(getFunnelCookie())); + } + await analyticsMixin.methods.validateSession(); if (getFunnelCookie()?.SuppressConceptFunnel) { + if (eval(log)) { + console.log(new Date() + " --go to heritage suppressConceptFunnel: "); + } await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } // If the saved session has timed out, clear the session, execute 404 logic. if (getFunnelCookie() !== null && !isSavedSessionStillActive()) { + if (eval(log)) { + console.log(new Date() + " --save session timeout go to start"); + } await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE); deleteFunnelCookie(); GoToFunnelStartOn404(next); @@ -68,6 +85,9 @@ const routes = [ if (window.sessionStorage.getItem("submittedOrder") !== null) { if (to.query.fmgPage !== funnelStartPageName) { to.query.fmgPage = fmgPageValues.CONFIRMATION; + if (eval(log)) { + console.log(new Date() + " --has submittedOrder go to confirmation"); + } } } // On entering the funnel "fresh", read cookie information, decide what to do next. @@ -130,12 +150,20 @@ const routes = [ // This logic may determine that the user should be sent to heritage -- if so, do that here. if (pageToRedirectTo === fmgPageValues.HERITAGE) { + if (eval(log)) { + // prettier-ignore + console.log(new Date() + " --go to heritage pageToRedirectTo " + JSON.stringify(pageToRedirectTo)); + } await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } // Assign our fmgPage so it will load normally like the other pages. to.query.fmgPage = pageToRedirectTo; + if (eval(log)) { + // prettier-ignore + console.log(new Date() + " --assign to: " + JSON.stringify(pageToRedirectTo)); + } } } @@ -150,6 +178,10 @@ const routes = [ to.query.fmgPage === fmgPageValues.INSURANCE_COMPANY ) { // Push to heritage if going to quote & integrated. + if (eval(log)) { + // prettier-ignore + console.log(new Date() + " --block quote for integrated - go to heritage"); + } await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } @@ -183,6 +215,9 @@ const routes = [ GoToFunnelStartOn404(next); } + if (eval(log)) { + console.log(new Date() + " --has route:" + to.query.fmgPage); + } return next({ name: to.query.fmgPage, query: to.query, params: to.params }); } @@ -216,6 +251,10 @@ const routes = [ GoToFunnelStartOn404(next); } + if (eval(log)) { + console.log("------------- router index.js beforeEnter end -----------------"); + } + // Assign current query string parameters, as well as our fmgPage one. next({ name: routeData[0].name, @@ -230,6 +269,8 @@ const routes = [ await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE); } + console.log(new Date() + " Exception in beforeEnter:" + JSON.stringify(error)); + // If we don't have a route, go to our 404 page. GoToFunnelStartOn404(next); } @@ -443,6 +484,17 @@ async function navigate( const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR); const log = getQuerystringParameter(queryStrings.LOG); + if (eval(log)) { + console.log("------------- router index.js navigate start -----------------"); + console.log(new Date() + " --scenario: " + scenario); + console.log(new Date() + " --currentRoute: " + JSON.stringify(currentRoute)); + console.log(new Date() + " --isSavingNavigation: " + isSavingNavigation); + console.log(new Date() + " --optionalQuery: " + JSON.stringify(optionalQuery)); + console.log(new Date() + " --optionalParams: " + JSON.stringify(optionalParams)); + console.log(new Date() + " --optionalPageData: " + JSON.stringify(optionalPageData)); + console.log(new Date() + " --nextPageName: " + nextPageName); + } + if ( hasZip && (store.getters.order.serviceLocation.zipCode === undefined || @@ -465,6 +517,11 @@ async function navigate( queryStringsObject[queryStrings.LOG] = log; } + if (eval(log)) { + console.log(new Date() + "querystrings: " + JSON.stringify(queryStringsObject)); + console.log("------------- router index.js navigate end -----------------"); + } + router.push({ name: "root", query: Object.assign(optionalQuery, queryStringsObject), From 246e6aa9e54782dbef911f285ae4ab43af27dfe7 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Fri, 15 Nov 2024 07:58:35 -0500 Subject: [PATCH 2/2] make conditional logging a function call --- src/router/index.js | 95 ++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 57 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index bcf5b8aac..402f6c65f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -50,32 +50,23 @@ const routes = [ async beforeEnter(to, from, next) { // If we have no query string, or we don't have the FmgPage query string. try { - const log = getQuerystringParameter(queryStrings.LOG); - - if (eval(log)) { - // prettier-ignore - console.log("------------- router index.js beforeEnter start -----------------"); - console.log(new Date() + " --to: " + JSON.stringify(to)); - console.log(new Date() + " --from: " + JSON.stringify(from)); - console.log(new Date() + " --next: " + JSON.stringify(next)); - console.log(new Date() + " --cookie: " + JSON.stringify(getFunnelCookie())); - } + log("------------- router index.js beforeEnter start -----------------"); + log(" --to: ", JSON.stringify(to)); + log(" --from: ", JSON.stringify(from)); + log(" --next: ", JSON.stringify(next)); + log(" --cookie: ", JSON.stringify(getFunnelCookie())); await analyticsMixin.methods.validateSession(); if (getFunnelCookie()?.SuppressConceptFunnel) { - if (eval(log)) { - console.log(new Date() + " --go to heritage suppressConceptFunnel: "); - } + log(" --go to heritage suppressConceptFunnel: "); await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } // If the saved session has timed out, clear the session, execute 404 logic. if (getFunnelCookie() !== null && !isSavedSessionStillActive()) { - if (eval(log)) { - console.log(new Date() + " --save session timeout go to start"); - } + log(" --save session timeout go to start"); await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE); deleteFunnelCookie(); GoToFunnelStartOn404(next); @@ -85,9 +76,7 @@ const routes = [ if (window.sessionStorage.getItem("submittedOrder") !== null) { if (to.query.fmgPage !== funnelStartPageName) { to.query.fmgPage = fmgPageValues.CONFIRMATION; - if (eval(log)) { - console.log(new Date() + " --has submittedOrder go to confirmation"); - } + log(" --has submittedOrder go to confirmation"); } } // On entering the funnel "fresh", read cookie information, decide what to do next. @@ -150,20 +139,15 @@ const routes = [ // This logic may determine that the user should be sent to heritage -- if so, do that here. if (pageToRedirectTo === fmgPageValues.HERITAGE) { - if (eval(log)) { - // prettier-ignore - console.log(new Date() + " --go to heritage pageToRedirectTo " + JSON.stringify(pageToRedirectTo)); - } + // prettier-ignore + log(" --go to heritage pageToRedirectTo ", JSON.stringify(pageToRedirectTo)); await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } // Assign our fmgPage so it will load normally like the other pages. to.query.fmgPage = pageToRedirectTo; - if (eval(log)) { - // prettier-ignore - console.log(new Date() + " --assign to: " + JSON.stringify(pageToRedirectTo)); - } + log(" --assign to: ", JSON.stringify(pageToRedirectTo)); } } @@ -177,11 +161,8 @@ const routes = [ to.query.fmgPage === fmgPageValues.QUOTE || to.query.fmgPage === fmgPageValues.INSURANCE_COMPANY ) { + log(" --block quote page for integrated clients - go to heritage"); // Push to heritage if going to quote & integrated. - if (eval(log)) { - // prettier-ignore - console.log(new Date() + " --block quote for integrated - go to heritage"); - } await navigateToHeritageFunnel({ shouldSaveSession: false }); return next(false); } @@ -215,9 +196,7 @@ const routes = [ GoToFunnelStartOn404(next); } - if (eval(log)) { - console.log(new Date() + " --has route:" + to.query.fmgPage); - } + log(" --has route:", to.query.fmgPage); return next({ name: to.query.fmgPage, query: to.query, params: to.params }); } @@ -245,15 +224,12 @@ const routes = [ .components.default(); if (!arePagePrerequisitesValid(nextComponent)) { - console.log( - "Page Prereqs not valid for next component: " + nextComponent.default.name - ); + // prettier-ignore + console.log("Page Prereqs not valid for next component: " + nextComponent.default.name); GoToFunnelStartOn404(next); } - if (eval(log)) { - console.log("------------- router index.js beforeEnter end -----------------"); - } + log("------------- router index.js beforeEnter end -----------------"); // Assign current query string parameters, as well as our fmgPage one. next({ @@ -482,18 +458,16 @@ async function navigate( const zip = getQuerystringParameter(queryStrings.ZIP_CODE); const promo = getQuerystringParameter(queryStrings.PROMO); const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR); - const log = getQuerystringParameter(queryStrings.LOG); + const logQs = getQuerystringParameter(queryStrings.LOG); - if (eval(log)) { - console.log("------------- router index.js navigate start -----------------"); - console.log(new Date() + " --scenario: " + scenario); - console.log(new Date() + " --currentRoute: " + JSON.stringify(currentRoute)); - console.log(new Date() + " --isSavingNavigation: " + isSavingNavigation); - console.log(new Date() + " --optionalQuery: " + JSON.stringify(optionalQuery)); - console.log(new Date() + " --optionalParams: " + JSON.stringify(optionalParams)); - console.log(new Date() + " --optionalPageData: " + JSON.stringify(optionalPageData)); - console.log(new Date() + " --nextPageName: " + nextPageName); - } + log("------------- router index.js navigate start -----------------"); + log(" --scenario: ", scenario); + log(" --currentRoute: ", JSON.stringify(currentRoute)); + log(" --isSavingNavigation: ", isSavingNavigation); + log(" --optionalQuery: ", JSON.stringify(optionalQuery)); + log(" --optionalParams: ", JSON.stringify(optionalParams)); + log(" --optionalPageData: ", JSON.stringify(optionalPageData)); + log(" --nextPageName: ", nextPageName); if ( hasZip && @@ -513,14 +487,12 @@ async function navigate( queryStringsObject[queryStrings.PAGE_ERROR] = pageError; } - if (log) { - queryStringsObject[queryStrings.LOG] = log; + if (logQs) { + queryStringsObject[queryStrings.LOG] = logQs; } - if (eval(log)) { - console.log(new Date() + "querystrings: " + JSON.stringify(queryStringsObject)); - console.log("------------- router index.js navigate end -----------------"); - } + log(" querystrings: ", JSON.stringify(queryStringsObject)); + log("------------- router index.js navigate end -----------------"); router.push({ name: "root", @@ -547,6 +519,15 @@ function getNavigationMap(scenario, currentRoute) { return matchedQueryValue[0]; } +function log(message, data) { + const log = getQuerystringParameter(queryStrings.LOG); + data = data ?? ""; + + if (eval(log)) { + console.log(new Date() + message + data); + } +} + //---------------------------------------------------------- Private Functions ---------------------------------------------------------- // Navigate to an external url.