@tap-payments/auth-jsconnect 2.10.4-development → 2.10.5-development

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.
@@ -20,7 +20,7 @@ export type CivilID = {
20
20
  export type TerminalCredential = {
21
21
  terminal: {
22
22
  id: string;
23
- terminal_device: {
23
+ terminal_device?: {
24
24
  id: string;
25
25
  };
26
26
  };
@@ -220,6 +220,7 @@ export declare const TERMINAL_STEP_NAMES: {
220
220
  INFO: string;
221
221
  SUCCESS: string;
222
222
  CREATE_AUTH: string;
223
+ CREATE_TERMINAL_AUTH: string;
223
224
  };
224
225
  export declare const RSA_FRONTEND_MW_PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgC9kH1SQvjbXAUXd0PbrDUG8P\nLhRig9pJNBmdQBZjihuaxfkzYu6ToMbIMAfmYgVgQw338/y7aQ8X3m03CXNIlkxo\nOwxKCA8ymKsZQptXJn9IxlPO7yjoFgTFBrpmTgvcC4XO1uoUYTAPq3szK8kj4zgT\nucWG1hSKsOdRU7sl/wIDAQAB\n-----END PUBLIC KEY-----";
225
226
  export declare const ENCRYPTION_FLAG = "encryption_contract";
@@ -1227,7 +1227,8 @@ export var TERMINAL_STEP_NAMES = {
1227
1227
  PHONE_AUTH: 'terminal_phone_auth',
1228
1228
  INFO: 'terminal_info',
1229
1229
  SUCCESS: 'terminal_completed',
1230
- CREATE_AUTH: 'connect_create_auth_terminal'
1230
+ CREATE_AUTH: 'connect_create_auth_terminal',
1231
+ CREATE_TERMINAL_AUTH: 'connect_create_terminal_link'
1231
1232
  };
1232
1233
  export var RSA_FRONTEND_MW_PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCgC9kH1SQvjbXAUXd0PbrDUG8P\nLhRig9pJNBmdQBZjihuaxfkzYu6ToMbIMAfmYgVgQw338/y7aQ8X3m03CXNIlkxo\nOwxKCA8ymKsZQptXJn9IxlPO7yjoFgTFBrpmTgvcC4XO1uoUYTAPq3szK8kj4zgT\nucWG1hSKsOdRU7sl/wIDAQAB\n-----END PUBLIC KEY-----";
1233
1234
  export var ENCRYPTION_FLAG = 'encryption_contract';
@@ -148,22 +148,27 @@ export var verifyTokenOTP = createAsyncThunk('terminal/verifyOtp', function (par
148
148
  });
149
149
  }); });
150
150
  export var linkNewTerminal = createAsyncThunk('terminal/linkNewTerminal', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
151
- var terminal, _a, merchant_id, terminal_id, payload, data;
152
- var _b;
151
+ var _a, terminal, _b, language, businessCountry, scope, terminalId, payload, data;
153
152
  return __generator(this, function (_c) {
154
153
  switch (_c.label) {
155
154
  case 0:
156
- terminal = thunkApi.getState().terminal;
157
- _a = ((_b = terminal.data.responseData) === null || _b === void 0 ? void 0 : _b.authData) || {}, merchant_id = _a.merchant_id, terminal_id = _a.terminal_id;
155
+ _a = thunkApi.getState(), terminal = _a.terminal, _b = _a.settings.data, language = _b.language, businessCountry = _b.businessCountry, scope = _b.appConfig.scope;
156
+ terminalId = (terminal.data.terminalInfo.selectedTerminal || {}).id;
158
157
  payload = {
159
- merchant: {
160
- id: merchant_id,
158
+ user_credentail: {
161
159
  terminal: {
162
- id: terminal_id
160
+ id: terminalId
163
161
  }
164
- }
162
+ },
163
+ country: businessCountry === null || businessCountry === void 0 ? void 0 : businessCountry.iso2,
164
+ scope: scope,
165
+ lang: language,
166
+ is_lead: false,
167
+ sign_in: false,
168
+ step_name: TERMINAL_STEP_NAMES.CREATE_TERMINAL_AUTH,
169
+ encryption_contract: []
165
170
  };
166
- return [4, API.terminalService.generateAuthenticationToLinkNewTerminal(payload)];
171
+ return [4, API.authService.createAuth(payload)];
167
172
  case 1:
168
173
  data = _c.sent();
169
174
  return [2, { data: data, nextScreen: CONNECT_FLOWS.terminal.terminalLinkNew }];
@@ -195,7 +200,7 @@ export var pushNotificationLinkNewTerminal = createAsyncThunk('terminal/pushNoti
195
200
  case 0:
196
201
  terminal = thunkApi.getState().terminal;
197
202
  _b = terminal.data.responseData || {}, linkNewTerminalData = _b.linkNewTerminalData, linkTerminalDeviceData = _b.linkTerminalDeviceData;
198
- id = ((newTerminal ? linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.authentication : linkTerminalDeviceData) || {}).id;
203
+ id = ((newTerminal ? linkNewTerminalData : linkTerminalDeviceData) || {}).id;
199
204
  e = TERMINAL_PUSH_NOTIFICATION_DURATION;
200
205
  interval = 3;
201
206
  maxCalls = Math.floor(e / interval);
@@ -266,13 +271,11 @@ export var unlinkTerminalDevice = createAsyncThunk('terminal/unlinkTerminalDevic
266
271
  });
267
272
  }); });
268
273
  export var linkTerminalDevice = createAsyncThunk('terminal/linkTerminalDevice', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
269
- var _a, _b, selectedTerminal, selectedTerminalDevice, _c, businessCountry, language, scope, terminalId, deviceId, payload, data;
274
+ var _a, _b, terminalId, deviceId, _c, businessCountry, language, scope, payload, data;
270
275
  return __generator(this, function (_d) {
271
276
  switch (_d.label) {
272
277
  case 0:
273
- _a = thunkApi.getState(), _b = _a.terminal.data.terminalInfo, selectedTerminal = _b.selectedTerminal, selectedTerminalDevice = _b.selectedTerminalDevice, _c = _a.settings.data, businessCountry = _c.businessCountry, language = _c.language, scope = _c.appConfig.scope;
274
- terminalId = selectedTerminal === null || selectedTerminal === void 0 ? void 0 : selectedTerminal.id;
275
- deviceId = selectedTerminalDevice.id;
278
+ _a = thunkApi.getState(), _b = _a.terminal.data.terminalInfo, terminalId = _b.selectedTerminal.id, deviceId = _b.selectedTerminalDevice.id, _c = _a.settings.data, businessCountry = _c.businessCountry, language = _c.language, scope = _c.appConfig.scope;
276
279
  payload = {
277
280
  user_credentail: {
278
281
  terminal: {
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
15
  import Box from '@mui/material/Box';
@@ -23,20 +23,20 @@ import { pushNotificationLinkNewTerminal, terminalSelector } from '../../../app/
23
23
  import { CodeDescription, QRCodeImage } from './styles';
24
24
  import { LinkNewTerminalContainer, LinkTerminalText, QRCodeDescription } from '../shared';
25
25
  var LinkNewTerminal = function () {
26
- var _a, _b, _c, _d;
26
+ var _a, _b;
27
27
  var t = useTranslation().t;
28
28
  var dispatch = useAppDispatch();
29
29
  var data = useAppSelector(terminalSelector).data;
30
- var _e = React.useState(false), isReady = _e[0], setIsReady = _e[1];
31
- var _f = React.useState(false), success = _f[0], setSuccess = _f[1];
32
- var _g = React.useState(false), failed = _g[0], setFailed = _g[1];
30
+ var _c = React.useState(false), isReady = _c[0], setIsReady = _c[1];
31
+ var _d = React.useState(false), success = _d[0], setSuccess = _d[1];
32
+ var _e = React.useState(false), failed = _e[0], setFailed = _e[1];
33
33
  var terminalInfo = data.terminalInfo, responseData = data.responseData;
34
- var _h = responseData || {}, terminalData = _h.terminalData, linkNewTerminalData = _h.linkNewTerminalData, terminalList = _h.terminalList;
34
+ var _f = responseData || {}, terminalData = _f.terminalData, linkNewTerminalData = _f.linkNewTerminalData;
35
35
  var terminal_devices = (terminalData || {}).terminal_devices;
36
- var qrCode = (_a = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.authentication) === null || _a === void 0 ? void 0 : _a.qr;
37
- var code = (_b = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.authentication) === null || _b === void 0 ? void 0 : _b.code;
36
+ var qrCode = "data:image/png;base64,".concat(linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.qr);
37
+ var code = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.code;
38
38
  var expiry = TERMINAL_PUSH_NOTIFICATION_DURATION;
39
- var deviceName = ((_d = (_c = terminalInfo.selectedTerminalDevice.model) === null || _c === void 0 ? void 0 : _c.name[0]) === null || _d === void 0 ? void 0 : _d.text) || '';
39
+ var deviceName = ((_b = (_a = terminalInfo.selectedTerminalDevice.model) === null || _a === void 0 ? void 0 : _a.name[0]) === null || _b === void 0 ? void 0 : _b.text) || '';
40
40
  var newTerminal = true;
41
41
  React.useEffect(function () {
42
42
  if (linkNewTerminalData && !isReady) {
@@ -63,6 +63,6 @@ var LinkNewTerminal = function () {
63
63
  var previousScreen = (terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.length) ? CONNECT_FLOWS.terminal.terminalList : CONNECT_FLOWS.terminal.noTerminalLinked;
64
64
  dispatch(handlePrevScreenStep(previousScreen));
65
65
  };
66
- return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: deviceName }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(LinkNewTerminalContainer, { children: [_jsx(LinkTerminalText, { children: t('terminal_link_terminal') }), _jsx(QRCodeDescription, { children: t('terminal_qr_code_description') }), _jsx(QRCodeImage, { src: qrCode }), _jsx(LinkTerminalText, { children: t('terminal_or_use_code') }), _jsx(CodeDescription, { children: code })] }) })), _jsx(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: handleOnBack, variant: 'text' }, { children: t('back') })) }))] })));
66
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: deviceName }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(LinkNewTerminalContainer, { children: [_jsx(LinkTerminalText, { children: t('terminal_link_terminal') }), _jsx(QRCodeDescription, { children: t('terminal_qr_code_description') }), _jsx(QRCodeImage, { src: qrCode }), code && (_jsxs(_Fragment, { children: [_jsx(LinkTerminalText, { children: t('terminal_or_use_code') }), _jsx(CodeDescription, { children: code })] }))] }) })), _jsx(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: handleOnBack, variant: 'text' }, { children: t('back') })) }))] })));
67
67
  };
68
68
  export default React.memo(LinkNewTerminal);
@@ -16,12 +16,13 @@ import { ScreenContainer } from '../../../shared/Containers';
16
16
  import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
17
17
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
18
18
  import Button from '../../../../components/Button';
19
+ import Warning from '../../../../components/Warning';
19
20
  import { linkNewTerminal, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
20
21
  import { Header, Container, TerminalList } from '../shared';
21
22
  var TerminalListPage = function () {
22
23
  var t = useTranslation().t;
23
24
  var dispatch = useAppDispatch();
24
- var _a = useAppSelector(terminalSelector), _b = _a.data, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData, loading = _a.loading;
25
+ var _a = useAppSelector(terminalSelector), _b = _a.data, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData, loading = _a.loading, error = _a.error;
25
26
  var terminalList = (responseData || {}).terminalList;
26
27
  var handleOnSelectTerminal = function (terminal) {
27
28
  dispatch(storeSelectedTerminal(terminal));
@@ -36,6 +37,6 @@ var TerminalListPage = function () {
36
37
  var handleOnBack = function () {
37
38
  dispatch(handlePrevScreenStep());
38
39
  };
39
- return (_jsxs(ScreenContainer, __assign({ minHeight: 200, sx: { pl: 2.5, pr: 2.5 }, justifyContent: 'space-between' }, { children: [_jsxs(Container, { children: [_jsx(Header, { title: 'terminal_select_device', sx: { pb: 0 } }), _jsx(TerminalList, { select: false, loading: loading, selectedTerminal: selectedTerminal, list: terminalList, onClick: handleOnSelectTerminal })] }), _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: t('back') }))] })));
40
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(Header, { title: 'terminal_select_device', sx: { pb: 0 } }), _jsx(TerminalList, { select: false, loading: loading, selectedTerminal: selectedTerminal, list: terminalList, onClick: handleOnSelectTerminal })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Button, __assign({ sx: { ml: 2.5, mr: 2.5, mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: t('back') }))] })));
40
41
  };
41
42
  export default React.memo(TerminalListPage);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.10.4-development",
3
+ "version": "2.10.5-development",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",