ouisys-engine 5.0.109 → 5.0.112

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.
@@ -1,2 +1,2 @@
1
- import{__awaiter as r,__generator as t,__assign as i}from"tslib";import{a as o}from"./helpers-xPhGBX-B.js";import{searchToObject as c}from"./searchToObject.js";import{t as e}from"./tracker-DaaILhEr.js";import{u as n}from"./updateUrlWithParams-C6-BX4TY.js";import"pacman-client";import"uuid";function a(a){var s,u,l,d,v=a.window,m=a.flow,p=a.action,h=a.args,f=a.extraParams,_=void 0===f?{}:f,w=a.isRedirectToChainAndProduct,k=void 0!==w&&w,b=a.isShowThankYou,y=void 0!==b&&b;return r(this,void 0,void 0,(function(){var a,f,w,b,E,j,R,S,U,g,P;return t(this,(function(T){switch(T.label){case 0:return a=v.pac_analytics.visitor.rockmanId,f=c(v),(w="check-subscription-success-state"===f["current-state"])&&(console.log("isMock is true"),(b=f["show-chain-link"])&&"1"===b&&(v.pac_analytics.visitor.chainRedirectUrl="/chain-url")),E=function(){return w?Promise.resolve({success:!0,rockman_id:a,product_url:"/product",msisdn:"000"}):function(i){var o=i.window,c=i.rockmanId;return r(void 0,void 0,void 0,(function(){var r,i,e;return t(this,(function(t){switch(t.label){case 0:return r=o.DEV_BASE_URL||"",i=new URLSearchParams({action:"check-subscription",rockman_id:c}).toString(),e="".concat(r,"/tallyman/v1/?").concat(i),[4,fetch(e)];case 1:return[2,t.sent().json()]}}))}))}({window:v,rockmanId:a})},[4,o(E,60,(function(r){return r.success}),0)];case 1:if(!0===(j=T.sent()).success){if(R=j.product_url,m&&p&&e.advancedInFlow(m,p,i(i({},h),{url:j.product_url})),y)return S=n(v.location.href,{rockman_id:a,ui_show_tq:"1","show-thank-you":1,product_url:R}),setTimeout((function(){e.customEvent(m,"show-thank-you","thank-you-page",{thankYou:S}),v.location.replace(S)}),3e3),[2,S];if(null===(u=null===(s=null==v?void 0:v.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===u?void 0:u.chainRedirectUrl){if(U=null===(d=null===(l=null==v?void 0:v.pac_analytics)||void 0===l?void 0:l.visitor)||void 0===d?void 0:d.chainRedirectUrl,g=n(U,_),k)return e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.open(g,"_blank"),R&&""!==R&&setTimeout((function(){e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R)}),3e3),[2];e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.location.replace(g)}else R&&""!==R&&(e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R));return[2,R||null]}throw(P=new Error("".concat("SubscriptionFailed",":\n").concat(j.message))).type="SubscriptionFailed",P}}))}))}export{a as checkSubscriptionHander};
1
+ import{__awaiter as r,__generator as t,__assign as i}from"tslib";import{a as o}from"./helpers-xPhGBX-B.js";import{searchToObject as c}from"./searchToObject.js";import{t as e}from"./tracker-DaaILhEr.js";import{u as n}from"./updateUrlWithParams-C6-BX4TY.js";import"pacman-client";import"uuid";function a(a){var s,u,d,l,v=a.window,m=a.flow,h=a.action,p=a.args,f=a.extraParams,_=void 0===f?{}:f,w=a.isRedirectToChainAndProduct,k=void 0!==w&&w,b=a.isShowThankYou,y=void 0!==b&&b;return r(this,void 0,void 0,(function(){var a,f,w,b,E,j,R,S,U,g,P;return t(this,(function(T){switch(T.label){case 0:return a=v.pac_analytics.visitor.rockmanId,m&&h&&e.advancedInFlow(m,h,i({},p)),f=c(v),(w="check-subscription-success-state"===f["current-state"])&&(console.log("isMock is true"),(b=f["show-chain-link"])&&"1"===b&&(v.pac_analytics.visitor.chainRedirectUrl="/chain-url")),E=function(){return w?Promise.resolve({success:!0,rockman_id:a,product_url:"/product",msisdn:"000"}):function(i){var o=i.window,c=i.rockmanId;return r(void 0,void 0,void 0,(function(){var r,i,e;return t(this,(function(t){switch(t.label){case 0:return r=o.DEV_BASE_URL||"",i=new URLSearchParams({action:"check-subscription",rockman_id:c}).toString(),e="".concat(r,"/tallyman/v1/?").concat(i),[4,fetch(e)];case 1:return[2,t.sent().json()]}}))}))}({window:v,rockmanId:a})},[4,o(E,60,(function(r){return r.success}),0)];case 1:if(!0===(j=T.sent()).success){if(R=j.product_url,y)return S=n(v.location.href,{rockman_id:a,ui_show_tq:"1","show-thank-you":1,product_url:R}),setTimeout((function(){e.customEvent(m,"show-thank-you","thank-you-page",{thankYou:S}),v.location.replace(S)}),3e3),[2,S];if(null===(u=null===(s=null==v?void 0:v.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===u?void 0:u.chainRedirectUrl){if(U=null===(l=null===(d=null==v?void 0:v.pac_analytics)||void 0===d?void 0:d.visitor)||void 0===l?void 0:l.chainRedirectUrl,g=n(U,_),k)return e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.open(g,"_blank"),R&&""!==R&&setTimeout((function(){e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R)}),3e3),[2];e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.location.replace(g)}else R&&""!==R&&(e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R));return[2,R||null]}throw(P=new Error("".concat("SubscriptionFailed",":\n").concat(j.message))).type="SubscriptionFailed",P}}))}))}export{a as checkSubscriptionHander};
2
2
  //# sourceMappingURL=checkSubscriptionHander.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/checkSubscriptionHander.ts","../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IMockFlowParams } from '../sharedFlowTypes/StrategyTypes';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\nimport { updateUrlWithParams } from './updateUrlWithParams';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args,\n extraParams = {},\n isRedirectToChainAndProduct = false,\n isShowThankYou = false\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n extraParams?: any;\n isRedirectToChainAndProduct?: boolean;\n isShowThankYou?: boolean;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n\n const search = searchToObject(window) as IMockFlowParams<any>;\n const isMock = search['current-state'] === 'check-subscription-success-state';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n const mockChain = search['show-chain-link'];\n if (mockChain && mockChain === '1') {\n window.pac_analytics.visitor.chainRedirectUrl = '/chain-url';\n }\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: '/product',\n msisdn: '000'\n })\n : checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true) {\n const productUrl = checkResult.product_url;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args,\n url: checkResult.product_url\n });\n }\n if (isShowThankYou) {\n const thankYou = updateUrlWithParams(window.location.href, {\n rockman_id: rockmanId,\n ui_show_tq: '1', // New param\n 'show-thank-you': 1, // backward compatibility\n product_url: productUrl\n });\n setTimeout(() => {\n tracker.customEvent(flow, 'show-thank-you', 'thank-you-page', { thankYou });\n\n window.location.replace(thankYou);\n }, 3000);\n\n return thankYou;\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n const updatedChainLink = updateUrlWithParams(chainLink, extraParams);\n if (isRedirectToChainAndProduct) {\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.open(\n updatedChainLink,\n '_blank' // <- This is what makes it open in a new window.\n );\n if (productUrl && productUrl !== '') {\n setTimeout(() => {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }, 3000);\n }\n return;\n }\n\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.location.replace(updatedChainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n\n return productUrl || null;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\n\nconst checkSubscriptionByRockmanIdOnly = async ({\n window,\n rockmanId\n}: {\n window: Window;\n rockmanId: string;\n}): Promise<ICheckSubscriptionResult> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = {\n action: 'check-subscription',\n rockman_id: rockmanId\n };\n\n const urlParams = new URLSearchParams(params).toString();\n const url = `${host}/tallyman/v1/?${urlParams}`;\n\n const response = await fetch(url);\n return response.json();\n};\n\nexport { checkSubscriptionByRockmanIdOnly };\n"],"names":["checkSubscriptionHander","_a","window","flow","action","args","_f","extraParams","_g","isRedirectToChainAndProduct","_h","isShowThankYou","rockmanId","pac_analytics","visitor","search","searchToObject","isMock","console","log","mockChain","chainRedirectUrl","check","Promise","resolve","success","rockman_id","product_url","msisdn","host","DEV_BASE_URL","urlParams","URLSearchParams","toString","url","concat","fetch","_b","sent","json","checkSubscriptionByRockmanIdOnly","loop","r","checkResult","_j","productUrl_1","tracker","advancedInFlow","__assign","thankYou_1","updateUrlWithParams","location","href","ui_show_tq","setTimeout","customEvent","thankYou","replace","_c","chainLink","_e","_d","updatedChainLink","redirect_url","open","error","Error","message","type"],"mappings":"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"}
1
+ {"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/checkSubscriptionHander.ts","../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IMockFlowParams } from '../sharedFlowTypes/StrategyTypes';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\nimport { updateUrlWithParams } from './updateUrlWithParams';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args,\n extraParams = {},\n isRedirectToChainAndProduct = false,\n isShowThankYou = false\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n extraParams?: any;\n isRedirectToChainAndProduct?: boolean;\n isShowThankYou?: boolean;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args\n });\n }\n const search = searchToObject(window) as IMockFlowParams<any>;\n const isMock = search['current-state'] === 'check-subscription-success-state';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n const mockChain = search['show-chain-link'];\n if (mockChain && mockChain === '1') {\n window.pac_analytics.visitor.chainRedirectUrl = '/chain-url';\n }\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: '/product',\n msisdn: '000'\n })\n : checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true) {\n const productUrl = checkResult.product_url;\n // if (flow && action) {\n // tracker.advancedInFlow(flow, action, {\n // ...args,\n // url: checkResult.product_url\n // });\n // }\n if (isShowThankYou) {\n const thankYou = updateUrlWithParams(window.location.href, {\n rockman_id: rockmanId,\n ui_show_tq: '1', // New param\n 'show-thank-you': 1, // backward compatibility\n product_url: productUrl\n });\n setTimeout(() => {\n tracker.customEvent(flow, 'show-thank-you', 'thank-you-page', { thankYou });\n\n window.location.replace(thankYou);\n }, 3000);\n\n return thankYou;\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n const updatedChainLink = updateUrlWithParams(chainLink, extraParams);\n if (isRedirectToChainAndProduct) {\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.open(\n updatedChainLink,\n '_blank' // <- This is what makes it open in a new window.\n );\n if (productUrl && productUrl !== '') {\n setTimeout(() => {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }, 3000);\n }\n return;\n }\n\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.location.replace(updatedChainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n\n return productUrl || null;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\n\nconst checkSubscriptionByRockmanIdOnly = async ({\n window,\n rockmanId\n}: {\n window: Window;\n rockmanId: string;\n}): Promise<ICheckSubscriptionResult> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = {\n action: 'check-subscription',\n rockman_id: rockmanId\n };\n\n const urlParams = new URLSearchParams(params).toString();\n const url = `${host}/tallyman/v1/?${urlParams}`;\n\n const response = await fetch(url);\n return response.json();\n};\n\nexport { checkSubscriptionByRockmanIdOnly };\n"],"names":["checkSubscriptionHander","_a","window","flow","action","args","_f","extraParams","_g","isRedirectToChainAndProduct","_h","isShowThankYou","rockmanId","pac_analytics","visitor","tracker","advancedInFlow","__assign","search","searchToObject","isMock","console","log","mockChain","chainRedirectUrl","check","Promise","resolve","success","rockman_id","product_url","msisdn","host","DEV_BASE_URL","urlParams","URLSearchParams","toString","url","concat","fetch","_b","sent","json","checkSubscriptionByRockmanIdOnly","loop","r","checkResult","_j","productUrl_1","thankYou_1","updateUrlWithParams","location","href","ui_show_tq","setTimeout","customEvent","thankYou","replace","_c","chainLink","_e","_d","updatedChainLink","redirect_url","open","error","Error","message","type"],"mappings":"mSASM,SAAgBA,EAAwBC,eAC5CC,EAAMD,EAAAC,OACNC,EAAIF,EAAAE,KACJC,EAAMH,EAAAG,OACNC,EAAIJ,EAAAI,KACJC,EAAAL,EAAAM,YAAAA,OAAW,IAAAD,EAAG,CAAA,EAAEA,EAChBE,EAAAP,EAAAQ,4BAAAA,OAA8B,IAAAD,GAAKA,EACnCE,EAAsBT,EAAAU,eAAtBA,OAAc,IAAAD,GAAQA,sHAmCwB,OAzBtCE,EAAcV,EAAOW,cAAcC,kBACvCX,GAAQC,GACVW,EAAQC,eAAeb,EAAMC,EAAMa,EAAA,CAAA,EAC9BZ,IAGDa,EAASC,EAAejB,IACxBkB,EAAqC,qCAA5BF,EAAO,oBAGpBG,QAAQC,IAAI,mBACNC,EAAYL,EAAO,qBACM,MAAdK,IACfrB,EAAOW,cAAcC,QAAQU,iBAAmB,eAG9CC,EAAiD,WACrD,OAAAL,EACIM,QAAQC,QAAQ,CACdC,SAAS,EACTC,WAAYjB,EACZkB,YAAa,WACbC,OAAQ,QC9CuB,SAAO9B,OAC9CC,EAAMD,EAAAC,OACNU,EAASX,EAAAW,gHAeQ,OAVXoB,EAAQ9B,EAAkB+B,cAAgB,GAO1CC,EAAY,IAAIC,gBALP,CACb/B,OAAQ,qBACRyB,WAAYjB,IAGgCwB,WACxCC,EAAM,GAAGC,OAAAN,EAAqB,kBAAAM,OAAAJ,GAEnB,CAAA,EAAMK,MAAMF,WAC7B,MAAA,CAAA,EADiBG,EAAgBC,OACjBC,eD8BVC,CAAiC,CAAEzC,SAAQU,UAASA,GAPxD,EAQ4C,CAAA,EAAMgC,EAAKnB,EAAO,IAAI,SAACoB,GAAM,OAAAA,EAAEjB,UAAS,WAEtF,IAA4B,KAFtBkB,EAAwCC,EAA0CN,QAExEb,QAAkB,CAQhC,GAPMoB,EAAaF,EAAYhB,YAO3BnB,EAaF,OAZMsC,EAAWC,EAAoBhD,EAAOiD,SAASC,KAAM,CACzDvB,WAAYjB,EACZyC,WAAY,IACZ,iBAAkB,EAClBvB,YAAakB,IAEfM,YAAW,WACTvC,EAAQwC,YAAYpD,EAAM,iBAAkB,iBAAkB,CAAEqD,SAAQP,IAExE/C,EAAOiD,SAASM,QAAQR,EACzB,GAAE,KAEH,CAAA,EAAOA,GAET,GAAkC,QAA9BS,EAAqB,QAArBlB,EAAAtC,aAAM,EAANA,EAAQW,qBAAa,IAAA2B,OAAA,EAAAA,EAAE1B,eAAO,IAAA4C,OAAA,EAAAA,EAAElC,iBAAkB,CAGpD,GAFMmC,EAA0C,QAA9BC,EAAqB,QAArBC,EAAA3D,aAAM,EAANA,EAAQW,qBAAa,IAAAgD,OAAA,EAAAA,EAAE/C,eAAO,IAAA8C,OAAA,EAAAA,EAAEpC,iBAC5CsC,EAAmBZ,EAAoBS,EAAWpD,GACpDE,EAYF,OAXAM,EAAQwC,YAAYpD,EAAM,WAAY,iBAAkB,CAAE4D,aAAcD,IACxE5D,EAAO8D,KACLF,EACA,UAEEd,GAA6B,KAAfA,GAChBM,YAAW,WACTvC,EAAQwC,YAAYpD,EAAM,WAAY,mBAAoB,CAAE4D,aAAcf,IAC1E9C,EAAOiD,SAASM,QAAQT,EACzB,GAAE,KAEE,CAAA,GAGTjC,EAAQwC,YAAYpD,EAAM,WAAY,iBAAkB,CAAE4D,aAAcD,IACxE5D,EAAOiD,SAASM,QAAQK,EACzB,MAAUd,GAA6B,KAAfA,IACvBjC,EAAQwC,YAAYpD,EAAM,WAAY,mBAAoB,CAAE4D,aAAcf,IAC1E9C,EAAOiD,SAASM,QAAQT,IAG1B,MAAO,CAAA,EAAAA,GAAc,KACtB,CAGD,MAFMiB,EAAQ,IAAIC,MAAM,GAAG5B,OAAA,qBAA0B,OAAAA,OAAAQ,EAAYqB,WAC3DC,KAAO,qBACPH,QACP"}
@@ -1,2 +1,2 @@
1
- import{__awaiter as e,__generator as r,__assign as t}from"tslib";import{createAsyncThunk as n,createSlice as a}from"@reduxjs/toolkit";import{S as o,L as i,F as c,N as s}from"./RemoteDataState-lcf8PfJd.js";import{l}from"./loadScriptInnerHtml-B6v2-IGn.js";import{searchToObject as d}from"./searchToObject.js";import{t as u}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var v=function(n){var a=n.window,o=n.slug,i=n.country,c=n.msisdn,s=n.device,l=n.offer,d=n.rockmanId,u=n.ip_range_name,v=n.search,m=n.extraParamsQs,f=n.email,y=n.password;return e(void 0,void 0,void 0,(function(){var e,n,p,g,w,_;return r(this,(function(r){return e=new URLSearchParams(t(t(t(t(t(t({action:"redirect",slug:o,country:i,device:s,offerId:l.toString(),rockman_id:d,page:encodeURIComponent(a.location.href),network_type:u?"":"wifi"},v&&{search:v}),(null===(_=null===(w=null===(g=a.pac_analytics)||void 0===g?void 0:g.visitor)||void 0===w?void 0:w.page)||void 0===_?void 0:_.includes("agency"))&&{evinaTi:d}),a.securityProcessId&&{securityProcessId:a.securityProcessId}),a.languageCode&&{language_code:a.languageCode}),f&&y?{email:f,password:y}:{msisdn:c}),m&&{extraParams:m})).toString(),n=a.DEV_BASE_URL||"",p="".concat(n,"/tallyman/v1/?").concat(e),[2,fetch(p).then((function(e){return e.json()}))]}))}))},m=function(n){var a=n.window,o=n.userDetails,i=n.extraConfig;return e(void 0,void 0,void 0,(function(){var e,n,c,s,l,u,v;return r(this,(function(r){return e="cc_number"in o,n=a.DEV_BASE_URL_CREDIT_CARD||"",c="".concat(n,"/api/v1"),"/frontend/initiate-payment-generic",s=d(a),l=t(t(t({rockman_id:null===(v=a.pac_analytics.visitor)||void 0===v?void 0:v.rockmanId,landing_page_url:a.location.href,service_id:e?null==i?void 0:i.serviceId:"2"},(null==i?void 0:i.slug)?{slug:"".concat(null==i?void 0:i.slug).concat((null==s?void 0:s.d_country)||"")}:{}),e?{}:{user_agent:a.navigator.userAgent,ip:a.pac_analytics.visitor.ip}),o),u={method:"POST",headers:new Headers({"Content-Type":"application/json"}),body:JSON.stringify(l)},[2,fetch("".concat(c).concat("/frontend/initiate-payment-generic"),u).then((function(e){return e.json()}))]}))}))};function f(t,n,a){var o,i,c,s,l;return e(this,void 0,void 0,(function(){var e,d,u,f,y,p,g,w,_,h,S,I;return r(this,(function(r){switch(r.label){case 0:return e=n.slug,d=n.country,u=n.device,f=n.serviceId,y=t.location.search.substr(1)||"",p=t.pac_analytics.visitor,g=p.rockmanId,w={serviceId:f,slug:e},(null===(c=null===(i=null===(o=null==t?void 0:t.pac_analytics)||void 0===o?void 0:o.visitor)||void 0===i?void 0:i.page)||void 0===c?void 0:c.includes("agency"))?[4,v({window:t,slug:e,country:d,device:u,offer:null===(l=null===(s=null==t?void 0:t.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===l?void 0:l.offer,rockmanId:g,email:null==a?void 0:a.email,password:null==a?void 0:a.password,search:y})]:[3,2];case 1:return h=r.sent(),[3,4];case 2:return[4,m({window:t,userDetails:a,extraConfig:w})];case 3:h=r.sent(),r.label=4;case 4:if(!1===(_=h).success)throw S="ALREADY SUBSCRIBED"===_.message?"AlreadySubscribed":_.message,(I=new Error("".concat(S,":\n").concat(_.message))).type=S,I.errorId=_.errorId,console.error(I),I;return[2,{gateway_url:_.gateway_url||_.redirect_url,method:_.redirect_url?"redirection":_.method,html:_.html}]}}))}))}var y={currentState:{type:"USER_DETAILS_ENTRY",result:o({gateway_url:"https://www.google.com",method:"jslink"})}},p={currentState:{type:"USER_DETAILS_ENTRY",result:c({errorType:"AlreadySubscribed",error:"Already Subscribed"})}},g={currentState:{type:"USER_DETAILS_ENTRY",result:s()}},w=function(e){var r=d(e);if(!r["mock-flow"])return g;switch(r["current-state"]){case"user-details-entry-failure-state":return p;case"user-details-entry-success-state":return y;default:return console.error("Mock Flow not supported"),g}}(window),_=n("creditCardFlow/submitUserDetailsAction",(function(t,n){var a=t.window,i=t.userDetails,c=n.getState,s=n.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,t,n,d,v,m,y,p,g,w,_;return r(this,(function(r){switch(r.label){case 0:if(e=c(),!(null===(_=null===(w=null===(g=null==e?void 0:e.strategy)||void 0===g?void 0:g.currentState)||void 0===w?void 0:w.data)||void 0===_?void 0:_.config))return[2,s({errorType:"UnexpectedState"})];t=e.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,3,,4]),u.advancedInFlow("tallyman.v1-credit-card","cc-form-submitted",{email:null==i?void 0:i.email}),[4,f(a,t,i)];case 2:return n=r.sent(),d=n.gateway_url,v=n.method,m=n.html,u.advancedInFlow("tallyman.v1-credit-card","cc-form-submission-success",{email:null==i?void 0:i.email,gateway_url:d}),"jslink"===v&&d&&(u.advancedInFlow("tallyman.v1-credit-card","load-script-start",{gateway_url:d}),function(e){var r=e.url,t=e.key,n=e.isRecaptcha,a=void 0!==n&&n,o=e.callBack,i=e.id,c=void 0===i?"":i,s=document.createElement("script");s.type="text/javascript",s.src=r,s.id="injected_script_".concat(c);var d=document.getElementsByTagName("head")[0];d.insertBefore(s,d.firstChild),a&&(s.onload=function(){var e='\n grecaptcha.ready(function() {\n grecaptcha.execute("'.concat(t,'", {action: \'submit\'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log("-------" + token);\n });\n });\n ');l(e,!0)}),s.onerror=function(){console.error("Error loading script",r),o&&o()}}({id:"ecardon-credit-card",url:d,callBack:function(){u.advancedInFlow("tallyman.v1-credit-card","load-script-success",{gateway_url:d})}})),"redirection"===v&&d&&(u.customEvent("Flow","advance-auto","redirect-success",{redirect_url:d}),a.location.href=d),"html"===v&&m&&u.advancedInFlow("tallyman.v1-credit-card","get-html-success"),[2,{type:"USER_DETAILS_ENTRY",result:o({gateway_url:d,method:v,html:m})}];case 3:switch(y=r.sent(),console.warn(y),p=void 0,y.type){case"AlreadySubscribed":p="AlreadySubscribed";break;case"InvalidUserDetails":p="InvalidUserDetails";break;default:p="UnknownError"}return u.recedeInFlow("tallyman.v1-credit-card","cc-form-submission-failure",{email:null==i?void 0:i.email,errorType:p||y.type,errorId:(null==y?void 0:y.errorId)||""}),[2,s({errorType:p,error:y.toString(),errorId:(null==y?void 0:y.errorId)||""})];case 4:return[2]}}))}))})),h=a({name:"creditCardFlow",initialState:w,reducers:{},extraReducers:function(e){e.addCase(_.pending,(function(e){e.currentState={type:"USER_DETAILS_ENTRY",result:i()}})).addCase(_.fulfilled,(function(e,r){e.currentState=r.payload})).addCase(_.rejected,(function(e,r){e.currentState={type:"USER_DETAILS_ENTRY",result:c(r.payload)}}))}}),S=h.reducer;h.actions;var I=function(e){return e((function(e){return e.creditCardFlow.currentState}))};function E(e){var r=e.userDetailsEntry;return function(e){return e.type,r(e.result)}}export{E as creditCardFlowMatch,S as creditCardFlowReducer,_ as submitUserDetailsAction,I as useCreditCardFlowState};
1
+ import{__awaiter as e,__generator as r,__assign as t}from"tslib";import{createAsyncThunk as n,createSlice as a}from"@reduxjs/toolkit";import{S as o,L as i,F as c,N as s}from"./RemoteDataState-lcf8PfJd.js";import{l}from"./loadScriptInnerHtml-B6v2-IGn.js";import{searchToObject as d}from"./searchToObject.js";import{t as u}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var v=function(n){var a=n.window,o=n.slug,i=n.country,c=n.msisdn,s=n.device,l=n.offer,d=n.rockmanId,u=n.ip_range_name,v=n.search,m=n.extraParamsQs,f=n.email,g=n.password;return e(void 0,void 0,void 0,(function(){var e,n,p,y,w,h;return r(this,(function(r){return e=new URLSearchParams(t(t(t(t(t(t({action:"redirect",slug:o,country:i,device:s,offerId:l.toString(),rockman_id:d,page:encodeURIComponent(a.location.href),network_type:u?"":"wifi"},v&&{search:v}),(null===(h=null===(w=null===(y=a.pac_analytics)||void 0===y?void 0:y.visitor)||void 0===w?void 0:w.page)||void 0===h?void 0:h.includes("agency"))&&{evinaTi:d}),a.securityProcessId&&{securityProcessId:a.securityProcessId}),a.languageCode&&{language_code:a.languageCode}),f&&g?{email:f,password:g}:{msisdn:c}),m&&{extraParams:m})).toString(),n=a.DEV_BASE_URL||"",p="".concat(n,"/tallyman/v1/?").concat(e),[2,fetch(p).then((function(e){return e.json()}))]}))}))},m=function(n){var a=n.window,o=n.userDetails,i=n.extraConfig;return e(void 0,void 0,void 0,(function(){var e,n,c,s,l,u,v,m;return r(this,(function(r){return e="cc_number"in o,n=a.DEV_BASE_URL_CREDIT_CARD||"",c="".concat(n,"/api/v1"),"/frontend/initiate-payment-generic",s=d(a),l={timezone:(new Date).getTimezoneOffset(),browserColorDepth:a.screen.colorDepth,browserLanguage:navigator.language,browserScreenHeight:a.screen.height,browserScreenWidth:a.screen.width,userAgent:navigator.userAgent,browserJavaEnabled:!!navigator.javaEnabled&&navigator.javaEnabled(),browserJavascriptEnabled:!0},u=t(t(t(t({rockman_id:null===(m=a.pac_analytics.visitor)||void 0===m?void 0:m.rockmanId,landing_page_url:a.location.href,service_id:e?null==i?void 0:i.serviceId:"2"},(null==i?void 0:i.slug)?{slug:"".concat(null==i?void 0:i.slug).concat((null==s?void 0:s.d_country)||"")}:{}),e?{}:{user_agent:a.navigator.userAgent,ip:a.pac_analytics.visitor.ip}),{browserFingerprint:l}),o),v={method:"POST",headers:new Headers({"Content-Type":"application/json"}),body:JSON.stringify(u)},[2,fetch("".concat(c).concat("/frontend/initiate-payment-generic"),v).then((function(e){return e.json()}))]}))}))};function f(t,n,a){var o,i,c,s,l;return e(this,void 0,void 0,(function(){var e,d,u,f,g,p,y,w,h,_,S,b;return r(this,(function(r){switch(r.label){case 0:return e=n.slug,d=n.country,u=n.device,f=n.serviceId,g=t.location.search.substr(1)||"",p=t.pac_analytics.visitor,y=p.rockmanId,w={serviceId:f,slug:e},(null===(c=null===(i=null===(o=null==t?void 0:t.pac_analytics)||void 0===o?void 0:o.visitor)||void 0===i?void 0:i.page)||void 0===c?void 0:c.includes("agency"))?[4,v({window:t,slug:e,country:d,device:u,offer:null===(l=null===(s=null==t?void 0:t.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===l?void 0:l.offer,rockmanId:y,email:null==a?void 0:a.email,password:null==a?void 0:a.password,search:g})]:[3,2];case 1:return _=r.sent(),[3,4];case 2:return[4,m({window:t,userDetails:a,extraConfig:w})];case 3:_=r.sent(),r.label=4;case 4:if(!1===(h=_).success)throw S="ALREADY SUBSCRIBED"===h.message?"AlreadySubscribed":h.message,(b=new Error("".concat(S,":\n").concat(h.message))).type=S,b.errorId=h.errorId,console.error(b),b;return[2,{gateway_url:h.gateway_url||h.redirect_url,method:h.redirect_url?"redirection":h.method,html:h.html}]}}))}))}var g={currentState:{type:"USER_DETAILS_ENTRY",result:o({gateway_url:"https://www.google.com",method:"jslink"})}},p={currentState:{type:"USER_DETAILS_ENTRY",result:c({errorType:"AlreadySubscribed",error:"Already Subscribed"})}},y={currentState:{type:"USER_DETAILS_ENTRY",result:s()}},w=function(e){var r=d(e);if(!r["mock-flow"])return y;switch(r["current-state"]){case"user-details-entry-failure-state":return p;case"user-details-entry-success-state":return g;default:return console.error("Mock Flow not supported"),y}}(window),h=n("creditCardFlow/submitUserDetailsAction",(function(t,n){var a=t.window,i=t.userDetails,c=n.getState,s=n.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,t,n,d,v,m,g,p,y,w,h;return r(this,(function(r){switch(r.label){case 0:if(e=c(),!(null===(h=null===(w=null===(y=null==e?void 0:e.strategy)||void 0===y?void 0:y.currentState)||void 0===w?void 0:w.data)||void 0===h?void 0:h.config))return[2,s({errorType:"UnexpectedState"})];t=e.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,3,,4]),u.advancedInFlow("tallyman.v1-credit-card","cc-form-submitted",{email:null==i?void 0:i.email}),[4,f(a,t,i)];case 2:return n=r.sent(),d=n.gateway_url,v=n.method,m=n.html,u.advancedInFlow("tallyman.v1-credit-card","cc-form-submission-success",{email:null==i?void 0:i.email,gateway_url:d}),"jslink"===v&&d&&(u.advancedInFlow("tallyman.v1-credit-card","load-script-start",{gateway_url:d}),function(e){var r=e.url,t=e.key,n=e.isRecaptcha,a=void 0!==n&&n,o=e.callBack,i=e.id,c=void 0===i?"":i,s=document.createElement("script");s.type="text/javascript",s.src=r,s.id="injected_script_".concat(c);var d=document.getElementsByTagName("head")[0];d.insertBefore(s,d.firstChild),a&&(s.onload=function(){var e='\n grecaptcha.ready(function() {\n grecaptcha.execute("'.concat(t,'", {action: \'submit\'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log("-------" + token);\n });\n });\n ');l(e,!0)}),s.onerror=function(){console.error("Error loading script",r),o&&o()}}({id:"ecardon-credit-card",url:d,callBack:function(){u.advancedInFlow("tallyman.v1-credit-card","load-script-success",{gateway_url:d})}})),"redirection"===v&&d&&(u.customEvent("Flow","advance-auto","redirect-success",{redirect_url:d}),a.location.href=d),"html"===v&&m&&u.advancedInFlow("tallyman.v1-credit-card","get-html-success"),[2,{type:"USER_DETAILS_ENTRY",result:o({gateway_url:d,method:v,html:m})}];case 3:switch(g=r.sent(),console.warn(g),p=void 0,g.type){case"AlreadySubscribed":p="AlreadySubscribed";break;case"InvalidUserDetails":p="InvalidUserDetails";break;default:p="UnknownError"}return u.recedeInFlow("tallyman.v1-credit-card","cc-form-submission-failure",{email:null==i?void 0:i.email,errorType:p||g.type,errorId:(null==g?void 0:g.errorId)||""}),[2,s({errorType:p,error:g.toString(),errorId:(null==g?void 0:g.errorId)||""})];case 4:return[2]}}))}))})),_=a({name:"creditCardFlow",initialState:w,reducers:{},extraReducers:function(e){e.addCase(h.pending,(function(e){e.currentState={type:"USER_DETAILS_ENTRY",result:i()}})).addCase(h.fulfilled,(function(e,r){e.currentState=r.payload})).addCase(h.rejected,(function(e,r){e.currentState={type:"USER_DETAILS_ENTRY",result:c(r.payload)}}))}}),S=_.reducer;_.actions;var b=function(e){return e((function(e){return e.creditCardFlow.currentState}))};function E(e){var r=e.userDetailsEntry;return function(e){return e.type,r(e.result)}}export{E as creditCardFlowMatch,S as creditCardFlowReducer,h as submitUserDetailsAction,b as useCreditCardFlowState};
2
2
  //# sourceMappingURL=creditCardFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creditCardFlow.js","sources":["../src/utilities/loadScriptSrc.ts","../src/flows/creditCardFlow/api.ts","../src/flows/creditCardFlow/main.ts","../src/flows/creditCardFlow/creditCardFlowSlice.ts","../src/flows/creditCardFlow/hooks/useCreditCardFlowState.ts","../src/flows/creditCardFlow/match.ts"],"sourcesContent":["import { loadScriptInnerHtml } from './loadScriptInnerHtml';\n\n/**\n * Loads a script from the specified URL and optionally executes a reCAPTCHA if the `isRecaptcha` flag is set.\n *\n * @param {Object} options - An object containing the following properties:\n * - {string} url: The URL of the script to load.\n * - {string} [key]: The reCAPTCHA key to use for execution. (Optional)\n * - {boolean} [isRecaptcha]: Flag indicating whether to execute a reCAPTCHA. Defaults to false.\n * - {function} [callBack]: A callback function to be called if there is an error loading the script. (Optional)\n * - {string} [id]: The ID to assign to the injected script. Defaults to an empty string.\n * @return {void}\n */\nconst loadScriptSrc = ({\n url,\n key,\n isRecaptcha = false,\n callBack,\n id = ''\n}: {\n url: string;\n key?: string;\n isRecaptcha?: boolean;\n callBack?: () => void;\n id?: string;\n}) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = `injected_script_${id}`;\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n if (isRecaptcha) {\n script.onload = () => {\n const scriptInner = `\n grecaptcha.ready(function() {\n grecaptcha.execute(\"${key}\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n `;\n loadScriptInnerHtml(scriptInner, true);\n };\n }\n\n script.onerror = () => {\n console.error('Error loading script', url);\n if (callBack) {\n callBack();\n }\n };\n};\n\nexport default loadScriptSrc;\n","import { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\n\nconst redirect = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParamsQs,\n email,\n password\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn?: string;\n device: string;\n offer: string;\n rockmanId: string;\n ip_range_name?: string;\n search: string;\n extraParamsQs?: string;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'redirect',\n slug,\n country,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n page: encodeURIComponent(window.location.href),\n network_type: ip_range_name ? '' : 'wifi',\n ...(search && { search }),\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn }),\n ...(extraParamsQs && { extraParams: extraParamsQs })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst creditCardPayment = async ({\n window,\n userDetails,\n extraConfig\n}: {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n extraConfig?: { serviceId: string; slug: string };\n}): Promise<IUserDetailsSubmissionResult> => {\n const isMaxPay = 'cc_number' in userDetails;\n const host = window.DEV_BASE_URL_CREDIT_CARD || '';\n const apiBaseURL = `${host}/api/v1`;\n const apiPath = '/frontend/initiate-payment-generic';\n const search = searchToObject(window) as any;\n // Common userDetails properties\n const commonDetails = {\n rockman_id: window.pac_analytics.visitor?.rockmanId,\n landing_page_url: window.location.href,\n // Use conditional operation for service_id as it varies\n service_id: isMaxPay ? extraConfig?.serviceId : '2',\n ...(extraConfig?.slug ? { slug: `${extraConfig?.slug}${search?.d_country || ''}` } : {}),\n ...(isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip }),\n ...userDetails\n };\n\n const requestOptions = {\n method: 'POST',\n headers: new Headers({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(commonDetails)\n };\n\n return fetch(`${apiBaseURL}${apiPath}`, requestOptions).then((response) => response.json());\n};\n\nexport { redirect, creditCardPayment };\n","import { IError } from '../../common-types/IError';\nimport { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { creditCardPayment, redirect } from './api';\n\nexport async function submitUserDetails(\n window: Window,\n config: IConfig,\n userDetails: IUserDetails | IUserDetailsEcardon\n): Promise<{\n method: string;\n gateway_url?: string;\n html?: string;\n}> {\n const { slug, country, device, serviceId } = config;\n const search = window.location.search.substr(1) || '';\n const { visitor } = window.pac_analytics;\n\n const { rockmanId } = visitor;\n const extraConfig = { serviceId, slug };\n const result: IUserDetailsSubmissionResult = window?.pac_analytics?.visitor?.page?.includes('agency')\n ? await redirect({\n window,\n slug,\n country,\n device,\n offer: window?.pac_analytics?.visitor?.offer,\n rockmanId,\n email: userDetails?.email,\n password: userDetails?.password,\n search\n })\n : await creditCardPayment({ window, userDetails, extraConfig });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n error.errorId = result.errorId;\n console.error(error);\n throw error;\n } else {\n return {\n gateway_url: result.gateway_url || result.redirect_url,\n method: result.redirect_url ? 'redirection' : result.method,\n html: result.html\n };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n SubmitUserDetailsErrorTypes,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess,\n USERDETAILSEntryState\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { submitUserDetails } from './main';\n\nconst mockedUserDetailsEntrySuccess: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n gateway_url: 'https://www.google.com',\n method: 'jslink'\n })\n }\n};\n\nconst mockedUserDetailsEntryFailure: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n errorType: 'AlreadySubscribed',\n error: 'Already Subscribed'\n })\n }\n};\n\nconst defaultInitialState: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'user-details-entry-failure-state':\n return mockedUserDetailsEntryFailure;\n case 'user-details-entry-success-state':\n return mockedUserDetailsEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitUserDetailsArgs {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n}\n/**\n * submitUserDetailsAction\n * @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}\n \n * Calls redirect or max api and returns a url\n * \n */\nexport const submitUserDetailsAction = createAsyncThunk<\n USERDETAILSEntryState,\n SubmitUserDetailsArgs,\n {\n rejectValue: SubmitUserDetailsFailure;\n }\n>('creditCardFlow/submitUserDetailsAction', async ({ window, userDetails }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Credit Card API\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails?.email });\n const { gateway_url, method, html } = await submitUserDetails(window, config, userDetails);\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {\n email: userDetails?.email,\n gateway_url\n });\n // Start Credit Card API\n\n if (method === 'jslink' && gateway_url) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url });\n loadScriptSrc({\n id: 'ecardon-credit-card',\n url: gateway_url,\n callBack: () => {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url });\n }\n });\n }\n\n if (method === 'redirection' && gateway_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url });\n window.location.href = gateway_url;\n }\n\n if (method === 'html' && html) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'get-html-success');\n }\n return {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({ gateway_url, method, html })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: SubmitUserDetailsErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidUserDetails':\n errorType = 'InvalidUserDetails';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {\n email: userDetails?.email,\n errorType: errorType || ex.type,\n errorId: ex?.errorId || ''\n });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n errorId: ex?.errorId || ''\n });\n }\n});\n\nconst creditCardFlowSlice = createSlice({\n name: 'creditCardFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitUserDetailsAction.pending, (state) => {\n state.currentState = { type: 'USER_DETAILS_ENTRY', result: RDS.Loading() };\n })\n .addCase(submitUserDetailsAction.fulfilled, (state, action: PayloadAction<USERDETAILSEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitUserDetailsAction.rejected, (state, action: PayloadAction<SubmitUserDetailsFailure>) => {\n state.currentState = {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: creditCardFlowReducer, actions: creditCardFlowActions } = creditCardFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectCreditCardFlowState = (state: any) => state.creditCardFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useCreditCardFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.creditCardFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowCurrentState,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\n\nfunction creditCardFlowMatch<R>({\n userDetailsEntry\n}: {\n userDetailsEntry: (rds: RDS.RemoteDataState<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>) => R;\n}): (state: CreditCardFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'USER_DETAILS_ENTRY':\n return userDetailsEntry(state.result);\n default:\n // TODO - this should be an error or something\n return userDetailsEntry(state.result);\n }\n };\n}\n\nexport { creditCardFlowMatch };\n"],"names":["redirect","_a","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParamsQs","email","password","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","securityProcessId","languageCode","language_code","extraParams","host","DEV_BASE_URL","url","concat","fetch","then","x","json","creditCardPayment","userDetails","extraConfig","isMaxPay","DEV_BASE_URL_CREDIT_CARD","apiBaseURL","searchToObject","commonDetails","landing_page_url","service_id","serviceId","d_country","user_agent","navigator","userAgent","ip","requestOptions","method","headers","Headers","body","JSON","stringify","response","submitUserDetails","config","substr","_e","_f","_g","result","success","type","message","error","Error","errorId","console","gateway_url","redirect_url","html","mockedUserDetailsEntrySuccess","currentState","RDS.Success","mockedUserDetailsEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitUserDetailsAction","createAsyncThunk","getState","rejectWithValue","state","strategy","data","tracker","advancedInFlow","sent","gateway_url_1","key","isRecaptcha","callBack","id","script","document","createElement","src","headElem","getElementsByTagName","insertBefore","firstChild","onload","scriptInner","loadScriptInnerHtml","onerror","loadScriptSrc","customEvent","warn","ex_1","recedeInFlow","creditCardFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","creditCardFlowReducer","reducer","actions","useCreditCardFlowState","useSelector","creditCardFlow","creditCardFlowMatch","userDetailsEntry"],"mappings":"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"}
1
+ {"version":3,"file":"creditCardFlow.js","sources":["../src/utilities/loadScriptSrc.ts","../src/flows/creditCardFlow/api.ts","../src/flows/creditCardFlow/main.ts","../src/flows/creditCardFlow/creditCardFlowSlice.ts","../src/flows/creditCardFlow/hooks/useCreditCardFlowState.ts","../src/flows/creditCardFlow/match.ts"],"sourcesContent":["import { loadScriptInnerHtml } from './loadScriptInnerHtml';\n\n/**\n * Loads a script from the specified URL and optionally executes a reCAPTCHA if the `isRecaptcha` flag is set.\n *\n * @param {Object} options - An object containing the following properties:\n * - {string} url: The URL of the script to load.\n * - {string} [key]: The reCAPTCHA key to use for execution. (Optional)\n * - {boolean} [isRecaptcha]: Flag indicating whether to execute a reCAPTCHA. Defaults to false.\n * - {function} [callBack]: A callback function to be called if there is an error loading the script. (Optional)\n * - {string} [id]: The ID to assign to the injected script. Defaults to an empty string.\n * @return {void}\n */\nconst loadScriptSrc = ({\n url,\n key,\n isRecaptcha = false,\n callBack,\n id = ''\n}: {\n url: string;\n key?: string;\n isRecaptcha?: boolean;\n callBack?: () => void;\n id?: string;\n}) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = `injected_script_${id}`;\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n if (isRecaptcha) {\n script.onload = () => {\n const scriptInner = `\n grecaptcha.ready(function() {\n grecaptcha.execute(\"${key}\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n `;\n loadScriptInnerHtml(scriptInner, true);\n };\n }\n\n script.onerror = () => {\n console.error('Error loading script', url);\n if (callBack) {\n callBack();\n }\n };\n};\n\nexport default loadScriptSrc;\n","import { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\n\nconst redirect = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParamsQs,\n email,\n password\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn?: string;\n device: string;\n offer: string;\n rockmanId: string;\n ip_range_name?: string;\n search: string;\n extraParamsQs?: string;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'redirect',\n slug,\n country,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n page: encodeURIComponent(window.location.href),\n network_type: ip_range_name ? '' : 'wifi',\n ...(search && { search }),\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn }),\n ...(extraParamsQs && { extraParams: extraParamsQs })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst creditCardPayment = async ({\n window,\n userDetails,\n extraConfig\n}: {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n extraConfig?: { serviceId: string; slug: string };\n}): Promise<IUserDetailsSubmissionResult> => {\n const isMaxPay = 'cc_number' in userDetails;\n const host = window.DEV_BASE_URL_CREDIT_CARD || '';\n const apiBaseURL = `${host}/api/v1`;\n const apiPath = '/frontend/initiate-payment-generic';\n const search = searchToObject(window) as any;\n // Common userDetails properties\n\n const browserFingerprint = {\n timezone: new Date().getTimezoneOffset(),\n browserColorDepth: window.screen.colorDepth,\n browserLanguage: navigator.language,\n browserScreenHeight: window.screen.height,\n browserScreenWidth: window.screen.width,\n userAgent: navigator.userAgent,\n browserJavaEnabled: navigator.javaEnabled ? navigator.javaEnabled() : false,\n browserJavascriptEnabled: true\n };\n const commonDetails = {\n rockman_id: window.pac_analytics.visitor?.rockmanId,\n landing_page_url: window.location.href,\n // Use conditional operation for service_id as it varies\n service_id: isMaxPay ? extraConfig?.serviceId : '2',\n ...(extraConfig?.slug ? { slug: `${extraConfig?.slug}${search?.d_country || ''}` } : {}),\n ...(isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip }),\n browserFingerprint,\n ...userDetails\n };\n\n const requestOptions = {\n method: 'POST',\n headers: new Headers({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(commonDetails)\n };\n\n return fetch(`${apiBaseURL}${apiPath}`, requestOptions).then((response) => response.json());\n};\n\nexport { redirect, creditCardPayment };\n","import { IError } from '../../common-types/IError';\nimport { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { creditCardPayment, redirect } from './api';\n\nexport async function submitUserDetails(\n window: Window,\n config: IConfig,\n userDetails: IUserDetails | IUserDetailsEcardon\n): Promise<{\n method: string;\n gateway_url?: string;\n html?: string;\n}> {\n const { slug, country, device, serviceId } = config;\n const search = window.location.search.substr(1) || '';\n const { visitor } = window.pac_analytics;\n\n const { rockmanId } = visitor;\n const extraConfig = { serviceId, slug };\n const result: IUserDetailsSubmissionResult = window?.pac_analytics?.visitor?.page?.includes('agency')\n ? await redirect({\n window,\n slug,\n country,\n device,\n offer: window?.pac_analytics?.visitor?.offer,\n rockmanId,\n email: userDetails?.email,\n password: userDetails?.password,\n search\n })\n : await creditCardPayment({ window, userDetails, extraConfig });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n error.errorId = result.errorId;\n console.error(error);\n throw error;\n } else {\n return {\n gateway_url: result.gateway_url || result.redirect_url,\n method: result.redirect_url ? 'redirection' : result.method,\n html: result.html\n };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n SubmitUserDetailsErrorTypes,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess,\n USERDETAILSEntryState\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { submitUserDetails } from './main';\n\nconst mockedUserDetailsEntrySuccess: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n gateway_url: 'https://www.google.com',\n method: 'jslink'\n })\n }\n};\n\nconst mockedUserDetailsEntryFailure: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n errorType: 'AlreadySubscribed',\n error: 'Already Subscribed'\n })\n }\n};\n\nconst defaultInitialState: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'user-details-entry-failure-state':\n return mockedUserDetailsEntryFailure;\n case 'user-details-entry-success-state':\n return mockedUserDetailsEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitUserDetailsArgs {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n}\n/**\n * submitUserDetailsAction\n * @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}\n \n * Calls redirect or max api and returns a url\n * \n */\nexport const submitUserDetailsAction = createAsyncThunk<\n USERDETAILSEntryState,\n SubmitUserDetailsArgs,\n {\n rejectValue: SubmitUserDetailsFailure;\n }\n>('creditCardFlow/submitUserDetailsAction', async ({ window, userDetails }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Credit Card API\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails?.email });\n const { gateway_url, method, html } = await submitUserDetails(window, config, userDetails);\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {\n email: userDetails?.email,\n gateway_url\n });\n // Start Credit Card API\n\n if (method === 'jslink' && gateway_url) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url });\n loadScriptSrc({\n id: 'ecardon-credit-card',\n url: gateway_url,\n callBack: () => {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url });\n }\n });\n }\n\n if (method === 'redirection' && gateway_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url });\n window.location.href = gateway_url;\n }\n\n if (method === 'html' && html) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'get-html-success');\n }\n return {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({ gateway_url, method, html })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: SubmitUserDetailsErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidUserDetails':\n errorType = 'InvalidUserDetails';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {\n email: userDetails?.email,\n errorType: errorType || ex.type,\n errorId: ex?.errorId || ''\n });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n errorId: ex?.errorId || ''\n });\n }\n});\n\nconst creditCardFlowSlice = createSlice({\n name: 'creditCardFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitUserDetailsAction.pending, (state) => {\n state.currentState = { type: 'USER_DETAILS_ENTRY', result: RDS.Loading() };\n })\n .addCase(submitUserDetailsAction.fulfilled, (state, action: PayloadAction<USERDETAILSEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitUserDetailsAction.rejected, (state, action: PayloadAction<SubmitUserDetailsFailure>) => {\n state.currentState = {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: creditCardFlowReducer, actions: creditCardFlowActions } = creditCardFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectCreditCardFlowState = (state: any) => state.creditCardFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useCreditCardFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.creditCardFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowCurrentState,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\n\nfunction creditCardFlowMatch<R>({\n userDetailsEntry\n}: {\n userDetailsEntry: (rds: RDS.RemoteDataState<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>) => R;\n}): (state: CreditCardFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'USER_DETAILS_ENTRY':\n return userDetailsEntry(state.result);\n default:\n // TODO - this should be an error or something\n return userDetailsEntry(state.result);\n }\n };\n}\n\nexport { creditCardFlowMatch };\n"],"names":["redirect","_a","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParamsQs","email","password","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","securityProcessId","languageCode","language_code","extraParams","host","DEV_BASE_URL","url","concat","fetch","then","x","json","creditCardPayment","userDetails","extraConfig","isMaxPay","DEV_BASE_URL_CREDIT_CARD","apiBaseURL","searchToObject","browserFingerprint","timezone","Date","getTimezoneOffset","browserColorDepth","screen","colorDepth","browserLanguage","navigator","language","browserScreenHeight","height","browserScreenWidth","width","userAgent","browserJavaEnabled","javaEnabled","browserJavascriptEnabled","commonDetails","landing_page_url","service_id","serviceId","d_country","user_agent","ip","requestOptions","method","headers","Headers","body","JSON","stringify","response","submitUserDetails","config","substr","_e","_f","_g","result","success","type","message","error","Error","errorId","console","gateway_url","redirect_url","html","mockedUserDetailsEntrySuccess","currentState","RDS.Success","mockedUserDetailsEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitUserDetailsAction","createAsyncThunk","getState","rejectWithValue","state","strategy","data","tracker","advancedInFlow","sent","gateway_url_1","key","isRecaptcha","callBack","id","script","document","createElement","src","headElem","getElementsByTagName","insertBefore","firstChild","onload","scriptInner","loadScriptInnerHtml","onerror","loadScriptSrc","customEvent","warn","ex_1","recedeInFlow","creditCardFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","creditCardFlowReducer","reducer","actions","useCreditCardFlowState","useSelector","creditCardFlow","creditCardFlowMatch","userDetailsEntry"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.0.109",
3
+ "version": "5.0.112",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",