ouisys-engine 5.1.32 → 5.1.34
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/checkSubscriptionHander.js +1 -1
- package/dist/{helpers-BIBpnXln.js → helpers-J_h-ZgxH.js} +2 -2
- package/dist/{helpers-BIBpnXln.js.map → helpers-J_h-ZgxH.js.map} +1 -1
- package/dist/initTPay.js +144 -79
- package/dist/initTPay.js.map +1 -1
- package/dist/pinFlow.js +444 -7
- package/dist/pinFlow.js.map +1 -1
- package/dist/src/utilities/initTpay.d.ts.map +1 -1
- package/dist/ussdFlow.js +1 -1
- package/package.json +1 -1
- package/dist/main-DucVMPM9.js +0 -448
- package/dist/main-DucVMPM9.js.map +0 -1
package/dist/main-DucVMPM9.js
DELETED
|
@@ -1,448 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __generator, __read, __assign } from 'tslib';
|
|
2
|
-
import { b as bupperizeCountry } from './api-oPdBWsMC.js';
|
|
3
|
-
import { a as left, r as right, l as loop } from './helpers-BIBpnXln.js';
|
|
4
|
-
import { l as loadScriptInnerHtml } from './loadScriptInnerHtml-CstJVRED.js';
|
|
5
|
-
import { n as normaliseErrorCode } from './normaliseErrorCode-CseFd8jz.js';
|
|
6
|
-
import { searchToObject } from './searchToObject.js';
|
|
7
|
-
import { c as cleanSearchParams } from './cleanSearchParams-B2jK3H1j.js';
|
|
8
|
-
|
|
9
|
-
var checkSubscription = function (_a) {
|
|
10
|
-
var window = _a.window, country = _a.country, slug = _a.slug, device = _a.device, offer = _a.offer, rockmanId = _a.rockmanId;
|
|
11
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
12
|
-
var params, queryString, host, url;
|
|
13
|
-
return __generator(this, function (_b) {
|
|
14
|
-
params = {
|
|
15
|
-
action: 'check-subscription',
|
|
16
|
-
country: bupperizeCountry(country),
|
|
17
|
-
slug: slug,
|
|
18
|
-
device: device,
|
|
19
|
-
offerId: offer,
|
|
20
|
-
rockman_id: rockmanId
|
|
21
|
-
};
|
|
22
|
-
queryString = Object.entries(params)
|
|
23
|
-
.filter(function (_a) {
|
|
24
|
-
var _b = __read(_a, 2); _b[0]; var value = _b[1];
|
|
25
|
-
return value !== undefined && value !== null;
|
|
26
|
-
})
|
|
27
|
-
.map(function (_a) {
|
|
28
|
-
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
29
|
-
return "".concat(key, "=").concat(encodeURIComponent(value));
|
|
30
|
-
})
|
|
31
|
-
.join('&');
|
|
32
|
-
host = window.DEV_BASE_URL || '';
|
|
33
|
-
url = "".concat(host, "/tallyman/v1/?").concat(queryString);
|
|
34
|
-
return [2 /*return*/, fetch(url).then(function (response) { return response.json(); })];
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
var checkIsCleanTraffic = function (country) {
|
|
40
|
-
if (country === 'be') {
|
|
41
|
-
if (typeof window !== 'undefined' && window.shouldBlock === true) {
|
|
42
|
-
return '&is-clean-traffic=false';
|
|
43
|
-
}
|
|
44
|
-
return '&is-clean-traffic=true';
|
|
45
|
-
}
|
|
46
|
-
return '';
|
|
47
|
-
};
|
|
48
|
-
var triggerPin = function (_a) {
|
|
49
|
-
var window = _a.window, country = _a.country, slug = _a.slug, device = _a.device, offer = _a.offer, msisdn = _a.msisdn, rockmanId = _a.rockmanId, extraParams = _a.extraParams, search = _a.search, uniqid = _a.uniqid, evinaTid = _a.evinaTid;
|
|
50
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
var cleanTrafficString, extraParamsQs, params, queryString, host, url;
|
|
52
|
-
var _b;
|
|
53
|
-
return __generator(this, function (_c) {
|
|
54
|
-
cleanTrafficString = checkIsCleanTraffic(country);
|
|
55
|
-
extraParamsQs = "&".concat(Object.keys(extraParams)
|
|
56
|
-
.map(function (k) { return (extraParams[k] ? "".concat(k, "=").concat(extraParams[k]) : ''); })
|
|
57
|
-
.filter(Boolean)
|
|
58
|
-
.join('&'));
|
|
59
|
-
// Remove conflicting params from url
|
|
60
|
-
search = cleanSearchParams(search);
|
|
61
|
-
params = {
|
|
62
|
-
action: 'trigger-pin',
|
|
63
|
-
country: country,
|
|
64
|
-
slug: slug,
|
|
65
|
-
device: device,
|
|
66
|
-
offerId: offer,
|
|
67
|
-
msisdn: msisdn,
|
|
68
|
-
rockman_id: rockmanId,
|
|
69
|
-
sam_evina_tid: evinaTid,
|
|
70
|
-
page: encodeURIComponent((_b = window === null || window === void 0 ? void 0 : window.location) === null || _b === void 0 ? void 0 : _b.href),
|
|
71
|
-
language_code: window.languageCode || '',
|
|
72
|
-
partner_transaction_id: window.partner_transaction_id || '',
|
|
73
|
-
partner_timestamp: window.partner_timestamp || '',
|
|
74
|
-
partner_cid: window.partner_cid || '',
|
|
75
|
-
uniqid: uniqid || '',
|
|
76
|
-
antifraud_id: window.antifraud_id || '',
|
|
77
|
-
// More specific antifraud IDs will eventuallly replace antifraud_id
|
|
78
|
-
// https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25
|
|
79
|
-
antifraud_id_js_code: window.antifraud_id_js_code || '',
|
|
80
|
-
antifraud_id_js_link: window.antifraud_id_js_link || '',
|
|
81
|
-
zain_antifraud_id: window.zain_antifraud_id || '',
|
|
82
|
-
korek_antifraud_id: window.korek_antifraud_id || '',
|
|
83
|
-
ip_address: window.pac_analytics.visitor.ip || '',
|
|
84
|
-
ip_range_operator: window.pac_analytics.visitor.ipRangeOperator || ''
|
|
85
|
-
};
|
|
86
|
-
queryString = Object.entries(params)
|
|
87
|
-
.filter(function (_a) {
|
|
88
|
-
var _b = __read(_a, 2); _b[0]; var value = _b[1];
|
|
89
|
-
return value;
|
|
90
|
-
})
|
|
91
|
-
.map(function (_a) {
|
|
92
|
-
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
93
|
-
return "".concat(key, "=").concat(value);
|
|
94
|
-
})
|
|
95
|
-
.join('&');
|
|
96
|
-
host = window.DEV_BASE_URL || '';
|
|
97
|
-
url = "".concat(host, "/tallyman/v1/?").concat(queryString).concat(cleanTrafficString).concat(extraParamsQs).concat(search ? "&".concat(search) : '');
|
|
98
|
-
if (window.MOCK_TIGGER_PIN_RESPONSE) {
|
|
99
|
-
return [2 /*return*/, window.MOCK_TIGGER_PIN_RESPONSE];
|
|
100
|
-
}
|
|
101
|
-
return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
var verifyPin = function (_a) {
|
|
106
|
-
var window = _a.window, country = _a.country, slug = _a.slug, device = _a.device, offer = _a.offer, rockmanId = _a.rockmanId, pin = _a.pin, extraParams = _a.extraParams, uniqid = _a.uniqid, evinaTid = _a.evinaTid, search = _a.search;
|
|
107
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
108
|
-
var cleanTrafficString, extraParamsQs, params, queryString, host, url;
|
|
109
|
-
var _b;
|
|
110
|
-
return __generator(this, function (_c) {
|
|
111
|
-
cleanTrafficString = checkIsCleanTraffic(country);
|
|
112
|
-
extraParamsQs = "&".concat(Object.keys(extraParams)
|
|
113
|
-
.map(function (k) { return "".concat(k, "=").concat(extraParams[k]); })
|
|
114
|
-
.join('&'));
|
|
115
|
-
// Remove conflicting params from url
|
|
116
|
-
search = cleanSearchParams(search);
|
|
117
|
-
params = {
|
|
118
|
-
action: 'verify-pin',
|
|
119
|
-
country: bupperizeCountry(country),
|
|
120
|
-
slug: slug,
|
|
121
|
-
device: device,
|
|
122
|
-
offerId: offer,
|
|
123
|
-
rockman_id: rockmanId,
|
|
124
|
-
pin: pin,
|
|
125
|
-
page: encodeURIComponent((_b = window === null || window === void 0 ? void 0 : window.location) === null || _b === void 0 ? void 0 : _b.href),
|
|
126
|
-
language_code: window.languageCode || '',
|
|
127
|
-
ClickID: window.antifraud_click_id || '',
|
|
128
|
-
partner_cid: window.partner_cid || '',
|
|
129
|
-
sam_evina_tid: evinaTid,
|
|
130
|
-
uniqid: uniqid,
|
|
131
|
-
// More specific antifraud IDs will eventuallly replace antifraud_id
|
|
132
|
-
// https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25
|
|
133
|
-
antifraud_id: window.antifraud_id || '',
|
|
134
|
-
antifraud_id_js_code: window.antifraud_id_js_code || '',
|
|
135
|
-
antifraud_id_js_link: window.antifraud_id_js_link || '',
|
|
136
|
-
zain_antifraud_id: window.zain_antifraud_id || '',
|
|
137
|
-
korek_antifraud_id: window.korek_antifraud_id || ''
|
|
138
|
-
};
|
|
139
|
-
queryString = Object.entries(params)
|
|
140
|
-
.filter(function (_a) {
|
|
141
|
-
var _b = __read(_a, 2); _b[0]; var value = _b[1];
|
|
142
|
-
return value;
|
|
143
|
-
})
|
|
144
|
-
.map(function (_a) {
|
|
145
|
-
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
146
|
-
return "".concat(key, "=").concat(value);
|
|
147
|
-
})
|
|
148
|
-
.join('&');
|
|
149
|
-
host = window.DEV_BASE_URL || '';
|
|
150
|
-
url = "".concat(host, "/tallyman/v1/?").concat(queryString).concat(cleanTrafficString).concat(extraParamsQs).concat(search ? "&".concat(search) : '');
|
|
151
|
-
return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
};
|
|
155
|
-
var mcpShield = function (_a) {
|
|
156
|
-
var window = _a.window, country = _a.country, slug = _a.slug, device = _a.device, offer = _a.offer, rockmanId = _a.rockmanId, operator = _a.operator, uniqid = _a.uniqid;
|
|
157
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
158
|
-
var pageUrl, ipAdd, params, host, url;
|
|
159
|
-
return __generator(this, function (_b) {
|
|
160
|
-
pageUrl = window.location.href;
|
|
161
|
-
ipAdd = window.pac_analytics.visitor.ip;
|
|
162
|
-
params = new URLSearchParams(__assign(__assign({ action: 'mcp-shield', country: country, slug: slug, device: device, offerId: offer.toString(), rockman_id: rockmanId, client_lpu: pageUrl }, (operator && { operator: operator })), (uniqid && { uniqid: uniqid })));
|
|
163
|
-
// Conditionally add client_ip if it exists
|
|
164
|
-
if (ipAdd) {
|
|
165
|
-
params.append('client_ip', ipAdd);
|
|
166
|
-
}
|
|
167
|
-
host = window.DEV_BASE_URL || '';
|
|
168
|
-
url = "".concat(host, "/tallyman/v1/?").concat(params.toString());
|
|
169
|
-
return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
function submitMSISDN(window, maybeConfig, internationalMSISDN, extraParams) {
|
|
175
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
176
|
-
var config;
|
|
177
|
-
return __generator(this, function (_a) {
|
|
178
|
-
config = __assign({ offer: window.pac_analytics.visitor.offer }, (maybeConfig || {}));
|
|
179
|
-
if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {
|
|
180
|
-
return [2 /*return*/, submitMSISDNForMultipleOperators(window, config, internationalMSISDN, config.operators, extraParams)];
|
|
181
|
-
}
|
|
182
|
-
return [2 /*return*/, submitMSISDNOnce(window, config, internationalMSISDN, extraParams)];
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
var uniqidResult = '';
|
|
187
|
-
function submitMSISDNOnce(window, config, internationalMSISDN, extraParams) {
|
|
188
|
-
var _a;
|
|
189
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
190
|
-
var submissionError, newExtraParams, isSkipValidation, searchObj, msisdn, rockmanId, slug, country, device, offer, search, uniqid, evinaTid, result, defaultType, type, error, codesWithMcpShied, mcpShieldResult, err_2;
|
|
191
|
-
return __generator(this, function (_b) {
|
|
192
|
-
switch (_b.label) {
|
|
193
|
-
case 0:
|
|
194
|
-
if (!internationalMSISDN) {
|
|
195
|
-
submissionError = new Error("Error in submitMSISDN() trigger-pin action");
|
|
196
|
-
submissionError.type = 'InvalidMSISDN';
|
|
197
|
-
throw submissionError;
|
|
198
|
-
}
|
|
199
|
-
newExtraParams = extraParams || {};
|
|
200
|
-
isSkipValidation = false;
|
|
201
|
-
searchObj = searchToObject(window);
|
|
202
|
-
// @ts-ignore
|
|
203
|
-
if (((searchObj === null || searchObj === void 0 ? void 0 : searchObj.success) === 'true' && searchObj['msisdn-alias'] === '1') || window.skip_validation === true) {
|
|
204
|
-
// Search param is set to 1 for header enrichment when the msisdn is masked
|
|
205
|
-
newExtraParams['skip-validation'] = '1';
|
|
206
|
-
}
|
|
207
|
-
if (newExtraParams['skip-validation'] === '1') {
|
|
208
|
-
isSkipValidation = true;
|
|
209
|
-
}
|
|
210
|
-
msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\d+/gi).join('');
|
|
211
|
-
rockmanId = window.pac_analytics.visitor.rockmanId;
|
|
212
|
-
slug = config.slug, country = config.country, device = config.device, offer = config.offer;
|
|
213
|
-
search = window.location.search.substr(1) || '';
|
|
214
|
-
uniqid = !!uniqidResult && uniqidResult !== '' ? "&mcpUniqid=".concat(uniqidResult) : '';
|
|
215
|
-
evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';
|
|
216
|
-
return [4 /*yield*/, triggerPin({
|
|
217
|
-
window: window,
|
|
218
|
-
country: country,
|
|
219
|
-
slug: slug,
|
|
220
|
-
device: device,
|
|
221
|
-
offer: offer,
|
|
222
|
-
msisdn: msisdn,
|
|
223
|
-
rockmanId: rockmanId,
|
|
224
|
-
extraParams: newExtraParams,
|
|
225
|
-
search: search,
|
|
226
|
-
uniqid: uniqid,
|
|
227
|
-
evinaTid: evinaTid
|
|
228
|
-
})];
|
|
229
|
-
case 1:
|
|
230
|
-
result = _b.sent();
|
|
231
|
-
if (result.isContentBlocked === true) {
|
|
232
|
-
window.isContentBlocked = true;
|
|
233
|
-
}
|
|
234
|
-
if (!(result.success === false)) return [3 /*break*/, 2];
|
|
235
|
-
defaultType = result.message.includes('ALREADY SUBSCRIBED')
|
|
236
|
-
? 'AlreadySubscribed'
|
|
237
|
-
: /invalid/i.test(result.message)
|
|
238
|
-
? 'InvalidMsisdn'
|
|
239
|
-
: result.message.includes('duplicated_request')
|
|
240
|
-
? 'DuplicatedRequest'
|
|
241
|
-
: 'UnknownError';
|
|
242
|
-
type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;
|
|
243
|
-
error = new Error("Error in submitMSISDN() trigger-pin action:\n".concat(result.message));
|
|
244
|
-
Object.assign(error, {
|
|
245
|
-
type: type,
|
|
246
|
-
message: result.message,
|
|
247
|
-
productUrl: (_a = result.product_url) !== null && _a !== void 0 ? _a : ''
|
|
248
|
-
});
|
|
249
|
-
throw error;
|
|
250
|
-
case 2:
|
|
251
|
-
window.operator = result.operator; // currently used on server for KW_STC if present dont call empello for Shemaroo
|
|
252
|
-
codesWithMcpShied = {
|
|
253
|
-
kw: {
|
|
254
|
-
kw_viva: 'kw_viva'
|
|
255
|
-
},
|
|
256
|
-
k2: {
|
|
257
|
-
k2_viva: 'k2_viva'
|
|
258
|
-
},
|
|
259
|
-
bh: {
|
|
260
|
-
bh_viva: 'bh_viva'
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
if (!(country &&
|
|
264
|
-
result.operator &&
|
|
265
|
-
((codesWithMcpShied[country.toLowerCase()] &&
|
|
266
|
-
codesWithMcpShied[country.toLowerCase()][result.operator.toLowerCase()]) ||
|
|
267
|
-
country.toLowerCase() === 'iq') &&
|
|
268
|
-
!window.isCallBlockApi &&
|
|
269
|
-
!window.Empello) // set on server https://www.notion.so/sammedia/KW-Agency-Shemaroo-STC-integration-1a114991683d4af79eb01a4d96789f30
|
|
270
|
-
) return [3 /*break*/, 6]; // set on server https://www.notion.so/sammedia/KW-Agency-Shemaroo-STC-integration-1a114991683d4af79eb01a4d96789f30
|
|
271
|
-
_b.label = 3;
|
|
272
|
-
case 3:
|
|
273
|
-
_b.trys.push([3, 5, , 6]);
|
|
274
|
-
return [4 /*yield*/, mcpShield({
|
|
275
|
-
window: window,
|
|
276
|
-
country: country,
|
|
277
|
-
slug: slug,
|
|
278
|
-
device: device,
|
|
279
|
-
offer: offer,
|
|
280
|
-
rockmanId: rockmanId,
|
|
281
|
-
operator: result.operator,
|
|
282
|
-
uniqid: uniqid
|
|
283
|
-
})];
|
|
284
|
-
case 4:
|
|
285
|
-
mcpShieldResult = _b.sent();
|
|
286
|
-
if (mcpShieldResult.success === false) {
|
|
287
|
-
console.warn(mcpShieldResult.message);
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
loadScriptInnerHtml(mcpShieldResult.source);
|
|
291
|
-
uniqidResult = mcpShieldResult.uniqid;
|
|
292
|
-
}
|
|
293
|
-
return [3 /*break*/, 6];
|
|
294
|
-
case 5:
|
|
295
|
-
err_2 = _b.sent();
|
|
296
|
-
console.warn(err_2);
|
|
297
|
-
return [3 /*break*/, 6];
|
|
298
|
-
case 6:
|
|
299
|
-
if (result.javascript) {
|
|
300
|
-
loadScriptInnerHtml(result.javascript);
|
|
301
|
-
}
|
|
302
|
-
return [2 /*return*/, __assign({ type: 'SingleMSISDNSubmissionResult', pin: result.pin, uniqidResult: uniqidResult, operator: result.operator, redirectUrl: result === null || result === void 0 ? void 0 : result.redirect_to_url }, ((result === null || result === void 0 ? void 0 : result.userType) ? { userType: result === null || result === void 0 ? void 0 : result.userType } : {}) // For Peru user plan if prepaid or postpaid
|
|
303
|
-
)];
|
|
304
|
-
}
|
|
305
|
-
});
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
function submitMSISDNForMultipleOperators(window, config, internationalMSISDN, operators, extraParams) {
|
|
309
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
310
|
-
var results, alreadySubscribed;
|
|
311
|
-
var _this = this;
|
|
312
|
-
return __generator(this, function (_a) {
|
|
313
|
-
switch (_a.label) {
|
|
314
|
-
case 0: return [4 /*yield*/, Promise.all(operators.map(function (o) { return __awaiter(_this, void 0, void 0, function () {
|
|
315
|
-
var singleResult, error_1;
|
|
316
|
-
return __generator(this, function (_a) {
|
|
317
|
-
switch (_a.label) {
|
|
318
|
-
case 0:
|
|
319
|
-
_a.trys.push([0, 2, , 3]);
|
|
320
|
-
return [4 /*yield*/, submitMSISDNOnce(window, config, internationalMSISDN, __assign(__assign({}, extraParams), { operator: o }))];
|
|
321
|
-
case 1:
|
|
322
|
-
singleResult = _a.sent();
|
|
323
|
-
return [2 /*return*/, right(__assign(__assign({}, singleResult), { operator: o }))];
|
|
324
|
-
case 2:
|
|
325
|
-
error_1 = _a.sent();
|
|
326
|
-
return [2 /*return*/, left(error_1)];
|
|
327
|
-
case 3: return [2 /*return*/];
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
}); }))];
|
|
331
|
-
case 1:
|
|
332
|
-
results = _a.sent();
|
|
333
|
-
alreadySubscribed = results.find(function (r) { var _a; return r.type === 'left' && ((_a = r.value) === null || _a === void 0 ? void 0 : _a.type) === 'AlreadySubscribed'; });
|
|
334
|
-
if (results.every(function (r) { return r.type === 'left'; })) {
|
|
335
|
-
// no submission worked
|
|
336
|
-
throw results[0].value;
|
|
337
|
-
}
|
|
338
|
-
else if (alreadySubscribed) {
|
|
339
|
-
throw alreadySubscribed.value;
|
|
340
|
-
}
|
|
341
|
-
else {
|
|
342
|
-
return [2 /*return*/, {
|
|
343
|
-
type: 'MultiOperatorMSISDNSubmissionResult'
|
|
344
|
-
}];
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
function submitPIN(window, pin, config, extraParams) {
|
|
351
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
352
|
-
var slug, country, device, offer, newExtraParams, searchObj, rockmanId, emptyPinError, uniqid, evinaTid, search, pinResult, errorType, pinError, check, checkResult, isAlreadySubscribed, pinError, isAlreadySubscribed;
|
|
353
|
-
return __generator(this, function (_a) {
|
|
354
|
-
switch (_a.label) {
|
|
355
|
-
case 0:
|
|
356
|
-
if (window.hostCountry && window.hostSlug) {
|
|
357
|
-
config.country = window.hostCountry;
|
|
358
|
-
config.slug = window.hostSlug;
|
|
359
|
-
}
|
|
360
|
-
slug = config.slug, country = config.country, device = config.device;
|
|
361
|
-
offer = window.pac_analytics.visitor.offer;
|
|
362
|
-
newExtraParams = extraParams || {};
|
|
363
|
-
searchObj = searchToObject(window);
|
|
364
|
-
if ((searchObj === null || searchObj === void 0 ? void 0 : searchObj.success) === 'true' && searchObj['msisdn-alias'] === '1') {
|
|
365
|
-
newExtraParams['skip-validation'] = '1';
|
|
366
|
-
}
|
|
367
|
-
rockmanId = window.pac_analytics.visitor.rockmanId;
|
|
368
|
-
if (!pin) {
|
|
369
|
-
emptyPinError = new Error("Error in submitMSISDN() verify-pin action:\n Pin Cannot Be Empty");
|
|
370
|
-
emptyPinError.type = 'InvalidPIN';
|
|
371
|
-
throw emptyPinError;
|
|
372
|
-
}
|
|
373
|
-
uniqid = uniqidResult !== '' ? "&mcpUniqid=".concat(uniqidResult) : '';
|
|
374
|
-
evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';
|
|
375
|
-
search = window.location.search.substr(1) || '';
|
|
376
|
-
return [4 /*yield*/, verifyPin({
|
|
377
|
-
window: window,
|
|
378
|
-
country: country,
|
|
379
|
-
slug: slug,
|
|
380
|
-
device: device,
|
|
381
|
-
offer: offer,
|
|
382
|
-
rockmanId: rockmanId,
|
|
383
|
-
pin: pin,
|
|
384
|
-
extraParams: newExtraParams,
|
|
385
|
-
uniqid: uniqid,
|
|
386
|
-
evinaTid: evinaTid,
|
|
387
|
-
search: search
|
|
388
|
-
})];
|
|
389
|
-
case 1:
|
|
390
|
-
pinResult = _a.sent();
|
|
391
|
-
if (!(pinResult.success === false)) return [3 /*break*/, 2];
|
|
392
|
-
errorType = void 0;
|
|
393
|
-
switch (true) {
|
|
394
|
-
case pinResult.message.includes('pin does not match'):
|
|
395
|
-
errorType = 'InvalidPIN';
|
|
396
|
-
break;
|
|
397
|
-
case pinResult.message.includes('mcp blocked'):
|
|
398
|
-
errorType = 'SessionBlocked';
|
|
399
|
-
break;
|
|
400
|
-
case pinResult.message.includes('expired_pin'):
|
|
401
|
-
errorType = 'ExpiredPIN';
|
|
402
|
-
break;
|
|
403
|
-
case pinResult.message.includes('insufficient_balance'):
|
|
404
|
-
errorType = 'InsufficientBalance';
|
|
405
|
-
break;
|
|
406
|
-
case pinResult.message.includes('duplicated_request'):
|
|
407
|
-
errorType = 'DuplicatedRequest';
|
|
408
|
-
break;
|
|
409
|
-
case pinResult.message.includes('ALREADY SUBSCRIBED'):
|
|
410
|
-
errorType = 'AlreadySubscribed';
|
|
411
|
-
break;
|
|
412
|
-
default:
|
|
413
|
-
errorType = 'UnknownError';
|
|
414
|
-
}
|
|
415
|
-
pinError = new Error("Error in submitMSISDN() verify-pin action:\n".concat(pinResult.message));
|
|
416
|
-
pinError.type = errorType;
|
|
417
|
-
console.error(pinError);
|
|
418
|
-
throw pinError;
|
|
419
|
-
case 2:
|
|
420
|
-
if (!(pinResult.async === true)) return [3 /*break*/, 4];
|
|
421
|
-
// Needed for ES https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491
|
|
422
|
-
if (pinResult.product_url && pinResult.product_url !== '' && (country === null || country === void 0 ? void 0 : country.toLowerCase()) === 'es') {
|
|
423
|
-
return [2 /*return*/, { gatewayRedirectUrl: pinResult.product_url }];
|
|
424
|
-
}
|
|
425
|
-
check = function () {
|
|
426
|
-
return checkSubscription({ window: window, country: country, slug: slug, device: device, offer: offer, rockmanId: rockmanId, extraParams: extraParams });
|
|
427
|
-
};
|
|
428
|
-
return [4 /*yield*/, loop(check, 100, function (r) { return r.success || r.message === 'invalid_pin'; }, 0)];
|
|
429
|
-
case 3:
|
|
430
|
-
checkResult = _a.sent();
|
|
431
|
-
if (checkResult.success === true) {
|
|
432
|
-
isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';
|
|
433
|
-
return [2 /*return*/, { productUrl: checkResult.product_url || null, isAlreadySubscribed: isAlreadySubscribed }];
|
|
434
|
-
}
|
|
435
|
-
pinError = new Error("Error in submitMSISDN() verify-pin action:\n".concat(checkResult.message));
|
|
436
|
-
pinError.type = 'InvalidPIN';
|
|
437
|
-
pinError.message = checkResult.message;
|
|
438
|
-
throw pinError;
|
|
439
|
-
case 4:
|
|
440
|
-
isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';
|
|
441
|
-
return [2 /*return*/, { productUrl: pinResult.product_url || null, isAlreadySubscribed: isAlreadySubscribed }];
|
|
442
|
-
}
|
|
443
|
-
});
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
export { submitPIN as a, submitMSISDN as s };
|
|
448
|
-
//# sourceMappingURL=main-DucVMPM9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-DucVMPM9.js","sources":["../../src/sharedApi/checkSubscription.ts","../../src/flows/pinFlow/api.ts","../../src/flows/pinFlow/main.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IHash } from '../common-types/IHash';\nimport { bupperizeCountry } from '../utilities/bupperizeCountry';\n\nconst checkSubscription = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n extraParams?: IHash; // Marked as optional if currently unused\n}): Promise<ICheckSubscriptionResult> => {\n const params = {\n action: 'check-subscription',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { checkSubscription };\n","import { IHash, IMcpShieldResult, IMSISDNSubmissionResult, IPINSubmissionResult } from '../../sharedFlowTypes/PinTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst checkIsCleanTraffic = (country: string): string => {\n if (country === 'be') {\n if (typeof window !== 'undefined' && window.shouldBlock === true) {\n return '&is-clean-traffic=false';\n }\n return '&is-clean-traffic=true';\n }\n return '';\n};\nconst triggerPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams,\n search,\n uniqid,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n uniqid?: string;\n evinaTid?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'trigger-pin',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n uniqid: uniqid || '',\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || '',\n\n ip_address: window.pac_analytics.visitor.ip || '',\n ip_range_operator: window.pac_analytics.visitor.ipRangeOperator || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n if (window.MOCK_TIGGER_PIN_RESPONSE) {\n return window.MOCK_TIGGER_PIN_RESPONSE;\n }\n return fetch(url).then((x) => x.json());\n};\n\nconst verifyPin = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams,\n uniqid,\n evinaTid,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n pin: string;\n extraParams: IHash;\n uniqid: string;\n evinaTid: string;\n search: string;\n}): Promise<IPINSubmissionResult> => {\n const cleanTrafficString = checkIsCleanTraffic(country);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n // Base parameters object\n const params = {\n action: 'verify-pin',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n pin,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n ClickID: window.antifraud_click_id || '',\n partner_cid: window.partner_cid || '',\n sam_evina_tid: evinaTid,\n uniqid,\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${cleanTrafficString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst mcpShield = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator,\n uniqid\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n operator?: string;\n uniqid?: string;\n}): Promise<IMcpShieldResult> => {\n const pageUrl = window.location.href;\n const ipAdd = window.pac_analytics.visitor.ip;\n\n const params = new URLSearchParams({\n action: 'mcp-shield',\n country,\n slug,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n client_lpu: pageUrl,\n ...(operator && { operator }),\n ...(uniqid && { uniqid })\n });\n\n // Conditionally add client_ip if it exists\n if (ipAdd) {\n params.append('client_ip', ipAdd);\n }\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { triggerPin, verifyPin, mcpShield };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { checkSubscription } from '../../sharedApi/checkSubscription';\nimport {\n IHash,\n IMcpShieldResult,\n IMSISDNSubmissionResult,\n IPINSubmissionResult,\n MultiOperatorMSISDNSubmissionResult,\n SingleMSISDNSubmissionResult\n} from '../../sharedFlowTypes/PinTypes';\nimport { IConfig, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { left, loop, right } from '../../utilities/helpers';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { mcpShield, triggerPin, verifyPin } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult | MultiOperatorMSISDNSubmissionResult> {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return submitMSISDNForMultipleOperators(window, config, internationalMSISDN, config.operators, extraParams);\n }\n return submitMSISDNOnce(window, config, internationalMSISDN, extraParams);\n}\n\nlet uniqidResult = '';\n// eslint-disable-next-line consistent-return\nexport async function loadMcpShield(window: Window, config: IConfig): Promise<IMcpShieldResult> {\n if (config) {\n const { slug, country, device } = config;\n\n const { offer } = window.pac_analytics.visitor;\n const { rockmanId } = window.pac_analytics.visitor;\n\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({ window, country, slug, device, offer, rockmanId });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n return mcpShieldResult;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n}\n\nasync function submitMSISDNOnce(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: IHash\n): Promise<SingleMSISDNSubmissionResult> {\n if (!internationalMSISDN) {\n const submissionError = new Error(`Error in submitMSISDN() trigger-pin action`) as IError & { type: string };\n submissionError.type = 'InvalidMSISDN';\n throw submissionError;\n }\n const newExtraParams = extraParams || {};\n let isSkipValidation = false;\n const searchObj = searchToObject(window) as IStrategyIDentifyUserResult;\n // @ts-ignore\n if ((searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') || window.skip_validation === true) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n if (newExtraParams['skip-validation'] === '1') {\n isSkipValidation = true;\n }\n\n const msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\\d+/gi).join(''); // tallyman API expects international msisdn without any special character\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const uniqid = !!uniqidResult && uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const result: IMSISDNSubmissionResult = await triggerPin({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n rockmanId,\n extraParams: newExtraParams,\n search,\n uniqid,\n evinaTid\n });\n\n if (result.isContentBlocked === true) {\n window.isContentBlocked = true;\n }\n if (result.success === false) {\n // derive a default type from the message\n const defaultType: string | null = result.message.includes('ALREADY SUBSCRIBED')\n ? 'AlreadySubscribed'\n : /invalid/i.test(result.message)\n ? 'InvalidMsisdn'\n : result.message.includes('duplicated_request')\n ? 'DuplicatedRequest'\n : 'UnknownError';\n\n // prefer an explicit error_code mapping when available\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build and annotate the Error\n const error = new Error(`Error in submitMSISDN() trigger-pin action:\\n${result.message}`) as IError & {\n type: string | null;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n message: result.message,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n window.operator = result.operator; // currently used on server for KW_STC if present dont call empello for Shemaroo\n const codesWithMcpShied: { [key: string]: { [key: string]: string } } = {\n kw: {\n kw_viva: 'kw_viva'\n },\n k2: {\n k2_viva: 'k2_viva'\n },\n bh: {\n bh_viva: 'bh_viva'\n }\n };\n if (\n country &&\n result.operator &&\n ((codesWithMcpShied[country.toLowerCase()] &&\n codesWithMcpShied[country.toLowerCase()][result.operator.toLowerCase()]) ||\n country.toLowerCase() === 'iq') &&\n !window.isCallBlockApi &&\n !window.Empello // set on server https://www.notion.so/sammedia/KW-Agency-Shemaroo-STC-integration-1a114991683d4af79eb01a4d96789f30\n ) {\n try {\n const mcpShieldResult: IMcpShieldResult = await mcpShield({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n operator: result.operator,\n uniqid\n });\n if (mcpShieldResult.success === false) {\n console.warn(mcpShieldResult.message);\n } else {\n loadScriptInnerHtml(mcpShieldResult.source);\n uniqidResult = mcpShieldResult.uniqid;\n }\n } catch (err) {\n console.warn(err);\n }\n }\n\n if (result.javascript) {\n loadScriptInnerHtml(result.javascript);\n }\n\n return {\n type: 'SingleMSISDNSubmissionResult',\n pin: result.pin,\n uniqidResult,\n operator: result.operator,\n redirectUrl: result?.redirect_to_url, // For pin redirect empello\n ...(result?.userType ? { userType: result?.userType } : {}) // For Peru user plan if prepaid or postpaid\n };\n }\n}\n\nasync function submitMSISDNForMultipleOperators(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n operators: string[],\n extraParams?: IHash\n): Promise<MultiOperatorMSISDNSubmissionResult> {\n const results = await Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await submitMSISDNOnce(window, config, internationalMSISDN, {\n ...extraParams,\n operator: o\n });\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const alreadySubscribed = results.find((r: any) => r.type === 'left' && r.value?.type === 'AlreadySubscribed');\n\n if (results.every((r) => r.type === 'left')) {\n // no submission worked\n throw results[0].value;\n } else if (alreadySubscribed) {\n throw alreadySubscribed.value;\n } else {\n return {\n type: 'MultiOperatorMSISDNSubmissionResult'\n };\n }\n}\n\nexport async function submitPIN(\n window: Window,\n pin: string,\n config: IConfig,\n extraParams: IHash\n): Promise<{ productUrl?: string; isAlreadySubscribed?: boolean; gatewayRedirectUrl?: string }> {\n if (window.hostCountry && window.hostSlug) {\n config.country = window.hostCountry;\n config.slug = window.hostSlug;\n }\n const { slug, country, device } = config;\n const { offer } = window.pac_analytics.visitor;\n\n const newExtraParams = extraParams || {};\n const searchObj = searchToObject(window) as any;\n if (searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') {\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (!pin) {\n const emptyPinError = new Error(`Error in submitMSISDN() verify-pin action:\\n Pin Cannot Be Empty`) as IError & {\n type: string;\n };\n emptyPinError.type = 'InvalidPIN';\n throw emptyPinError;\n }\n const uniqid = uniqidResult !== '' ? `&mcpUniqid=${uniqidResult}` : '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n const search = window.location.search.substr(1) || '';\n\n const pinResult: IPINSubmissionResult = await verifyPin({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n pin,\n extraParams: newExtraParams,\n uniqid,\n evinaTid,\n search\n });\n if (pinResult.success === false) {\n let errorType: string;\n\n switch (true) {\n case pinResult.message.includes('pin does not match'):\n errorType = 'InvalidPIN';\n break;\n case pinResult.message.includes('mcp blocked'):\n errorType = 'SessionBlocked';\n break;\n case pinResult.message.includes('expired_pin'):\n errorType = 'ExpiredPIN';\n break;\n case pinResult.message.includes('insufficient_balance'):\n errorType = 'InsufficientBalance';\n break;\n case pinResult.message.includes('duplicated_request'):\n errorType = 'DuplicatedRequest';\n break;\n case pinResult.message.includes('ALREADY SUBSCRIBED'):\n errorType = 'AlreadySubscribed';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n const pinError = new Error(`Error in submitMSISDN() verify-pin action:\\n${pinResult.message}`) as IError & {\n type: string;\n };\n pinError.type = errorType;\n console.error(pinError);\n throw pinError;\n } else if (pinResult.async === true) {\n // Needed for ES https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n if (pinResult.product_url && pinResult.product_url !== '' && country?.toLowerCase() === 'es') {\n return { gatewayRedirectUrl: pinResult.product_url };\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n checkSubscription({ window, country, slug, device, offer, rockmanId, extraParams });\n\n const checkResult: ICheckSubscriptionResult = await loop(\n check,\n 100,\n (r) => r.success || r.message === 'invalid_pin',\n 0\n );\n if (checkResult.success === true) {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: checkResult.product_url || null, isAlreadySubscribed };\n }\n const pinError = new Error(`Error in submitMSISDN() verify-pin action:\\n${checkResult.message}`) as IError & {\n type: string;\n };\n pinError.type = 'InvalidPIN';\n\n pinError.message = checkResult.message;\n\n throw pinError;\n } else {\n const isAlreadySubscribed = pinResult.message === 'ALREADY SUBSCRIBED';\n return { productUrl: pinResult.product_url || null, isAlreadySubscribed };\n }\n}\n"],"names":[],"mappings":"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"}
|