ouisys-engine 5.1.83 → 5.1.84
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.
package/dist/pinFlow.js
CHANGED
|
@@ -671,7 +671,7 @@ var submitMSISDNAction = createAsyncThunk('pinFlow/submitMSISDNAction', function
|
|
|
671
671
|
var window = _a.window, msisdn = _a.msisdn, extraParams = _a.extraParams;
|
|
672
672
|
var getState = _b.getState, dispatch = _b.dispatch, rejectWithValue = _b.rejectWithValue;
|
|
673
673
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
674
|
-
var state, _c, config, isHeaderEnrichmentSuccess, pinFlowCurrentState, searchObj, prefix, jsLinkResult, errorMsg_1, errorMsg, msisdnSubmissionResult, isComp, _d, operator,
|
|
674
|
+
var state, _c, config, isHeaderEnrichmentSuccess, pinFlowCurrentState, searchObj, prefix, jsLinkResult, errorMsg_1, errorMsg, msisdnSubmissionResult, isComp, _d, operator, u, u, pinPageEvent, ex_1, errorType, pinPageEvent;
|
|
675
675
|
var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
676
676
|
return __generator(this, function (_z) {
|
|
677
677
|
switch (_z.label) {
|
|
@@ -788,11 +788,6 @@ var submitMSISDNAction = createAsyncThunk('pinFlow/submitMSISDNAction', function
|
|
|
788
788
|
_z.label = 9;
|
|
789
789
|
case 9:
|
|
790
790
|
operator = (msisdnSubmissionResult === null || msisdnSubmissionResult === void 0 ? void 0 : msisdnSubmissionResult.type) === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult === null || msisdnSubmissionResult === void 0 ? void 0 : msisdnSubmissionResult.operator : '';
|
|
791
|
-
pinMaxLengthByOp = {
|
|
792
|
-
SA_MOBILY: 6,
|
|
793
|
-
SA_STC: 4,
|
|
794
|
-
SA_ZAIN: 4
|
|
795
|
-
};
|
|
796
791
|
if (((_m = config === null || config === void 0 ? void 0 : config.country) === null || _m === void 0 ? void 0 : _m.toLowerCase()) === 'om' && window.operator === 'OM_OOREDOO') {
|
|
797
792
|
try {
|
|
798
793
|
window.msisdn = msisdn;
|
|
@@ -842,7 +837,7 @@ var submitMSISDNAction = createAsyncThunk('pinFlow/submitMSISDNAction', function
|
|
|
842
837
|
}
|
|
843
838
|
pinPageEvent = new Event('onPinPage');
|
|
844
839
|
window === null || window === void 0 ? void 0 : window.dispatchEvent(pinPageEvent);
|
|
845
|
-
return [2 /*return*/, __assign(__assign({}, pinFlowCurrentState), { type: 'PINEntry', result: NothingYet(), data: __assign({ isComp: isComp, actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null, msisdn: msisdn, operator: operator, pinMaxLength:
|
|
840
|
+
return [2 /*return*/, __assign(__assign({}, pinFlowCurrentState), { type: 'PINEntry', result: NothingYet(), data: __assign({ isComp: isComp, actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null, msisdn: msisdn, operator: operator, pinMaxLength: null, isHeaderEnrichmentSuccess: isHeaderEnrichmentSuccess }, (msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && (msisdnSubmissionResult === null || msisdnSubmissionResult === void 0 ? void 0 : msisdnSubmissionResult.userType)
|
|
846
841
|
? { userType: msisdnSubmissionResult.userType }
|
|
847
842
|
: {})) })];
|
|
848
843
|
case 10:
|
package/dist/pinFlow.js.map
CHANGED
|
@@ -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 mcpUniqid,\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 mcpUniqid?: 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: window.mcp_uniqid || mcpUniqid || '',\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 mcpUniqid,\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 mcpUniqid: 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: { [key: string]: string } = {\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: window.mcp_uniqid || mcpUniqid || '',\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 ...(window?.dvpass?.getDcbProtectChallenge && {\n dcb_protect_challenge: window?.dvpass?.getDcbProtectChallenge() || ''\n })\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\nconst handlePreTrigger = async (\n msisdn: string\n): Promise<{\n success: boolean;\n status: string;\n isBlst: boolean;\n}> => {\n const params = new URLSearchParams({\n msisdn\n });\n const { host } = window.location;\n const newHost = window.DEV_BASE_URL_IP || host;\n const url = `https://${newHost}/api/v1/pre-trigger?${params.toString()}`;\n return fetch(url).then((x) => x.json());\n};\n\nexport { triggerPin, verifyPin, mcpShield, handlePreTrigger };\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 { handlePreTrigger, 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\nexport async function preTriggerComp(msisdn: string): Promise<boolean> {\n try {\n const result = await handlePreTrigger(msisdn);\n return result.isBlst;\n } catch (err) {\n console.warn(err);\n return false;\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 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 mcpUniqid: uniqidResult,\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 !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: uniqidResult\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 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 mcpUniqid: uniqidResult,\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 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, normaliseErrorCode, 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, { preTriggerComp, 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 // Set by the CA branch of submitPinAction on a blocking error code. Lives in the url so the block\n // survives a refresh instead of handing the form back.\n const isBlocked = search?.ui_blocked === '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 * Error type carried over by a reload (see the CA branch of submitPinAction). Passed through as-is\n * so any error code normaliseErrorCode() knows about survives the round trip, only smoothing over\n * the two spellings the same error can arrive with (error_code 21/22 give InvalidPin/ExpiredPin,\n * the message fallback in main.ts gives InvalidPIN/ExpiredPIN).\n * Defaults to InvalidPIN for reloads that predate the param.\n */\n const rawErrorType = search?.ui_error_type ?? '';\n const mapPinParamErrorType: { [key: string]: PINEntryErrorTypes } = {\n invalidpin: 'InvalidPIN',\n expiredpin: 'ExpiredPIN'\n };\n const pinErrorType =\n mapPinParamErrorType[rawErrorType.toLowerCase()] || ((rawErrorType || 'InvalidPIN') as PINEntryErrorTypes);\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\n const blockedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Failure<PINEntryFailure, PINEntrySuccess>({\n errorType: pinErrorType,\n error: new Error(errorMsg)\n }),\n // @ts-ignore\n data: {\n isBlocked: true,\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n // Ahead of the step checks: a blocked visitor gets the error page whatever else the url asks for.\n if (isBlocked) {\n return blockedState;\n }\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n if (isShowCustomError && errorMsg) {\n return {\n currentState: {\n type: 'PINEntry',\n result: RDS.Failure<PINEntryFailure, PINEntrySuccess>({\n errorType: pinErrorType,\n error: new Error(errorMsg)\n }),\n data: {\n actualPIN: '',\n msisdn: search?.msisdn || '',\n operator: search?.operator || '',\n pinMaxLength: 4\n }\n }\n };\n }\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\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 const isComp = config?.country?.toLowerCase() === 'pl' ? await preTriggerComp(msisdn) : false;\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 if (config?.country?.toLowerCase() === 'om' && (window as any).operator === 'OM_OOREDOO') {\n try {\n (window as any).msisdn = msisdn;\n (window as any).operator = operator;\n\n const u = new URL(window.location.href);\n if (u.searchParams.get('ev_pin') !== '1') {\n u.searchParams.set('ev_pin', '1');\n u.searchParams.set('rockman_id', (window as any)?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('msisdn', msisdn);\n u.searchParams.set('operator', operator || (window as any).operator || '');\n u.searchParams.set('show-pin-entry', '1');\n window.history.replaceState({}, '', u.toString());\n\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return { type: 'MSISDNEntry', result: RDS.Loading() };\n }\n } catch (e) {\n console.error('OM redirect failed', e);\n }\n }\n\n if (config?.country?.toLowerCase() === 'iq' && operator === 'IQ_ASIACELL') {\n try {\n (window as any).msisdn = msisdn;\n (window as any).operator = operator;\n\n const u = new URL(window.location.href);\n if (u.searchParams.get('reload_pin') !== '1') {\n u.searchParams.set('reload_pin', '1');\n u.searchParams.set('rockman_id', (window as any)?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('msisdn', msisdn);\n u.searchParams.set('operator', operator);\n u.searchParams.set('show-pin-entry', '1');\n if ((window as any).mcp_uniqid) {\n u.searchParams.set('uniqid', String((window as any).mcp_uniqid));\n }\n window.history.replaceState({}, '', u.toString());\n\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return { type: 'MSISDNEntry', result: RDS.Loading() };\n }\n } catch (e) {\n console.error('IQ_ASIACELL redirect failed', e);\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 isComp,\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 const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\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\n/**\n * CA only. Backend error codes the operator spec wants a fresh Empello token for: the user stays on\n * PIN entry and retries, so the page is reloaded to re-issue the token. Every other code either\n * blocks the flow or redirects, and keeps the normal error handling.\n * 21 ExpiredPin, 22 InvalidPin, 23 PinLimitExceeded, 32 InvalidMSISDN, 33 InvalidSubscriptionId,\n * 35 ValidationIssue.\n */\nconst caTokenRefreshErrorCodes = ['21', '22', '23', '32', '33', '35'];\n\n/**\n * CA only. Backend error codes the operator spec wants the subscription flow blocked for: request pin\n * and submit both stay disabled. The page is reloaded with ui_blocked so the block lives in the url and\n * survives a refresh, and setInitialState hands the theme a state to render as a full page error.\n * 11 BlacklistedMsisdn, 30 UnsportedFlow, 31 InactiveOperator, 34 NotEligibleMsisdn,\n * 36 InsufficientBalance, 37 AntiFraudError, 38 VasBlocked, 39 AccountSuspended, 40 SalesCapReached,\n * 50 SubscriptionApiFailure, 75 ReSubscriptionBlocked, 76 ReLeadBlocked, 99 UnspecifiedError.\n */\nconst caBlockedErrorCodes = ['11', '30', '31', '34', '36', '37', '38', '39', '40', '50', '75', '76', '99'];\n\n/**\n * Matched case-insensitively: the same error arrives as InvalidPin/ExpiredPin when the api returns an\n * error_code and as InvalidPIN/ExpiredPIN when it falls back to the message match in main.ts.\n */\nconst matchesErrorCode = (codes: string[], errorType?: string): boolean =>\n !!errorType && codes.some((code) => normaliseErrorCode(code).toLowerCase() === errorType.toLowerCase());\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 const isCa = config?.country?.toLowerCase() === 'ca';\n\n // CA: block the subscription flow. Reload with ui_blocked so the block is part of the url and a\n // refresh cannot hand the form back. No product url check here, blocking wins over any url returned.\n if (isCa && matchesErrorCode(caBlockedErrorCodes, errorType)) {\n try {\n const u = new URL(window.location.href);\n u.searchParams.set('rockman_id', window?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('show_custom_error', '1');\n u.searchParams.set('ui_blocked', '1');\n u.searchParams.set('ui_error_message', ex.message || errorType || 'UnknownError');\n u.searchParams.set('ui_error_type', errorType || 'UnknownError');\n window.history.replaceState({}, '', u.toString());\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n } catch (e) {\n console.error('CA blocked error reload failed', e);\n }\n }\n\n // CA: on the retryable errors, reload with the error params so the page re-initialises in PIN entry\n // with the error visible and a fresh token for the next attempt.\n // Errors that carry a product url keep the existing redirect below instead.\n const isCaTokenRefreshError = isCa && !ex.productUrl && matchesErrorCode(caTokenRefreshErrorCodes, errorType);\n if (isCaTokenRefreshError) {\n try {\n const u = new URL(window.location.href);\n u.searchParams.set('show-pin-entry', '1');\n u.searchParams.set('rockman_id', window?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('show_custom_error', '1');\n u.searchParams.set('ui_error_message', ex.message || errorType || 'UnknownError');\n u.searchParams.set('ui_error_type', errorType || 'UnknownError');\n window.history.replaceState({}, '', u.toString());\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n } catch (e) {\n console.error('CA pin error redirect failed', e);\n }\n }\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 const onMsisdnPagePageEvent = new Event('onMsisdnPage');\n window?.dispatchEvent(onMsisdnPagePageEvent);\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 // @ts-ignore\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 // @ts-ignore\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 mcpUniqid,\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 mcpUniqid?: 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: window.mcp_uniqid || mcpUniqid || '',\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 mcpUniqid,\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 mcpUniqid: 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: { [key: string]: string } = {\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: window.mcp_uniqid || mcpUniqid || '',\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 ...(window?.dvpass?.getDcbProtectChallenge && {\n dcb_protect_challenge: window?.dvpass?.getDcbProtectChallenge() || ''\n })\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\nconst handlePreTrigger = async (\n msisdn: string\n): Promise<{\n success: boolean;\n status: string;\n isBlst: boolean;\n}> => {\n const params = new URLSearchParams({\n msisdn\n });\n const { host } = window.location;\n const newHost = window.DEV_BASE_URL_IP || host;\n const url = `https://${newHost}/api/v1/pre-trigger?${params.toString()}`;\n return fetch(url).then((x) => x.json());\n};\n\nexport { triggerPin, verifyPin, mcpShield, handlePreTrigger };\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 { handlePreTrigger, 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\nexport async function preTriggerComp(msisdn: string): Promise<boolean> {\n try {\n const result = await handlePreTrigger(msisdn);\n return result.isBlst;\n } catch (err) {\n console.warn(err);\n return false;\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 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 mcpUniqid: uniqidResult,\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 !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: uniqidResult\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 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 mcpUniqid: uniqidResult,\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 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, normaliseErrorCode, 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, { preTriggerComp, 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 // Set by the CA branch of submitPinAction on a blocking error code. Lives in the url so the block\n // survives a refresh instead of handing the form back.\n const isBlocked = search?.ui_blocked === '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 * Error type carried over by a reload (see the CA branch of submitPinAction). Passed through as-is\n * so any error code normaliseErrorCode() knows about survives the round trip, only smoothing over\n * the two spellings the same error can arrive with (error_code 21/22 give InvalidPin/ExpiredPin,\n * the message fallback in main.ts gives InvalidPIN/ExpiredPIN).\n * Defaults to InvalidPIN for reloads that predate the param.\n */\n const rawErrorType = search?.ui_error_type ?? '';\n const mapPinParamErrorType: { [key: string]: PINEntryErrorTypes } = {\n invalidpin: 'InvalidPIN',\n expiredpin: 'ExpiredPIN'\n };\n const pinErrorType =\n mapPinParamErrorType[rawErrorType.toLowerCase()] || ((rawErrorType || 'InvalidPIN') as PINEntryErrorTypes);\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\n const blockedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Failure<PINEntryFailure, PINEntrySuccess>({\n errorType: pinErrorType,\n error: new Error(errorMsg)\n }),\n // @ts-ignore\n data: {\n isBlocked: true,\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n // Ahead of the step checks: a blocked visitor gets the error page whatever else the url asks for.\n if (isBlocked) {\n return blockedState;\n }\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n if (isShowCustomError && errorMsg) {\n return {\n currentState: {\n type: 'PINEntry',\n result: RDS.Failure<PINEntryFailure, PINEntrySuccess>({\n errorType: pinErrorType,\n error: new Error(errorMsg)\n }),\n data: {\n actualPIN: '',\n msisdn: search?.msisdn || '',\n operator: search?.operator || '',\n pinMaxLength: 4\n }\n }\n };\n }\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\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 const isComp = config?.country?.toLowerCase() === 'pl' ? await preTriggerComp(msisdn) : false;\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 if (config?.country?.toLowerCase() === 'om' && (window as any).operator === 'OM_OOREDOO') {\n try {\n (window as any).msisdn = msisdn;\n (window as any).operator = operator;\n\n const u = new URL(window.location.href);\n if (u.searchParams.get('ev_pin') !== '1') {\n u.searchParams.set('ev_pin', '1');\n u.searchParams.set('rockman_id', (window as any)?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('msisdn', msisdn);\n u.searchParams.set('operator', operator || (window as any).operator || '');\n u.searchParams.set('show-pin-entry', '1');\n window.history.replaceState({}, '', u.toString());\n\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return { type: 'MSISDNEntry', result: RDS.Loading() };\n }\n } catch (e) {\n console.error('OM redirect failed', e);\n }\n }\n\n if (config?.country?.toLowerCase() === 'iq' && operator === 'IQ_ASIACELL') {\n try {\n (window as any).msisdn = msisdn;\n (window as any).operator = operator;\n\n const u = new URL(window.location.href);\n if (u.searchParams.get('reload_pin') !== '1') {\n u.searchParams.set('reload_pin', '1');\n u.searchParams.set('rockman_id', (window as any)?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('msisdn', msisdn);\n u.searchParams.set('operator', operator);\n u.searchParams.set('show-pin-entry', '1');\n if ((window as any).mcp_uniqid) {\n u.searchParams.set('uniqid', String((window as any).mcp_uniqid));\n }\n window.history.replaceState({}, '', u.toString());\n\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return { type: 'MSISDNEntry', result: RDS.Loading() };\n }\n } catch (e) {\n console.error('IQ_ASIACELL redirect failed', e);\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 isComp,\n actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null,\n msisdn,\n operator,\n pinMaxLength: 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 const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\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\n/**\n * CA only. Backend error codes the operator spec wants a fresh Empello token for: the user stays on\n * PIN entry and retries, so the page is reloaded to re-issue the token. Every other code either\n * blocks the flow or redirects, and keeps the normal error handling.\n * 21 ExpiredPin, 22 InvalidPin, 23 PinLimitExceeded, 32 InvalidMSISDN, 33 InvalidSubscriptionId,\n * 35 ValidationIssue.\n */\nconst caTokenRefreshErrorCodes = ['21', '22', '23', '32', '33', '35'];\n\n/**\n * CA only. Backend error codes the operator spec wants the subscription flow blocked for: request pin\n * and submit both stay disabled. The page is reloaded with ui_blocked so the block lives in the url and\n * survives a refresh, and setInitialState hands the theme a state to render as a full page error.\n * 11 BlacklistedMsisdn, 30 UnsportedFlow, 31 InactiveOperator, 34 NotEligibleMsisdn,\n * 36 InsufficientBalance, 37 AntiFraudError, 38 VasBlocked, 39 AccountSuspended, 40 SalesCapReached,\n * 50 SubscriptionApiFailure, 75 ReSubscriptionBlocked, 76 ReLeadBlocked, 99 UnspecifiedError.\n */\nconst caBlockedErrorCodes = ['11', '30', '31', '34', '36', '37', '38', '39', '40', '50', '75', '76', '99'];\n\n/**\n * Matched case-insensitively: the same error arrives as InvalidPin/ExpiredPin when the api returns an\n * error_code and as InvalidPIN/ExpiredPIN when it falls back to the message match in main.ts.\n */\nconst matchesErrorCode = (codes: string[], errorType?: string): boolean =>\n !!errorType && codes.some((code) => normaliseErrorCode(code).toLowerCase() === errorType.toLowerCase());\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 const isCa = config?.country?.toLowerCase() === 'ca';\n\n // CA: block the subscription flow. Reload with ui_blocked so the block is part of the url and a\n // refresh cannot hand the form back. No product url check here, blocking wins over any url returned.\n if (isCa && matchesErrorCode(caBlockedErrorCodes, errorType)) {\n try {\n const u = new URL(window.location.href);\n u.searchParams.set('rockman_id', window?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('show_custom_error', '1');\n u.searchParams.set('ui_blocked', '1');\n u.searchParams.set('ui_error_message', ex.message || errorType || 'UnknownError');\n u.searchParams.set('ui_error_type', errorType || 'UnknownError');\n window.history.replaceState({}, '', u.toString());\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n } catch (e) {\n console.error('CA blocked error reload failed', e);\n }\n }\n\n // CA: on the retryable errors, reload with the error params so the page re-initialises in PIN entry\n // with the error visible and a fresh token for the next attempt.\n // Errors that carry a product url keep the existing redirect below instead.\n const isCaTokenRefreshError = isCa && !ex.productUrl && matchesErrorCode(caTokenRefreshErrorCodes, errorType);\n if (isCaTokenRefreshError) {\n try {\n const u = new URL(window.location.href);\n u.searchParams.set('show-pin-entry', '1');\n u.searchParams.set('rockman_id', window?.pac_analytics?.visitor?.rockmanId || '');\n u.searchParams.set('show_custom_error', '1');\n u.searchParams.set('ui_error_message', ex.message || errorType || 'UnknownError');\n u.searchParams.set('ui_error_type', errorType || 'UnknownError');\n window.history.replaceState({}, '', u.toString());\n setTimeout(() => {\n window.location.reload();\n }, 0);\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n } catch (e) {\n console.error('CA pin error redirect failed', e);\n }\n }\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 const onMsisdnPagePageEvent = new Event('onMsisdnPage');\n window?.dispatchEvent(onMsisdnPagePageEvent);\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 // @ts-ignore\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 // @ts-ignore\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/pinFlowSlice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,gCAAgC,CAAC;AAuMxC;;;;;;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;;;;;;;;
|
|
1
|
+
{"version":3,"file":"pinFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/pinFlow/pinFlowSlice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,gCAAgC,CAAC;AAuMxC;;;;;;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;;;;;;;;EA8OjC,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;AA4BD,eAAO,MAAM,eAAe;iBAIX,eAAe;;;;;;;;EAwJ9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIb,GAAG;;;;;;;;EA6BlB,CAAC;AAiFH,eAAO,MAAiB,cAAc;;;;;;;;;;;;;;;;;;;;;;IAAW,cAAc,8DAAiB,CAAC;AAEjF,eAAO,MAAM,kBAAkB,UAAW,GAAG,QAAkB,CAAC"}
|