@tap-payments/auth-jsconnect 2.13.10-beta → 2.14.0-beta

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 (136) hide show
  1. package/build/@types/app.d.ts +2 -1
  2. package/build/@types/app.js +1 -0
  3. package/build/@types/index.d.ts +1 -0
  4. package/build/@types/index.js +1 -0
  5. package/build/@types/terminal.d.ts +104 -0
  6. package/build/@types/terminal.js +1 -0
  7. package/build/api/auth.d.ts +15 -1
  8. package/build/api/index.d.ts +7 -1
  9. package/build/api/index.js +3 -1
  10. package/build/api/terminal.d.ts +25 -0
  11. package/build/api/terminal.js +55 -0
  12. package/build/app/rootReducer.d.ts +1 -0
  13. package/build/app/rootReducer.js +3 -1
  14. package/build/app/store.d.ts +2 -0
  15. package/build/assets/locales/en.json +0 -1
  16. package/build/components/DeviceCard/DeviceCard.d.ts +19 -0
  17. package/build/components/DeviceCard/DeviceCard.js +102 -0
  18. package/build/components/DeviceCard/index.d.ts +3 -0
  19. package/build/components/DeviceCard/index.js +2 -0
  20. package/build/components/OTPTimer/OTPTimer.d.ts +2 -1
  21. package/build/components/OTPTimer/OTPTimer.js +4 -4
  22. package/build/components/TruncatedTooltipText/TruncatedTooltipText.d.ts +7 -0
  23. package/build/components/TruncatedTooltipText/TruncatedTooltipText.js +33 -0
  24. package/build/components/TruncatedTooltipText/index.d.ts +2 -0
  25. package/build/components/TruncatedTooltipText/index.js +2 -0
  26. package/build/constants/app.d.ts +12 -1
  27. package/build/constants/app.js +133 -0
  28. package/build/constants/flows.d.ts +16 -0
  29. package/build/constants/flows.js +16 -0
  30. package/build/constants/validation.d.ts +1 -0
  31. package/build/constants/validation.js +1 -0
  32. package/build/features/app/terminal/terminalStore.d.ts +110 -0
  33. package/build/features/app/terminal/terminalStore.js +703 -0
  34. package/build/features/featuresScreens.d.ts +1 -0
  35. package/build/features/featuresScreens.js +72 -0
  36. package/build/features/shared/Button/Button.js +1 -1
  37. package/build/features/shared/Button/FlowsButtons.d.ts +1 -0
  38. package/build/features/shared/Button/FlowsButtons.js +2 -2
  39. package/build/features/shared/PushNotification/PushNotification.d.ts +11 -0
  40. package/build/features/shared/PushNotification/PushNotification.js +34 -0
  41. package/build/features/shared/PushNotification/index.d.ts +2 -0
  42. package/build/features/shared/PushNotification/index.js +2 -0
  43. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.d.ts +2 -1
  44. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +5 -4
  45. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  46. package/build/features/shared/SuccessScreen/SuccessScreen.js +2 -2
  47. package/build/features/terminal/Terminal.d.ts +14 -0
  48. package/build/features/terminal/Terminal.js +95 -0
  49. package/build/features/terminal/index.d.ts +1 -0
  50. package/build/features/terminal/index.js +1 -0
  51. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.d.ts +3 -0
  52. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.js +68 -0
  53. package/build/features/terminal/screens/LinkNewTerminal/index.d.ts +2 -0
  54. package/build/features/terminal/screens/LinkNewTerminal/index.js +2 -0
  55. package/build/features/terminal/screens/LinkNewTerminal/styles.d.ts +10 -0
  56. package/build/features/terminal/screens/LinkNewTerminal/styles.js +28 -0
  57. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.d.ts +3 -0
  58. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.js +50 -0
  59. package/build/features/terminal/screens/LinkedSuccess/index.d.ts +2 -0
  60. package/build/features/terminal/screens/LinkedSuccess/index.js +2 -0
  61. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.d.ts +3 -0
  62. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.js +55 -0
  63. package/build/features/terminal/screens/LinkedTerminalInfo/index.d.ts +2 -0
  64. package/build/features/terminal/screens/LinkedTerminalInfo/index.js +2 -0
  65. package/build/features/terminal/screens/Loading/Loading.d.ts +4 -0
  66. package/build/features/terminal/screens/Loading/Loading.js +10 -0
  67. package/build/features/terminal/screens/Loading/index.d.ts +2 -0
  68. package/build/features/terminal/screens/Loading/index.js +2 -0
  69. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.d.ts +3 -0
  70. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +103 -0
  71. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.d.ts +2 -0
  72. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.js +2 -0
  73. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.d.ts +36 -0
  74. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.js +34 -0
  75. package/build/features/terminal/screens/OperatorError/OperatorError.d.ts +5 -0
  76. package/build/features/terminal/screens/OperatorError/OperatorError.js +9 -0
  77. package/build/features/terminal/screens/OperatorError/index.d.ts +2 -0
  78. package/build/features/terminal/screens/OperatorError/index.js +2 -0
  79. package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.d.ts +3 -0
  80. package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.js +50 -0
  81. package/build/features/terminal/screens/POSDeviceListPage/index.d.ts +2 -0
  82. package/build/features/terminal/screens/POSDeviceListPage/index.js +2 -0
  83. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.d.ts +3 -0
  84. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +21 -0
  85. package/build/features/terminal/screens/ResetPasswordSuccess/index.d.ts +2 -0
  86. package/build/features/terminal/screens/ResetPasswordSuccess/index.js +2 -0
  87. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.d.ts +3 -0
  88. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +32 -0
  89. package/build/features/terminal/screens/SuccessWithFlowButtons/index.d.ts +2 -0
  90. package/build/features/terminal/screens/SuccessWithFlowButtons/index.js +2 -0
  91. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.d.ts +9 -0
  92. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.js +20 -0
  93. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.d.ts +3 -0
  94. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +153 -0
  95. package/build/features/terminal/screens/TerminalDeviceList/index.d.ts +2 -0
  96. package/build/features/terminal/screens/TerminalDeviceList/index.js +2 -0
  97. package/build/features/terminal/screens/TerminalDeviceList/styles.d.ts +9 -0
  98. package/build/features/terminal/screens/TerminalDeviceList/styles.js +13 -0
  99. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.d.ts +3 -0
  100. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.js +51 -0
  101. package/build/features/terminal/screens/UnlinkedSuccess/index.d.ts +2 -0
  102. package/build/features/terminal/screens/UnlinkedSuccess/index.js +2 -0
  103. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.d.ts +3 -0
  104. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.js +99 -0
  105. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.d.ts +2 -0
  106. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.js +2 -0
  107. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.d.ts +26 -0
  108. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.js +30 -0
  109. package/build/features/terminal/screens/Verify/OTPInput.d.ts +7 -0
  110. package/build/features/terminal/screens/Verify/OTPInput.js +51 -0
  111. package/build/features/terminal/screens/Verify/Verify.d.ts +5 -0
  112. package/build/features/terminal/screens/Verify/Verify.js +89 -0
  113. package/build/features/terminal/screens/Verify/index.d.ts +2 -0
  114. package/build/features/terminal/screens/Verify/index.js +2 -0
  115. package/build/features/terminal/screens/Verify/validation.d.ts +8 -0
  116. package/build/features/terminal/screens/Verify/validation.js +4 -0
  117. package/build/features/terminal/screens/shared/Header.d.ts +10 -0
  118. package/build/features/terminal/screens/shared/Header.js +30 -0
  119. package/build/features/terminal/screens/shared/POSDeviceList.d.ts +11 -0
  120. package/build/features/terminal/screens/shared/POSDeviceList.js +30 -0
  121. package/build/features/terminal/screens/shared/index.d.ts +5 -0
  122. package/build/features/terminal/screens/shared/index.js +5 -0
  123. package/build/features/terminal/screens/shared/styles.d.ts +196 -0
  124. package/build/features/terminal/screens/shared/styles.js +155 -0
  125. package/build/features/terminal/screens/shared/utils.d.ts +7 -0
  126. package/build/features/terminal/screens/shared/utils.js +24 -0
  127. package/build/hooks/useAppDispatch.d.ts +1 -0
  128. package/build/index.d.ts +3 -2
  129. package/build/index.js +4 -2
  130. package/build/theme/palette.js +12 -0
  131. package/build/theme/typography.js +4 -0
  132. package/build/utils/error.d.ts +1 -0
  133. package/build/utils/error.js +3 -0
  134. package/build/utils/string.d.ts +2 -1
  135. package/build/utils/string.js +11 -2
  136. package/package.json +1 -1
@@ -0,0 +1,703 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var _a;
49
+ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
50
+ import { handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
51
+ import { FlowsTypes } from '../../../@types';
52
+ import { CONNECT_FLOWS, NAFATH_PACI_TIMEOUT_DURATION, SELECTED_POS_DEFAULT_INFO, SELECTED_TERMINAL_DEFAULT_INFO, TERMINAL_PUSH_NOTIFICATION_DURATION, TERMINAL_PUSH_NOTIFICATION_FAILED, TERMINAL_STEP_NAMES } from '../../../constants';
53
+ import API from '../../../api';
54
+ import { isAuthenticationVerificationFailed, isNetworkError, isNoDataFoundError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
55
+ export var verifyToken = createAsyncThunk('terminal/verifyLeadToken', function (_a, thunkApi) {
56
+ var token = _a.token, isInternally = _a.isInternally;
57
+ return __awaiter(void 0, void 0, void 0, function () {
58
+ var payload, data, _b, step_name, merchant_id, config, country_code, publicKey, nextScreen, terminalData, err_1;
59
+ var _c;
60
+ return __generator(this, function (_d) {
61
+ switch (_d.label) {
62
+ case 0:
63
+ payload = __assign({ service_name: 'tap_email', verify_token: token }, (isInternally && {
64
+ notification: {
65
+ sms: false
66
+ }
67
+ }));
68
+ return [4, API.leadService.verifyToken(payload)];
69
+ case 1:
70
+ data = _d.sent();
71
+ _b = data || {}, step_name = _b.step_name, merchant_id = _b.merchant_id, config = _b.config, country_code = _b.country_code;
72
+ if (isInternally)
73
+ data.step_name = TERMINAL_STEP_NAMES.PHONE_AUTH;
74
+ publicKey = config === null || config === void 0 ? void 0 : config.public_key;
75
+ if (publicKey)
76
+ thunkApi.dispatch(handlePublicKey(publicKey));
77
+ if (country_code)
78
+ thunkApi.dispatch(handleSetCountryByIso2(country_code));
79
+ if (step_name === TERMINAL_STEP_NAMES.PHONE_AUTH) {
80
+ return [2, { data: data, token: token, nextScreen: CONNECT_FLOWS.terminal.verify }];
81
+ }
82
+ nextScreen = CONNECT_FLOWS.terminal.terminalDeviceList;
83
+ terminalData = undefined;
84
+ _d.label = 2;
85
+ case 2:
86
+ _d.trys.push([2, 4, , 5]);
87
+ return [4, API.terminalService.retrieveTerminalList([merchant_id])];
88
+ case 3:
89
+ terminalData = _d.sent();
90
+ nextScreen = ((_c = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _c === void 0 ? void 0 : _c.length) ? CONNECT_FLOWS.terminal.terminalDeviceList : CONNECT_FLOWS.terminal.noTerminalLinked;
91
+ return [3, 5];
92
+ case 4:
93
+ err_1 = _d.sent();
94
+ if (!isNoDataFoundError(err_1 === null || err_1 === void 0 ? void 0 : err_1.message))
95
+ throw new Error(err_1);
96
+ nextScreen = CONNECT_FLOWS.terminal.noTerminalLinked;
97
+ return [3, 5];
98
+ case 5: return [2, {
99
+ data: data,
100
+ token: token,
101
+ terminalData: terminalData,
102
+ nextScreen: nextScreen
103
+ }];
104
+ }
105
+ });
106
+ });
107
+ });
108
+ export var resendOTP = createAsyncThunk('terminal/resendOTP', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
109
+ var terminal, payload, data;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ terminal = thunkApi.getState().terminal;
114
+ payload = {
115
+ service_name: 'tap_email',
116
+ verify_token: terminal.data.verify.token
117
+ };
118
+ return [4, API.leadService.verifyToken(payload)];
119
+ case 1:
120
+ data = _a.sent();
121
+ return [2, { data: data }];
122
+ }
123
+ });
124
+ }); });
125
+ export var verifyTokenOTP = createAsyncThunk('terminal/verifyOtp', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
126
+ var _a, terminal, settings, authData, payload, data, _b, config, country_code, merchant_id, publicKey, countryIso2, nextScreen, terminalData, err_2;
127
+ var _c, _d, _e, _f;
128
+ return __generator(this, function (_g) {
129
+ switch (_g.label) {
130
+ case 0:
131
+ _a = thunkApi.getState(), terminal = _a.terminal, settings = _a.settings;
132
+ authData = (terminal.data.responseData || {}).authData;
133
+ payload = {
134
+ data: params.otp,
135
+ service_name: (_c = authData === null || authData === void 0 ? void 0 : authData.verification_by) === null || _c === void 0 ? void 0 : _c.service_name,
136
+ verify_token: authData === null || authData === void 0 ? void 0 : authData.verify_token,
137
+ step_name: TERMINAL_STEP_NAMES.PHONE_AUTH,
138
+ encryption_contract: ['data']
139
+ };
140
+ return [4, API.leadService.verifyTokenOTP(payload)];
141
+ case 1:
142
+ data = _g.sent();
143
+ _b = data || {}, config = _b.config, country_code = _b.country_code, merchant_id = _b.merchant_id;
144
+ publicKey = config === null || config === void 0 ? void 0 : config.public_key;
145
+ countryIso2 = country_code || (authData === null || authData === void 0 ? void 0 : authData.country_code);
146
+ if (publicKey)
147
+ thunkApi.dispatch(handlePublicKey(publicKey));
148
+ if (countryIso2)
149
+ thunkApi.dispatch(handleSetCountryByIso2(countryIso2));
150
+ nextScreen = CONNECT_FLOWS.terminal.terminalDeviceList;
151
+ terminalData = undefined;
152
+ _g.label = 2;
153
+ case 2:
154
+ _g.trys.push([2, 4, , 5]);
155
+ return [4, API.terminalService.retrieveTerminalList([merchant_id])];
156
+ case 3:
157
+ terminalData = _g.sent();
158
+ nextScreen = ((_d = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _d === void 0 ? void 0 : _d.length) ? CONNECT_FLOWS.terminal.terminalDeviceList : CONNECT_FLOWS.terminal.noTerminalLinked;
159
+ return [3, 5];
160
+ case 4:
161
+ err_2 = _g.sent();
162
+ if (!isNoDataFoundError(err_2 === null || err_2 === void 0 ? void 0 : err_2.message))
163
+ throw new Error(err_2);
164
+ nextScreen = CONNECT_FLOWS.terminal.noTerminalLinked;
165
+ return [3, 5];
166
+ case 5:
167
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, { otp: params.otp });
168
+ return [2, { data: data, terminalData: terminalData, formData: params, nextScreen: nextScreen }];
169
+ }
170
+ });
171
+ }); });
172
+ export var linkNewTerminal = createAsyncThunk('terminal/linkNewTerminal', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
173
+ var _a, _b, selectedPOS, responseData, _c, language, businessCountry, scope, authData, payload, data;
174
+ return __generator(this, function (_d) {
175
+ switch (_d.label) {
176
+ case 0:
177
+ _a = thunkApi.getState(), _b = _a.terminal.data, selectedPOS = _b.terminalInfo.selectedPOS, responseData = _b.responseData, _c = _a.settings.data, language = _c.language, businessCountry = _c.businessCountry, scope = _c.appConfig.scope;
178
+ authData = (responseData || {}).authData;
179
+ payload = {
180
+ user_credentail: {
181
+ merchant: {
182
+ id: authData === null || authData === void 0 ? void 0 : authData.merchant_id
183
+ },
184
+ device: { id: selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.id }
185
+ },
186
+ country: businessCountry === null || businessCountry === void 0 ? void 0 : businessCountry.iso2,
187
+ scope: scope,
188
+ lang: language,
189
+ is_lead: false,
190
+ sign_in: false,
191
+ step_name: TERMINAL_STEP_NAMES.CREATE_TERMINAL_AUTH,
192
+ encryption_contract: []
193
+ };
194
+ return [4, API.authService.createAuth(payload)];
195
+ case 1:
196
+ data = _d.sent();
197
+ return [2, { data: data, nextScreen: CONNECT_FLOWS.terminal.terminalLinkNew }];
198
+ }
199
+ });
200
+ }); });
201
+ export var retrievePOSDevices = createAsyncThunk('terminal/retrievePOSDevices', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
202
+ var terminal, merchant_id, data;
203
+ var _a;
204
+ return __generator(this, function (_b) {
205
+ switch (_b.label) {
206
+ case 0:
207
+ terminal = thunkApi.getState().terminal;
208
+ merchant_id = (((_a = terminal.data.responseData) === null || _a === void 0 ? void 0 : _a.authData) || {}).merchant_id;
209
+ return [4, API.terminalService.retrievePOSDevices([merchant_id])];
210
+ case 1:
211
+ data = _b.sent();
212
+ return [2, { data: data }];
213
+ }
214
+ });
215
+ }); });
216
+ export var pushNotificationLinkNewTerminal = createAsyncThunk('terminal/pushNotificationLinkNewTerminal', function (_a, thunkApi) {
217
+ var newTerminal = _a.newTerminal, onSuccess = _a.onSuccess, onFailure = _a.onFailure;
218
+ return __awaiter(void 0, void 0, void 0, function () {
219
+ var terminal, _b, linkNewTerminalData, linkTerminalDeviceData, id, e, interval, maxCalls, count, data, error_1, isSuccess, isFailed, nextScreen;
220
+ var _c, _d;
221
+ return __generator(this, function (_e) {
222
+ switch (_e.label) {
223
+ case 0:
224
+ terminal = thunkApi.getState().terminal;
225
+ _b = terminal.data.responseData || {}, linkNewTerminalData = _b.linkNewTerminalData, linkTerminalDeviceData = _b.linkTerminalDeviceData;
226
+ id = ((newTerminal ? linkNewTerminalData : linkTerminalDeviceData) || {}).id;
227
+ e = TERMINAL_PUSH_NOTIFICATION_DURATION;
228
+ interval = 3;
229
+ maxCalls = Math.floor(e / interval);
230
+ count = 1;
231
+ _e.label = 1;
232
+ case 1:
233
+ if (!(count <= maxCalls)) return [3, 8];
234
+ if (thunkApi.signal.aborted) {
235
+ return [3, 8];
236
+ }
237
+ data = undefined;
238
+ _e.label = 2;
239
+ case 2:
240
+ _e.trys.push([2, 4, , 5]);
241
+ return [4, API.authService.getVerifyAuth(id, { timeout: NAFATH_PACI_TIMEOUT_DURATION })];
242
+ case 3:
243
+ data = _e.sent();
244
+ return [3, 5];
245
+ case 4:
246
+ error_1 = _e.sent();
247
+ if (!isNetworkError(error_1.message) && !isTimeoutError(error_1.message)) {
248
+ throw new Error(error_1);
249
+ }
250
+ return [3, 5];
251
+ case 5:
252
+ isSuccess = ((_c = data === null || data === void 0 ? void 0 : data.status) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === 'success';
253
+ isFailed = ((_d = data === null || data === void 0 ? void 0 : data.status) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === 'failed';
254
+ if (isFailed) {
255
+ onFailure === null || onFailure === void 0 ? void 0 : onFailure();
256
+ return [2, { data: data }];
257
+ }
258
+ if (isSuccess) {
259
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
260
+ nextScreen = CONNECT_FLOWS.terminal.terminalLinkedSuccess;
261
+ return [2, { data: data, nextScreen: nextScreen, linkNewTerminalData: linkNewTerminalData }];
262
+ }
263
+ return [4, sleep(interval * 1000)];
264
+ case 6:
265
+ _e.sent();
266
+ _e.label = 7;
267
+ case 7:
268
+ count++;
269
+ return [3, 1];
270
+ case 8: throw new Error(TERMINAL_PUSH_NOTIFICATION_FAILED);
271
+ }
272
+ });
273
+ });
274
+ });
275
+ export var unlinkTerminalDevice = createAsyncThunk('terminal/unlinkTerminalDevice', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
276
+ var _a, id, device, payload, data;
277
+ return __generator(this, function (_b) {
278
+ switch (_b.label) {
279
+ case 0:
280
+ _a = thunkApi.getState().terminal.data.terminalInfo.selectedTerminal, id = _a.id, device = _a.device;
281
+ payload = {
282
+ deviceId: id,
283
+ initiator: 'connect',
284
+ device: {
285
+ id: (device === null || device === void 0 ? void 0 : device.id) || ''
286
+ }
287
+ };
288
+ return [4, API.terminalService.unlinkTerminalDevice(payload)];
289
+ case 1:
290
+ data = _b.sent();
291
+ return [2, { data: data, nextScreen: CONNECT_FLOWS.terminal.terminalUnlinkedSuccess }];
292
+ }
293
+ });
294
+ }); });
295
+ export var linkTerminalDevice = createAsyncThunk('terminal/linkTerminalDevice', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
296
+ var _a, _b, posId, _c, id, terminal_device, _d, businessCountry, language, scope, payload, data;
297
+ return __generator(this, function (_e) {
298
+ switch (_e.label) {
299
+ case 0:
300
+ _a = thunkApi.getState(), _b = _a.terminal.data.terminalInfo, posId = _b.selectedPOS.id, _c = _b.selectedTerminal, id = _c.id, terminal_device = _c.terminal_device, _d = _a.settings.data, businessCountry = _d.businessCountry, language = _d.language, scope = _d.appConfig.scope;
301
+ payload = {
302
+ user_credentail: {
303
+ terminal: {
304
+ id: id,
305
+ terminal_device: {
306
+ id: terminal_device.id
307
+ }
308
+ },
309
+ device: {
310
+ id: posId
311
+ }
312
+ },
313
+ country: businessCountry === null || businessCountry === void 0 ? void 0 : businessCountry.iso2,
314
+ scope: scope,
315
+ lang: language,
316
+ is_lead: false,
317
+ sign_in: false,
318
+ step_name: TERMINAL_STEP_NAMES.CREATE_AUTH,
319
+ encryption_contract: []
320
+ };
321
+ return [4, API.authService.createAuth(payload)];
322
+ case 1:
323
+ data = _e.sent();
324
+ return [2, { data: data }];
325
+ }
326
+ });
327
+ }); });
328
+ export var retrieveBoardDetails = createAsyncThunk('terminal/retrieveBoardDetails', function (_a) {
329
+ var boardId = _a.boardId, id = _a.individualId, type = _a.individualType;
330
+ return __awaiter(void 0, void 0, void 0, function () {
331
+ var data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
332
+ var _c, _d, _e, _f;
333
+ return __generator(this, function (_g) {
334
+ switch (_g.label) {
335
+ case 0: return [4, API.boardService.retrieveBoardDetails(boardId)];
336
+ case 1:
337
+ data = _g.sent();
338
+ individualData = data === null || data === void 0 ? void 0 : data.user;
339
+ boardData = data;
340
+ if (!(((_c = data === null || data === void 0 ? void 0 : data.user) === null || _c === void 0 ? void 0 : _c.id) !== id && id && type)) return [3, 3];
341
+ serviceCallBack = function () { return API.individualService.retrieveIndividual(id, type); };
342
+ return [4, retrieveIndividualData(type, data, serviceCallBack)];
343
+ case 2:
344
+ _b = _g.sent(), boardRes = _b.boardRes, individualRes = _b.individualRes;
345
+ individualData = individualRes;
346
+ boardData = boardRes;
347
+ _g.label = 3;
348
+ case 3: return [2, __assign(__assign({}, boardData), { brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand, bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account, entity: boardData === null || boardData === void 0 ? void 0 : boardData.entity, merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant, name: (_d = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _d === void 0 ? void 0 : _d.names, vatID: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.entity) === null || _e === void 0 ? void 0 : _e.vat_id, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_f = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _f === void 0 ? void 0 : _f.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
349
+ }
350
+ });
351
+ });
352
+ });
353
+ export var retrieveBoardStatus = createAsyncThunk('terminal/retrieveBoardStatus', function (_a) {
354
+ var boardId = _a.boardId;
355
+ return __awaiter(void 0, void 0, void 0, function () {
356
+ var data;
357
+ return __generator(this, function (_b) {
358
+ switch (_b.label) {
359
+ case 0:
360
+ if (!boardId)
361
+ throw new Error('Internal server error');
362
+ return [4, API.boardService.retrieveBoardInfoStatus(boardId)];
363
+ case 1:
364
+ data = _b.sent();
365
+ return [2, { flows: (data === null || data === void 0 ? void 0 : data.info) || [] }];
366
+ }
367
+ });
368
+ });
369
+ });
370
+ export var retrieveTerminalList = createAsyncThunk('terminal/retrieveTerminalList', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
371
+ var terminal, merchant_id, data;
372
+ var _a;
373
+ return __generator(this, function (_b) {
374
+ switch (_b.label) {
375
+ case 0:
376
+ terminal = thunkApi.getState().terminal;
377
+ merchant_id = (((_a = terminal.data.responseData) === null || _a === void 0 ? void 0 : _a.authData) || {}).merchant_id;
378
+ return [4, API.terminalService.retrieveTerminalList([merchant_id])];
379
+ case 1:
380
+ data = _b.sent();
381
+ return [2, { data: data }];
382
+ }
383
+ });
384
+ }); });
385
+ export var updateDeviceLinkedSuccess = createAsyncThunk('terminal/updateDeviceLinkedSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
386
+ var _a, settings, terminal, _b, showBoard, mode, _c, id, board_info_id, payload, data;
387
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m;
388
+ return __generator(this, function (_o) {
389
+ switch (_o.label) {
390
+ case 0:
391
+ _a = thunkApi.getState(), settings = _a.settings, terminal = _a.terminal;
392
+ _b = settings.data.appConfig, showBoard = _b.showBoard, mode = _b.mode;
393
+ _c = ((_d = terminal.data.responseData) === null || _d === void 0 ? void 0 : _d.boardData) || {}, id = _c.id, board_info_id = _c.board_info_id;
394
+ if (!id)
395
+ return [2, { data: undefined, nextScreen: '' }];
396
+ payload = {
397
+ lang: settings.data.language,
398
+ step_name: TERMINAL_STEP_NAMES.SUCCESS
399
+ };
400
+ return [4, API.boardService.updateBoardInfo(__assign({ id: id, infoId: board_info_id }, payload))];
401
+ case 1:
402
+ data = _o.sent();
403
+ if (!showBoard && mode === 'content') {
404
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, {});
405
+ (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
406
+ return [2, { data: data, nextScreen: '' }];
407
+ }
408
+ (_k = (_j = settings.data.appConfig).onStepCompleted) === null || _k === void 0 ? void 0 : _k.call(_j, settings.data.activeScreen.name, {});
409
+ (_m = (_l = settings.data.appConfig).onFlowCompleted) === null || _m === void 0 ? void 0 : _m.call(_l, { data: data });
410
+ return [2, { data: data, nextScreen: CONNECT_FLOWS.terminal.board }];
411
+ }
412
+ });
413
+ }); });
414
+ export var updateDeviceUnlinkedSuccess = createAsyncThunk('terminal/updateDeviceUnlinkedSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
415
+ var _a, settings, terminal, _b, showBoard, mode, _c, id, board_info_id, payload, data;
416
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m;
417
+ return __generator(this, function (_o) {
418
+ switch (_o.label) {
419
+ case 0:
420
+ _a = thunkApi.getState(), settings = _a.settings, terminal = _a.terminal;
421
+ _b = settings.data.appConfig, showBoard = _b.showBoard, mode = _b.mode;
422
+ _c = ((_d = terminal.data.responseData) === null || _d === void 0 ? void 0 : _d.boardData) || {}, id = _c.id, board_info_id = _c.board_info_id;
423
+ if (!id)
424
+ return [2, { data: undefined, nextScreen: '' }];
425
+ payload = {
426
+ lang: settings.data.language,
427
+ step_name: 'bank_success'
428
+ };
429
+ return [4, API.boardService.updateBoardInfo(__assign({ id: id, infoId: board_info_id }, payload))];
430
+ case 1:
431
+ data = _o.sent();
432
+ if (!showBoard && mode === 'content') {
433
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, {});
434
+ (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
435
+ return [2, { data: data, nextScreen: '' }];
436
+ }
437
+ (_k = (_j = settings.data.appConfig).onStepCompleted) === null || _k === void 0 ? void 0 : _k.call(_j, settings.data.activeScreen.name, {});
438
+ (_m = (_l = settings.data.appConfig).onFlowCompleted) === null || _m === void 0 ? void 0 : _m.call(_l, { data: data });
439
+ return [2, { data: data, nextScreen: CONNECT_FLOWS.terminal.board }];
440
+ }
441
+ });
442
+ }); });
443
+ export var onCloseCompleteTerminal = createAsyncThunk('terminal/onCloseCompleteTerminal', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
444
+ var terminal, _a, merchant, brand, entity;
445
+ var _b;
446
+ return __generator(this, function (_c) {
447
+ switch (_c.label) {
448
+ case 0:
449
+ terminal = thunkApi.getState().terminal;
450
+ _a = ((_b = terminal.data.responseData) === null || _b === void 0 ? void 0 : _b.boardData) || {}, merchant = _a.merchant, brand = _a.brand, entity = _a.entity;
451
+ return [4, thunkApi.dispatch(onCloseComplete({ merchantId: merchant === null || merchant === void 0 ? void 0 : merchant.id, brandId: brand === null || brand === void 0 ? void 0 : brand.id, entityId: entity === null || entity === void 0 ? void 0 : entity.id }))];
452
+ case 1:
453
+ _c.sent();
454
+ return [2];
455
+ }
456
+ });
457
+ }); });
458
+ var initialState = {
459
+ error: null,
460
+ loading: false,
461
+ customLoading: false,
462
+ posDevicesLoading: false,
463
+ data: {
464
+ flowName: FlowsTypes.TERMINAL,
465
+ verify: {
466
+ token: ''
467
+ },
468
+ otpData: {
469
+ otp: ''
470
+ },
471
+ terminalInfo: {
472
+ selectedTerminal: SELECTED_TERMINAL_DEFAULT_INFO,
473
+ selectedPOS: SELECTED_POS_DEFAULT_INFO
474
+ }
475
+ }
476
+ };
477
+ export var terminalSlice = createSlice({
478
+ name: 'terminal/store',
479
+ initialState: initialState,
480
+ reducers: {
481
+ clearError: function (state) {
482
+ state.error = null;
483
+ },
484
+ setError: function (state, action) {
485
+ state.error = action.payload;
486
+ },
487
+ stopLoader: function (state) {
488
+ state.loading = false;
489
+ },
490
+ resetOTPScreen: function (state) {
491
+ state.data.otpData.otp = '';
492
+ },
493
+ storeSelectedTerminal: function (state, action) {
494
+ state.data.terminalInfo.selectedTerminal = action.payload;
495
+ },
496
+ storeSelectedPOS: function (state, action) {
497
+ state.data.terminalInfo.selectedPOS = action.payload;
498
+ },
499
+ resetTerminalLinkResponse: function (state) {
500
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { linkTerminalDeviceData: undefined, pushNotificationLinkedNewTerminalData: undefined, linkNewTerminalData: undefined });
501
+ }
502
+ },
503
+ extraReducers: function (builder) {
504
+ builder
505
+ .addCase(verifyToken.pending, function (state) {
506
+ state.error = null;
507
+ state.customLoading = true;
508
+ })
509
+ .addCase(verifyToken.fulfilled, function (state, action) {
510
+ state.error = null;
511
+ state.customLoading = false;
512
+ var _a = action.payload || {}, data = _a.data, token = _a.token, terminalData = _a.terminalData;
513
+ state.data.responseData = { authData: data, boardData: { id: data === null || data === void 0 ? void 0 : data.id, board_info_id: data === null || data === void 0 ? void 0 : data.board_info_id }, terminalData: terminalData };
514
+ state.data.verify.token = token;
515
+ })
516
+ .addCase(verifyToken.rejected, function (state, action) {
517
+ state.error = action.error.message;
518
+ state.customLoading = false;
519
+ })
520
+ .addCase(resendOTP.pending, function (state) {
521
+ state.error = null;
522
+ })
523
+ .addCase(resendOTP.fulfilled, function (state, action) {
524
+ state.error = null;
525
+ var data = action.payload.data;
526
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: data, boardData: { id: data === null || data === void 0 ? void 0 : data.id, board_info_id: data === null || data === void 0 ? void 0 : data.board_info_id } });
527
+ })
528
+ .addCase(resendOTP.rejected, function (state, action) {
529
+ state.error = action.error.message;
530
+ })
531
+ .addCase(verifyTokenOTP.pending, function (state) {
532
+ state.loading = true;
533
+ state.error = null;
534
+ })
535
+ .addCase(verifyTokenOTP.fulfilled, function (state, action) {
536
+ state.loading = false;
537
+ state.error = null;
538
+ var _a = action.payload, data = _a.data, formData = _a.formData, terminalData = _a.terminalData;
539
+ state.data.otpData = formData;
540
+ state.data.responseData = { authData: data, boardData: { id: data === null || data === void 0 ? void 0 : data.id, board_info_id: data === null || data === void 0 ? void 0 : data.board_info_id }, terminalData: terminalData };
541
+ })
542
+ .addCase(verifyTokenOTP.rejected, function (state, _a) {
543
+ var message = _a.error.message;
544
+ state.loading = false;
545
+ if (!isAuthenticationVerificationFailed(message))
546
+ state.error = message;
547
+ })
548
+ .addCase(linkNewTerminal.pending, function (state) {
549
+ state.loading = true;
550
+ state.error = null;
551
+ })
552
+ .addCase(linkNewTerminal.fulfilled, function (state, action) {
553
+ state.loading = false;
554
+ state.error = null;
555
+ var data = action.payload.data;
556
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { linkNewTerminalData: data });
557
+ })
558
+ .addCase(linkNewTerminal.rejected, function (state, action) {
559
+ state.loading = false;
560
+ state.error = action.error.message;
561
+ })
562
+ .addCase(retrievePOSDevices.fulfilled, function (state, action) {
563
+ var _a, _b;
564
+ state.posDevicesLoading = false;
565
+ state.error = null;
566
+ var data = action.payload.data;
567
+ if ((_a = data === null || data === void 0 ? void 0 : data.list) === null || _a === void 0 ? void 0 : _a.length)
568
+ state.data.terminalInfo.selectedPOS = data.list[0];
569
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { posDevices: (_b = data === null || data === void 0 ? void 0 : data.list) !== null && _b !== void 0 ? _b : [] });
570
+ })
571
+ .addCase(retrievePOSDevices.rejected, function (state, action) {
572
+ state.posDevicesLoading = false;
573
+ state.error = action.error.message;
574
+ })
575
+ .addCase(retrievePOSDevices.pending, function (state) {
576
+ state.posDevicesLoading = true;
577
+ state.error = null;
578
+ })
579
+ .addCase(retrieveTerminalList.pending, function (state) {
580
+ state.error = null;
581
+ })
582
+ .addCase(retrieveTerminalList.fulfilled, function (state, action) {
583
+ state.error = null;
584
+ var data = action.payload.data;
585
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { terminalData: data });
586
+ })
587
+ .addCase(retrieveTerminalList.rejected, function (state, action) {
588
+ state.error = action.error.message;
589
+ })
590
+ .addCase(pushNotificationLinkNewTerminal.pending, function (state) {
591
+ state.error = null;
592
+ })
593
+ .addCase(pushNotificationLinkNewTerminal.fulfilled, function (state, action) {
594
+ state.error = null;
595
+ var data = action.payload.data;
596
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { pushNotificationLinkedNewTerminalData: data });
597
+ })
598
+ .addCase(pushNotificationLinkNewTerminal.rejected, function (state, action) {
599
+ var error = action.error.message;
600
+ if (error !== 'Aborted') {
601
+ state.error = error;
602
+ }
603
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { pushNotificationLinkedNewTerminalData: undefined });
604
+ })
605
+ .addCase(unlinkTerminalDevice.pending, function (state) {
606
+ state.loading = true;
607
+ state.error = null;
608
+ })
609
+ .addCase(unlinkTerminalDevice.fulfilled, function (state, action) {
610
+ state.loading = false;
611
+ state.error = null;
612
+ var data = action.payload.data;
613
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { unlinkTerminalDeviceData: data });
614
+ })
615
+ .addCase(unlinkTerminalDevice.rejected, function (state, action) {
616
+ state.loading = false;
617
+ state.error = action.error.message;
618
+ })
619
+ .addCase(linkTerminalDevice.pending, function (state) {
620
+ state.error = null;
621
+ })
622
+ .addCase(linkTerminalDevice.fulfilled, function (state, action) {
623
+ state.error = null;
624
+ var data = action.payload.data;
625
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { pushNotificationLinkedNewTerminalData: data, linkTerminalDeviceData: data });
626
+ })
627
+ .addCase(linkTerminalDevice.rejected, function (state, action) {
628
+ state.error = action.error.message;
629
+ })
630
+ .addCase(retrieveBoardDetails.pending, function (state) {
631
+ state.loading = true;
632
+ state.error = null;
633
+ })
634
+ .addCase(retrieveBoardDetails.fulfilled, function (state, action) {
635
+ var _a;
636
+ state.loading = false;
637
+ state.error = null;
638
+ var boardData = __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.boardData), action.payload);
639
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { boardData: boardData });
640
+ })
641
+ .addCase(retrieveBoardDetails.rejected, function (state, action) {
642
+ state.loading = false;
643
+ state.error = action.error.message;
644
+ })
645
+ .addCase(retrieveBoardStatus.pending, function (state) {
646
+ state.loading = true;
647
+ state.error = null;
648
+ })
649
+ .addCase(retrieveBoardStatus.fulfilled, function (state, action) {
650
+ state.loading = false;
651
+ state.error = null;
652
+ var flows = action.payload.flows;
653
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { boardFlows: flows });
654
+ })
655
+ .addCase(retrieveBoardStatus.rejected, function (state, action) {
656
+ state.loading = false;
657
+ state.error = action.error.message;
658
+ })
659
+ .addCase(updateDeviceLinkedSuccess.pending, function (state) {
660
+ state.loading = true;
661
+ state.error = null;
662
+ })
663
+ .addCase(updateDeviceLinkedSuccess.fulfilled, function (state, action) {
664
+ state.loading = false;
665
+ state.error = null;
666
+ var data = action.payload.data;
667
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { boardInfoData: data });
668
+ })
669
+ .addCase(updateDeviceLinkedSuccess.rejected, function (state, action) {
670
+ state.loading = false;
671
+ state.error = action.error.message;
672
+ })
673
+ .addCase(updateDeviceUnlinkedSuccess.pending, function (state) {
674
+ state.loading = true;
675
+ state.error = null;
676
+ })
677
+ .addCase(updateDeviceUnlinkedSuccess.fulfilled, function (state, action) {
678
+ state.loading = false;
679
+ state.error = null;
680
+ var data = action.payload.data;
681
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { boardInfoData: data });
682
+ })
683
+ .addCase(updateDeviceUnlinkedSuccess.rejected, function (state, action) {
684
+ state.loading = false;
685
+ state.error = action.error.message;
686
+ })
687
+ .addCase(onCloseCompleteTerminal.pending, function (state) {
688
+ state.loading = true;
689
+ state.error = null;
690
+ })
691
+ .addCase(onCloseCompleteTerminal.fulfilled, function (state) {
692
+ state.loading = false;
693
+ state.error = null;
694
+ })
695
+ .addCase(onCloseCompleteTerminal.rejected, function (state, action) {
696
+ state.loading = false;
697
+ state.error = action.error.message;
698
+ });
699
+ }
700
+ });
701
+ export var clearError = (_a = terminalSlice.actions, _a.clearError), setError = _a.setError, stopLoader = _a.stopLoader, resetOTPScreen = _a.resetOTPScreen, storeSelectedTerminal = _a.storeSelectedTerminal, storeSelectedPOS = _a.storeSelectedPOS, resetTerminalLinkResponse = _a.resetTerminalLinkResponse;
702
+ export default terminalSlice.reducer;
703
+ export var terminalSelector = function (state) { return state.terminal; };