@tap-payments/auth-jsconnect 2.5.5 → 2.5.6

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 (92) hide show
  1. package/build/@types/app.d.ts +5 -1
  2. package/build/@types/redux.d.ts +1 -0
  3. package/build/api/data.d.ts +4 -17
  4. package/build/api/data.js +5 -45
  5. package/build/api/entity.d.ts +3 -2
  6. package/build/api/entity.js +12 -4
  7. package/build/api/index.d.ts +5 -21
  8. package/build/components/Providers/ThemeProvider.js +1 -1
  9. package/build/constants/api.d.ts +2 -7
  10. package/build/constants/api.js +5 -15
  11. package/build/constants/app.js +7 -1
  12. package/build/features/app/auth/authStore.js +24 -21
  13. package/build/features/app/bank/bankStore.d.ts +13 -19
  14. package/build/features/app/bank/bankStore.js +183 -165
  15. package/build/features/app/board/boardStore.js +16 -10
  16. package/build/features/app/brand/brandStore.d.ts +17 -31
  17. package/build/features/app/brand/brandStore.js +250 -261
  18. package/build/features/app/business/businessStore.js +16 -16
  19. package/build/features/app/connect/connectStore.js +7 -7
  20. package/build/features/app/connectExpress/connectExpressStore.d.ts +5 -1
  21. package/build/features/app/connectExpress/connectExpressStore.js +64 -27
  22. package/build/features/app/entity/entityStore.d.ts +20 -34
  23. package/build/features/app/entity/entityStore.js +204 -249
  24. package/build/features/app/individual/individualStore.d.ts +17 -36
  25. package/build/features/app/individual/individualStore.js +228 -270
  26. package/build/features/app/password/passwordStore.d.ts +21 -25
  27. package/build/features/app/password/passwordStore.js +203 -220
  28. package/build/features/app/tax/taxStore.d.ts +13 -7
  29. package/build/features/app/tax/taxStore.js +168 -147
  30. package/build/features/auth/Auth.d.ts +0 -2
  31. package/build/features/auth/Auth.js +7 -7
  32. package/build/features/auth/screens/AuthSwitch/AuthSwitch.js +1 -1
  33. package/build/features/bank/Bank.js +5 -3
  34. package/build/features/bank/screens/BankDetails/BankDetails.js +17 -4
  35. package/build/features/board/Board.d.ts +2 -0
  36. package/build/features/board/Board.js +13 -7
  37. package/build/features/board/screens/PrepareDataLoading/PrepareDataLoading.d.ts +4 -0
  38. package/build/features/board/screens/PrepareDataLoading/PrepareDataLoading.js +10 -0
  39. package/build/features/board/screens/PrepareDataLoading/index.d.ts +2 -0
  40. package/build/features/board/screens/PrepareDataLoading/index.js +2 -0
  41. package/build/features/board/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +12 -2
  42. package/build/features/brand/Brand.js +5 -3
  43. package/build/features/brand/screens/BrandActivities/ActivitiesList.d.ts +2 -2
  44. package/build/features/brand/screens/BrandActivities/BrandActivities.js +48 -11
  45. package/build/features/brand/screens/BrandActivities/CustomerBase.d.ts +3 -3
  46. package/build/features/brand/screens/BrandActivities/RefundPolicy.d.ts +2 -2
  47. package/build/features/brand/screens/BrandInfo/BrandInfo.js +22 -4
  48. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.js +22 -6
  49. package/build/features/business/Business.js +5 -3
  50. package/build/features/business/screens/Activities/Activities.js +9 -1
  51. package/build/features/business/screens/Activities/ActivitiesList.d.ts +2 -2
  52. package/build/features/business/screens/Activities/OperationStartDate.d.ts +1 -1
  53. package/build/features/business/screens/BrandDetails/SalesChannel.d.ts +1 -1
  54. package/build/features/business/screens/Customers/CustomerLocations.d.ts +3 -3
  55. package/build/features/business/screens/Customers/Customers.js +9 -1
  56. package/build/features/business/screens/Customers/RefundPolicy.d.ts +2 -2
  57. package/build/features/connect/Connect.js +5 -4
  58. package/build/features/connect/screens/BusinessCountry/BusinessCountry.js +7 -1
  59. package/build/features/connectExpress/ConnectExpress.js +5 -4
  60. package/build/features/entity/Entity.js +5 -3
  61. package/build/features/entity/screens/EntityCapital/ActivityList.d.ts +2 -2
  62. package/build/features/entity/screens/EntityCapital/EntityCapital.js +33 -9
  63. package/build/features/entity/screens/EntityName/EntityName.js +31 -14
  64. package/build/features/entity/screens/EntityName/EntityTypeList.d.ts +2 -2
  65. package/build/features/entity/screens/EntityName/ExpiryDate.d.ts +1 -1
  66. package/build/features/entity/screens/EntityName/IssuingDate.d.ts +1 -1
  67. package/build/features/featuresScreens.js +5 -0
  68. package/build/features/individual/Individual.js +5 -3
  69. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.d.ts +1 -1
  70. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +43 -10
  71. package/build/features/individual/screens/IndividualList/IndividualList.d.ts +2 -2
  72. package/build/features/individual/screens/IndividualList/IndividualList.js +7 -0
  73. package/build/features/individual/screens/IndividualList/UserList.js +3 -3
  74. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.d.ts +1 -1
  75. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.js +73 -18
  76. package/build/features/password/Password.js +6 -4
  77. package/build/features/shared/Address/CountryList.d.ts +2 -2
  78. package/build/features/shared/Address/InputSelect.d.ts +2 -2
  79. package/build/features/shared/Button/FlowsButtons.js +10 -2
  80. package/build/features/shared/Input/Input.d.ts +1 -1
  81. package/build/features/signIn/SignIn.js +15 -5
  82. package/build/features/tax/Tax.js +5 -3
  83. package/build/features/tax/screens/TaxDetails/TaxDetails.js +7 -2
  84. package/build/hooks/index.d.ts +1 -0
  85. package/build/hooks/index.js +1 -0
  86. package/build/hooks/useAppConfig.js +1 -1
  87. package/build/hooks/useAppTheme.js +4 -3
  88. package/build/hooks/useFormDirtyCheck.d.ts +10 -0
  89. package/build/hooks/useFormDirtyCheck.js +66 -0
  90. package/build/theme/theme.d.ts +1 -1
  91. package/build/theme/theme.js +2 -2
  92. package/package.json +1 -1
@@ -51,14 +51,14 @@ import API from '../../../api';
51
51
  import { DocumentPurpose, FlowsTypes } from '../../../@types';
52
52
  import { handleCurrentActiveScreen, handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
53
53
  import { BANK_STEP_NAMES } from '../../../constants';
54
- import { hasNoneEditableValue, isStringHasOneAsterisk, retrieveIndividualData, sleep } from '../../../utils';
54
+ import { hasNoneEditableValue, isStringHasOneAsterisk, retrieveIndividualData, sendCustomEventToGTM, sleep } from '../../../utils';
55
55
  export var verifyLeadToken = createAsyncThunk('bankVerifyLeadToken', function (_a, thunkApi) {
56
56
  var token = _a.token, isInternally = _a.isInternally;
57
57
  return __awaiter(void 0, void 0, void 0, function () {
58
- var payload, data, boardData, boardInfoData, individualData, _b, board_id, board_info_id, config, country_code, publicKey, countryIso2, _c, id_1, type_1, serviceCallBack, _d, boardRes, individualRes;
59
- var _e, _f, _g, _h, _j;
60
- return __generator(this, function (_k) {
61
- switch (_k.label) {
58
+ var payload, data, bankData, _b, config, country_code, step_name, bank_account_id, wallet_id, boardId, publicKey, data_1;
59
+ var _c, _d, _e, _f, _g, _h;
60
+ return __generator(this, function (_j) {
61
+ switch (_j.label) {
62
62
  case 0:
63
63
  payload = __assign({ service_name: 'tap_email', verify_token: token }, (isInternally && {
64
64
  notification: {
@@ -67,69 +67,51 @@ export var verifyLeadToken = createAsyncThunk('bankVerifyLeadToken', function (_
67
67
  }));
68
68
  return [4, API.leadService.verifyLeadToken(payload)];
69
69
  case 1:
70
- data = (_k.sent()).data;
71
- individualData = undefined;
72
- if ((_e = data.errors) === null || _e === void 0 ? void 0 : _e.length)
70
+ data = (_j.sent()).data;
71
+ if ((_c = data.errors) === null || _c === void 0 ? void 0 : _c.length)
73
72
  throw new Error(data.errors[0].description);
74
- _b = data || {}, board_id = _b.id, board_info_id = _b.board_info_id, config = _b.config, country_code = _b.country_code;
73
+ bankData = undefined;
74
+ _b = data || {}, config = _b.config, country_code = _b.country_code, step_name = _b.step_name, bank_account_id = _b.bank_account_id, wallet_id = _b.wallet_id, boardId = _b.id;
75
75
  publicKey = config === null || config === void 0 ? void 0 : config.public_key;
76
- countryIso2 = country_code;
77
- if (publicKey) {
76
+ if (country_code)
77
+ thunkApi.dispatch(handleSetCountryByIso2(country_code));
78
+ if (publicKey)
78
79
  thunkApi.dispatch(handlePublicKey(publicKey));
79
- }
80
- if (countryIso2)
81
- thunkApi.dispatch(handleSetCountryByIso2(countryIso2));
82
- if (!board_id) return [3, 6];
83
- if (!board_info_id) return [3, 3];
84
- return [4, API.boardService.retrieveBoardInfo({ id: board_id, infoId: board_info_id })];
80
+ if (isInternally)
81
+ data.step_name = BANK_STEP_NAMES.BANK_INFO;
82
+ if (!(step_name === BANK_STEP_NAMES.PHONE_AUTH)) return [3, 2];
83
+ thunkApi.dispatch(handleCurrentActiveScreen('BANK_VERIFY_STEP'));
84
+ return [3, 7];
85
85
  case 2:
86
- boardInfoData = _k.sent();
87
- _k.label = 3;
88
- case 3: return [4, API.boardService.retrieveBoardDetails(board_id)];
86
+ if (!(step_name === BANK_STEP_NAMES.BANK_INFO)) return [3, 7];
87
+ if (!(!wallet_id || !country_code)) return [3, 4];
88
+ return [4, API.boardService.retrieveBoardDetails(boardId)];
89
+ case 3:
90
+ data_1 = _j.sent();
91
+ if (!country_code && ((_d = data_1 === null || data_1 === void 0 ? void 0 : data_1.entity) === null || _d === void 0 ? void 0 : _d.country))
92
+ thunkApi.dispatch(handleSetCountryByIso2(data_1.entity.country));
93
+ if (!((_h = (_g = (_f = (_e = data_1 === null || data_1 === void 0 ? void 0 : data_1.business) === null || _e === void 0 ? void 0 : _e.entity) === null || _f === void 0 ? void 0 : _f.merchant) === null || _g === void 0 ? void 0 : _g.wallet) === null || _h === void 0 ? void 0 : _h.id))
94
+ throw new Error('wallet_id_missing');
95
+ if (data_1 === null || data_1 === void 0 ? void 0 : data_1.bank_account)
96
+ bankData = data_1.bank_account;
97
+ return [3, 6];
89
98
  case 4:
90
- boardData = _k.sent();
91
- _c = ((_f = boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.notification) === null || _f === void 0 ? void 0 : _f.recipient) || {}, id_1 = _c.id, type_1 = _c.type;
92
- serviceCallBack = function () { return API.individualService.retrieveIndividual(id_1, type_1); };
93
- return [4, retrieveIndividualData(type_1, boardData, serviceCallBack)];
99
+ if (!bank_account_id) return [3, 6];
100
+ return [4, API.entityService.retrieveBankAccount(bank_account_id)];
94
101
  case 5:
95
- _d = _k.sent(), boardRes = _d.boardRes, individualRes = _d.individualRes;
96
- boardData = boardRes;
97
- individualData = individualRes;
98
- _k.label = 6;
102
+ bankData = _j.sent();
103
+ _j.label = 6;
99
104
  case 6:
100
- if (!countryIso2 && ((_g = boardData === null || boardData === void 0 ? void 0 : boardData.entity) === null || _g === void 0 ? void 0 : _g.country)) {
101
- countryIso2 = boardData.entity.country;
102
- thunkApi.dispatch(handleSetCountryByIso2(countryIso2));
103
- }
104
105
  if (isInternally)
105
- data.step_name = BANK_STEP_NAMES.BANK_INFO;
106
- if (data.step_name === BANK_STEP_NAMES.PHONE_AUTH) {
107
- thunkApi.dispatch(handleCurrentActiveScreen('BANK_VERIFY_STEP'));
108
- }
109
- else if (data.step_name === BANK_STEP_NAMES.BANK_INFO) {
110
- if (isInternally)
111
- sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
112
- else
113
- thunkApi.dispatch(handleNextScreenStep());
114
- }
115
- return [2, {
116
- data: data,
117
- individualData: individualData,
118
- boardResponse: {
119
- user: boardData === null || boardData === void 0 ? void 0 : boardData.user,
120
- brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand,
121
- bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account,
122
- entity: boardData === null || boardData === void 0 ? void 0 : boardData.entity,
123
- merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant,
124
- name: (_h = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _h === void 0 ? void 0 : _h.names,
125
- contact: (_j = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _j === void 0 ? void 0 : _j.contact,
126
- business: boardData === null || boardData === void 0 ? void 0 : boardData.business,
127
- individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals,
128
- notification: boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.notification,
129
- board_status: data === null || data === void 0 ? void 0 : data.status
130
- },
131
- token: token
132
- }];
106
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
107
+ else
108
+ thunkApi.dispatch(handleNextScreenStep());
109
+ _j.label = 7;
110
+ case 7: return [2, {
111
+ data: data,
112
+ bankData: bankData,
113
+ token: token
114
+ }];
133
115
  }
134
116
  });
135
117
  });
@@ -152,75 +134,118 @@ export var resendOTP = createAsyncThunk('resendOTPBank', function (params, thunk
152
134
  });
153
135
  }); });
154
136
  export var verifyBankLeadOTP = createAsyncThunk('verifyBankLeadOTP', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
155
- var _a, bank, settings, responseBody, payload, data, publicKey;
156
- var _b, _c, _d, _e;
157
- return __generator(this, function (_f) {
158
- switch (_f.label) {
137
+ var _a, bank, settings, responseBody, payload, data, countryIso2, publicKey, _b, bank_account_id, wallet_id, boardId, bankData, data_2;
138
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
139
+ return __generator(this, function (_o) {
140
+ switch (_o.label) {
159
141
  case 0:
160
142
  _a = thunkApi.getState(), bank = _a.bank, settings = _a.settings;
161
143
  responseBody = bank.data.verify.responseBody;
162
144
  payload = {
163
145
  data: params.otp,
164
- service_name: (_b = responseBody === null || responseBody === void 0 ? void 0 : responseBody.verification_by) === null || _b === void 0 ? void 0 : _b.service_name,
146
+ service_name: (_c = responseBody === null || responseBody === void 0 ? void 0 : responseBody.verification_by) === null || _c === void 0 ? void 0 : _c.service_name,
165
147
  verify_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.verify_token,
166
148
  step_name: BANK_STEP_NAMES.PHONE_AUTH,
167
149
  encryption_contract: ['data']
168
150
  };
169
151
  return [4, API.leadService.verifyLeadOTP(payload)];
170
152
  case 1:
171
- data = (_f.sent()).data;
172
- if (!data.errors) {
173
- publicKey = (_c = data === null || data === void 0 ? void 0 : data.config) === null || _c === void 0 ? void 0 : _c.public_key;
174
- if (publicKey) {
175
- thunkApi.dispatch(handlePublicKey(publicKey));
176
- }
177
- (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, { otp: params.otp });
178
- sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
179
- }
180
- return [2, { data: data, formData: params }];
153
+ data = (_o.sent()).data;
154
+ if ((_d = data.errors) === null || _d === void 0 ? void 0 : _d.length)
155
+ throw new Error(data.errors[0].description);
156
+ countryIso2 = (data === null || data === void 0 ? void 0 : data.country_code) || (responseBody === null || responseBody === void 0 ? void 0 : responseBody.country_code);
157
+ publicKey = (_e = data === null || data === void 0 ? void 0 : data.config) === null || _e === void 0 ? void 0 : _e.public_key;
158
+ if (countryIso2)
159
+ thunkApi.dispatch(handleSetCountryByIso2(countryIso2));
160
+ if (publicKey)
161
+ thunkApi.dispatch(handlePublicKey(publicKey));
162
+ _b = data || {}, bank_account_id = _b.bank_account_id, wallet_id = _b.wallet_id, boardId = _b.id;
163
+ bankData = undefined;
164
+ if (!(!wallet_id || !countryIso2)) return [3, 3];
165
+ return [4, API.boardService.retrieveBoardDetails(boardId)];
166
+ case 2:
167
+ data_2 = _o.sent();
168
+ if (!countryIso2 && ((_f = data_2 === null || data_2 === void 0 ? void 0 : data_2.entity) === null || _f === void 0 ? void 0 : _f.country))
169
+ thunkApi.dispatch(handleSetCountryByIso2(data_2.entity.country));
170
+ if (!((_k = (_j = (_h = (_g = data_2 === null || data_2 === void 0 ? void 0 : data_2.business) === null || _g === void 0 ? void 0 : _g.entity) === null || _h === void 0 ? void 0 : _h.merchant) === null || _j === void 0 ? void 0 : _j.wallet) === null || _k === void 0 ? void 0 : _k.id))
171
+ throw new Error('wallet_id_missing');
172
+ if (data_2 === null || data_2 === void 0 ? void 0 : data_2.bank_account)
173
+ bankData = data_2.bank_account;
174
+ return [3, 5];
175
+ case 3:
176
+ if (!bank_account_id) return [3, 5];
177
+ return [4, API.entityService.retrieveBankAccount(bank_account_id)];
178
+ case 4:
179
+ bankData = _o.sent();
180
+ _o.label = 5;
181
+ case 5:
182
+ (_m = (_l = settings.data.appConfig).onStepCompleted) === null || _m === void 0 ? void 0 : _m.call(_l, settings.data.activeScreen.name, { otp: params.otp });
183
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
184
+ return [2, {
185
+ data: data,
186
+ bankData: bankData,
187
+ formData: params
188
+ }];
181
189
  }
182
190
  });
183
191
  }); });
184
192
  export var retrieveBoardStatus = createAsyncThunk('bank/retrieveBoardStatus', function (parmas, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
185
- var bank, board_id, data;
186
- return __generator(this, function (_a) {
187
- switch (_a.label) {
193
+ var bank, _a, board_id, board_info_id, recipient, _b, id, type, data;
194
+ return __generator(this, function (_c) {
195
+ switch (_c.label) {
188
196
  case 0:
189
197
  bank = thunkApi.getState().bank;
190
- board_id = (bank.data.verify.responseBody || {}).id;
191
- return [4, API.boardService.retrieveBoardInfoStatus(board_id)];
198
+ _a = bank.data.verify.responseBody || {}, board_id = _a.board_id, board_info_id = _a.board_info_id, recipient = _a.recipient;
199
+ if (!board_id || !board_info_id)
200
+ throw new Error('Internal server error');
201
+ _b = recipient || {}, id = _b.id, type = _b.type;
202
+ return [4, Promise.all([
203
+ API.boardService.retrieveBoardInfoStatus(board_id),
204
+ thunkApi.dispatch(retrieveBoardDetails({ boardId: board_id, individualId: id, individualType: type })).unwrap()
205
+ ])];
192
206
  case 1:
193
- data = _a.sent();
207
+ data = (_c.sent())[0];
194
208
  thunkApi.dispatch(handlePrevScreenStep());
195
209
  return [2, { flows: (data === null || data === void 0 ? void 0 : data.info) || [] }];
196
210
  }
197
211
  });
198
212
  }); });
199
- export var retrieveBoardDetails = createAsyncThunk('bank/retrieveBoardDetails', function (boardId) { return __awaiter(void 0, void 0, void 0, function () {
200
- var data;
201
- var _a, _b;
202
- return __generator(this, function (_c) {
203
- switch (_c.label) {
204
- case 0: return [4, API.boardService.retrieveBoardDetails(boardId)];
205
- case 1:
206
- data = _c.sent();
207
- return [2, {
208
- data: __assign(__assign({}, data), { user: data === null || data === void 0 ? void 0 : data.user, brand: data === null || data === void 0 ? void 0 : data.brand, bank_account: data === null || data === void 0 ? void 0 : data.bank_account, entity: data === null || data === void 0 ? void 0 : data.entity, merchant: data === null || data === void 0 ? void 0 : data.merchant, name: (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.names, business: data === null || data === void 0 ? void 0 : data.business, individuals: data === null || data === void 0 ? void 0 : data.individuals, contact: (_b = data === null || data === void 0 ? void 0 : data.user) === null || _b === void 0 ? void 0 : _b.contact, board_status: data === null || data === void 0 ? void 0 : data.status })
209
- }];
210
- }
213
+ export var retrieveBoardDetails = createAsyncThunk('bank/retrieveBoardDetails', function (_a) {
214
+ var boardId = _a.boardId, id = _a.individualId, type = _a.individualType;
215
+ return __awaiter(void 0, void 0, void 0, function () {
216
+ var data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
217
+ var _c, _d, _e;
218
+ return __generator(this, function (_f) {
219
+ switch (_f.label) {
220
+ case 0: return [4, API.boardService.retrieveBoardDetails(boardId)];
221
+ case 1:
222
+ data = _f.sent();
223
+ individualData = data === null || data === void 0 ? void 0 : data.user;
224
+ boardData = data;
225
+ if (!(((_c = data === null || data === void 0 ? void 0 : data.user) === null || _c === void 0 ? void 0 : _c.id) !== id)) return [3, 3];
226
+ serviceCallBack = function () { return API.individualService.retrieveIndividual(id, type); };
227
+ return [4, retrieveIndividualData(type, data, serviceCallBack)];
228
+ case 2:
229
+ _b = _f.sent(), boardRes = _b.boardRes, individualRes = _b.individualRes;
230
+ individualData = individualRes;
231
+ boardData = boardRes;
232
+ _f.label = 3;
233
+ 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, business: boardData === null || boardData === void 0 ? void 0 : boardData.business, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _e === void 0 ? void 0 : _e.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
234
+ }
235
+ });
211
236
  });
212
- }); });
237
+ });
213
238
  export var createBankAccount = createAsyncThunk('createBankAccount', function (_a, thunkApi) {
214
- var formData = _a.formData, originalFormData = _a.originalFormData;
239
+ var formData = _a.formData, originalFormData = _a.originalFormData, isDirty = _a.isDirty;
215
240
  return __awaiter(void 0, void 0, void 0, function () {
216
- var _b, settings, bank, iban, beneficiaryName, bankName, bankStatementId, confirmPolicy, _c, bank_account, notification, _d, data_status, document, isIBANMasked, isIBANNonEditable, isBeneficiaryNameNonEditable, isBankNameNonEditable, isBankStatementIdNonEditable, isConfirmPolicyNonEditable, documentResponse, hasDocument, documentId, requestBody, data, documentBody;
217
- var _e, _f, _g, _h, _j, _k, _l, _m, _o;
218
- return __generator(this, function (_p) {
219
- switch (_p.label) {
241
+ var _b, settings, bank, iban, beneficiaryName, bankName, bankStatementId, confirmPolicy, _c, bank_account, wallet_id, recipient, _d, data_status, document, isIBANMasked, isIBANNonEditable, isBeneficiaryNameNonEditable, isBankNameNonEditable, isBankStatementIdNonEditable, isConfirmPolicyNonEditable, documentResponse, data, hasDocument, documentId, requestBody, documentBody;
242
+ var _e, _f;
243
+ return __generator(this, function (_g) {
244
+ switch (_g.label) {
220
245
  case 0:
221
246
  _b = thunkApi.getState(), settings = _b.settings, bank = _b.bank;
222
247
  iban = formData.iban, beneficiaryName = formData.beneficiaryName, bankName = formData.bankName, bankStatementId = formData.bankStatementId, confirmPolicy = formData.confirmPolicy;
223
- _c = bank.data.verify.responseBody || {}, bank_account = _c.bank_account, notification = _c.notification;
248
+ _c = bank.data.verify.responseBody || {}, bank_account = _c.bank_account, wallet_id = _c.wallet_id, recipient = _c.recipient;
224
249
  _d = bank_account || {}, data_status = _d.data_status, document = _d.document;
225
250
  isIBANMasked = isStringHasOneAsterisk(iban);
226
251
  isIBANNonEditable = hasNoneEditableValue(data_status, 'iban');
@@ -229,14 +254,16 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (_
229
254
  isBankStatementIdNonEditable = hasNoneEditableValue(data_status, 'bank_statement_file_id');
230
255
  isConfirmPolicyNonEditable = hasNoneEditableValue(data_status, 'is_acknowledged');
231
256
  documentResponse = undefined;
232
- hasDocument = (bankStatementId || []).length > 0;
257
+ data = bank_account || {};
258
+ hasDocument = !isBankStatementIdNonEditable && (bankStatementId || []).length > 0;
233
259
  documentId = document === null || document === void 0 ? void 0 : document.id;
234
260
  requestBody = {
235
- wallet_id: (_j = (_h = (_g = (_f = (_e = bank.data.verify.responseBody) === null || _e === void 0 ? void 0 : _e.business) === null || _f === void 0 ? void 0 : _f.entity) === null || _g === void 0 ? void 0 : _g.merchant) === null || _h === void 0 ? void 0 : _h.wallet) === null || _j === void 0 ? void 0 : _j.id,
261
+ wallet_id: wallet_id,
236
262
  bank_account: __assign(__assign({ iban: isIBANNonEditable || isIBANMasked ? undefined : iban, beneficiary_name: isBeneficiaryNameNonEditable ? undefined : beneficiaryName, bank_name: isBankNameNonEditable ? undefined : bankName }, (!isConfirmPolicyNonEditable && {
237
- acknowledged_by: (_k = notification === null || notification === void 0 ? void 0 : notification.recipient) === null || _k === void 0 ? void 0 : _k.id,
263
+ acknowledged_by: recipient === null || recipient === void 0 ? void 0 : recipient.id,
238
264
  is_acknowledged: confirmPolicy
239
- })), (!(isBankStatementIdNonEditable || documentId || !hasDocument) && {
265
+ })), (!documentId &&
266
+ hasDocument && {
240
267
  document: {
241
268
  type: DocumentPurpose.BANK_STATEMENT,
242
269
  files: bankStatementId || []
@@ -245,24 +272,25 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (_
245
272
  step_name: BANK_STEP_NAMES.BANK_INFO,
246
273
  encryption_contract: ['bank_account.iban', 'bank_account.beneficiary_name', 'bank_account.bank_name']
247
274
  };
275
+ if (!(isDirty || (!documentId && hasDocument))) return [3, 2];
248
276
  return [4, API.entityService.createBankAccount(requestBody)];
249
277
  case 1:
250
- data = (_p.sent()).data;
251
- if ((_l = data.errors) === null || _l === void 0 ? void 0 : _l.length)
252
- throw new Error(data.errors[0].description);
253
- if (!(!isBankStatementIdNonEditable && documentId && hasDocument)) return [3, 3];
278
+ data = _g.sent();
279
+ _g.label = 2;
280
+ case 2:
281
+ if (!(documentId && hasDocument)) return [3, 4];
254
282
  documentBody = {
255
283
  id: documentId,
256
284
  files: bankStatementId || []
257
285
  };
258
286
  return [4, API.documentService.addFilesToExistingDocument(documentBody)];
259
- case 2:
260
- documentResponse = _p.sent();
261
- _p.label = 3;
262
287
  case 3:
263
- data.documentData = documentResponse;
288
+ documentResponse = _g.sent();
289
+ _g.label = 4;
290
+ case 4:
291
+ data = __assign(__assign({}, data), { documentResponse: documentResponse });
264
292
  thunkApi.dispatch(handleNextScreenStep());
265
- (_o = (_m = settings.data.appConfig).onStepCompleted) === null || _o === void 0 ? void 0 : _o.call(_m, settings.data.activeScreen.name, requestBody);
293
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, requestBody);
266
294
  return [2, { data: data, formData: originalFormData }];
267
295
  }
268
296
  });
@@ -289,40 +317,45 @@ export var checkIbanBank = createAsyncThunk('checkIbanBank', function (_a) {
289
317
  });
290
318
  });
291
319
  export var updateBoardSuccess = createAsyncThunk('updateBoardBankSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
292
- var _a, settings, bank, verify, _b, id, infoId, _c, showBoard, mode, payload, data, boardInfoData;
293
- var _d, _e, _f, _g, _h, _j, _k, _l;
294
- return __generator(this, function (_m) {
295
- switch (_m.label) {
320
+ var _a, settings, bank, _b, board_id, infoId, _c, showBoard, mode, payload, data, _d, id, type, boardInfoStatusData;
321
+ var _e, _f, _g, _h, _j, _k, _l, _m, _o;
322
+ return __generator(this, function (_p) {
323
+ switch (_p.label) {
296
324
  case 0:
297
325
  _a = thunkApi.getState(), settings = _a.settings, bank = _a.bank;
298
- verify = bank.data.verify;
299
- _b = verify.responseBody || {}, id = _b.board_id, infoId = _b.board_info_id;
326
+ _b = bank.data.verify.responseBody || {}, board_id = _b.board_id, infoId = _b.board_info_id;
300
327
  _c = settings.data.appConfig, showBoard = _c.showBoard, mode = _c.mode;
301
- if (!id)
328
+ if (!board_id)
302
329
  return [2];
303
330
  payload = {
304
331
  lang: settings.data.language,
305
- step_name: BANK_STEP_NAMES.BANK_SUCCESS,
306
- id: id
332
+ step_name: BANK_STEP_NAMES.BANK_SUCCESS
307
333
  };
308
- return [4, API.boardService.updateBoardInfo(__assign({ id: id, infoId: infoId }, payload))];
334
+ return [4, API.boardService.updateBoardInfo(__assign({ id: board_id, infoId: infoId }, payload))];
309
335
  case 1:
310
- data = _m.sent();
336
+ data = _p.sent();
337
+ sendCustomEventToGTM({
338
+ event: 'Send Event',
339
+ event_category: 'Board Flows - Wallet',
340
+ event_action: 'Wallet Update Success Page',
341
+ event_label: settings.data.businessCountry.iso2
342
+ });
311
343
  if (!showBoard && mode === 'content') {
312
- (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, {});
313
- (_g = (_f = settings.data.appConfig).onFlowCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, { data: data });
314
- return [2, { response: __assign({}, data), formData: params }];
344
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, {});
345
+ (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
346
+ return [2, { data: data }];
315
347
  }
316
- return [4, API.boardService.retrieveBoardInfoStatus(id)];
348
+ _d = ((_j = data === null || data === void 0 ? void 0 : data.notification) === null || _j === void 0 ? void 0 : _j.recipient) || {}, id = _d.id, type = _d.type;
349
+ return [4, Promise.all([
350
+ API.boardService.retrieveBoardInfoStatus(board_id),
351
+ thunkApi.dispatch(retrieveBoardDetails({ boardId: board_id, individualId: id, individualType: type })).unwrap()
352
+ ])];
317
353
  case 2:
318
- boardInfoData = _m.sent();
319
- return [4, thunkApi.dispatch(retrieveBoardDetails(id))];
320
- case 3:
321
- _m.sent();
322
- (_j = (_h = settings.data.appConfig).onStepCompleted) === null || _j === void 0 ? void 0 : _j.call(_h, settings.data.activeScreen.name, {});
323
- (_l = (_k = settings.data.appConfig).onFlowCompleted) === null || _l === void 0 ? void 0 : _l.call(_k, { data: data });
354
+ boardInfoStatusData = (_p.sent())[0];
355
+ (_l = (_k = settings.data.appConfig).onStepCompleted) === null || _l === void 0 ? void 0 : _l.call(_k, settings.data.activeScreen.name, {});
356
+ (_o = (_m = settings.data.appConfig).onFlowCompleted) === null || _o === void 0 ? void 0 : _o.call(_m, { data: data });
324
357
  thunkApi.dispatch(handleNextScreenStep());
325
- return [2, { response: __assign(__assign({}, data), { flows: (boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.info) || [] }), formData: params }];
358
+ return [2, { data: data, flows: (boardInfoStatusData === null || boardInfoStatusData === void 0 ? void 0 : boardInfoStatusData.info) || [] }];
326
359
  }
327
360
  });
328
361
  }); });
@@ -385,23 +418,17 @@ export var bankSlice = createSlice({
385
418
  state.customLoading = true;
386
419
  })
387
420
  .addCase(verifyLeadToken.fulfilled, function (state, action) {
388
- var _a;
389
421
  state.error = null;
390
422
  state.customLoading = false;
391
- var _b = action.payload, data = _b.data, token = _b.token, boardResponse = _b.boardResponse, individualData = _b.individualData;
392
- var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
393
- if (description) {
394
- state.error = description;
395
- return;
396
- }
397
- state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, data), boardResponse), state.data.verify.responseBody), { board_id: data.id, individualData: individualData });
398
- state.data.verify.token = token;
399
- var _c = (boardResponse === null || boardResponse === void 0 ? void 0 : boardResponse.bank_account) || {}, bank_name = _c.bank_name, beneficiary_name = _c.beneficiary_name, iban = _c.iban, is_acknowledged = _c.is_acknowledged;
423
+ var _a = action.payload || {}, data = _a.data, token = _a.token, bank_account = _a.bankData;
424
+ var _b = bank_account || {}, bank_name = _b.bank_name, beneficiary_name = _b.beneficiary_name, iban = _b.iban, is_acknowledged = _b.is_acknowledged;
400
425
  state.data.bankData.bankName = bank_name || '';
401
426
  state.data.bankData.beneficiaryName = beneficiary_name || '';
402
427
  state.data.bankData.iban = iban || '';
403
428
  if (is_acknowledged)
404
429
  state.data.bankData.confirmPolicy = is_acknowledged;
430
+ state.data.verify.responseBody = __assign(__assign(__assign({}, data), state.data.verify.responseBody), { bank_account: bank_account, board_id: data.id });
431
+ state.data.verify.token = token;
405
432
  })
406
433
  .addCase(verifyLeadToken.rejected, function (state, action) {
407
434
  state.error = action.error.message;
@@ -429,17 +456,18 @@ export var bankSlice = createSlice({
429
456
  state.error = null;
430
457
  })
431
458
  .addCase(verifyBankLeadOTP.fulfilled, function (state, action) {
432
- var _a;
433
459
  state.loading = false;
434
460
  state.error = null;
435
- var _b = action.payload, data = _b.data, formData = _b.formData;
436
- var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
437
- if (description) {
438
- state.error = description;
439
- return;
440
- }
461
+ var _a = action.payload, data = _a.data, bank_account = _a.bankData, formData = _a.formData;
441
462
  state.data.otpData = formData;
442
463
  state.data.otpData.responseBody = data;
464
+ var _b = bank_account || {}, bank_name = _b.bank_name, beneficiary_name = _b.beneficiary_name, iban = _b.iban, is_acknowledged = _b.is_acknowledged;
465
+ state.data.bankData.bankName = bank_name || '';
466
+ state.data.bankData.beneficiaryName = beneficiary_name || '';
467
+ state.data.bankData.iban = iban || '';
468
+ if (is_acknowledged)
469
+ state.data.bankData.confirmPolicy = is_acknowledged;
470
+ state.data.verify.responseBody = __assign(__assign(__assign({}, data), state.data.verify.responseBody), { bank_account: bank_account, board_id: data.id });
443
471
  })
444
472
  .addCase(verifyBankLeadOTP.rejected, function (state, action) {
445
473
  state.loading = false;
@@ -452,7 +480,7 @@ export var bankSlice = createSlice({
452
480
  .addCase(retrieveBoardDetails.fulfilled, function (state, action) {
453
481
  state.error = null;
454
482
  state.loading = false;
455
- var data = (action.payload || {}).data;
483
+ var data = action.payload || {};
456
484
  state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), data);
457
485
  })
458
486
  .addCase(retrieveBoardDetails.rejected, function (state, action) {
@@ -477,18 +505,8 @@ export var bankSlice = createSlice({
477
505
  var _a;
478
506
  state.loading = false;
479
507
  state.error = null;
480
- var response = (action.payload || {}).response;
481
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
482
- if (description) {
483
- state.error = description;
484
- return;
485
- }
486
- var flows = response.flows;
487
- var _b = state.data.verify.responseBody || {}, individuals = _b.individuals, individualData = _b.individualData;
488
- var data_state = (((individualData === null || individualData === void 0 ? void 0 : individualData.is_authorized) ? individuals : individualData) || {}).data_state;
489
- state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, state.data.verify.responseBody), { flows: flows }), (individualData && { user: individualData })), (data_state && {
490
- individuals: __assign(__assign({}, individuals), { data_state: data_state })
491
- }));
508
+ var _b = action.payload || {}, flows = _b.flows, data = _b.data;
509
+ state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), { flows: flows, recipient: (_a = data === null || data === void 0 ? void 0 : data.notification) === null || _a === void 0 ? void 0 : _a.recipient });
492
510
  })
493
511
  .addCase(updateBoardSuccess.pending, function (state) {
494
512
  state.loading = true;
@@ -150,27 +150,33 @@ export var verifyBoardLeadOTP = createAsyncThunk('board/verifyBoardLeadOTP', fun
150
150
  export var retrieveBoardDetails = createAsyncThunk('board/retrieveBoardDetails', function (_a) {
151
151
  var boardId = _a.boardId, boardInfoId = _a.boardInfoId;
152
152
  return __awaiter(void 0, void 0, void 0, function () {
153
- var boardInfoData, _b, boardInfoStatusData, boardData, _c, id, type, serviceCallBack, _d, boardRes, individualRes;
154
- var _e, _f;
155
- return __generator(this, function (_g) {
156
- switch (_g.label) {
153
+ var boardInfoData, _b, boardInfoStatusData, data, _c, id, type, individualData, boardData, serviceCallBack, _d, boardRes, individualRes;
154
+ var _e, _f, _g;
155
+ return __generator(this, function (_h) {
156
+ switch (_h.label) {
157
157
  case 0: return [4, API.boardService.retrieveBoardInfo({ id: boardId, infoId: boardInfoId })];
158
158
  case 1:
159
- boardInfoData = _g.sent();
159
+ boardInfoData = _h.sent();
160
160
  return [4, Promise.all([
161
161
  API.boardService.retrieveBoardInfoStatus(boardId),
162
162
  API.boardService.retrieveBoardDetails(boardId)
163
163
  ])];
164
164
  case 2:
165
- _b = _g.sent(), boardInfoStatusData = _b[0], boardData = _b[1];
165
+ _b = _h.sent(), boardInfoStatusData = _b[0], data = _b[1];
166
166
  _c = ((_e = boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.notification) === null || _e === void 0 ? void 0 : _e.recipient) || {}, id = _c.id, type = _c.type;
167
+ individualData = data === null || data === void 0 ? void 0 : data.user;
168
+ boardData = data;
169
+ if (!(((_f = data === null || data === void 0 ? void 0 : data.user) === null || _f === void 0 ? void 0 : _f.id) !== id)) return [3, 4];
167
170
  serviceCallBack = function () { return API.individualService.retrieveIndividual(id, type); };
168
171
  return [4, retrieveIndividualData(type, boardData, serviceCallBack)];
169
172
  case 3:
170
- _d = _g.sent(), boardRes = _d.boardRes, individualRes = _d.individualRes;
171
- return [2, {
172
- data: __assign(__assign({}, boardRes), { user: individualRes, brand: boardRes === null || boardRes === void 0 ? void 0 : boardRes.brand, bank_account: boardRes === null || boardRes === void 0 ? void 0 : boardRes.bank_account, entity: boardRes === null || boardRes === void 0 ? void 0 : boardRes.entity, merchant: boardRes === null || boardRes === void 0 ? void 0 : boardRes.merchant, name: individualRes === null || individualRes === void 0 ? void 0 : individualRes.names, business: boardRes === null || boardRes === void 0 ? void 0 : boardRes.business, individuals: boardRes === null || boardRes === void 0 ? void 0 : boardRes.individuals, contact: individualRes === null || individualRes === void 0 ? void 0 : individualRes.contact, flows: (boardInfoStatusData === null || boardInfoStatusData === void 0 ? void 0 : boardInfoStatusData.info) || [], recipient: (_f = boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.notification) === null || _f === void 0 ? void 0 : _f.recipient, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })
173
- }];
173
+ _d = _h.sent(), boardRes = _d.boardRes, individualRes = _d.individualRes;
174
+ boardData = boardRes;
175
+ individualData = individualRes;
176
+ _h.label = 4;
177
+ case 4: return [2, {
178
+ data: __assign(__assign({}, boardData), { user: individualData, 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: individualData === null || individualData === void 0 ? void 0 : individualData.names, business: boardData === null || boardData === void 0 ? void 0 : boardData.business, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: individualData === null || individualData === void 0 ? void 0 : individualData.contact, flows: (boardInfoStatusData === null || boardInfoStatusData === void 0 ? void 0 : boardInfoStatusData.info) || [], recipient: (_g = boardInfoData === null || boardInfoData === void 0 ? void 0 : boardInfoData.notification) === null || _g === void 0 ? void 0 : _g.recipient, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })
179
+ }];
174
180
  }
175
181
  });
176
182
  });