ouisys-engine 5.1.45 → 5.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -211,9 +211,9 @@ var getRedirectUrl = function (_a) {
211
211
  var window = _a.window, maybeConfig = _a.maybeConfig, extraParams = _a.extraParams;
212
212
  return __awaiter(void 0, void 0, void 0, function () {
213
213
  var country, slug, queryString, apiAction, evinaTid, offer, s, search_1, rockmanId, host, url, result_1, identifyError, host, url, result, identifyError, searchObj, identifyError, host, params, url, result, identifyError;
214
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
215
- return __generator(this, function (_m) {
216
- switch (_m.label) {
214
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
215
+ return __generator(this, function (_p) {
216
+ switch (_p.label) {
217
217
  case 0:
218
218
  if (!(typeof window === 'undefined')) return [3 /*break*/, 1];
219
219
  // eslint-disable-next-line no-throw-literal, no-script-url
@@ -241,7 +241,7 @@ var getRedirectUrl = function (_a) {
241
241
  url = "".concat(host, "/tallyman/v1/?action=identify-user&country=").concat(bupperizeCountry(country), "&slug=").concat(slug, "&device=").concat('smart', "&offerId=").concat(offer, "&rockman_id=").concat(rockmanId, "&sam_evina_tid=").concat(evinaTid, "&").concat(search_1);
242
242
  return [4 /*yield*/, fetchJsonp(url)];
243
243
  case 2:
244
- result_1 = _m.sent();
244
+ result_1 = _p.sent();
245
245
  if (result_1.success === false) {
246
246
  identifyError = new Error("Error in getRedirectUrl() identify-user action:\n".concat(result_1.message));
247
247
  identifyError.type = 'NotOn3g';
@@ -259,7 +259,7 @@ var getRedirectUrl = function (_a) {
259
259
  url = "".concat(host, "/tallyman/v1/?action=he&country=").concat(bupperizeCountry(country), "&slug=").concat(slug, "&device=").concat('smart', "&offerId=").concat(offer, "&rockman_id=").concat(rockmanId, "&sam_evina_tid=").concat(evinaTid, "&").concat(search_1);
260
260
  return [4 /*yield*/, fetch(url).then(function (x) { return x.json(); })];
261
261
  case 4:
262
- result = _m.sent();
262
+ result = _p.sent();
263
263
  if (result.success === false) {
264
264
  identifyError = new Error("Error in getRedirectUrl() identify-user action:\n".concat(result.message));
265
265
  identifyError.type = 'NotOn3g';
@@ -287,11 +287,11 @@ var getRedirectUrl = function (_a) {
287
287
  })), { antifraud_id: window.antifraud_id || '',
288
288
  // More specific antifraud IDs will eventuallly replace antifraud_id
289
289
  // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25
290
- antifraud_id_js_code: window.antifraud_id_js_code || '', antifraud_id_js_link: window.antifraud_id_js_link || '', zain_antifraud_id: window.zain_antifraud_id || '', korek_antifraud_id: window.korek_antifraud_id || '' }));
290
+ antifraud_id_js_code: window.antifraud_id_js_code || '', antifraud_id_js_link: window.antifraud_id_js_link || '', zain_antifraud_id: window.zain_antifraud_id || '', korek_antifraud_id: window.korek_antifraud_id || '', unique_he_key: ((_o = (_m = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _m === void 0 ? void 0 : _m.visitor) === null || _o === void 0 ? void 0 : _o.uniqueHeKey) || '' }));
291
291
  url = "".concat(host, "/tallyman/v1/?").concat(params.toString()).concat(search_1 ? "&".concat(search_1) : '');
292
292
  return [4 /*yield*/, fetch(url).then(function (x) { return x.json(); })];
293
293
  case 6:
294
- result = _m.sent();
294
+ result = _p.sent();
295
295
  if (result.success === false) {
296
296
  identifyError = new Error("Error in getRedirectUrl() action redirect action:\n".concat(result.message));
297
297
  identifyError.type = 'NotOn3g';
@@ -1 +1 @@
1
- {"version":3,"file":"oneClickFlow.js","sources":["../../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../../src/flows/oneClickFlow/match.ts","../../src/utilities/addEmpelloToken.ts","../../src/utilities/replaceUrlParam.ts","../../src/flows/oneClickFlow/api.ts","../../src/flows/oneClickFlow/main.ts","../../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe' && window?.pac_analytics?.visitor?.ip_range_name?.toLowerCase()?.includes('pe')) {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n // @ts-ignore\n // eslint-disable-next-line no-console\n console.log('checkEmpAvailability');\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 10);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n const result = await fetch(url).then((x) => x.json());\n\n return result;\n};\n","import { IError } from '../../common-types/IError';\nimport {\n IIDentifyUserResult,\n ILinkExtraParams,\n ISubscribeParams,\n ISubscribeResult\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe({ url: result.subscription_url, config: maybeConfig })\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip }),\n ...(window?.pac_analytics?.visitor?.ipRangeOperator && {\n ip_range_operator: window?.pac_analytics?.visitor?.ipRangeOperator\n }),\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(\n `Error in getRedirectUrl() action redirect action:\\n${result.message}`\n ) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe = async ({ url, config: maybeConfig, msisdn, operator, extraParams }: ISubscribeParams) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n result = await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const defaultType = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMsisdn';\n\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build, augment, log and throw\n const error = new Error(`${type}:\\n${result.message}`) as IError & {\n type: string;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure,\n SubscribeUserErrorTypes\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n const visitor = (window.pac_analytics?.visitor ?? {}) as any;\n\n try {\n if (isGetRedirectBupperWay === true) {\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: updatedRedirectUrl\n });\n\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n\n clearInterval(timer);\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n const candidates: (string | undefined)[] = [\n visitor.heMsisdnDecryptedByApiResult?.msisdn,\n visitor.heMsisdnResult?.msisdn\n ];\n\n const msisdn = candidates.find((s) => !!s) ?? null;\n if ((subscription_url && subscription_url != null) || msisdn) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: newRedirectUrl\n });\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config, msisdn, operator, apn } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe', {\n msisdn,\n operator,\n extraParams,\n subscription_url\n });\n const product_url = await subscribe({\n url: subscription_url,\n config,\n extraParams: { ...extraParams, apn },\n msisdn,\n operator\n });\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type as SubscribeUserErrorTypes;\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["RDS.Success","RDS.NothingYet","RDS.Loading","RDS.Failure"],"mappings":"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"}
1
+ {"version":3,"file":"oneClickFlow.js","sources":["../../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../../src/flows/oneClickFlow/match.ts","../../src/utilities/addEmpelloToken.ts","../../src/utilities/replaceUrlParam.ts","../../src/flows/oneClickFlow/api.ts","../../src/flows/oneClickFlow/main.ts","../../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe' && window?.pac_analytics?.visitor?.ip_range_name?.toLowerCase()?.includes('pe')) {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n // @ts-ignore\n // eslint-disable-next-line no-console\n console.log('checkEmpAvailability');\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 10);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n const result = await fetch(url).then((x) => x.json());\n\n return result;\n};\n","import { IError } from '../../common-types/IError';\nimport {\n IIDentifyUserResult,\n ILinkExtraParams,\n ISubscribeParams,\n ISubscribeResult\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe({ url: result.subscription_url, config: maybeConfig })\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip }),\n ...(window?.pac_analytics?.visitor?.ipRangeOperator && {\n ip_range_operator: window?.pac_analytics?.visitor?.ipRangeOperator\n }),\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || '',\n unique_he_key: window?.pac_analytics?.visitor?.uniqueHeKey || ''\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(\n `Error in getRedirectUrl() action redirect action:\\n${result.message}`\n ) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe = async ({ url, config: maybeConfig, msisdn, operator, extraParams }: ISubscribeParams) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n result = await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const defaultType = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMsisdn';\n\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build, augment, log and throw\n const error = new Error(`${type}:\\n${result.message}`) as IError & {\n type: string;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure,\n SubscribeUserErrorTypes\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n const visitor = (window.pac_analytics?.visitor ?? {}) as any;\n\n try {\n if (isGetRedirectBupperWay === true) {\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: updatedRedirectUrl\n });\n\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n\n clearInterval(timer);\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n const candidates: (string | undefined)[] = [\n visitor.heMsisdnDecryptedByApiResult?.msisdn,\n visitor.heMsisdnResult?.msisdn\n ];\n\n const msisdn = candidates.find((s) => !!s) ?? null;\n if ((subscription_url && subscription_url != null) || msisdn) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: newRedirectUrl\n });\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config, msisdn, operator, apn } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe', {\n msisdn,\n operator,\n extraParams,\n subscription_url\n });\n const product_url = await subscribe({\n url: subscription_url,\n config,\n extraParams: { ...extraParams, apn },\n msisdn,\n operator\n });\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type as SubscribeUserErrorTypes;\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["RDS.Success","RDS.NothingYet","RDS.Loading","RDS.Failure"],"mappings":"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"}
package/dist/pinFlow.js CHANGED
@@ -377,10 +377,11 @@ function submitMSISDNForMultipleOperators(window, config, internationalMSISDN, o
377
377
  });
378
378
  }
379
379
  function submitPIN(window, pin, config, extraParams) {
380
+ var _a;
380
381
  return __awaiter(this, void 0, void 0, function () {
381
- var slug, country, device, offer, newExtraParams, searchObj, rockmanId, emptyPinError, uniqid, evinaTid, search, pinResult, errorType, pinError, check, checkResult, isAlreadySubscribed, pinError, isAlreadySubscribed;
382
- return __generator(this, function (_a) {
383
- switch (_a.label) {
382
+ var slug, country, device, offer, newExtraParams, searchObj, rockmanId, emptyPinError, uniqid, evinaTid, search, pinResult, defaultType, type, pinError, check, checkResult, isAlreadySubscribed, pinError, isAlreadySubscribed;
383
+ return __generator(this, function (_b) {
384
+ switch (_b.label) {
384
385
  case 0:
385
386
  if (window.hostCountry && window.hostSlug) {
386
387
  config.country = window.hostCountry;
@@ -416,34 +417,38 @@ function submitPIN(window, pin, config, extraParams) {
416
417
  search: search
417
418
  })];
418
419
  case 1:
419
- pinResult = _a.sent();
420
+ pinResult = _b.sent();
420
421
  if (!(pinResult.success === false)) return [3 /*break*/, 2];
421
- errorType = void 0;
422
+ defaultType = null;
422
423
  switch (true) {
423
424
  case pinResult.message.includes('pin does not match'):
424
- errorType = 'InvalidPIN';
425
+ defaultType = 'InvalidPIN';
425
426
  break;
426
427
  case pinResult.message.includes('mcp blocked'):
427
- errorType = 'SessionBlocked';
428
+ defaultType = 'SessionBlocked';
428
429
  break;
429
430
  case pinResult.message.includes('expired_pin'):
430
- errorType = 'ExpiredPIN';
431
+ defaultType = 'ExpiredPIN';
431
432
  break;
432
433
  case pinResult.message.includes('insufficient_balance'):
433
- errorType = 'InsufficientBalance';
434
+ defaultType = 'InsufficientBalance';
434
435
  break;
435
436
  case pinResult.message.includes('duplicated_request'):
436
- errorType = 'DuplicatedRequest';
437
+ defaultType = 'DuplicatedRequest';
437
438
  break;
438
439
  case pinResult.message.includes('ALREADY SUBSCRIBED'):
439
- errorType = 'AlreadySubscribed';
440
+ defaultType = 'AlreadySubscribed';
440
441
  break;
441
442
  default:
442
- errorType = 'UnknownError';
443
+ defaultType = 'UnknownError';
443
444
  }
444
- pinError = new Error("Error in submitMSISDN() verify-pin action:\n".concat(pinResult.message));
445
- pinError.type = errorType;
446
- console.error(pinError);
445
+ type = pinResult.error_code ? normaliseErrorCode(pinResult.error_code) : defaultType;
446
+ pinError = new Error("Error in verifyPin() verify-pin action:\n".concat(pinResult.message));
447
+ Object.assign(pinError, {
448
+ type: type,
449
+ message: pinResult.message,
450
+ productUrl: (_a = pinResult.product_url) !== null && _a !== void 0 ? _a : ''
451
+ });
447
452
  throw pinError;
448
453
  case 2:
449
454
  if (!(pinResult.async === true)) return [3 /*break*/, 4];
@@ -456,7 +461,7 @@ function submitPIN(window, pin, config, extraParams) {
456
461
  };
457
462
  return [4 /*yield*/, loop(check, 100, function (r) { return r.success || r.message === 'invalid_pin'; }, 0)];
458
463
  case 3:
459
- checkResult = _a.sent();
464
+ checkResult = _b.sent();
460
465
  if (checkResult.success === true) {
461
466
  isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';
462
467
  return [2 /*return*/, { productUrl: checkResult.product_url || null, isAlreadySubscribed: isAlreadySubscribed }];
@@ -837,30 +842,7 @@ var submitPinAction = createAsyncThunk('pinFlow/submitPinAction', function (_a,
837
842
  case 5:
838
843
  ex_2 = _s.sent();
839
844
  console.warn(ex_2);
840
- errorType = void 0;
841
- switch (ex_2.type) {
842
- case 'AlreadySubscribed':
843
- errorType = 'AlreadySubscribed';
844
- break;
845
- case 'InvalidPIN':
846
- errorType = 'InvalidPIN';
847
- break;
848
- case 'SessionBlocked':
849
- errorType = 'SessionBlocked';
850
- break;
851
- case 'ExpiredPIN':
852
- errorType = 'ExpiredPIN';
853
- break;
854
- case 'InsufficientBalance':
855
- errorType = 'InsufficientBalance';
856
- break;
857
- case 'DuplicatedRequest':
858
- errorType = 'DuplicatedRequest';
859
- break;
860
- default:
861
- errorType = 'UnknownError';
862
- break;
863
- }
845
+ errorType = ex_2.type;
864
846
  tracker.recedeInFlow('tallyman.v1-pin', 'pin-submission-failure', {
865
847
  msisdn: msisdn,
866
848
  pin: pin,
@@ -1 +1 @@
1
- {"version":3,"file":"pinFlow.js","sources":["../../src/flows/pinFlow/hooks/usePinFlowState.ts","../../src/flows/pinFlow/match.ts","../../src/sharedApi/checkSubscription.ts","../../src/flows/pinFlow/api.ts","../../src/flows/pinFlow/main.ts","../../src/flows/pinFlow/pinFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const usePinFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.pinFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IMsisdnSumbitNextData,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n PINEntryFailure,\n PINEntrySuccess,\n PinFlowCurrentState\n} from '../../sharedFlowTypes/PinTypes';\n\nfunction pinFlowMatch<R>({\n msisdnEntry,\n pinEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n pinEntry: (rds: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>, nextData: IMsisdnSumbitNextData) => R;\n}): (state: PinFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n case 'PINEntry':\n return pinEntry(state.result, state.data);\n default:\n throw new Error('Invalid State');\n }\n };\n}\n\nexport { pinFlowMatch };\n","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IHash } from '../common-types/IHash';\nimport { bupperizeCountry } from '../utilities/bupperizeCountry';\n\nconst checkSubscription = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n extraParams?: IHash; // Marked as optional if currently unused\n}): Promise<ICheckSubscriptionResult> => {\n const params = {\n action: 'check-subscription',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { checkSubscription };\n","import { IHash, IMcpShieldResult, IMSISDNSubmissionResult, IPINSubmissionResult } from '../../sharedFlowTypes/PinTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst checkIsCleanTraffic = (country: string): string => {\n if (country === 'be') {\n if (typeof window !== 'undefined' && window.shouldBlock === true) {\n return '&is-clean-traffic=false';\n }\n return '&is-clean-traffic=true';\n }\n return '';\n};\nconst triggerPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams,\n search,\n uniqid,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n uniqid?: string;\n evinaTid?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'trigger-pin',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n uniqid: uniqid || '',\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || '',\n\n ip_address: window.pac_analytics.visitor.ip || '',\n ip_range_operator: window.pac_analytics.visitor.ipRangeOperator || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n if (window.MOCK_TIGGER_PIN_RESPONSE) {\n return window.MOCK_TIGGER_PIN_RESPONSE;\n }\n return fetch(url).then((x) => x.json());\n};\n\nconst verifyPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams,\n uniqid,\n evinaTid,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n pin: string;\n extraParams: IHash;\n uniqid: string;\n evinaTid: string;\n search: string;\n}): Promise<IPINSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n // Base parameters object\n const params = {\n action: 'verify-pin',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n pin,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n ClickID: window.antifraud_click_id || '',\n partner_cid: window.partner_cid || '',\n sam_evina_tid: evinaTid,\n uniqid,\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst mcpShield = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator,\n uniqid\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n operator?: string;\n uniqid?: string;\n}): Promise<IMcpShieldResult> => {\n const pageUrl = window.location.href;\n const ipAdd = window.pac_analytics.visitor.ip;\n\n const params = new URLSearchParams({\n action: 'mcp-shield',\n country,\n slug,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n client_lpu: pageUrl,\n ...(operator && { operator }),\n ...(uniqid && { uniqid })\n });\n\n // Conditionally add client_ip if it exists\n if (ipAdd) {\n params.append('client_ip', ipAdd);\n }\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { triggerPin, verifyPin, mcpShield };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { checkSubscription } from '../../sharedApi/checkSubscription';\nimport {\n IHash,\n IMcpShieldResult,\n IMSISDNSubmissionResult,\n IPINSubmissionResult,\n MultiOperatorMSISDNSubmissionResult,\n SingleMSISDNSubmissionResult\n} from '../../sharedFlowTypes/PinTypes';\nimport { IConfig, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { left, loop, right } from '../../utilities/helpers';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { mcpShield, triggerPin, verifyPin } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult | MultiOperatorMSISDNSubmissionResult> {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return submitMSISDNForMultipleOperators(window, config, internationalMSISDN, config.operators, extraParams);\n }\n return submitMSISDNOnce(window, config, internationalMSISDN, extraParams);\n}\n\nlet uniqidResult = '';\n// eslint-disable-next-line consistent-return\nexport async function loadMcpShield(window: Window, config: IConfig): Promise<IMcpShieldResult> {\n if (config) {\n const { slug, country, device } = config;\n\n const { offer } = window.pac_analytics.visitor;\n const { rockmanId } = window.pac_analytics.visitor;\n\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({ window, country, slug, device, offer, rockmanId });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n return mcpShieldResult;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n}\n\nasync function submitMSISDNOnce(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult> {\n if (!internationalMSISDN) {\n const submissionError = new Error(`Error in submitMSISDN() trigger-pin action`) as IError & { type: string };\n submissionError.type = 'InvalidMSISDN';\n throw submissionError;\n }\n const newExtraParams = extraParams || {};\n let isSkipValidation = false;\n const searchObj = searchToObject(window) as IStrategyIDentifyUserResult;\n // @ts-ignore\n if ((searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') || window.skip_validation === true) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n if (newExtraParams['skip-validation'] === '1') {\n isSkipValidation = true;\n }\n\n const msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\\d+/gi).join(''); // tallyman API expects international msisdn without any special character\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const uniqid = !!uniqidResult && uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const result: IMSISDNSubmissionResult = await triggerPin({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams: newExtraParams,\n search,\n uniqid,\n evinaTid\n });\n\n if (result.isContentBlocked === true) {\n window.isContentBlocked = true;\n }\n if (result.success === false) {\n // derive a default type from the message\n const defaultType: string | null = result.message.includes('ALREADY SUBSCRIBED')\n ? 'AlreadySubscribed'\n : /invalid/i.test(result.message)\n ? 'InvalidMsisdn'\n : result.message.includes('duplicated_request')\n ? 'DuplicatedRequest'\n : 'UnknownError';\n\n // prefer an explicit error_code mapping when available\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build and annotate the Error\n const error = new Error(`Error in submitMSISDN() trigger-pin action:\\n${result.message}`) as IError & {\n type: string | null;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n message: result.message,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n window.operator = result.operator; // currently used on server for KW_STC if present dont call empello for Shemaroo\n const codesWithMcpShied: { [key: string]: { [key: string]: string } } = {\n kw: {\n kw_viva: 'kw_viva'\n },\n k2: {\n k2_viva: 'k2_viva'\n },\n bh: {\n bh_viva: 'bh_viva'\n }\n };\n if (\n country &&\n result.operator &&\n ((codesWithMcpShied[country.toLowerCase()] &&\n codesWithMcpShied[country.toLowerCase()][result.operator.toLowerCase()]) ||\n country.toLowerCase() === 'iq') &&\n !window.isCallBlockApi &&\n !window.Empello // set on server https://www.notion.so/sammedia/KW-Agency-Shemaroo-STC-integration-1a114991683d4af79eb01a4d96789f30\n ) {\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator: result.operator,\n uniqid\n });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n\n if (result.javascript) {\n loadScriptInnerHtml(result.javascript);\n }\n\n return {\n type: 'SingleMSISDNSubmissionResult',\n pin: result.pin,\n uniqidResult,\n operator: result.operator,\n redirectUrl: result?.redirect_to_url, // For pin redirect empello\n ...(result?.userType ? { userType: result?.userType } : {}) // For Peru user plan if prepaid or postpaid\n };\n }\n}\n\nasync function submitMSISDNForMultipleOperators(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n operators: string[],\n extraParams?: IHash\n): Promise<MultiOperatorMSISDNSubmissionResult> {\n const results = await Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await submitMSISDNOnce(window, config, internationalMSISDN, {\n ...extraParams,\n operator: o\n });\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const alreadySubscribed = results.find((r: any) => r.type === 'left' && r.value?.type === 'AlreadySubscribed');\n\n if (results.every((r) => r.type === 'left')) {\n // no submission worked\n throw results[0].value;\n } else if (alreadySubscribed) {\n throw alreadySubscribed.value;\n } else {\n return {\n type: 'MultiOperatorMSISDNSubmissionResult'\n };\n }\n}\n\nexport async function submitPIN(\n window: Window,\n pin: string,\n config: IConfig,\n extraParams: IHash\n): Promise<{ productUrl?: string; isAlreadySubscribed?: boolean; gatewayRedirectUrl?: string }> {\n if (window.hostCountry && window.hostSlug) {\n config.country = window.hostCountry;\n config.slug = window.hostSlug;\n }\n const { slug, country, device } = config;\n const { offer } = window.pac_analytics.visitor;\n\n const newExtraParams = extraParams || {};\n const searchObj = searchToObject(window) as any;\n if (searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') {\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (!pin) {\n const emptyPinError = new Error(`Error in submitMSISDN() verify-pin action:\\n Pin Cannot Be Empty`) as IError & {\n type: string;\n };\n emptyPinError.type = 'InvalidPIN';\n throw emptyPinError;\n }\n const uniqid = uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n const search = window.location.search.substr(1) || '';\n\n const pinResult: IPINSubmissionResult = await verifyPin({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams: newExtraParams,\n uniqid,\n evinaTid,\n search\n });\n if (pinResult.success === false) {\n let errorType: string;\n\n switch (true) {\n case pinResult.message.includes('pin does not match'):\n errorType = 'InvalidPIN';\n break;\n case pinResult.message.includes('mcp blocked'):\n errorType = 'SessionBlocked';\n break;\n case pinResult.message.includes('expired_pin'):\n errorType = 'ExpiredPIN';\n break;\n case pinResult.message.includes('insufficient_balance'):\n errorType = 'InsufficientBalance';\n break;\n case pinResult.message.includes('duplicated_request'):\n errorType = 'DuplicatedRequest';\n break;\n case pinResult.message.includes('ALREADY SUBSCRIBED'):\n errorType = 'AlreadySubscribed';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n const pinError = new Error(`Error in submitMSISDN() verify-pin action:\\n${pinResult.message}`) as IError & {\n type: string;\n };\n pinError.type = errorType;\n console.error(pinError);\n throw pinError;\n } else if (pinResult.async === true) {\n // Needed for ES https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n if (pinResult.product_url && pinResult.product_url !== '' && country?.toLowerCase() === 'es') {\n return { gatewayRedirectUrl: pinResult.product_url };\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n checkSubscription({ window, country, slug, device, offer, rockmanId, extraParams });\n\n const checkResult: ICheckSubscriptionResult = await loop(\n check,\n 100,\n (r) => r.success || r.message === 'invalid_pin',\n 0\n );\n if (checkResult.success === true) {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: checkResult.product_url || null, isAlreadySubscribed };\n }\n const pinError = new Error(`Error in submitMSISDN() verify-pin action:\\n${checkResult.message}`) as IError & {\n type: string;\n };\n pinError.type = 'InvalidPIN';\n\n pinError.message = checkResult.message;\n\n throw pinError;\n } else {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: pinResult.product_url || null, isAlreadySubscribed };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n IHash,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n PINEntryErrorTypes,\n PINEntryFailure,\n PINEntryState,\n PINEntrySuccess,\n PinFlowState\n} from '../../sharedFlowTypes/PinTypes';\nimport { IMockFlowParams, PossibleTypes, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleResolveRedirect } from '../../utilities/handleResolveRedirect';\nimport { ErrorType, getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy, setStrategyExtraData } from '../strategy/strategySlice';\nimport submitMSISDN, { submitPIN } from './main';\n\nconst mockedPINState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet<PINEntryFailure, PINEntrySuccess>(),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedCompletedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({ finalUrl: '/product' }),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedMSISDNEntryFailure: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\n// Define the initial state\nconst defaultInitialState: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\n/**\n * Sets the initial state of the pin flow based on the search parameters in the URL or the default state.\n *\n * @param {Window} window - The window object.\n * @return {PinFlowState} The initial state of the pin flow.\n */\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n const pinPageEvent = new Event('onPinPage');\n const isPinEntryStep =\n (search.ui_show_pin_entry && search.ui_show_pin_entry === '1') ||\n (search['show-pin-entry'] && search['show-pin-entry'] === '1');\n const isShowThankYouStep = search['show-thank-you'] && search['show-thank-you'] === '1';\n const isShowCustomError = search?.show_custom_error === '1';\n\n const rawParam = search?.ui_error_message ?? '';\n const normalizedParam = rawParam.replace(/\\+/g, '%20');\n const errorMsg = decodeURIComponent(normalizedParam);\n const mapParamError: { [key: string]: ErrorType } = {\n 'This mobile number is blacklisted': 'BlacklistedNumber'\n };\n\n const msisdnError: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: mapParamError[errorMsg] || 'SomethingWentWrong',\n error: errorMsg\n })\n }\n };\n\n const thankYouState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: search?.product_url || ''\n }),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n const initalPinEntryState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet(),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return initalPinEntryState;\n }\n if (isShowThankYouStep) {\n return thankYouState;\n }\n if (isShowCustomError) {\n return msisdnError;\n }\n\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-failure-state':\n return mockedMSISDNEntryFailure;\n case 'pin-state':\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return mockedPINState;\n case 'completed-state':\n return mockedCompletedState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls trigger-pin api that sends a pin to the user\n * Sets state to show pin entry\n */\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\nexport const submitMSISDNAction = createAsyncThunk<\n PINEntryState | MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config, isHeaderEnrichmentSuccess } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n const searchObj = searchToObject(window) as { ui_show_pin_entry: string };\n\n try {\n window.isBackToStart = false;\n /**\n * Palestine calling code is +970\n * But there was a request to have it as +972 only for gateway shemaroo\n */\n // Start PS Calling code temp fix\n if (config?.country.toLowerCase() === 'ps' && config?.slug.includes('shemaroo')) {\n const prefix = getInputValuePrefix(config?.country, msisdn);\n if (prefix === '+970') {\n msisdn = msisdn.replace('970', '972');\n }\n }\n // END PS Calling code temp fix\n\n const jsLinkResult = window?.pac_analytics?.visitor?.genericJsLinkResult;\n\n // If the flow is TPAY the above trigger pin will only do tracking on the backend and not actually request a pin from gateway\n // The code below handles that request\n if (jsLinkResult?.gateway === 'tpay' && !searchObj?.ui_show_pin_entry) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n await submitMSISDN(window, config, msisdn); // trigger pin call requested here by Adrian for BE tracking\n window.msisdn = msisdn;\n if (window.callConfirm) {\n try {\n window.callConfirm();\n return {\n ...pinFlowCurrentState,\n type: 'MSISDNEntry',\n result: RDS.Loading()\n };\n } catch (ex) {\n // Catch any unexpected errors\n const errorMsg = 'Confirm function failed';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: ex?.toString() || 'Error calling window.callConfirm function',\n message: ex.message\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n }\n }\n // Catch any unexpected errors\n const errorMsg = 'Confirm function not found';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n\n // END TPAY TRIGGER PIN\n }\n\n // Start Trigger Pin\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n const msisdnSubmissionResult = await submitMSISDN(window, config, msisdn);\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n // End Trigger Pin\n\n /**\n * Some flows require us to redirect to a url after trigger pin to check for fraud\n * The url will then do some processing and return back to ouisys with\n * extra param in the url that will tell us to show pin entry step or error\n */\n\n // Start Pin Redirect\n if (msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult.redirectUrl) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-redirect', {\n redirectUrl: msisdnSubmissionResult.redirectUrl\n });\n window.location.href = msisdnSubmissionResult.redirectUrl;\n return;\n }\n // End Pin Redirect\n\n // Start handle store msisdn\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End handle store msisdn\n\n const operator: string =\n msisdnSubmissionResult?.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult?.operator : '';\n\n const pinMaxLengthByOp: { [key: string]: number } = {\n SA_MOBILY: 6,\n SA_STC: 4,\n SA_ZAIN: 4\n };\n\n /**\n * onPinPage\n * some scripts on the server need to be injected on pin page/view\n * This event will be handled on server\n */\n const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.NothingYet(),\n data: {\n actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null,\n msisdn,\n operator,\n pinMaxLength: operator !== '' && pinMaxLengthByOp[operator] ? pinMaxLengthByOp[operator] : null,\n isHeaderEnrichmentSuccess,\n ...(msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult?.userType\n ? { userType: msisdnSubmissionResult.userType }\n : {})\n }\n };\n // END NORMAL TRIGGER PIN\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type;\n\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n\n if (isHeaderEnrichmentSuccess) {\n dispatch(\n setStrategyExtraData({\n type: PossibleTypes.PIN,\n data: {\n isHeaderEnrichmentSuccess: false,\n config\n }\n })\n );\n }\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleResolveRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\n/**\n * submitPinAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: 'PINEntry', result: RDS.NothingYet()}}\n \n * Calls verify-pin api that check if the user enters a valid pin\n * Sets state to show thank you page if pin is valid\n */\ninterface SubmitPINArgs {\n window: Window;\n msisdn: string;\n pin: string;\n extraParams?: IHash;\n}\n\nexport const submitPinAction = createAsyncThunk<\n PINEntryState,\n SubmitPINArgs,\n {\n rejectValue: PINEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitPinAction', async ({ window, msisdn, pin, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n // eslint-disable-next-line no-console\n console.log('COUNTRY', state?.strategy?.currentState?.data?.config?.country?.toLowerCase());\n // eslint-disable-next-line no-console\n console.log('EVchecked', window.isEvinaSessionChecked);\n if (state?.strategy?.currentState?.data?.config?.country?.toLowerCase() === 'pl' && !window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'recede-auto', 'ev-session-not-checked');\n return rejectWithValue({\n errorType: 'UnknownError'\n });\n }\n const { config } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n try {\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submitted', { msisdn, pin });\n const result = await submitPIN(window, pin, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submission-success', {\n msisdn,\n pin,\n finalUrl: result.productUrl\n });\n\n /**\n * Gateway redirect\n * Value returned in this case is actually the gateway url instead of the product url\n * More details on this ticket:\n * https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n */\n // Start Gateway redirect\n if (result.gatewayRedirectUrl && result.gatewayRedirectUrl !== '') {\n tracker.advancedInFlow('tallyman.v1-pin', 'gateway-redirect', {\n msisdn,\n pin,\n gatewayRedirectUrl: result.gatewayRedirectUrl\n });\n window.location.href = result.gatewayRedirectUrl;\n }\n // End Gateway redirect\n\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End store msisdn\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: result.productUrl,\n isAlreadySubscribed: result.isAlreadySubscribed || false\n })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: PINEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidPIN':\n errorType = 'InvalidPIN';\n break;\n case 'SessionBlocked':\n errorType = 'SessionBlocked';\n break;\n case 'ExpiredPIN':\n errorType = 'ExpiredPIN';\n break;\n case 'InsufficientBalance':\n errorType = 'InsufficientBalance';\n break;\n case 'DuplicatedRequest':\n errorType = 'DuplicatedRequest';\n break;\n default:\n errorType = 'UnknownError';\n break;\n }\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-submission-failure', {\n msisdn,\n pin,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n // Redirect to the product url if returned in the exception\n setTimeout(() => {\n if (ex.productUrl) {\n window.location.href = ex.productUrl;\n }\n }, 0);\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('pinFlow/backToStartAction', async (_, { getState, dispatch, rejectWithValue }) => {\n try {\n window.isBackToStart = true;\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-state', 'requested to change phone number');\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { strategy } = state.strategy.currentState.data;\n if (strategy === 'pin') {\n return {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n }\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\ntype CountryCodeMap = { [country: string]: string };\n\nconst countryCodes: CountryCodeMap = {\n PS: '970'\n // Add other countries and codes here\n};\n\nconst getInputValuePrefix = (country: string, international: string): string => {\n if (!country || !international) return '';\n\n // Convert the country to uppercase and retrieve the country code\n const normalizedCountry = country.toUpperCase();\n const countryCode = countryCodes[normalizedCountry];\n\n // Check if the country code exists in the mapping\n if (!countryCode) {\n console.error('Country code not found for', country);\n return '';\n }\n\n return `+${countryCode}`;\n};\n\n// Define your slice\nconst pinFlowSlice = createSlice({\n name: 'pinFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Loading(),\n data: state.currentState.data\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<PINEntryState | MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Failure(action.payload),\n data: state.currentState.data\n };\n })\n .addCase(submitPinAction.pending, (state) => {\n state.currentState = { type: 'PINEntry', result: RDS.Loading(), data: state.currentState.data };\n })\n .addCase(submitPinAction.fulfilled, (state, action: PayloadAction<PINEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitPinAction.rejected, (state, action: PayloadAction<PINEntryFailure>) => {\n state.currentState = { type: 'PINEntry', result: RDS.Failure(action.payload), data: state.currentState.data };\n })\n .addCase(backToStartAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action?.payload || {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n });\n }\n});\n\nexport const { reducer: pinFlowReducer, actions: pinFlowActions } = pinFlowSlice;\n\nexport const selectPinFlowState = (state: any) => state.pinFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Failure","RDS.Loading"],"mappings":"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"}
1
+ {"version":3,"file":"pinFlow.js","sources":["../../src/flows/pinFlow/hooks/usePinFlowState.ts","../../src/flows/pinFlow/match.ts","../../src/sharedApi/checkSubscription.ts","../../src/flows/pinFlow/api.ts","../../src/flows/pinFlow/main.ts","../../src/flows/pinFlow/pinFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const usePinFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.pinFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IMsisdnSumbitNextData,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n PINEntryFailure,\n PINEntrySuccess,\n PinFlowCurrentState\n} from '../../sharedFlowTypes/PinTypes';\n\nfunction pinFlowMatch<R>({\n msisdnEntry,\n pinEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n pinEntry: (rds: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>, nextData: IMsisdnSumbitNextData) => R;\n}): (state: PinFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n case 'PINEntry':\n return pinEntry(state.result, state.data);\n default:\n throw new Error('Invalid State');\n }\n };\n}\n\nexport { pinFlowMatch };\n","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IHash } from '../common-types/IHash';\nimport { bupperizeCountry } from '../utilities/bupperizeCountry';\n\nconst checkSubscription = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n extraParams?: IHash; // Marked as optional if currently unused\n}): Promise<ICheckSubscriptionResult> => {\n const params = {\n action: 'check-subscription',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { checkSubscription };\n","import { IHash, IMcpShieldResult, IMSISDNSubmissionResult, IPINSubmissionResult } from '../../sharedFlowTypes/PinTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst checkIsCleanTraffic = (country: string): string => {\n if (country === 'be') {\n if (typeof window !== 'undefined' && window.shouldBlock === true) {\n return '&is-clean-traffic=false';\n }\n return '&is-clean-traffic=true';\n }\n return '';\n};\nconst triggerPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams,\n search,\n uniqid,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n uniqid?: string;\n evinaTid?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'trigger-pin',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n uniqid: uniqid || '',\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || '',\n\n ip_address: window.pac_analytics.visitor.ip || '',\n ip_range_operator: window.pac_analytics.visitor.ipRangeOperator || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n if (window.MOCK_TIGGER_PIN_RESPONSE) {\n return window.MOCK_TIGGER_PIN_RESPONSE;\n }\n return fetch(url).then((x) => x.json());\n};\n\nconst verifyPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams,\n uniqid,\n evinaTid,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n pin: string;\n extraParams: IHash;\n uniqid: string;\n evinaTid: string;\n search: string;\n}): Promise<IPINSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n // Base parameters object\n const params = {\n action: 'verify-pin',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n pin,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n ClickID: window.antifraud_click_id || '',\n partner_cid: window.partner_cid || '',\n sam_evina_tid: evinaTid,\n uniqid,\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst mcpShield = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator,\n uniqid\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n operator?: string;\n uniqid?: string;\n}): Promise<IMcpShieldResult> => {\n const pageUrl = window.location.href;\n const ipAdd = window.pac_analytics.visitor.ip;\n\n const params = new URLSearchParams({\n action: 'mcp-shield',\n country,\n slug,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n client_lpu: pageUrl,\n ...(operator && { operator }),\n ...(uniqid && { uniqid })\n });\n\n // Conditionally add client_ip if it exists\n if (ipAdd) {\n params.append('client_ip', ipAdd);\n }\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { triggerPin, verifyPin, mcpShield };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { checkSubscription } from '../../sharedApi/checkSubscription';\nimport {\n IHash,\n IMcpShieldResult,\n IMSISDNSubmissionResult,\n IPINSubmissionResult,\n MultiOperatorMSISDNSubmissionResult,\n SingleMSISDNSubmissionResult\n} from '../../sharedFlowTypes/PinTypes';\nimport { IConfig, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { left, loop, right } from '../../utilities/helpers';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { mcpShield, triggerPin, verifyPin } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult | MultiOperatorMSISDNSubmissionResult> {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return submitMSISDNForMultipleOperators(window, config, internationalMSISDN, config.operators, extraParams);\n }\n return submitMSISDNOnce(window, config, internationalMSISDN, extraParams);\n}\n\nlet uniqidResult = '';\n// eslint-disable-next-line consistent-return\nexport async function loadMcpShield(window: Window, config: IConfig): Promise<IMcpShieldResult> {\n if (config) {\n const { slug, country, device } = config;\n\n const { offer } = window.pac_analytics.visitor;\n const { rockmanId } = window.pac_analytics.visitor;\n\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({ window, country, slug, device, offer, rockmanId });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n return mcpShieldResult;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n}\n\nasync function submitMSISDNOnce(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult> {\n if (!internationalMSISDN) {\n const submissionError = new Error(`Error in submitMSISDN() trigger-pin action`) as IError & { type: string };\n submissionError.type = 'InvalidMSISDN';\n throw submissionError;\n }\n const newExtraParams = extraParams || {};\n let isSkipValidation = false;\n const searchObj = searchToObject(window) as IStrategyIDentifyUserResult;\n // @ts-ignore\n if ((searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') || window.skip_validation === true) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n if (newExtraParams['skip-validation'] === '1') {\n isSkipValidation = true;\n }\n\n const msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\\d+/gi).join(''); // tallyman API expects international msisdn without any special character\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const uniqid = !!uniqidResult && uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const result: IMSISDNSubmissionResult = await triggerPin({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams: newExtraParams,\n search,\n uniqid,\n evinaTid\n });\n\n if (result.isContentBlocked === true) {\n window.isContentBlocked = true;\n }\n if (result.success === false) {\n // derive a default type from the message\n const defaultType: string | null = result.message.includes('ALREADY SUBSCRIBED')\n ? 'AlreadySubscribed'\n : /invalid/i.test(result.message)\n ? 'InvalidMsisdn'\n : result.message.includes('duplicated_request')\n ? 'DuplicatedRequest'\n : 'UnknownError';\n\n // prefer an explicit error_code mapping when available\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build and annotate the Error\n const error = new Error(`Error in submitMSISDN() trigger-pin action:\\n${result.message}`) as IError & {\n type: string | null;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n message: result.message,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n window.operator = result.operator; // currently used on server for KW_STC if present dont call empello for Shemaroo\n const codesWithMcpShied: { [key: string]: { [key: string]: string } } = {\n kw: {\n kw_viva: 'kw_viva'\n },\n k2: {\n k2_viva: 'k2_viva'\n },\n bh: {\n bh_viva: 'bh_viva'\n }\n };\n if (\n country &&\n result.operator &&\n ((codesWithMcpShied[country.toLowerCase()] &&\n codesWithMcpShied[country.toLowerCase()][result.operator.toLowerCase()]) ||\n country.toLowerCase() === 'iq') &&\n !window.isCallBlockApi &&\n !window.Empello // set on server https://www.notion.so/sammedia/KW-Agency-Shemaroo-STC-integration-1a114991683d4af79eb01a4d96789f30\n ) {\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator: result.operator,\n uniqid\n });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n\n if (result.javascript) {\n loadScriptInnerHtml(result.javascript);\n }\n\n return {\n type: 'SingleMSISDNSubmissionResult',\n pin: result.pin,\n uniqidResult,\n operator: result.operator,\n redirectUrl: result?.redirect_to_url, // For pin redirect empello\n ...(result?.userType ? { userType: result?.userType } : {}) // For Peru user plan if prepaid or postpaid\n };\n }\n}\n\nasync function submitMSISDNForMultipleOperators(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n operators: string[],\n extraParams?: IHash\n): Promise<MultiOperatorMSISDNSubmissionResult> {\n const results = await Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await submitMSISDNOnce(window, config, internationalMSISDN, {\n ...extraParams,\n operator: o\n });\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const alreadySubscribed = results.find((r: any) => r.type === 'left' && r.value?.type === 'AlreadySubscribed');\n\n if (results.every((r) => r.type === 'left')) {\n // no submission worked\n throw results[0].value;\n } else if (alreadySubscribed) {\n throw alreadySubscribed.value;\n } else {\n return {\n type: 'MultiOperatorMSISDNSubmissionResult'\n };\n }\n}\n\nexport async function submitPIN(\n window: Window,\n pin: string,\n config: IConfig,\n extraParams: IHash\n): Promise<{ productUrl?: string; isAlreadySubscribed?: boolean; gatewayRedirectUrl?: string }> {\n if (window.hostCountry && window.hostSlug) {\n config.country = window.hostCountry;\n config.slug = window.hostSlug;\n }\n const { slug, country, device } = config;\n const { offer } = window.pac_analytics.visitor;\n\n const newExtraParams = extraParams || {};\n const searchObj = searchToObject(window) as any;\n if (searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') {\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (!pin) {\n const emptyPinError = new Error(`Error in submitMSISDN() verify-pin action:\\n Pin Cannot Be Empty`) as IError & {\n type: string;\n };\n emptyPinError.type = 'InvalidPIN';\n throw emptyPinError;\n }\n const uniqid = uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n const search = window.location.search.substr(1) || '';\n\n const pinResult: IPINSubmissionResult = await verifyPin({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams: newExtraParams,\n uniqid,\n evinaTid,\n search\n });\n if (pinResult.success === false) {\n let defaultType: string | null = null;\n switch (true) {\n case pinResult.message.includes('pin does not match'):\n defaultType = 'InvalidPIN';\n break;\n case pinResult.message.includes('mcp blocked'):\n defaultType = 'SessionBlocked';\n break;\n case pinResult.message.includes('expired_pin'):\n defaultType = 'ExpiredPIN';\n break;\n case pinResult.message.includes('insufficient_balance'):\n defaultType = 'InsufficientBalance';\n break;\n case pinResult.message.includes('duplicated_request'):\n defaultType = 'DuplicatedRequest';\n break;\n case pinResult.message.includes('ALREADY SUBSCRIBED'):\n defaultType = 'AlreadySubscribed';\n break;\n default:\n defaultType = 'UnknownError';\n }\n\n const type = pinResult.error_code ? normaliseErrorCode(pinResult.error_code) : defaultType;\n\n const pinError = new Error(`Error in verifyPin() verify-pin action:\\n${pinResult.message}`) as IError & {\n type: string;\n };\n Object.assign(pinError, {\n type,\n message: pinResult.message,\n productUrl: pinResult.product_url ?? ''\n });\n throw pinError;\n } else if (pinResult.async === true) {\n // Needed for ES https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n if (pinResult.product_url && pinResult.product_url !== '' && country?.toLowerCase() === 'es') {\n return { gatewayRedirectUrl: pinResult.product_url };\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n checkSubscription({ window, country, slug, device, offer, rockmanId, extraParams });\n\n const checkResult: ICheckSubscriptionResult = await loop(\n check,\n 100,\n (r) => r.success || r.message === 'invalid_pin',\n 0\n );\n if (checkResult.success === true) {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: checkResult.product_url || null, isAlreadySubscribed };\n }\n const pinError = new Error(`Error in submitMSISDN() verify-pin action:\\n${checkResult.message}`) as IError & {\n type: string;\n };\n pinError.type = 'InvalidPIN';\n\n pinError.message = checkResult.message;\n\n throw pinError;\n } else {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: pinResult.product_url || null, isAlreadySubscribed };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n IHash,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n PINEntryFailure,\n PINEntryState,\n PINEntrySuccess,\n PinFlowState\n} from '../../sharedFlowTypes/PinTypes';\nimport { IMockFlowParams, PossibleTypes, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleResolveRedirect } from '../../utilities/handleResolveRedirect';\nimport { ErrorType, getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy, setStrategyExtraData } from '../strategy/strategySlice';\nimport submitMSISDN, { submitPIN } from './main';\n\nconst mockedPINState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet<PINEntryFailure, PINEntrySuccess>(),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedCompletedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({ finalUrl: '/product' }),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedMSISDNEntryFailure: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\n// Define the initial state\nconst defaultInitialState: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\n/**\n * Sets the initial state of the pin flow based on the search parameters in the URL or the default state.\n *\n * @param {Window} window - The window object.\n * @return {PinFlowState} The initial state of the pin flow.\n */\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n const pinPageEvent = new Event('onPinPage');\n const isPinEntryStep =\n (search.ui_show_pin_entry && search.ui_show_pin_entry === '1') ||\n (search['show-pin-entry'] && search['show-pin-entry'] === '1');\n const isShowThankYouStep = search['show-thank-you'] && search['show-thank-you'] === '1';\n const isShowCustomError = search?.show_custom_error === '1';\n\n const rawParam = search?.ui_error_message ?? '';\n const normalizedParam = rawParam.replace(/\\+/g, '%20');\n const errorMsg = decodeURIComponent(normalizedParam);\n const mapParamError: { [key: string]: ErrorType } = {\n 'This mobile number is blacklisted': 'BlacklistedNumber'\n };\n\n const msisdnError: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: mapParamError[errorMsg] || 'SomethingWentWrong',\n error: errorMsg\n })\n }\n };\n\n const thankYouState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: search?.product_url || ''\n }),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n const initalPinEntryState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet(),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return initalPinEntryState;\n }\n if (isShowThankYouStep) {\n return thankYouState;\n }\n if (isShowCustomError) {\n return msisdnError;\n }\n\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-failure-state':\n return mockedMSISDNEntryFailure;\n case 'pin-state':\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return mockedPINState;\n case 'completed-state':\n return mockedCompletedState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls trigger-pin api that sends a pin to the user\n * Sets state to show pin entry\n */\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\nexport const submitMSISDNAction = createAsyncThunk<\n PINEntryState | MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config, isHeaderEnrichmentSuccess } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n const searchObj = searchToObject(window) as { ui_show_pin_entry: string };\n\n try {\n window.isBackToStart = false;\n /**\n * Palestine calling code is +970\n * But there was a request to have it as +972 only for gateway shemaroo\n */\n // Start PS Calling code temp fix\n if (config?.country.toLowerCase() === 'ps' && config?.slug.includes('shemaroo')) {\n const prefix = getInputValuePrefix(config?.country, msisdn);\n if (prefix === '+970') {\n msisdn = msisdn.replace('970', '972');\n }\n }\n // END PS Calling code temp fix\n\n const jsLinkResult = window?.pac_analytics?.visitor?.genericJsLinkResult;\n\n // If the flow is TPAY the above trigger pin will only do tracking on the backend and not actually request a pin from gateway\n // The code below handles that request\n if (jsLinkResult?.gateway === 'tpay' && !searchObj?.ui_show_pin_entry) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n await submitMSISDN(window, config, msisdn); // trigger pin call requested here by Adrian for BE tracking\n window.msisdn = msisdn;\n if (window.callConfirm) {\n try {\n window.callConfirm();\n return {\n ...pinFlowCurrentState,\n type: 'MSISDNEntry',\n result: RDS.Loading()\n };\n } catch (ex) {\n // Catch any unexpected errors\n const errorMsg = 'Confirm function failed';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: ex?.toString() || 'Error calling window.callConfirm function',\n message: ex.message\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n }\n }\n // Catch any unexpected errors\n const errorMsg = 'Confirm function not found';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n\n // END TPAY TRIGGER PIN\n }\n\n // Start Trigger Pin\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n const msisdnSubmissionResult = await submitMSISDN(window, config, msisdn);\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n // End Trigger Pin\n\n /**\n * Some flows require us to redirect to a url after trigger pin to check for fraud\n * The url will then do some processing and return back to ouisys with\n * extra param in the url that will tell us to show pin entry step or error\n */\n\n // Start Pin Redirect\n if (msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult.redirectUrl) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-redirect', {\n redirectUrl: msisdnSubmissionResult.redirectUrl\n });\n window.location.href = msisdnSubmissionResult.redirectUrl;\n return;\n }\n // End Pin Redirect\n\n // Start handle store msisdn\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End handle store msisdn\n\n const operator: string =\n msisdnSubmissionResult?.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult?.operator : '';\n\n const pinMaxLengthByOp: { [key: string]: number } = {\n SA_MOBILY: 6,\n SA_STC: 4,\n SA_ZAIN: 4\n };\n\n /**\n * onPinPage\n * some scripts on the server need to be injected on pin page/view\n * This event will be handled on server\n */\n const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.NothingYet(),\n data: {\n actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null,\n msisdn,\n operator,\n pinMaxLength: operator !== '' && pinMaxLengthByOp[operator] ? pinMaxLengthByOp[operator] : null,\n isHeaderEnrichmentSuccess,\n ...(msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult?.userType\n ? { userType: msisdnSubmissionResult.userType }\n : {})\n }\n };\n // END NORMAL TRIGGER PIN\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type;\n\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n\n if (isHeaderEnrichmentSuccess) {\n dispatch(\n setStrategyExtraData({\n type: PossibleTypes.PIN,\n data: {\n isHeaderEnrichmentSuccess: false,\n config\n }\n })\n );\n }\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleResolveRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\n/**\n * submitPinAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: 'PINEntry', result: RDS.NothingYet()}}\n \n * Calls verify-pin api that check if the user enters a valid pin\n * Sets state to show thank you page if pin is valid\n */\ninterface SubmitPINArgs {\n window: Window;\n msisdn: string;\n pin: string;\n extraParams?: IHash;\n}\n\nexport const submitPinAction = createAsyncThunk<\n PINEntryState,\n SubmitPINArgs,\n {\n rejectValue: PINEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitPinAction', async ({ window, msisdn, pin, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n // eslint-disable-next-line no-console\n console.log('COUNTRY', state?.strategy?.currentState?.data?.config?.country?.toLowerCase());\n // eslint-disable-next-line no-console\n console.log('EVchecked', window.isEvinaSessionChecked);\n if (state?.strategy?.currentState?.data?.config?.country?.toLowerCase() === 'pl' && !window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'recede-auto', 'ev-session-not-checked');\n return rejectWithValue({\n errorType: 'UnknownError'\n });\n }\n const { config } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n try {\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submitted', { msisdn, pin });\n const result = await submitPIN(window, pin, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submission-success', {\n msisdn,\n pin,\n finalUrl: result.productUrl\n });\n\n /**\n * Gateway redirect\n * Value returned in this case is actually the gateway url instead of the product url\n * More details on this ticket:\n * https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n */\n // Start Gateway redirect\n if (result.gatewayRedirectUrl && result.gatewayRedirectUrl !== '') {\n tracker.advancedInFlow('tallyman.v1-pin', 'gateway-redirect', {\n msisdn,\n pin,\n gatewayRedirectUrl: result.gatewayRedirectUrl\n });\n window.location.href = result.gatewayRedirectUrl;\n }\n // End Gateway redirect\n\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End store msisdn\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: result.productUrl,\n isAlreadySubscribed: result.isAlreadySubscribed || false\n })\n };\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type;\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-submission-failure', {\n msisdn,\n pin,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n // Redirect to the product url if returned in the exception\n setTimeout(() => {\n if (ex.productUrl) {\n window.location.href = ex.productUrl;\n }\n }, 0);\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('pinFlow/backToStartAction', async (_, { getState, dispatch, rejectWithValue }) => {\n try {\n window.isBackToStart = true;\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-state', 'requested to change phone number');\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { strategy } = state.strategy.currentState.data;\n if (strategy === 'pin') {\n return {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n }\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\ntype CountryCodeMap = { [country: string]: string };\n\nconst countryCodes: CountryCodeMap = {\n PS: '970'\n // Add other countries and codes here\n};\n\nconst getInputValuePrefix = (country: string, international: string): string => {\n if (!country || !international) return '';\n\n // Convert the country to uppercase and retrieve the country code\n const normalizedCountry = country.toUpperCase();\n const countryCode = countryCodes[normalizedCountry];\n\n // Check if the country code exists in the mapping\n if (!countryCode) {\n console.error('Country code not found for', country);\n return '';\n }\n\n return `+${countryCode}`;\n};\n\n// Define your slice\nconst pinFlowSlice = createSlice({\n name: 'pinFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Loading(),\n data: state.currentState.data\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<PINEntryState | MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Failure(action.payload),\n data: state.currentState.data\n };\n })\n .addCase(submitPinAction.pending, (state) => {\n state.currentState = { type: 'PINEntry', result: RDS.Loading(), data: state.currentState.data };\n })\n .addCase(submitPinAction.fulfilled, (state, action: PayloadAction<PINEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitPinAction.rejected, (state, action: PayloadAction<PINEntryFailure>) => {\n state.currentState = { type: 'PINEntry', result: RDS.Failure(action.payload), data: state.currentState.data };\n })\n .addCase(backToStartAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action?.payload || {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n });\n }\n});\n\nexport const { reducer: pinFlowReducer, actions: pinFlowActions } = pinFlowSlice;\n\nexport const selectPinFlowState = (state: any) => state.pinFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Failure","RDS.Loading"],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare type IVisitor = {
36
36
  waterfallRedirectUrl?: string;
37
37
  genericJsLinkResult?: IGenericJsLinkResult;
38
38
  heMsisdn?: string;
39
+ uniqueHeKey?: string;
39
40
  heMsisdnDecryptedByApiResult?: IMsisdnDecryptedByApiResult;
40
41
  heMsisdnResult?: IMsisdnDecrypted;
41
42
  offer: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IVisitor.d.ts","sourceRoot":"","sources":["../../../src/common-types/IVisitor.ts"],"names":[],"mappings":"AAEA,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,uBAAuB,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG;gBAAE,IAAI,EAAE,GAAG,CAAC;gBAAC,eAAe,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACrF,CAAC;CACH;AAED,oBAAY,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B,CAAC,EAAE,2BAA2B,CAAC;IAC3D,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"IVisitor.d.ts","sourceRoot":"","sources":["../../../src/common-types/IVisitor.ts"],"names":[],"mappings":"AAEA,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,uBAAuB,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG;gBAAE,IAAI,EAAE,GAAG,CAAC;gBAAC,eAAe,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACrF,CAAC;CACH;AAED,oBAAY,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B,CAAC,EAAE,2BAA2B,CAAC;IAC3D,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/flows/oneClickFlow/main.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAQ9D,eAAO,MAAM,qBAAqB,kFAAkF,CAAC;AAyBrH,eAAO,MAAM,cAAc;YAKjB,MAAM;iBACD,OAAO;kBACN,gBAAgB;MAC5B,QAAQ;IACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,QAAQ,MAAM,CAAC,CAAC;CAChC,CA4GA,CAAC;AAEF,eAAO,MAAM,SAAS,gEAAuE,gBAAgB,oBAkE5G,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,eACD,OAAO,gBACN,gBAAgB,KAC7B,QAAQ,MAAM,CA4BhB,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/flows/oneClickFlow/main.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAQ9D,eAAO,MAAM,qBAAqB,kFAAkF,CAAC;AAyBrH,eAAO,MAAM,cAAc;YAKjB,MAAM;iBACD,OAAO;kBACN,gBAAgB;MAC5B,QAAQ;IACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,QAAQ,MAAM,CAAC,CAAC;CAChC,CA6GA,CAAC;AAEF,eAAO,MAAM,SAAS,gEAAuE,gBAAgB,oBAkE5G,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,eACD,OAAO,gBACN,gBAAgB,KAC7B,QAAQ,MAAM,CA4BhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/main.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACL,gBAAgB,EAGhB,mCAAmC,EACnC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAA+B,MAAM,qCAAqC,CAAC;AAO3F,wBAA8B,YAAY,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,KAAK,GAClB,OAAO,CAAC,4BAA4B,GAAG,mCAAmC,CAAC,CAQ7E;AAID,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB9F;AA4KD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,KAAK,GACjB,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsG9F"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/main.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACL,gBAAgB,EAGhB,mCAAmC,EACnC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAA+B,MAAM,qCAAqC,CAAC;AAO3F,wBAA8B,YAAY,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,KAAK,GAClB,OAAO,CAAC,4BAA4B,GAAG,mCAAmC,CAAC,CAQ7E;AAID,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB9F;AA4KD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,KAAK,GACjB,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0G9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"pinFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/pinFlowSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,eAAe,EACf,aAAa,EAEb,YAAY,EACb,MAAM,gCAAgC,CAAC;AAgJxC;;;;;;GAMG;AACH,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,eAAO,MAAM,kBAAkB;iBAId,kBAAkB;;;;;;;;EA6LjC,CAAC;AAEH;;;;;;GAMG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,eAAe;iBAIX,eAAe;;;;;;;;EAyH9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIb,GAAG;;;;;;;;EA2BlB,CAAC;AA+EH,eAAO,MAAiB,cAAc,sFAAW,cAAc,8DAAiB,CAAC;AAEjF,eAAO,MAAM,kBAAkB,UAAW,GAAG,QAAkB,CAAC"}
1
+ {"version":3,"file":"pinFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/pinFlowSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAEhB,eAAe,EACf,aAAa,EAEb,YAAY,EACb,MAAM,gCAAgC,CAAC;AAgJxC;;;;;;GAMG;AACH,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,eAAO,MAAM,kBAAkB;iBAId,kBAAkB;;;;;;;;EA6LjC,CAAC;AAEH;;;;;;GAMG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,eAAe;iBAIX,eAAe;;;;;;;;EAkG9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIb,GAAG;;;;;;;;EA2BlB,CAAC;AA+EH,eAAO,MAAiB,cAAc,sFAAW,cAAc,8DAAiB,CAAC;AAEjF,eAAO,MAAM,kBAAkB,UAAW,GAAG,QAAkB,CAAC"}
@@ -106,6 +106,8 @@ export declare type IPINSubmissionResult = {
106
106
  success: false;
107
107
  rockman_id: string;
108
108
  message: string;
109
+ error_code: string;
110
+ product_url?: string;
109
111
  };
110
112
  export interface IHash {
111
113
  [key: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PinTypes.d.ts","sourceRoot":"","sources":["../../../src/sharedFlowTypes/PinTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAa5D,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,oBAAY,mBAAmB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAQnE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,oBAAY,qBAAqB,GAAG,SAAS,CAAC;AAC9C,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,oBAAY,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,oBAAY,eAAe,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACnG,oBAAY,kBAAkB,GAC1B,cAAc,GACd,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,GACZ,qBAAqB,GACrB,mBAAmB,CAAC;AAExB,oBAAY,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpE,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;CACrE,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;CAC/D,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;CACrE,CAAC;AAGF,oBAAY,OAAO,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,oBAAY,uBAAuB,GAC/B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,oBAAY,oBAAoB,GAC5B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,WAAW,KAAK;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,oBAAY,4BAA4B,GAAG;IACzC,IAAI,EAAE,8BAA8B,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,mCAAmC,GAAG;IAChD,IAAI,EAAE,qCAAqC,CAAC;CAC7C,CAAC;AAEF,oBAAY,gBAAgB,GACxB;IACE,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,oBAAY,kBAAkB,GAAG,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"PinTypes.d.ts","sourceRoot":"","sources":["../../../src/sharedFlowTypes/PinTypes.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,8 @@ declare type IPINSubmissionResult = {
107
107
  success: false;
108
108
  rockman_id: string;
109
109
  message: string;
110
+ error_code: string;
111
+ product_url?: string;
110
112
  };
111
113
  interface IHash {
112
114
  [key: string]: string;
@@ -6,7 +6,7 @@ import { d as MoRedirFlowState } from './MoRedirTypes-CpTYupHS.js';
6
6
  import { d as MoFlowState } from './MoTypes-BPi6junu.js';
7
7
  import { I as IHash$1 } from './IHash-0OgZ_1ij.js';
8
8
  import { E as ErrorType } from './normaliseErrorCode-DY03EaiP.js';
9
- import { f as PinFlowState } from './PinTypes-MlcXDSIr.js';
9
+ import { f as PinFlowState } from './PinTypes-DimZx7au.js';
10
10
  import { c as UssdFlowState } from './UssdTypes-BSsSF8E9.js';
11
11
 
12
12
  interface GETREDIRECTUrlState {
@@ -3,7 +3,7 @@ export { h as ICheckSubscriptionResult, f as IClick2smsConfig, i as IFetchResult
3
3
  import * as redux from 'redux';
4
4
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
5
5
  import * as _reduxjs_toolkit_dist_createAsyncThunk from '@reduxjs/toolkit/dist/createAsyncThunk';
6
- import { i as IHash } from './StrategyTypes-C_wtsxGa.js';
6
+ import { i as IHash } from './StrategyTypes-Du-bhpgL.js';
7
7
  import { useSelector } from 'react-redux';
8
8
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
9
9
  import './Strategy-Bk7EyVl_.js';
@@ -12,7 +12,7 @@ import './MoRedirTypes-CpTYupHS.js';
12
12
  import './MoTypes-BPi6junu.js';
13
13
  import './normaliseErrorCode-DY03EaiP.js';
14
14
  import './IHash-0OgZ_1ij.js';
15
- import './PinTypes-MlcXDSIr.js';
15
+ import './PinTypes-DimZx7au.js';
16
16
  import './UssdTypes-BSsSF8E9.js';
17
17
 
18
18
  interface LOAD_OC2SMSArgs {
@@ -1,5 +1,5 @@
1
- import { V as OneClickFlowCurrentState, W as IGETREDIRECTURLFailure, X as IGETREDIRECTURLSuccess, Y as SubscribeFailure, Z as SubscribeSuccess, _ as GETREDIRECTUrlState, $ as AJAXSUBSCRIBEState, a0 as OneClickFlowState } from './StrategyTypes-C_wtsxGa.js';
2
- export { a4 as IHEResult, a3 as IIDentifyUserResult, a2 as ILinkExtraParams, a6 as IMockOneClickFlowStates, a7 as ISubscribeParams, a5 as ISubscribeResult, a1 as SubscribeUserErrorTypes } from './StrategyTypes-C_wtsxGa.js';
1
+ import { V as OneClickFlowCurrentState, W as IGETREDIRECTURLFailure, X as IGETREDIRECTURLSuccess, Y as SubscribeFailure, Z as SubscribeSuccess, _ as GETREDIRECTUrlState, $ as AJAXSUBSCRIBEState, a0 as OneClickFlowState } from './StrategyTypes-Du-bhpgL.js';
2
+ export { a4 as IHEResult, a3 as IIDentifyUserResult, a2 as ILinkExtraParams, a6 as IMockOneClickFlowStates, a7 as ISubscribeParams, a5 as ISubscribeResult, a1 as SubscribeUserErrorTypes } from './StrategyTypes-Du-bhpgL.js';
3
3
  import { useSelector } from 'react-redux';
4
4
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
5
5
  import * as redux from 'redux';
@@ -12,7 +12,7 @@ import './CreditCardTypes-BvAmIdgA.js';
12
12
  import './MoRedirTypes-CpTYupHS.js';
13
13
  import './MoTypes-BPi6junu.js';
14
14
  import './normaliseErrorCode-DY03EaiP.js';
15
- import './PinTypes-MlcXDSIr.js';
15
+ import './PinTypes-DimZx7au.js';
16
16
  import './UssdTypes-BSsSF8E9.js';
17
17
 
18
18
  declare const useOneClickFlowState: (useSelector: typeof useSelector) => OneClickFlowCurrentState;
@@ -1,5 +1,5 @@
1
- import { P as PinFlowCurrentState, M as MSISDNEntryFailure, a as MSISDNEntrySuccess, b as PINEntryFailure, c as PINEntrySuccess, I as IMsisdnSumbitNextData, d as MSISDNEntryState, e as PINEntryState, f as PinFlowState, g as IHash } from './PinTypes-MlcXDSIr.js';
2
- export { E as ExtraData, n as IBackToStartPayload, o as IConfig, p as IMSISDNSubmissionResult, s as IMcpShieldResult, t as IMockPinFlowStates, k as IMsisdnSubmitErrorPayload, j as IMsisnSubmitActionPayload, q as IPINSubmissionResult, m as IPinErrorPayload, l as IPinSubmitPayload, h as MSISDNEntryErrorTypes, r as MultiOperatorMSISDNSubmissionResult, i as PINEntryErrorTypes, S as SingleMSISDNSubmissionResult } from './PinTypes-MlcXDSIr.js';
1
+ import { P as PinFlowCurrentState, M as MSISDNEntryFailure, a as MSISDNEntrySuccess, b as PINEntryFailure, c as PINEntrySuccess, I as IMsisdnSumbitNextData, d as MSISDNEntryState, e as PINEntryState, f as PinFlowState, g as IHash } from './PinTypes-DimZx7au.js';
2
+ export { E as ExtraData, n as IBackToStartPayload, o as IConfig, p as IMSISDNSubmissionResult, s as IMcpShieldResult, t as IMockPinFlowStates, k as IMsisdnSubmitErrorPayload, j as IMsisnSubmitActionPayload, q as IPINSubmissionResult, m as IPinErrorPayload, l as IPinSubmitPayload, h as MSISDNEntryErrorTypes, r as MultiOperatorMSISDNSubmissionResult, i as PINEntryErrorTypes, S as SingleMSISDNSubmissionResult } from './PinTypes-DimZx7au.js';
3
3
  import { useSelector } from 'react-redux';
4
4
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
5
5
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
@@ -1,4 +1,4 @@
1
- import { M as IMockFlowParams, K as IStrategyIDentifyUserResult } from './StrategyTypes-C_wtsxGa.js';
1
+ import { M as IMockFlowParams, K as IStrategyIDentifyUserResult } from './StrategyTypes-Du-bhpgL.js';
2
2
  import './RemoteDataState-D1aFrz8W.js';
3
3
  import './Strategy-Bk7EyVl_.js';
4
4
  import './Click2smsTypes-BbhnGxiA.js';
@@ -7,7 +7,7 @@ import './MoRedirTypes-CpTYupHS.js';
7
7
  import './MoTypes-BPi6junu.js';
8
8
  import './normaliseErrorCode-DY03EaiP.js';
9
9
  import './IHash-0OgZ_1ij.js';
10
- import './PinTypes-MlcXDSIr.js';
10
+ import './PinTypes-DimZx7au.js';
11
11
  import './UssdTypes-BSsSF8E9.js';
12
12
 
13
13
  declare function searchToObject(win: Window): IMockFlowParams<any> | IStrategyIDentifyUserResult | any;
@@ -1,7 +1,7 @@
1
1
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
2
2
  export { a as RDS } from './RemoteDataState-D1aFrz8W.js';
3
- import { S as StrategyCurrentState, I as IDENTIFYMSISDNEntryFailure, a as IDENTIFYMSISDNEntrySuccess, P as PossibleTypes, C as ConfigDetails$1, b as StrategyState } from './StrategyTypes-C_wtsxGa.js';
4
- export { R as ExtraStrategyData, H as HEResult, d as IConfig, s as IDENTIFYFailure, j as IDENTIFYMSISDNEntryErrorTypes, t as IDENTIFYSuccess, p as IDENTIFY_FLOW_HESuccess, o as IDENTIFY_OPERATOR_MSISDNEntrySuccess, m as IDETECTYOPERATOBYIPFailure, n as IDETECTYOPERATOBYIPSuccess, v as IDetectOperatorByIpPayload, f as IFlow, i as IHash, D as IIdentfyFlowByIPOperatorNextAction, A as IIdentfyFlowByMsisdnNextAction, B as IIdentfyFlowByOperatorNextAction, z as IIdentifyFlowByHePayload, y as IIdentifyFlowByIpOperatorPayload, c as IIdentifyResult, F as IIdenyifyFlowByMsisdnPayload, E as IIdenyifyFlowByMsisdnSumbitNextData, G as IIdenyifyStrategyPayload, M as IMockFlowParams, L as IMockFlows, T as IMockPinFlowStates, u as IOperatorSelectFlowIdentifyPayload, w as IOperatorSelectPayload, Q as IScriptHeaderEnrichmentFailure, N as IScriptHeaderEnrichmentSuccess, h as IStrategy, J as IStrategyCurrentState, K as IStrategyIDentifyUserResult, x as ISubmitMsisdnPayload, e as ISupportedFlows, k as IdentifyFlowOptionsResult, O as OPERATORSelectFailure, q as OPERATORSelectFlowIdentifyFailure, r as OPERATORSelectFlowIdentifySuccess, l as OPERATORSelectSuccess, U as RootState, g as StrategyConfig } from './StrategyTypes-C_wtsxGa.js';
3
+ import { S as StrategyCurrentState, I as IDENTIFYMSISDNEntryFailure, a as IDENTIFYMSISDNEntrySuccess, P as PossibleTypes, C as ConfigDetails$1, b as StrategyState } from './StrategyTypes-Du-bhpgL.js';
4
+ export { R as ExtraStrategyData, H as HEResult, d as IConfig, s as IDENTIFYFailure, j as IDENTIFYMSISDNEntryErrorTypes, t as IDENTIFYSuccess, p as IDENTIFY_FLOW_HESuccess, o as IDENTIFY_OPERATOR_MSISDNEntrySuccess, m as IDETECTYOPERATOBYIPFailure, n as IDETECTYOPERATOBYIPSuccess, v as IDetectOperatorByIpPayload, f as IFlow, i as IHash, D as IIdentfyFlowByIPOperatorNextAction, A as IIdentfyFlowByMsisdnNextAction, B as IIdentfyFlowByOperatorNextAction, z as IIdentifyFlowByHePayload, y as IIdentifyFlowByIpOperatorPayload, c as IIdentifyResult, F as IIdenyifyFlowByMsisdnPayload, E as IIdenyifyFlowByMsisdnSumbitNextData, G as IIdenyifyStrategyPayload, M as IMockFlowParams, L as IMockFlows, T as IMockPinFlowStates, u as IOperatorSelectFlowIdentifyPayload, w as IOperatorSelectPayload, Q as IScriptHeaderEnrichmentFailure, N as IScriptHeaderEnrichmentSuccess, h as IStrategy, J as IStrategyCurrentState, K as IStrategyIDentifyUserResult, x as ISubmitMsisdnPayload, e as ISupportedFlows, k as IdentifyFlowOptionsResult, O as OPERATORSelectFailure, q as OPERATORSelectFlowIdentifyFailure, r as OPERATORSelectFlowIdentifySuccess, l as OPERATORSelectSuccess, U as RootState, g as StrategyConfig } from './StrategyTypes-Du-bhpgL.js';
5
5
  import { useSelector } from 'react-redux';
6
6
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
7
7
  import * as _reduxjs_toolkit_dist_createAsyncThunk from '@reduxjs/toolkit/dist/createAsyncThunk';
@@ -13,7 +13,7 @@ import './MoRedirTypes-CpTYupHS.js';
13
13
  import './MoTypes-BPi6junu.js';
14
14
  import './normaliseErrorCode-DY03EaiP.js';
15
15
  import './IHash-0OgZ_1ij.js';
16
- import './PinTypes-MlcXDSIr.js';
16
+ import './PinTypes-DimZx7au.js';
17
17
  import './UssdTypes-BSsSF8E9.js';
18
18
 
19
19
  declare const useStrategyState: (useSelector: typeof useSelector) => StrategyCurrentState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.1.45",
3
+ "version": "5.1.47",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",