idmission-web-sdk 2.1.52 → 2.1.54
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/components/submission/SubmissionProvider.d.ts +11 -6
- package/dist/sdk2.cjs.development.js +118 -64
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +118 -64
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +118 -64
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -64,6 +64,11 @@ export type SubmissionState = {
|
|
|
64
64
|
retryLocationAccess: () => void;
|
|
65
65
|
};
|
|
66
66
|
export declare const SubmissionContext: React.Context<SubmissionState>;
|
|
67
|
+
export type OnSubmit = (payload: SubmissionRequest) => void;
|
|
68
|
+
export type OnBeforeSubmit = (req: SubmissionRequest) => Promise<SubmissionRequest>;
|
|
69
|
+
export type OnBeforeLivenessCheck = (req: LivenessCheckRequest) => Promise<LivenessCheckRequest>;
|
|
70
|
+
export type OnResponseReceived = (res: SubmissionResponse, req: SubmissionRequest) => void;
|
|
71
|
+
export type OnRequestFailure = (err: Error) => void;
|
|
67
72
|
export type SubmissionProviderProps = {
|
|
68
73
|
action: SubmissionAction;
|
|
69
74
|
children: ReactElement;
|
|
@@ -96,16 +101,16 @@ export type SubmissionProviderProps = {
|
|
|
96
101
|
precapturedDocuments?: CapturedDocuments;
|
|
97
102
|
documentServiceUrl?: string;
|
|
98
103
|
sendBase64DocumentsInSwaggerProxy?: boolean;
|
|
99
|
-
onSubmit?:
|
|
100
|
-
onBeforeSubmit?:
|
|
101
|
-
onBeforeLivenessCheck?:
|
|
104
|
+
onSubmit?: OnSubmit;
|
|
105
|
+
onBeforeSubmit?: OnBeforeSubmit;
|
|
106
|
+
onBeforeLivenessCheck?: OnBeforeLivenessCheck;
|
|
102
107
|
onBeforeDocumentUpload?: OnBeforeDocumentUpload;
|
|
103
108
|
onDocumentUploadProgress?: OnDocumentUploadProgress;
|
|
104
109
|
onDocumentUploaded?: OnDocumentUploaded;
|
|
105
110
|
onDocumentUploadFailed?: OnDocumentUploadFailed;
|
|
106
|
-
onResponseReceived?:
|
|
107
|
-
onRequestFailure?:
|
|
111
|
+
onResponseReceived?: OnResponseReceived;
|
|
112
|
+
onRequestFailure?: OnRequestFailure;
|
|
108
113
|
readTextPrompt?: string;
|
|
109
114
|
clientRequestID?: string;
|
|
110
115
|
};
|
|
111
|
-
export declare const SubmissionProvider: ({ action, children, submissionUrl, environment, companyId, enrollmentId, personalData, cardData, idData, bypassAgeValidation, bypassNameMatching, needImmediateResponse, manualReviewRequired, idBackImageRequired, idImageResolutionCheck, verifyIdWithExternalDatabases, deduplicationEnabled, deduplicationSynchronous, idCardForFaceMatch, geolocationEnabled, geolocationRequired, webhooksEnabled, webhooksClientTraceId, webhooksStripSpecialCharacters, webhooksSendInputImages, webhooksSendProcessedImages, webhooksFireOnReview, customerDataMatchConfig, precapturedDocuments, documentServiceUrl, sendBase64DocumentsInSwaggerProxy, onSubmit, onBeforeSubmit, onBeforeLivenessCheck, onBeforeDocumentUpload, onDocumentUploadProgress, onDocumentUploaded, onDocumentUploadFailed, onResponseReceived, onRequestFailure, clientRequestID, }: SubmissionProviderProps) => ReactElement;
|
|
116
|
+
export declare const SubmissionProvider: ({ action, children, submissionUrl, environment, companyId, enrollmentId, personalData, cardData, idData, bypassAgeValidation, bypassNameMatching, needImmediateResponse, manualReviewRequired, idBackImageRequired, idImageResolutionCheck, verifyIdWithExternalDatabases, deduplicationEnabled, deduplicationSynchronous, idCardForFaceMatch, geolocationEnabled, geolocationRequired, webhooksEnabled, webhooksClientTraceId, webhooksStripSpecialCharacters, webhooksSendInputImages, webhooksSendProcessedImages, webhooksFireOnReview, customerDataMatchConfig, precapturedDocuments, documentServiceUrl, sendBase64DocumentsInSwaggerProxy, onSubmit: userSuppliedOnSubmit, onBeforeSubmit: userSuppliedOnBeforeSubmit, onBeforeLivenessCheck: userSuppliedOnBeforeLivenessCheck, onBeforeDocumentUpload: userSuppliedOnBeforeDocumentUpload, onDocumentUploadProgress: userSuppliedOnDocumentUploadProgress, onDocumentUploaded: userSuppliedOnDocumentUploaded, onDocumentUploadFailed: userSuppliedOnDocumentUploadFailed, onResponseReceived: userSuppliedOnResponseReceived, onRequestFailure: userSuppliedOnRequestFailure, clientRequestID, }: SubmissionProviderProps) => ReactElement;
|
|
@@ -234,7 +234,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
234
234
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
235
235
|
};
|
|
236
236
|
|
|
237
|
-
var webSdkVersion = '2.1.
|
|
237
|
+
var webSdkVersion = '2.1.54';
|
|
238
238
|
|
|
239
239
|
function getPlatform() {
|
|
240
240
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -1168,15 +1168,15 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1168
1168
|
documentServiceUrl = _v === void 0 ? defaultDocumentServiceUrl : _v,
|
|
1169
1169
|
_w = _a.sendBase64DocumentsInSwaggerProxy,
|
|
1170
1170
|
sendBase64DocumentsInSwaggerProxy = _w === void 0 ? false : _w,
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1171
|
+
userSuppliedOnSubmit = _a.onSubmit,
|
|
1172
|
+
userSuppliedOnBeforeSubmit = _a.onBeforeSubmit,
|
|
1173
|
+
userSuppliedOnBeforeLivenessCheck = _a.onBeforeLivenessCheck,
|
|
1174
|
+
userSuppliedOnBeforeDocumentUpload = _a.onBeforeDocumentUpload,
|
|
1175
|
+
userSuppliedOnDocumentUploadProgress = _a.onDocumentUploadProgress,
|
|
1176
|
+
userSuppliedOnDocumentUploaded = _a.onDocumentUploaded,
|
|
1177
|
+
userSuppliedOnDocumentUploadFailed = _a.onDocumentUploadFailed,
|
|
1178
|
+
userSuppliedOnResponseReceived = _a.onResponseReceived,
|
|
1179
|
+
userSuppliedOnRequestFailure = _a.onRequestFailure,
|
|
1180
1180
|
clientRequestID = _a.clientRequestID;
|
|
1181
1181
|
var sessionId = useAuthContext()[0].sessionId;
|
|
1182
1182
|
var _x = React.useState(SubmissionStatus.READY),
|
|
@@ -1274,20 +1274,57 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1274
1274
|
setSelfieImage(dataUrlToBase64Sync(precapturedDocuments.selfie.imageData));
|
|
1275
1275
|
}
|
|
1276
1276
|
}, [precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie]);
|
|
1277
|
+
var onSubmit = React.useRef();
|
|
1278
|
+
React.useEffect(function () {
|
|
1279
|
+
onSubmit.current = userSuppliedOnSubmit;
|
|
1280
|
+
}, [userSuppliedOnSubmit]);
|
|
1281
|
+
var onBeforeSubmit = React.useRef();
|
|
1282
|
+
React.useEffect(function () {
|
|
1283
|
+
onBeforeSubmit.current = userSuppliedOnBeforeSubmit;
|
|
1284
|
+
}, [userSuppliedOnBeforeSubmit]);
|
|
1285
|
+
var onBeforeLivenessCheck = React.useRef();
|
|
1286
|
+
React.useEffect(function () {
|
|
1287
|
+
onBeforeLivenessCheck.current = userSuppliedOnBeforeLivenessCheck;
|
|
1288
|
+
}, [userSuppliedOnBeforeLivenessCheck]);
|
|
1289
|
+
var onResponseReceived = React.useRef();
|
|
1290
|
+
React.useEffect(function () {
|
|
1291
|
+
onResponseReceived.current = userSuppliedOnResponseReceived;
|
|
1292
|
+
}, [userSuppliedOnResponseReceived]);
|
|
1293
|
+
var onRequestFailure = React.useRef();
|
|
1294
|
+
React.useEffect(function () {
|
|
1295
|
+
onRequestFailure.current = userSuppliedOnRequestFailure;
|
|
1296
|
+
}, [userSuppliedOnRequestFailure]);
|
|
1297
|
+
var onBeforeDocumentUpload = React.useRef();
|
|
1298
|
+
React.useEffect(function () {
|
|
1299
|
+
onBeforeDocumentUpload.current = userSuppliedOnBeforeDocumentUpload;
|
|
1300
|
+
}, [userSuppliedOnBeforeDocumentUpload]);
|
|
1301
|
+
var onDocumentUploadProgress = React.useRef();
|
|
1302
|
+
React.useEffect(function () {
|
|
1303
|
+
onDocumentUploadProgress.current = userSuppliedOnDocumentUploadProgress;
|
|
1304
|
+
}, [userSuppliedOnDocumentUploadProgress]);
|
|
1305
|
+
var onDocumentUploaded = React.useRef();
|
|
1306
|
+
React.useEffect(function () {
|
|
1307
|
+
onDocumentUploaded.current = userSuppliedOnDocumentUploaded;
|
|
1308
|
+
}, [userSuppliedOnDocumentUploaded]);
|
|
1309
|
+
var onDocumentUploadFailed = React.useRef();
|
|
1310
|
+
React.useEffect(function () {
|
|
1311
|
+
onDocumentUploadFailed.current = userSuppliedOnDocumentUploadFailed;
|
|
1312
|
+
}, [userSuppliedOnDocumentUploadFailed]);
|
|
1277
1313
|
var uploadDocument = React.useCallback(function (src, metadata) {
|
|
1278
1314
|
return new Promise(function (resolve, reject) {
|
|
1279
1315
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1280
1316
|
var blob, _a, upload;
|
|
1281
|
-
|
|
1282
|
-
|
|
1317
|
+
var _b;
|
|
1318
|
+
return __generator(this, function (_c) {
|
|
1319
|
+
switch (_c.label) {
|
|
1283
1320
|
case 0:
|
|
1284
1321
|
blob = typeof src === 'string' ? convertBase64ToBlob(src) : src;
|
|
1285
|
-
_a = onBeforeDocumentUpload;
|
|
1322
|
+
_a = onBeforeDocumentUpload.current;
|
|
1286
1323
|
if (!_a) return [3 /*break*/, 2];
|
|
1287
|
-
return [4 /*yield*/, onBeforeDocumentUpload === null ||
|
|
1324
|
+
return [4 /*yield*/, (_b = onBeforeDocumentUpload.current) === null || _b === void 0 ? void 0 : _b.call(onBeforeDocumentUpload, blob, metadata)];
|
|
1288
1325
|
case 1:
|
|
1289
|
-
_a =
|
|
1290
|
-
|
|
1326
|
+
_a = _c.sent() === false;
|
|
1327
|
+
_c.label = 2;
|
|
1291
1328
|
case 2:
|
|
1292
1329
|
if (_a) return [2 /*return*/, resolve(blobToB64(blob))];
|
|
1293
1330
|
upload = createUpload(blob, {
|
|
@@ -1300,7 +1337,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1300
1337
|
filetype: blob.type
|
|
1301
1338
|
},
|
|
1302
1339
|
onProgress: function onProgress(bytesUploaded, bytesTotal) {
|
|
1303
|
-
|
|
1340
|
+
var _a;
|
|
1341
|
+
(_a = onDocumentUploadProgress.current) === null || _a === void 0 ? void 0 : _a.call(onDocumentUploadProgress, {
|
|
1304
1342
|
bytesUploaded: bytesUploaded,
|
|
1305
1343
|
bytesTotal: bytesTotal,
|
|
1306
1344
|
percentage: (bytesUploaded / bytesTotal * 100).toFixed(2) + '%',
|
|
@@ -1308,14 +1346,15 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1308
1346
|
});
|
|
1309
1347
|
},
|
|
1310
1348
|
onSuccess: function onSuccess() {
|
|
1311
|
-
var _a;
|
|
1349
|
+
var _a, _b;
|
|
1312
1350
|
var documentId = 'urn:documentsv1:' + ((_a = upload.url.split('/files/').pop()) === null || _a === void 0 ? void 0 : _a.split('+').shift());
|
|
1313
|
-
onDocumentUploaded === null ||
|
|
1351
|
+
(_b = onDocumentUploaded.current) === null || _b === void 0 ? void 0 : _b.call(onDocumentUploaded, documentId, metadata);
|
|
1314
1352
|
resolve(documentId);
|
|
1315
1353
|
},
|
|
1316
1354
|
onError: function onError(error) {
|
|
1355
|
+
var _a;
|
|
1317
1356
|
log('Failed because: ' + error);
|
|
1318
|
-
onDocumentUploadFailed === null ||
|
|
1357
|
+
(_a = onDocumentUploadFailed.current) === null || _a === void 0 ? void 0 : _a.call(onDocumentUploadFailed, error, metadata);
|
|
1319
1358
|
reject(error);
|
|
1320
1359
|
}
|
|
1321
1360
|
});
|
|
@@ -1333,7 +1372,7 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1333
1372
|
});
|
|
1334
1373
|
});
|
|
1335
1374
|
});
|
|
1336
|
-
}, [
|
|
1375
|
+
}, [documentServiceUrl, sessionId]);
|
|
1337
1376
|
var buildSubmissionPayload = React.useCallback(function () {
|
|
1338
1377
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1339
1378
|
function uploadIfPossible(src_1, filename_1) {
|
|
@@ -1529,8 +1568,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1529
1568
|
idBackCaptureAttempts: idBackCaptureAttempts,
|
|
1530
1569
|
geolocationResult: geolocationResult
|
|
1531
1570
|
});
|
|
1532
|
-
if (!onBeforeSubmit) return [3 /*break*/, 10];
|
|
1533
|
-
return [4 /*yield*/, onBeforeSubmit(submissionRequest)];
|
|
1571
|
+
if (!onBeforeSubmit.current) return [3 /*break*/, 10];
|
|
1572
|
+
return [4 /*yield*/, onBeforeSubmit.current(submissionRequest)];
|
|
1534
1573
|
case 9:
|
|
1535
1574
|
onBeforeSubmitResult = _h.sent();
|
|
1536
1575
|
if (onBeforeSubmitResult) submissionRequest = onBeforeSubmitResult;
|
|
@@ -1540,13 +1579,13 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1540
1579
|
}
|
|
1541
1580
|
});
|
|
1542
1581
|
});
|
|
1543
|
-
}, [additionalDocuments, bypassAgeValidation, bypassNameMatching, cardData, clientRequestID, companyId, customerDataMatchConfig, deduplicationEnabled, deduplicationSynchronous, documentServiceUrl, enrollmentId, expectedAudioText, geolocationResult, idBackCaptureAttempts, idBackImage, idBackImageRequired, idCaptureVideoAudioStartsAt, idCaptureVideoAudioUrl, idCaptureVideoIdBackImage, idCaptureVideoIdFrontImage, idCaptureVideoUrl, idData, idFrontCaptureAttempts, idFrontImage, idImageResolutionCheck, manualReviewRequired, needImmediateResponse,
|
|
1582
|
+
}, [additionalDocuments, bypassAgeValidation, bypassNameMatching, cardData, clientRequestID, companyId, customerDataMatchConfig, deduplicationEnabled, deduplicationSynchronous, documentServiceUrl, enrollmentId, expectedAudioText, geolocationResult, idBackCaptureAttempts, idBackImage, idBackImageRequired, idCaptureVideoAudioStartsAt, idCaptureVideoAudioUrl, idCaptureVideoIdBackImage, idCaptureVideoIdFrontImage, idCaptureVideoUrl, idData, idFrontCaptureAttempts, idFrontImage, idImageResolutionCheck, manualReviewRequired, needImmediateResponse, passportImage, personalData, selfieCaptureAttempts, selfieImage, signatureData, signatureVideoUrl, uploadDocument, verifyIdWithExternalDatabases, webhooksClientTraceId, webhooksEnabled, webhooksFireOnReview, webhooksSendInputImages, webhooksSendProcessedImages, webhooksStripSpecialCharacters]);
|
|
1544
1583
|
var defaultOnSubmit = React.useCallback(function () {
|
|
1545
1584
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1546
1585
|
var submissionResponse_1, payload, host, endpoint, response, statusMessage, submissionResponse_2, e_1, err;
|
|
1547
|
-
var _a;
|
|
1548
|
-
return __generator(this, function (
|
|
1549
|
-
switch (
|
|
1586
|
+
var _a, _b, _c;
|
|
1587
|
+
return __generator(this, function (_d) {
|
|
1588
|
+
switch (_d.label) {
|
|
1550
1589
|
case 0:
|
|
1551
1590
|
if (action === SubmissionAction.NONE) {
|
|
1552
1591
|
submissionResponse_1 = {
|
|
@@ -1560,12 +1599,12 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1560
1599
|
return [2 /*return*/, submissionResponse_1];
|
|
1561
1600
|
}
|
|
1562
1601
|
setSubmissionStatus(SubmissionStatus.SUBMITTING);
|
|
1563
|
-
|
|
1602
|
+
_d.label = 1;
|
|
1564
1603
|
case 1:
|
|
1565
|
-
|
|
1604
|
+
_d.trys.push([1, 7,, 8]);
|
|
1566
1605
|
return [4 /*yield*/, buildSubmissionPayload()];
|
|
1567
1606
|
case 2:
|
|
1568
|
-
payload =
|
|
1607
|
+
payload = _d.sent();
|
|
1569
1608
|
host = submissionUrl || determineSubmissionHost(environment);
|
|
1570
1609
|
endpoint = determineSubmissionEndpoint(action, !!(idFrontImage || idBackImage || passportImage), !!selfieImage);
|
|
1571
1610
|
return [4 /*yield*/, fetch(host + endpoint, {
|
|
@@ -1576,11 +1615,11 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1576
1615
|
throw new NetworkError(e.message);
|
|
1577
1616
|
})];
|
|
1578
1617
|
case 3:
|
|
1579
|
-
response =
|
|
1618
|
+
response = _d.sent();
|
|
1580
1619
|
if (!(!response || !response.ok)) return [3 /*break*/, 5];
|
|
1581
1620
|
return [4 /*yield*/, response === null || response === void 0 ? void 0 : response.text()];
|
|
1582
1621
|
case 4:
|
|
1583
|
-
statusMessage =
|
|
1622
|
+
statusMessage = _d.sent();
|
|
1584
1623
|
if (!statusMessage || statusMessage === 'Load failed') throw new NetworkError(statusMessage);
|
|
1585
1624
|
throw new SubmissionError({
|
|
1586
1625
|
statusCode: (_a = response === null || response === void 0 ? void 0 : response.statusText) !== null && _a !== void 0 ? _a : '???',
|
|
@@ -1589,17 +1628,17 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1589
1628
|
case 5:
|
|
1590
1629
|
return [4 /*yield*/, response.json()];
|
|
1591
1630
|
case 6:
|
|
1592
|
-
submissionResponse_2 =
|
|
1631
|
+
submissionResponse_2 = _d.sent();
|
|
1593
1632
|
if (submissionResponse_2.status.statusCode !== '000') {
|
|
1594
1633
|
throw new SubmissionError(submissionResponse_2.status);
|
|
1595
1634
|
}
|
|
1596
1635
|
setSubmissionRequest(payload);
|
|
1597
1636
|
setSubmissionResponse(submissionResponse_2);
|
|
1598
1637
|
setSubmissionStatus(SubmissionStatus.SUBMITTED);
|
|
1599
|
-
onResponseReceived === null ||
|
|
1638
|
+
(_b = onResponseReceived.current) === null || _b === void 0 ? void 0 : _b.call(onResponseReceived, submissionResponse_2, payload);
|
|
1600
1639
|
return [2 /*return*/, submissionResponse_2];
|
|
1601
1640
|
case 7:
|
|
1602
|
-
e_1 =
|
|
1641
|
+
e_1 = _d.sent();
|
|
1603
1642
|
err = e_1;
|
|
1604
1643
|
setSubmissionStatus(SubmissionStatus.FAILED);
|
|
1605
1644
|
setSubmissionError(e_1 instanceof SubmissionError || e_1 instanceof NetworkError ? e_1 : err.message === 'Load failed' ? new NetworkError() : new SubmissionError({
|
|
@@ -1611,41 +1650,40 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1611
1650
|
return null;
|
|
1612
1651
|
} : defaultOnSubmit;
|
|
1613
1652
|
});
|
|
1614
|
-
onRequestFailure === null ||
|
|
1653
|
+
(_c = onRequestFailure.current) === null || _c === void 0 ? void 0 : _c.call(onRequestFailure, err);
|
|
1615
1654
|
throw err;
|
|
1616
1655
|
case 8:
|
|
1617
1656
|
return [2 /*return*/];
|
|
1618
1657
|
}
|
|
1619
1658
|
});
|
|
1620
1659
|
});
|
|
1621
|
-
}, [action, buildSubmissionPayload, submissionUrl, environment, idFrontImage, idBackImage, passportImage, selfieImage, sessionId, sendBase64DocumentsInSwaggerProxy
|
|
1660
|
+
}, [action, buildSubmissionPayload, submissionUrl, environment, idFrontImage, idBackImage, passportImage, selfieImage, sessionId, sendBase64DocumentsInSwaggerProxy]);
|
|
1622
1661
|
var submit = React.useCallback(function () {
|
|
1623
1662
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1624
|
-
var _a;
|
|
1625
|
-
return __generator(this, function (
|
|
1626
|
-
switch (
|
|
1663
|
+
var _a, _b;
|
|
1664
|
+
return __generator(this, function (_c) {
|
|
1665
|
+
switch (_c.label) {
|
|
1627
1666
|
case 0:
|
|
1628
|
-
if (!onSubmit) return [3 /*break*/, 2];
|
|
1629
|
-
_a = onSubmit;
|
|
1667
|
+
if (!onSubmit.current) return [3 /*break*/, 2];
|
|
1668
|
+
_b = (_a = onSubmit).current;
|
|
1630
1669
|
return [4 /*yield*/, buildSubmissionPayload()];
|
|
1631
1670
|
case 1:
|
|
1632
|
-
return [2 /*return*/,
|
|
1671
|
+
return [2 /*return*/, _b.apply(_a, [_c.sent()])];
|
|
1633
1672
|
case 2:
|
|
1634
1673
|
return [4 /*yield*/, defaultOnSubmit()];
|
|
1635
1674
|
case 3:
|
|
1636
|
-
return [2 /*return*/,
|
|
1675
|
+
return [2 /*return*/, _c.sent()];
|
|
1637
1676
|
}
|
|
1638
1677
|
});
|
|
1639
1678
|
});
|
|
1640
|
-
}, [buildSubmissionPayload, defaultOnSubmit
|
|
1641
|
-
var
|
|
1679
|
+
}, [buildSubmissionPayload, defaultOnSubmit]);
|
|
1680
|
+
var buildLivenessCheckPayload = React.useCallback(function (imageDataUrl) {
|
|
1642
1681
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1643
|
-
var request, onBeforeLivenessCheckResult
|
|
1682
|
+
var request, onBeforeLivenessCheckResult;
|
|
1644
1683
|
var _a, _b, _c;
|
|
1645
1684
|
return __generator(this, function (_d) {
|
|
1646
1685
|
switch (_d.label) {
|
|
1647
1686
|
case 0:
|
|
1648
|
-
_d.trys.push([0, 8,, 9]);
|
|
1649
1687
|
_a = {
|
|
1650
1688
|
securityData: {
|
|
1651
1689
|
userName: '',
|
|
@@ -1681,14 +1719,30 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1681
1719
|
idBackCaptureAttempts: idBackCaptureAttempts,
|
|
1682
1720
|
geolocationResult: geolocationResult
|
|
1683
1721
|
});
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
return [4 /*yield*/, onBeforeLivenessCheck(request)];
|
|
1722
|
+
if (!onBeforeLivenessCheck.current) return [3 /*break*/, 3];
|
|
1723
|
+
return [4 /*yield*/, onBeforeLivenessCheck.current(request)];
|
|
1687
1724
|
case 2:
|
|
1688
1725
|
onBeforeLivenessCheckResult = _d.sent();
|
|
1689
1726
|
if (onBeforeLivenessCheckResult) request = onBeforeLivenessCheckResult;
|
|
1690
1727
|
_d.label = 3;
|
|
1691
1728
|
case 3:
|
|
1729
|
+
setLivenessCheckRequest(request);
|
|
1730
|
+
return [2 /*return*/, request];
|
|
1731
|
+
}
|
|
1732
|
+
});
|
|
1733
|
+
});
|
|
1734
|
+
}, [clientRequestID, geolocationResult, idBackCaptureAttempts, idCardForFaceMatch, idFrontCaptureAttempts, selfieCaptureAttempts, webhooksStripSpecialCharacters]);
|
|
1735
|
+
var checkLiveness = React.useCallback(function (imageDataUrl) {
|
|
1736
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
1737
|
+
var request, host, endpoint, response, statusMessage, submissionResponse_3, e_2, err;
|
|
1738
|
+
var _a;
|
|
1739
|
+
return __generator(this, function (_b) {
|
|
1740
|
+
switch (_b.label) {
|
|
1741
|
+
case 0:
|
|
1742
|
+
_b.trys.push([0, 6,, 7]);
|
|
1743
|
+
return [4 /*yield*/, buildLivenessCheckPayload(imageDataUrl)];
|
|
1744
|
+
case 1:
|
|
1745
|
+
request = _b.sent();
|
|
1692
1746
|
host = submissionUrl || determineSubmissionHost(environment);
|
|
1693
1747
|
endpoint = liveCheckEndpoint(!!idCardForFaceMatch);
|
|
1694
1748
|
return [4 /*yield*/, fetch(host + endpoint, {
|
|
@@ -1698,28 +1752,28 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1698
1752
|
})["catch"](function (e) {
|
|
1699
1753
|
throw new NetworkError(e.message);
|
|
1700
1754
|
})];
|
|
1701
|
-
case
|
|
1702
|
-
response =
|
|
1703
|
-
if (!!response.ok) return [3 /*break*/,
|
|
1755
|
+
case 2:
|
|
1756
|
+
response = _b.sent();
|
|
1757
|
+
if (!!response.ok) return [3 /*break*/, 4];
|
|
1704
1758
|
return [4 /*yield*/, response.text()];
|
|
1705
|
-
case
|
|
1706
|
-
statusMessage =
|
|
1759
|
+
case 3:
|
|
1760
|
+
statusMessage = _b.sent();
|
|
1707
1761
|
if (!statusMessage || statusMessage === 'Load failed') throw new NetworkError(statusMessage);
|
|
1708
1762
|
throw new SubmissionError({
|
|
1709
1763
|
statusCode: response.statusText,
|
|
1710
1764
|
statusMessage: statusMessage
|
|
1711
1765
|
});
|
|
1712
|
-
case
|
|
1766
|
+
case 4:
|
|
1713
1767
|
return [4 /*yield*/, response.json()];
|
|
1714
|
-
case
|
|
1715
|
-
submissionResponse_3 =
|
|
1768
|
+
case 5:
|
|
1769
|
+
submissionResponse_3 = _b.sent();
|
|
1716
1770
|
if (submissionResponse_3.status.statusCode !== '000') {
|
|
1717
1771
|
throw new SubmissionError(submissionResponse_3.status);
|
|
1718
1772
|
}
|
|
1719
1773
|
setSubmissionResponse(submissionResponse_3);
|
|
1720
1774
|
return [2 /*return*/, submissionResponse_3];
|
|
1721
|
-
case
|
|
1722
|
-
e_2 =
|
|
1775
|
+
case 6:
|
|
1776
|
+
e_2 = _b.sent();
|
|
1723
1777
|
err = e_2;
|
|
1724
1778
|
setSubmissionStatus(SubmissionStatus.FAILED);
|
|
1725
1779
|
setSubmissionError(e_2 instanceof SubmissionError || e_2 instanceof NetworkError ? e_2 : err.message === 'Load failed' ? new NetworkError() : new SubmissionError({
|
|
@@ -1732,14 +1786,14 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1732
1786
|
return null;
|
|
1733
1787
|
};
|
|
1734
1788
|
});
|
|
1735
|
-
onRequestFailure === null ||
|
|
1789
|
+
(_a = onRequestFailure.current) === null || _a === void 0 ? void 0 : _a.call(onRequestFailure, err);
|
|
1736
1790
|
throw err;
|
|
1737
|
-
case
|
|
1791
|
+
case 7:
|
|
1738
1792
|
return [2 /*return*/];
|
|
1739
1793
|
}
|
|
1740
1794
|
});
|
|
1741
1795
|
});
|
|
1742
|
-
}, [
|
|
1796
|
+
}, [buildLivenessCheckPayload, submissionUrl, environment, idCardForFaceMatch, sessionId, sendBase64DocumentsInSwaggerProxy]);
|
|
1743
1797
|
var retryLocationAccess = React.useCallback(function () {
|
|
1744
1798
|
setGeolocationAttempts(function (n) {
|
|
1745
1799
|
return n + 1;
|