@bytexbyte/berifyme-react-sdk 1.0.16 → 1.0.19

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.
Files changed (79) hide show
  1. package/dist/BerifymeModal/index.js +20 -12
  2. package/dist/api/api.js +39 -4
  3. package/dist/components/AllSet/index.js +36 -40
  4. package/dist/components/Login/authid/authid.js +26 -17
  5. package/dist/components/Login/authid/index.js +1 -6
  6. package/dist/components/Login/clearAllSet.js +2 -6
  7. package/dist/components/Login/incode/Login.js +3 -3
  8. package/dist/components/OnBoarding/authId/index.js +29 -15
  9. package/dist/components/OnBoarding/clear/clearAllSet.js +2 -6
  10. package/dist/components/OnBoarding/incode/SelectType.js +7 -3
  11. package/dist/components/OnBoarding/incode/index.js +37 -32
  12. package/dist/components/OnBoarding/vender/grid/authIdGrid.js +1 -1
  13. package/dist/components/OnBoarding/vender/grid/clearGrid.js +1 -1
  14. package/dist/components/OnBoarding/vender/grid/incodeGrid.js +1 -1
  15. package/dist/components/OnBoarding/vender/grid/sumsubGrid.js +1 -1
  16. package/dist/components/OnBoarding/vender/grid/veriffGrid.js +1 -1
  17. package/dist/components/OnBoarding/vender/grid/yotiGrid.js +1 -1
  18. package/dist/components/QrcodeExpired.js +1 -1
  19. package/dist/components/SendSns/index.js +40 -34
  20. package/dist/components/SessionInterrupted.js +1 -1
  21. package/dist/components/SnapMatch/ExceptionView.js +22 -0
  22. package/dist/components/SnapMatch/LangSelector.js +26 -0
  23. package/dist/components/SnapMatch/SnapMatchStep.js +122 -0
  24. package/dist/components/SnapMatch/SuccessView.js +22 -0
  25. package/dist/components/SnapMatch/TryAgainView.js +19 -0
  26. package/dist/components/SnapMatch/index.js +271 -0
  27. package/dist/components/SnapMatch/translations.js +32 -0
  28. package/dist/components/SomethingWrong.js +41 -0
  29. package/dist/components/VerifyWithPhoneNumber/NewUser/index.js +4 -4
  30. package/dist/components/VerifyWithPhoneNumber/User/index.js +13 -10
  31. package/dist/index.js +6 -1
  32. package/dist/types/api/api.d.ts +7 -1
  33. package/dist/types/components/AllSet/index.d.ts +2 -1
  34. package/dist/types/components/Login/authid/authid.d.ts +1 -1
  35. package/dist/types/components/Login/authid/index.d.ts +1 -0
  36. package/dist/types/components/Login/clearAllSet.d.ts +1 -0
  37. package/dist/types/components/OnBoarding/clear/clearAllSet.d.ts +1 -0
  38. package/dist/types/components/OnBoarding/incode/SelectType.d.ts +2 -1
  39. package/dist/types/components/OnBoarding/incode/index.d.ts +2 -0
  40. package/dist/types/components/SnapMatch/ExceptionView.d.ts +11 -0
  41. package/dist/types/components/SnapMatch/LangSelector.d.ts +11 -0
  42. package/dist/types/components/SnapMatch/SnapMatchStep.d.ts +23 -0
  43. package/dist/types/components/SnapMatch/SuccessView.d.ts +11 -0
  44. package/dist/types/components/SnapMatch/TryAgainView.d.ts +11 -0
  45. package/dist/types/components/SnapMatch/index.d.ts +17 -0
  46. package/dist/types/components/SnapMatch/translations.d.ts +54 -0
  47. package/dist/types/components/SomethingWrong.d.ts +7 -0
  48. package/dist/types/index.d.ts +6 -1
  49. package/dist/types/vender/incode/incode.d.ts +6 -2
  50. package/dist/types/vender/incode/translations/en.d.ts +2638 -0
  51. package/dist/types/vender/incode/translations/zh-TW.d.ts +2634 -0
  52. package/dist/vender/incode/incode.js +81 -5
  53. package/dist/vender/incode/translations/en.js +2638 -0
  54. package/dist/vender/incode/translations/zh-TW.js +2634 -0
  55. package/package.json +5 -2
  56. package/dist/components/Login/sumsub/index.js +0 -212
  57. package/dist/components/Login/veriff/Login.js +0 -168
  58. package/dist/components/Login/veriff/index.js +0 -14
  59. package/dist/components/Login/yoti/Login.js +0 -245
  60. package/dist/components/Login/yoti/index.js +0 -14
  61. package/dist/components/OnBoarding/sumsub/index.js +0 -183
  62. package/dist/components/OnBoarding/veriff/index.js +0 -152
  63. package/dist/components/OnBoarding/yoti/OnBoarding.js +0 -238
  64. package/dist/components/OnBoarding/yoti/index.js +0 -14
  65. package/dist/components/TryAgain.js +0 -16
  66. package/dist/components/TryAgainInModal.js +0 -15
  67. package/dist/event.js +0 -18
  68. package/dist/types/components/Login/sumsub/index.d.ts +0 -10
  69. package/dist/types/components/Login/veriff/Login.d.ts +0 -12
  70. package/dist/types/components/Login/veriff/index.d.ts +0 -11
  71. package/dist/types/components/Login/yoti/Login.d.ts +0 -11
  72. package/dist/types/components/Login/yoti/index.d.ts +0 -10
  73. package/dist/types/components/OnBoarding/sumsub/index.d.ts +0 -10
  74. package/dist/types/components/OnBoarding/veriff/index.d.ts +0 -11
  75. package/dist/types/components/OnBoarding/yoti/OnBoarding.d.ts +0 -12
  76. package/dist/types/components/OnBoarding/yoti/index.d.ts +0 -11
  77. package/dist/types/components/TryAgain.d.ts +0 -6
  78. package/dist/types/components/TryAgainInModal.d.ts +0 -6
  79. package/dist/types/event.d.ts +0 -9
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@bytexbyte/berifyme-react-sdk",
3
- "version": "1.0.16",
3
+ "version": "1.0.19",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
7
7
  "scripts": {
8
8
  "test": "echo \"Error: no test specified\" && exit 1",
9
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
9
10
  "build": "tsc && copyfiles -u 1 'src/**/*.{css,svg}' dist",
11
+ "build:clean": "npm run clean && npm run build",
12
+ "build:umd": "webpack",
10
13
  "webpack": "webpack",
11
14
  "esbuild": "node esbuild.config.js",
12
15
  "release": "yarn build && npm publish"
@@ -20,7 +23,7 @@
20
23
  "@emotion/styled": "^11.13.0",
21
24
  "@fontsource/inter": "^5.1.0",
22
25
  "@fontsource/roboto": "^5.0.13",
23
- "@incodetech/welcome": "^1.73.1",
26
+ "@incodetech/welcome": "1.73.1",
24
27
  "@mui/icons-material": "^5.16.5",
25
28
  "@mui/material": "^5.16.5",
26
29
  "@mui/x-data-grid": "^7.8.0",
@@ -1,212 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import SumsubWebSdk from '@sumsub/websdk-react';
38
- import React, { useCallback, useEffect, useState } from 'react';
39
- import berifymeApi from '../../../api/api';
40
- import { delay } from '../../../common';
41
- import { createDeveloperLog } from '../../createDeveloperLog';
42
- import TryAgain from '../../TryAgain';
43
- var OPTIONS = { addViewportTag: false, adaptIframeHeight: true };
44
- var SumsubLogin = function (_a) {
45
- var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token;
46
- var _b = useState(), accessToken = _b[0], setAccessToken = _b[1];
47
- var _c = useState(), externalActionId = _c[0], setExternalActionId = _c[1];
48
- var _d = useState(), error = _d[0], setError = _d[1];
49
- var getAccessToken = useCallback((function (phoneNumber) { return __awaiter(void 0, void 0, void 0, function () {
50
- var accessTokenResponse;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0: return [4 /*yield*/, berifymeApi.sumsub.createAccessToken({ phoneNumber: phoneNumber, levelName: 'face-login' })];
54
- case 1:
55
- accessTokenResponse = _a.sent();
56
- if ('error' in accessTokenResponse) {
57
- console.log('error', accessTokenResponse.error);
58
- createDeveloperLog({
59
- userId: user === null || user === void 0 ? void 0 : user.id,
60
- userDataJson: user,
61
- source: 'FRONTEND',
62
- action: 'sumsub api',
63
- sessionToken: token,
64
- firstDetail: 'createAccessToken',
65
- secondDetail: accessTokenResponse.error,
66
- });
67
- return [2 /*return*/, { token: '' }];
68
- }
69
- return [2 /*return*/, accessTokenResponse];
70
- }
71
- });
72
- }); }), [token, user]);
73
- var initAccessToken = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
74
- var accessToken;
75
- return __generator(this, function (_a) {
76
- switch (_a.label) {
77
- case 0:
78
- if (!user.phoneNumber)
79
- return [2 /*return*/];
80
- if (!user.sumsubId)
81
- return [2 /*return*/];
82
- return [4 /*yield*/, getAccessToken(user.phoneNumber)];
83
- case 1:
84
- accessToken = _a.sent();
85
- setAccessToken(accessToken.token);
86
- setExternalActionId(accessToken.externalActionId);
87
- return [2 /*return*/];
88
- }
89
- });
90
- }); }, [user.phoneNumber, user.sumsubId, getAccessToken]);
91
- var onSumsubLoginSuccess = function () { return __awaiter(void 0, void 0, void 0, function () {
92
- var faceLoginResult, userResponse;
93
- return __generator(this, function (_a) {
94
- switch (_a.label) {
95
- case 0:
96
- if (!user.sumsubId)
97
- return [2 /*return*/];
98
- return [4 /*yield*/, berifymeApi.sumsub.getSumsubFaceLoginResult({ sumsubId: user.sumsubId || '', externalActionId: externalActionId || '' })];
99
- case 1:
100
- faceLoginResult = _a.sent();
101
- if ('error' in faceLoginResult) {
102
- console.error(faceLoginResult.error);
103
- createDeveloperLog({
104
- userId: user === null || user === void 0 ? void 0 : user.id,
105
- userDataJson: user,
106
- source: 'FRONTEND',
107
- action: 'sumsub api',
108
- sessionToken: token,
109
- firstDetail: 'getFaceLoginResult',
110
- secondDetail: faceLoginResult.error,
111
- });
112
- setError('Oops! Something went wrong...');
113
- return [2 /*return*/];
114
- }
115
- if (!faceLoginResult.isVerified) {
116
- console.error('faceLoginResult.isVerified is false');
117
- createDeveloperLog({
118
- userId: user === null || user === void 0 ? void 0 : user.id,
119
- userDataJson: user,
120
- source: 'FRONTEND',
121
- action: 'sumsub api',
122
- sessionToken: token,
123
- firstDetail: 'getFaceLoginResult',
124
- secondDetail: 'isVerified is false',
125
- });
126
- setError('Face verification failed');
127
- return [2 /*return*/];
128
- }
129
- return [4 /*yield*/, berifymeApi.user.getUserBySumsubId({ sumsubId: user.sumsubId })];
130
- case 2:
131
- userResponse = _a.sent();
132
- if ('error' in userResponse) {
133
- console.log('error', userResponse.error);
134
- createDeveloperLog({
135
- userId: user === null || user === void 0 ? void 0 : user.id,
136
- userDataJson: user,
137
- source: 'FRONTEND',
138
- action: 'sumsub api',
139
- sessionToken: token,
140
- firstDetail: 'getUserBySumsubId',
141
- secondDetail: userResponse.error,
142
- });
143
- setError('Oops! Something went wrong...');
144
- return [2 /*return*/];
145
- }
146
- setUser(userResponse.user);
147
- goToAllSet();
148
- return [2 /*return*/];
149
- }
150
- });
151
- }); };
152
- var accessTokenExpirationHandler = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
153
- return __generator(this, function (_a) {
154
- switch (_a.label) {
155
- case 0:
156
- console.log('accessTokenExpirationHandler');
157
- if (!user.phoneNumber)
158
- return [2 /*return*/, ''];
159
- return [4 /*yield*/, getAccessToken(user.phoneNumber)];
160
- case 1: return [2 /*return*/, _a.sent()];
161
- }
162
- });
163
- }); }, [getAccessToken, user.phoneNumber]);
164
- var messageHandler = function (type, payload) { return __awaiter(void 0, void 0, void 0, function () {
165
- var _a;
166
- return __generator(this, function (_b) {
167
- switch (_b.label) {
168
- case 0:
169
- console.log('onMessage', type, payload);
170
- createDeveloperLog({
171
- userId: user === null || user === void 0 ? void 0 : user.id,
172
- userDataJson: user,
173
- source: 'FRONTEND',
174
- action: 'sumsub step',
175
- sessionToken: token,
176
- firstDetail: type,
177
- secondDetail: JSON.stringify(payload),
178
- });
179
- if (!(type === 'idCheck.onApplicantActionCompleted')) return [3 /*break*/, 5];
180
- _a = payload.answer;
181
- switch (_a) {
182
- case 'GREEN': return [3 /*break*/, 1];
183
- case 'RED': return [3 /*break*/, 3];
184
- }
185
- return [3 /*break*/, 4];
186
- case 1: return [4 /*yield*/, delay(1000)];
187
- case 2:
188
- _b.sent();
189
- onSumsubLoginSuccess();
190
- return [3 /*break*/, 5];
191
- case 3:
192
- setError('Face verification failed');
193
- return [3 /*break*/, 5];
194
- case 4:
195
- setError('Oops! Something went wrong...');
196
- _b.label = 5;
197
- case 5: return [2 /*return*/];
198
- }
199
- });
200
- }); };
201
- var errorHandler = function (error) {
202
- console.log('onError', error);
203
- };
204
- useEffect(function () {
205
- initAccessToken();
206
- }, [initAccessToken]);
207
- if (error || !token)
208
- return (React.createElement(TryAgain, { message: error }));
209
- return (React.createElement(React.Fragment, null, accessToken &&
210
- React.createElement(SumsubWebSdk, { accessToken: accessToken, expirationHandler: accessTokenExpirationHandler, options: OPTIONS, onMessage: messageHandler, onError: errorHandler })));
211
- };
212
- export default SumsubLogin;
@@ -1,168 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { Box, CircularProgress } from '@mui/material';
38
- import { createVeriffFrame, MESSAGES } from '@veriff/incontext-sdk';
39
- //@ts-expect-error - Veriff sample code
40
- import { Veriff } from '@veriff/js-sdk';
41
- import React, { useCallback, useEffect, useState } from 'react';
42
- import berifymeApi from '../../../api/api';
43
- import { createDeveloperLog } from '../../createDeveloperLog';
44
- export default function LoginComponent(_a) {
45
- var _this = this;
46
- var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onGoBack = _a.onGoBack, onError = _a.onError, token = _a.token;
47
- var _b = useState(), step = _b[0], setStep = _b[1];
48
- var _c = useState(false), initFinished = _c[0], setInitFinished = _c[1];
49
- var _d = useState(), sessionId = _d[0], setSessionId = _d[1];
50
- var onFinishedVeriff = useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
51
- var faceLoginResult, userResponse;
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- if (!user.veriffId)
56
- return [2 /*return*/];
57
- return [4 /*yield*/, berifymeApi.veriff.getVeriffFaceLoginResult({ sessionId: sessionId || '' })];
58
- case 1:
59
- faceLoginResult = _a.sent();
60
- if ('error' in faceLoginResult) {
61
- console.error(faceLoginResult.error);
62
- createDeveloperLog({
63
- userId: user === null || user === void 0 ? void 0 : user.id,
64
- userDataJson: user,
65
- source: 'FRONTEND',
66
- action: 'veriff api',
67
- sessionToken: token,
68
- firstDetail: 'getFaceLoginResult',
69
- secondDetail: faceLoginResult.error,
70
- });
71
- onError('Oops! Something went wrong...');
72
- return [2 /*return*/];
73
- }
74
- if (!faceLoginResult.isVerified) {
75
- console.error('faceLoginResult.isVerified is false');
76
- createDeveloperLog({
77
- userId: user === null || user === void 0 ? void 0 : user.id,
78
- userDataJson: user,
79
- source: 'FRONTEND',
80
- action: 'veriff api',
81
- sessionToken: token,
82
- firstDetail: 'getFaceLoginResult',
83
- secondDetail: 'isVerified is false',
84
- });
85
- onError('Face verification failed');
86
- return [2 /*return*/];
87
- }
88
- return [4 /*yield*/, berifymeApi.veriff.getUserByVeriffId({ veriffId: user.veriffId })];
89
- case 2:
90
- userResponse = _a.sent();
91
- if ('error' in userResponse) {
92
- console.log('error', userResponse.error);
93
- createDeveloperLog({
94
- userId: user === null || user === void 0 ? void 0 : user.id,
95
- userDataJson: user,
96
- source: 'FRONTEND',
97
- action: 'veriff api',
98
- sessionToken: token,
99
- firstDetail: 'getUserByVeriffId',
100
- secondDetail: userResponse.error,
101
- });
102
- onError('Oops! Something went wrong...');
103
- return [2 /*return*/];
104
- }
105
- setUser(userResponse.user);
106
- onSuccess();
107
- return [2 /*return*/];
108
- }
109
- });
110
- }); }, [user, sessionId, setUser, onSuccess, token, onError]);
111
- var onCancelVeriff = useCallback(function () {
112
- onGoBack();
113
- }, [onGoBack]);
114
- useEffect(function () {
115
- if (!user.phoneNumber)
116
- return;
117
- setInitFinished(false);
118
- var veriff = Veriff({
119
- host: 'https://api.veriff.me',
120
- apiKey: 'ec9ca5ea-d883-4da3-a7e8-843d070d7cd1',
121
- parentId: 'veriff-root',
122
- onSession: function (err, response) {
123
- console.log(err);
124
- setSessionId(response.verification.id);
125
- createVeriffFrame({ url: response.verification.url, onEvent: function (msg) { setStep(msg); } });
126
- }
127
- });
128
- veriff.setParams({
129
- person: {
130
- givenName: ' ',
131
- lastName: ' '
132
- },
133
- vendorData: user.phoneNumber,
134
- });
135
- veriff.mount();
136
- setInitFinished(true);
137
- }, [user.phoneNumber]);
138
- useEffect(function () {
139
- switch (step) {
140
- case MESSAGES.FINISHED:
141
- onFinishedVeriff();
142
- break;
143
- case MESSAGES.CANCELED:
144
- onCancelVeriff();
145
- break;
146
- default:
147
- break;
148
- }
149
- }, [onFinishedVeriff, onCancelVeriff, step]);
150
- useEffect(function () {
151
- var timeoutHandle = setTimeout(function () {
152
- var _a;
153
- if (!initFinished)
154
- return;
155
- (_a = document.getElementById('veriff-submit-btn')) === null || _a === void 0 ? void 0 : _a.click();
156
- }, 100);
157
- return function () { return clearTimeout(timeoutHandle); };
158
- }, [initFinished]);
159
- return (React.createElement(Box, { style: {
160
- display: 'flex',
161
- flexDirection: 'column',
162
- alignItems: 'center',
163
- justifyContent: 'center',
164
- height: '100vh',
165
- } },
166
- React.createElement(CircularProgress, { color: "inherit" }),
167
- React.createElement("div", { id: 'veriff-root', style: { height: 0, opacity: 0 } })));
168
- }
@@ -1,14 +0,0 @@
1
- import React, { useCallback, useState } from 'react';
2
- import TryAgain from '../../TryAgain';
3
- import Login from './Login';
4
- var VeriffLogin = function (_a) {
5
- var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onGoBack = _a.onGoBack, token = _a.token;
6
- var _b = useState(), error = _b[0], setError = _b[1];
7
- var handleError = useCallback(function (error) {
8
- setError(error);
9
- }, []);
10
- if (error || !token)
11
- return (React.createElement(TryAgain, { message: error }));
12
- return (React.createElement(Login, { user: user, setUser: setUser, onSuccess: onSuccess, onGoBack: onGoBack, onError: handleError, token: token }));
13
- };
14
- export default VeriffLogin;
@@ -1,245 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { CircularProgress, Stack, Typography } from '@mui/material';
38
- import React, { useCallback, useEffect, useRef, useState } from 'react';
39
- import berifymeApi from '../../../api/api';
40
- import { delay } from '../../../common';
41
- import { createDeveloperLog } from '../../createDeveloperLog';
42
- var RETRY_INTERVAL = 1000 * 2;
43
- var Login = function (_a) {
44
- var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onError = _a.onError, token = _a.token;
45
- var _b = useState(), session = _b[0], setSession = _b[1];
46
- var _c = useState(), loading = _c[0], setLoading = _c[1];
47
- var sessionRef = useRef();
48
- var handleSuccess = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
49
- var faceLoginResultResponse, userResponse, error_1;
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- createDeveloperLog({
54
- userId: user === null || user === void 0 ? void 0 : user.id,
55
- userDataJson: user,
56
- source: 'FRONTEND',
57
- action: 'yoti step',
58
- sessionToken: token,
59
- firstDetail: 'handleSuccess',
60
- secondDetail: JSON.stringify(sessionRef.current),
61
- });
62
- if (!sessionRef.current)
63
- return [2 /*return*/];
64
- if (!user.yotiId)
65
- return [2 /*return*/];
66
- _a.label = 1;
67
- case 1:
68
- _a.trys.push([1, 10, 11, 12]);
69
- setLoading('We are processing your data');
70
- faceLoginResultResponse = void 0;
71
- _a.label = 2;
72
- case 2: return [4 /*yield*/, berifymeApi.yoti.getYotiFaceLoginResult({ sessionId: sessionRef.current.sessionId })];
73
- case 3:
74
- faceLoginResultResponse = _a.sent();
75
- createDeveloperLog({
76
- userId: user === null || user === void 0 ? void 0 : user.id,
77
- userDataJson: user,
78
- source: 'FRONTEND',
79
- action: 'yoti api',
80
- sessionToken: token,
81
- firstDetail: 'getYotiFaceLoginResult',
82
- secondDetail: JSON.stringify(faceLoginResultResponse),
83
- });
84
- if (!('error' in faceLoginResultResponse)) return [3 /*break*/, 6];
85
- if (!(faceLoginResultResponse.error === 'Session ongoing')) return [3 /*break*/, 5];
86
- return [4 /*yield*/, delay(RETRY_INTERVAL)];
87
- case 4:
88
- _a.sent();
89
- return [3 /*break*/, 7];
90
- case 5:
91
- onError('Oops! Something went wrong. Please try again later.');
92
- return [2 /*return*/];
93
- case 6: return [3 /*break*/, 8];
94
- case 7:
95
- if (true) return [3 /*break*/, 2];
96
- _a.label = 8;
97
- case 8:
98
- if (!faceLoginResultResponse.isVerified) {
99
- console.error('faceLoginResult.isVerified is false');
100
- createDeveloperLog({
101
- userId: user === null || user === void 0 ? void 0 : user.id,
102
- userDataJson: user,
103
- source: 'FRONTEND',
104
- action: 'veriff api',
105
- sessionToken: token,
106
- firstDetail: 'getYotiFaceLoginResult',
107
- secondDetail: 'isVerified is false',
108
- });
109
- onError('Face verification failed');
110
- return [2 /*return*/];
111
- }
112
- return [4 /*yield*/, berifymeApi.user.getUserByYotiId({ yotiId: user.yotiId })];
113
- case 9:
114
- userResponse = _a.sent();
115
- if ('error' in userResponse) {
116
- createDeveloperLog({
117
- userId: user === null || user === void 0 ? void 0 : user.id,
118
- userDataJson: user,
119
- source: 'FRONTEND',
120
- action: 'yoti api',
121
- sessionToken: token,
122
- firstDetail: 'getUserByYotiId',
123
- secondDetail: JSON.stringify(userResponse),
124
- });
125
- onError('Oops! Something went wrong. Please try again later.');
126
- return [2 /*return*/];
127
- }
128
- // cuz secondDetail is too long
129
- createDeveloperLog({
130
- userId: user === null || user === void 0 ? void 0 : user.id,
131
- userDataJson: user,
132
- source: 'FRONTEND',
133
- action: 'yoti api',
134
- sessionToken: token,
135
- firstDetail: 'getUserByYotiId',
136
- secondDetail: JSON.stringify({ yotiId: userResponse.user.yotiId, fullName: userResponse.user.fullName, age: userResponse.user.age, birthDate: userResponse.user.birthDate }),
137
- });
138
- setUser(userResponse.user);
139
- onSuccess();
140
- return [3 /*break*/, 12];
141
- case 10:
142
- error_1 = _a.sent();
143
- onError('Oops! Something went wrong. Please try again later.');
144
- return [3 /*break*/, 12];
145
- case 11:
146
- setLoading(undefined);
147
- return [7 /*endfinally*/];
148
- case 12: return [2 /*return*/];
149
- }
150
- });
151
- }); }, [onError, onSuccess, setUser, token, user]);
152
- var handleError = useCallback(function () {
153
- createDeveloperLog({
154
- userId: user === null || user === void 0 ? void 0 : user.id,
155
- userDataJson: user,
156
- source: 'FRONTEND',
157
- action: 'yoti step',
158
- sessionToken: token,
159
- firstDetail: 'handleError',
160
- secondDetail: JSON.stringify(sessionRef.current),
161
- });
162
- onError('Oops! Something went wrong. Please try again later.');
163
- }, [onError, token, user]);
164
- var initYoti = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
165
- var response, error_2;
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0:
169
- if (!(user === null || user === void 0 ? void 0 : user.yotiId) || !token)
170
- return [2 /*return*/];
171
- _a.label = 1;
172
- case 1:
173
- _a.trys.push([1, 3, 4, 5]);
174
- setLoading('Loading...');
175
- return [4 /*yield*/, berifymeApi.yoti.createYotiFaceLoginSession({ sessionId: user.yotiId })];
176
- case 2:
177
- response = _a.sent();
178
- createDeveloperLog({
179
- userId: user.id,
180
- userDataJson: user,
181
- source: 'FRONTEND',
182
- action: 'yoti api',
183
- sessionToken: token,
184
- firstDetail: 'createYotiSession',
185
- secondDetail: JSON.stringify(response),
186
- });
187
- if ('error' in response) {
188
- onError('Oops! Something went wrong. Please try again later.');
189
- return [2 /*return*/];
190
- }
191
- setSession(response);
192
- return [3 /*break*/, 5];
193
- case 3:
194
- error_2 = _a.sent();
195
- onError('Oops! Something went wrong. Please try again later.');
196
- return [3 /*break*/, 5];
197
- case 4:
198
- setLoading(undefined);
199
- return [7 /*endfinally*/];
200
- case 5: return [2 /*return*/];
201
- }
202
- });
203
- }); }, [onError, token, user]);
204
- var initListener = useCallback(function () {
205
- window.addEventListener('message', function (event) {
206
- createDeveloperLog({
207
- userId: user === null || user === void 0 ? void 0 : user.id,
208
- userDataJson: user,
209
- source: 'FRONTEND',
210
- action: 'yoti event',
211
- sessionToken: token,
212
- firstDetail: 'event.data.eventType',
213
- secondDetail: JSON.stringify(event.data),
214
- });
215
- switch (event.data.eventType) {
216
- case 'SUCCESS':
217
- handleSuccess();
218
- break;
219
- case 'ERROR':
220
- handleError();
221
- break;
222
- default:
223
- break;
224
- }
225
- });
226
- return function () {
227
- window.removeEventListener('message', function () { });
228
- };
229
- }, [user, token, handleSuccess, handleError]);
230
- useEffect(function () {
231
- initYoti();
232
- }, [initYoti]);
233
- useEffect(function () {
234
- initListener();
235
- }, [initListener]);
236
- useEffect(function () {
237
- sessionRef.current = session;
238
- }, [session]);
239
- if (loading)
240
- return (React.createElement(Stack, { justifyContent: 'center', alignItems: 'center', height: '100%', spacing: 2 },
241
- React.createElement(CircularProgress, { color: "inherit" }),
242
- React.createElement(Typography, { color: '#585858' }, loading)));
243
- return (React.createElement(React.Fragment, null, session && (React.createElement("iframe", { src: "https://api.yoti.com/idverify/v1/web/index.html?sessionID=".concat(session.sessionId, "&sessionToken=").concat(session.clientSessionToken), allow: "camera", width: "100%", height: "100%", id: "yoti", frameBorder: "0" }))));
244
- };
245
- export default Login;