Merge pull request #3130 from Safelite/nation/CASH-2415

Nation/cash 2415
This commit is contained in:
CarlNation 2026-04-03 09:55:17 -04:00 committed by GitHub
commit 84b57c8ec4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 48 additions and 6 deletions

View file

@ -192,6 +192,10 @@ const endpoints = {
url: "/experiments/api/v1/experiments/run",
method: "POST",
},
ForceExperiments: {
url: "/experiments/api/v1/experiments/forceVariations",
method: "POST",
},
GetInsuranceCompanyList: {
url: "/account/api/v1/account/insurance-companies",
method: "GET",

View file

@ -47,6 +47,7 @@ const storeActions = {
TAX_ORDER_ITEMS_AND_SAVE_SERVER_DATA: "taxOrderItemsAndSaveServerData",
GET_EXPERIMENTS_BY_USER: "GetExperimentsByUser",
RUN_EXPERIMENTS_FOR_TRIGGER: "runExperimentsForTrigger",
FORCE_EXPERIMENTS: "forceExperiments",
CLEAR_VIN: "clearVin",
RESET_SAVE_SESSION_PROMISE: "resetSaveSessionPromise",
GET_SIGNATURE: "getSignature",

View file

@ -119,7 +119,6 @@ const storeMutations = {
UPDATE_EXTERNAL_PARAMETER_IS_INSURANCE: "updateExternalParameterIsInsurance",
UPDATE_EXTERNAL_PARAMETER_VIN_SELECTION: "updateExternalParameterVinSelection",
UPDATE_EXTERNAL_PARAMETER_SERVICE_PACKAGE: "updateExternalParameterServicePackage",
UPDATE_EXTERNAL_PARAMETER_SOURCE: "updateExternalParameterSource",
UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER: "updateExternalParameterPhoneNumber",
UPDATE_EXTERNAL_PARAMETER_QS_STASH: "updateExternalParameterQsStash",

View file

@ -9,6 +9,7 @@ import { getQuerystringParameter } from "@/helpers/querystring-helper";
import { queryStrings } from "@/constants/query-strings";
import { externalParameterStatus } from "@/constants/external-parameters";
import { debugLog } from "@/helpers/debug-log-helper";
import { runExperiments, forceExperiments } from "@/router/methods/helpers/run-experiments";
export async function initializeFromQueryStrings() {
// Get advertiser info
@ -16,6 +17,17 @@ export async function initializeFromQueryStrings() {
// Read all external paramter queries and write to store.
updateExternalParameterState();
forceExperimentsFromQuerystrings();
}
async function forceExperimentsFromQuerystrings() {
const experimentsFromQueryString = getQuerystringParameter(queryStrings.EXPERIMENTS);
if (experimentsFromQueryString) {
var qs = decodeURIComponent(window.location.search);
let forcedExperiments = qs.substring(qs.indexOf(queryStrings.EXPERIMENTS));
await forceExperiments(forcedExperiments);
}
}
function setupAdvertisersAndAffiliates() {
@ -39,7 +51,6 @@ function updateExternalParameterState() {
const externalParameterVinSelection = getQuerystringParameter(queryStrings.VIN_SELECTION);
const externalParameterServicePackage = getQuerystringParameter(queryStrings.SERVICE_PACKAGE);
const externalParameterNumberOfChips = getQuerystringParameter(queryStrings.NUMBER_OF_CHIPS);
const externalParameterSource = getQuerystringParameter(queryStrings.EXPERIMENTS);
const externalParameterPhoneNumber = getQuerystringParameter(queryStrings.PHONE_NUMBER);
if (!externalParameterZipCode) {
@ -58,7 +69,6 @@ function updateExternalParameterState() {
debugLog("externalParameterVinSelection:", externalParameterVinSelection);
debugLog("externalParameterServicePackage:", externalParameterServicePackage);
debugLog("externalParameterNumberOfChips:", externalParameterNumberOfChips);
debugLog("externalParameterSource:", externalParameterSource);
debugLog("externalPhoneNumber:", externalParameterPhoneNumber);
}
@ -116,9 +126,6 @@ function updateExternalParameterState() {
externalParameterVinSelection
);
}
if (externalParameterSource) {
store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_SOURCE, externalParameterSource);
}
if (externalParameterPhoneNumber) {
store.commit(
storeMutations.UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER,

View file

@ -28,3 +28,15 @@ export async function runExperiments(nextPageName) {
nextPageName
);
}
export async function forceExperiments(forceExperimentQueryStringValues) {
await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.FORCE_EXPERIMENTS,
{
deviceId: getDeviceIdValue(),
queryStringExperiments: forceExperimentQueryStringValues,
},
"/",
false
);
}

View file

@ -1789,6 +1789,25 @@ export const actions = {
context.commit(storeMutations.UPDATE_EXPERIMENTS, response.data.experiments);
},
async forceExperiments(
context,
{ payload: { deviceId, queryStringExperiments }, pageNameToLog }
) {
var payload = {
applicationName: applicationConfig.APPLICATION_NAME,
deviceId: deviceId,
queryStringExperiments: queryStringExperiments,
};
const response = await globalMethods.callHttpClient({
method: endpoints.ForceExperiments.method,
endpoint: endpoints.ForceExperiments.url,
payload: payload,
logApiCall: true,
pageNameToLog: pageNameToLog,
});
},
getEvoxImage(context, { relativeUrl }) {
return globalMethods.callHttpClient({
method: endpoints.GetPageData.method,