@tap-payments/auth-jsconnect 2.8.93-development → 2.8.97-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.
Files changed (56) hide show
  1. package/build/@types/form.d.ts +3 -0
  2. package/build/components/ArabicDatePicker/ArabicDatePicker.d.ts +1 -1
  3. package/build/components/ArabicDatePicker/ArabicDatePicker.js +2 -2
  4. package/build/components/DatePicker/DatePicker.d.ts +1 -1
  5. package/build/components/DatePicker/DatePicker.js +2 -2
  6. package/build/constants/app.d.ts +5 -0
  7. package/build/constants/app.js +45 -9
  8. package/build/features/app/auth/authStore.d.ts +6 -1
  9. package/build/features/app/auth/authStore.js +86 -28
  10. package/build/features/app/business/businessStore.d.ts +20 -3
  11. package/build/features/app/business/businessStore.js +100 -35
  12. package/build/features/app/connect/connectStore.d.ts +11 -2
  13. package/build/features/app/connect/connectStore.js +52 -5
  14. package/build/features/app/connectExpress/connectExpressStore.d.ts +23 -4
  15. package/build/features/app/connectExpress/connectExpressStore.js +73 -13
  16. package/build/features/auth/screens/DOB/DOB.d.ts +6 -0
  17. package/build/features/auth/screens/DOB/DOB.js +47 -0
  18. package/build/features/auth/screens/DOB/DOBForm.d.ts +5 -0
  19. package/build/features/auth/screens/DOB/DOBForm.js +59 -0
  20. package/build/features/auth/screens/DOB/index.d.ts +3 -0
  21. package/build/features/auth/screens/DOB/index.js +2 -0
  22. package/build/features/auth/screens/DOB/validation.d.ts +8 -0
  23. package/build/features/auth/screens/DOB/validation.js +4 -0
  24. package/build/features/business/screens/BusinessType/BusinessType.js +2 -2
  25. package/build/features/business/screens/DOB/DOB.d.ts +6 -0
  26. package/build/features/business/screens/DOB/DOB.js +45 -0
  27. package/build/features/business/screens/DOB/DOBForm.d.ts +5 -0
  28. package/build/features/business/screens/DOB/DOBForm.js +72 -0
  29. package/build/features/business/screens/DOB/index.d.ts +3 -0
  30. package/build/features/business/screens/DOB/index.js +2 -0
  31. package/build/features/business/screens/DOB/validation.d.ts +8 -0
  32. package/build/features/business/screens/DOB/validation.js +4 -0
  33. package/build/features/connect/screens/DOB/DOB.d.ts +6 -0
  34. package/build/features/connect/screens/DOB/DOB.js +47 -0
  35. package/build/features/connect/screens/DOB/DOBForm.d.ts +5 -0
  36. package/build/features/connect/screens/DOB/DOBForm.js +59 -0
  37. package/build/features/connect/screens/DOB/index.d.ts +3 -0
  38. package/build/features/connect/screens/DOB/index.js +2 -0
  39. package/build/features/connect/screens/DOB/validation.d.ts +8 -0
  40. package/build/features/connect/screens/DOB/validation.js +4 -0
  41. package/build/features/connect/screens/Individual/Individual.js +10 -3
  42. package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +21 -4
  43. package/build/features/connectExpress/screens/DOB/DOB.d.ts +6 -0
  44. package/build/features/connectExpress/screens/DOB/DOB.js +47 -0
  45. package/build/features/connectExpress/screens/DOB/DOBForm.d.ts +5 -0
  46. package/build/features/connectExpress/screens/DOB/DOBForm.js +63 -0
  47. package/build/features/connectExpress/screens/DOB/index.d.ts +3 -0
  48. package/build/features/connectExpress/screens/DOB/index.js +2 -0
  49. package/build/features/connectExpress/screens/DOB/validation.d.ts +8 -0
  50. package/build/features/connectExpress/screens/DOB/validation.js +4 -0
  51. package/build/features/entity/screens/EntityName/ExpiryDate.js +9 -2
  52. package/build/features/entity/screens/EntityName/IssuingDate.js +10 -1
  53. package/build/features/featuresScreens.js +20 -0
  54. package/build/features/shared/Calender/Calender.d.ts +2 -1
  55. package/build/features/shared/Calender/Calender.js +3 -3
  56. package/package.json +1 -1
@@ -58,7 +58,7 @@ var _a;
58
58
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
59
59
  import API from '../../../api';
60
60
  import { BusinessType, FlowsTypes, DocumentPurpose, LicenseType } from '../../../@types';
61
- import { BUSINESS_STEP_NAMES, EXPECTED_SALES_LIST, IDENTIFICATION_TYPE, NAFATH_VERIFICATION_FAILED, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
61
+ import { BUSINESS_STEP_NAMES, COLLECT_DOB_INFO_NAFATH, EXPECTED_SALES_LIST, IDENTIFICATION_TYPE, NAFATH_VERIFICATION_FAILED, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
62
62
  import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense, isOtherThanKWOrSA, hasNoneEditableValue, sendCustomEventToGTM } from '../../../utils';
63
63
  import { handleNextScreenStep, handlePublicKey, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', function (token, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
@@ -100,6 +100,9 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
100
100
  if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && (isSA(countryIso2) || isOtherThanKWOrSA(countryIso2))) {
101
101
  thunkApi.dispatch(handleNextScreenStep('BUSINESS_IDBOD_STEP'));
102
102
  }
103
+ if (data.step_name === COLLECT_DOB_INFO_NAFATH) {
104
+ thunkApi.dispatch(handleNextScreenStep('BUSINESS_DOB_STEP'));
105
+ }
103
106
  if (!(data.step_name === BUSINESS_STEP_NAMES.BUSINESS_INFO)) return [3, 19];
104
107
  _a = leadData || {}, steps = _a.steps, brand = _a.brand, board_id = _a.board_id, business_id = _a.business_id, entity = _a.entity;
105
108
  brandID = brand === null || brand === void 0 ? void 0 : brand.id;
@@ -165,13 +168,14 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
165
168
  _d.label = 19;
166
169
  case 19: return [2, {
167
170
  data: data,
171
+ verifyNextStepName: data.step_name,
168
172
  isicActivityList: isicActivityList,
169
173
  leadData: __assign(__assign({}, leadData), { flows: (boardData === null || boardData === void 0 ? void 0 : boardData.info) || [] }),
170
174
  token: token,
171
175
  brandData: brandData === null || brandData === void 0 ? void 0 : brandData.brand,
172
176
  boardId: leadData === null || leadData === void 0 ? void 0 : leadData.board_id
173
177
  }];
174
- case 20: return [2, { data: data, isRequireOTP: true, token: token }];
178
+ case 20: return [2, { data: data, isRequireOTP: true, token: token, verifyNextStepName: data.step_name }];
175
179
  }
176
180
  });
177
181
  }); });
@@ -188,7 +192,7 @@ export var resendOTP = createAsyncThunk('resendOTPBusiness', function (params, t
188
192
  return [4, API.leadService.verifyLeadToken(payload)];
189
193
  case 1:
190
194
  data = (_a.sent()).data;
191
- return [2, { data: data }];
195
+ return [2, { data: data, verifyNextStepName: data.step_name }];
192
196
  }
193
197
  });
194
198
  }); });
@@ -248,11 +252,11 @@ export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, t
248
252
  case 6:
249
253
  if (!isNID) return [3, 7];
250
254
  thunkApi.dispatch(handleNextScreenStep());
251
- return [3, 22];
255
+ return [3, 23];
252
256
  case 7:
253
257
  if (!(isIdentityAuthStep && isKW(countryIso2))) return [3, 8];
254
258
  thunkApi.dispatch(handleNextScreenStep('BUSINESS_CIVIL_ID_STEP'));
255
- return [3, 22];
259
+ return [3, 23];
256
260
  case 8:
257
261
  if (!hasBusinessCompleted) return [3, 12];
258
262
  if (!board_id) return [3, 11];
@@ -266,49 +270,53 @@ export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, t
266
270
  _k.label = 11;
267
271
  case 11:
268
272
  sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_SUCCESS_FOUR_FLOWS_BUTTONS_STEP')); });
269
- return [3, 22];
273
+ return [3, 23];
270
274
  case 12:
271
275
  if (!(data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH)) return [3, 13];
272
276
  sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_IDBOD_STEP')); });
273
- return [3, 22];
277
+ return [3, 23];
274
278
  case 13:
275
- if (!hasBusinessCustomersCompleted) return [3, 14];
276
- sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_SUCCESS_STEP')); });
277
- return [3, 22];
279
+ if (!(data.step_name === COLLECT_DOB_INFO_NAFATH)) return [3, 14];
280
+ sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_DOB_STEP')); });
281
+ return [3, 23];
278
282
  case 14:
279
- if (!hasBusinessCRActivitiesCompleted) return [3, 18];
280
- return [4, API.dataService.getActivitiesIsIc()];
283
+ if (!hasBusinessCustomersCompleted) return [3, 15];
284
+ sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_SUCCESS_STEP')); });
285
+ return [3, 23];
281
286
  case 15:
287
+ if (!hasBusinessCRActivitiesCompleted) return [3, 19];
288
+ return [4, API.dataService.getActivitiesIsIc()];
289
+ case 16:
282
290
  list = (_k.sent()).list;
283
291
  isicActivityList = list || [];
284
292
  return [4, thunkApi.dispatch(retrieveDataList())];
285
- case 16:
293
+ case 17:
286
294
  _k.sent();
287
295
  return [4, API.brandService.retrieveBrand(brandID)];
288
- case 17:
296
+ case 18:
289
297
  brandData = _k.sent();
290
298
  sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_CUSTOMERS_STEP')); });
291
- return [3, 22];
292
- case 18:
293
- if (!hasBusinessCRInfoCompleted) return [3, 21];
294
- return [4, API.dataService.getActivitiesIsIc()];
299
+ return [3, 23];
295
300
  case 19:
301
+ if (!hasBusinessCRInfoCompleted) return [3, 22];
302
+ return [4, API.dataService.getActivitiesIsIc()];
303
+ case 20:
296
304
  list = (_k.sent()).list;
297
305
  isicActivityList = list || [];
298
306
  return [4, API.brandService.retrieveBrand(brandID)];
299
- case 20:
307
+ case 21:
300
308
  brandData = _k.sent();
301
309
  sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_ACTIVITIES_STEP')); });
302
- return [3, 22];
303
- case 21:
310
+ return [3, 23];
311
+ case 22:
304
312
  sleep(50).then(function () { return thunkApi.dispatch(handleNextScreenStep('BUSINESS_BUSINESS_TYPE_STEP')); });
305
- _k.label = 22;
306
- case 22: return [2, { data: data, isicActivityList: isicActivityList, formData: __assign(__assign({}, params), { isNID: isNID }), brand: brandData === null || brandData === void 0 ? void 0 : brandData.brand, leadData: leadData }];
313
+ _k.label = 23;
314
+ case 23: return [2, { data: data, verifyNextStepName: data.step_name, isicActivityList: isicActivityList, formData: __assign(__assign({}, params), { isNID: isNID }), brand: brandData === null || brandData === void 0 ? void 0 : brandData.brand, leadData: leadData }];
307
315
  }
308
316
  });
309
317
  }); });
310
318
  export var verifyNafath = createAsyncThunk('business/verifyNafathParams', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
311
- var _a, settings, business, responseBody, expiry, interval, maxCalls, count, data, isSuccess, isFailed;
319
+ var _a, settings, business, responseBody, expiry, interval, maxCalls, count, data, isSuccess, isFailed, isNextScreenDob, screen_1;
312
320
  var _b, _c, _d, _e, _f, _g;
313
321
  return __generator(this, function (_h) {
314
322
  switch (_h.label) {
@@ -332,7 +340,7 @@ export var verifyNafath = createAsyncThunk('business/verifyNafathParams', functi
332
340
  isFailed = ((_c = data.status) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === 'failed';
333
341
  if (isFailed) {
334
342
  (_d = params.onFailure) === null || _d === void 0 ? void 0 : _d.call(params);
335
- return [2, data];
343
+ return [2, { response: data }];
336
344
  }
337
345
  if (!isSuccess) return [3, 5];
338
346
  return [4, thunkApi.dispatch(retrieveEntityList({ leadId: responseBody === null || responseBody === void 0 ? void 0 : responseBody.id }))];
@@ -343,8 +351,10 @@ export var verifyNafath = createAsyncThunk('business/verifyNafathParams', functi
343
351
  return [4, sleep(3000)];
344
352
  case 4:
345
353
  _h.sent();
346
- thunkApi.dispatch(handleNextScreenStep());
347
- return [2, { response: data }];
354
+ isNextScreenDob = data.step_name === COLLECT_DOB_INFO_NAFATH;
355
+ screen_1 = isNextScreenDob ? 'BUSINESS_DOB_STEP' : 'BUSINESS_BUSINESS_TYPE_STEP';
356
+ thunkApi.dispatch(handleNextScreenStep(screen_1));
357
+ return [2, { response: data, isNextScreenDob: isNextScreenDob }];
348
358
  case 5: return [4, sleep(interval * 1000)];
349
359
  case 6:
350
360
  _h.sent();
@@ -473,6 +483,40 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
473
483
  }
474
484
  });
475
485
  }); });
486
+ export var updateLeadDOB = createAsyncThunk('business/updateLeadDOB', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
487
+ var _a, settings, business, stepName, _b, lead_id, verifyNextStepName, requestBody, data;
488
+ var _c, _d, _e, _f;
489
+ return __generator(this, function (_g) {
490
+ switch (_g.label) {
491
+ case 0:
492
+ _a = thunkApi.getState(), settings = _a.settings, business = _a.business;
493
+ stepName = BUSINESS_STEP_NAMES.BUSINESS_DOB_INFO;
494
+ _b = business.data.verify.responseBody || {}, lead_id = _b.lead_id, verifyNextStepName = _b.verifyNextStepName;
495
+ requestBody = {
496
+ id: lead_id || '',
497
+ date_of_birth: params.dob,
498
+ step_name: stepName,
499
+ encryption_contract: ['date_of_birth']
500
+ };
501
+ return [4, API.leadService.updateLead(requestBody)];
502
+ case 1:
503
+ data = _g.sent();
504
+ if (!(verifyNextStepName === COLLECT_DOB_INFO_NAFATH)) return [3, 4];
505
+ return [4, thunkApi.dispatch(retrieveAllEntityList({ businessId: data.business_id, entityId: (_c = data.entity) === null || _c === void 0 ? void 0 : _c.id }))];
506
+ case 2:
507
+ _g.sent();
508
+ if (!isSA((_d = settings.data.businessCountry) === null || _d === void 0 ? void 0 : _d.iso2)) return [3, 4];
509
+ return [4, thunkApi.dispatch(retrieveEntityList({ leadId: data === null || data === void 0 ? void 0 : data.id }))];
510
+ case 3:
511
+ _g.sent();
512
+ _g.label = 4;
513
+ case 4:
514
+ thunkApi.dispatch(handleNextScreenStep());
515
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, requestBody);
516
+ return [2, { data: data, formData: params }];
517
+ }
518
+ });
519
+ }); });
476
520
  export var retrieveEntityList = createAsyncThunk('retrieveEntityList', function (params) { return __awaiter(void 0, void 0, void 0, function () {
477
521
  var data;
478
522
  return __generator(this, function (_a) {
@@ -838,9 +882,13 @@ var initialState = {
838
882
  dob: '',
839
883
  type: ''
840
884
  },
885
+ dobData: {
886
+ dob: ''
887
+ },
841
888
  businessTypeData: {
842
889
  licenseNumber: '',
843
- entityLegalName: ''
890
+ entityLegalName: '',
891
+ isPrevDob: false
844
892
  },
845
893
  activitiesData: {
846
894
  activities: [],
@@ -889,9 +937,9 @@ export var businessSlice = createSlice({
889
937
  var _a, _b, _c, _d, _e;
890
938
  state.error = null;
891
939
  state.customLoading = false;
892
- var _f = action.payload, data = _f.data, boardId = _f.boardId, brandData = _f.brandData, leadData = _f.leadData, token = _f.token, isRequireOTP = _f.isRequireOTP, isicActivityList = _f.isicActivityList;
940
+ var _f = action.payload, data = _f.data, boardId = _f.boardId, brandData = _f.brandData, leadData = _f.leadData, token = _f.token, isRequireOTP = _f.isRequireOTP, isicActivityList = _f.isicActivityList, verifyNextStepName = _f.verifyNextStepName;
893
941
  var responseBody = state.data.verify.responseBody;
894
- state.data.verify.responseBody = __assign(__assign(__assign(__assign(__assign({}, data), leadData), responseBody), { board_id: boardId, lead_id: data === null || data === void 0 ? void 0 : data.id }), (brandData && { brand: brandData }));
942
+ state.data.verify.responseBody = __assign(__assign(__assign(__assign(__assign({}, data), leadData), responseBody), { board_id: boardId, lead_id: data === null || data === void 0 ? void 0 : data.id, verifyNextStepName: verifyNextStepName }), (brandData && { brand: brandData }));
895
943
  var _g = leadData || {}, identification = _g.identification, date_of_birth = _g.date_of_birth;
896
944
  if (identification === null || identification === void 0 ? void 0 : identification.id)
897
945
  state.data.nidData.nid = identification.id;
@@ -935,13 +983,13 @@ export var businessSlice = createSlice({
935
983
  .addCase(resendOTP.fulfilled, function (state, action) {
936
984
  var _a;
937
985
  state.error = null;
938
- var data = action.payload.data;
986
+ var _b = action.payload, data = _b.data, verifyNextStepName = _b.verifyNextStepName;
939
987
  var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
940
988
  if (description) {
941
989
  state.error = description;
942
990
  return;
943
991
  }
944
- state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), data);
992
+ state.data.verify.responseBody = __assign(__assign(__assign({}, state.data.verify.responseBody), data), { verifyNextStepName: verifyNextStepName });
945
993
  })
946
994
  .addCase(resendOTP.rejected, function (state, action) {
947
995
  state.error = action.error.message;
@@ -954,10 +1002,10 @@ export var businessSlice = createSlice({
954
1002
  var _a, _b, _c, _d, _e;
955
1003
  state.loading = false;
956
1004
  state.error = null;
957
- var _f = action.payload, data = _f.data, formData = _f.formData, brand = _f.brand, leadData = _f.leadData, isicActivityList = _f.isicActivityList;
1005
+ var _f = action.payload, data = _f.data, formData = _f.formData, brand = _f.brand, leadData = _f.leadData, isicActivityList = _f.isicActivityList, verifyNextStepName = _f.verifyNextStepName;
958
1006
  state.data.otpData = formData;
959
1007
  state.data.otpData.responseBody = data;
960
- state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, leadData), state.data.verify.responseBody), (brand && { brand: brand })), { flows: (leadData === null || leadData === void 0 ? void 0 : leadData.flows) || [] });
1008
+ state.data.verify.responseBody = __assign(__assign(__assign(__assign(__assign({}, leadData), state.data.verify.responseBody), { verifyNextStepName: verifyNextStepName }), (brand && { brand: brand })), { flows: (leadData === null || leadData === void 0 ? void 0 : leadData.flows) || [] });
961
1009
  var _g = leadData || {}, identification = _g.identification, date_of_birth = _g.date_of_birth;
962
1010
  if (identification === null || identification === void 0 ? void 0 : identification.id)
963
1011
  state.data.nidData.nid = identification.id;
@@ -1056,7 +1104,9 @@ export var businessSlice = createSlice({
1056
1104
  .addCase(verifyNafath.fulfilled, function (state, action) {
1057
1105
  state.loading = false;
1058
1106
  state.error = null;
1059
- state.data.otpData.responseBody = action.payload.response;
1107
+ var _a = action.payload, response = _a.response, isNextScreenDob = _a.isNextScreenDob;
1108
+ state.data.businessTypeData.isPrevDob = isNextScreenDob || false;
1109
+ state.data.otpData.responseBody = response;
1060
1110
  })
1061
1111
  .addCase(verifyNafath.rejected, function (state, action) {
1062
1112
  state.loading = false;
@@ -1064,6 +1114,21 @@ export var businessSlice = createSlice({
1064
1114
  if (error !== 'Aborted') {
1065
1115
  state.error = error;
1066
1116
  }
1117
+ })
1118
+ .addCase(updateLeadDOB.pending, function (state) {
1119
+ state.loading = true;
1120
+ state.error = null;
1121
+ })
1122
+ .addCase(updateLeadDOB.fulfilled, function (state, action) {
1123
+ state.loading = false;
1124
+ state.error = null;
1125
+ var _a = action.payload, data = _a.data, formData = _a.formData;
1126
+ state.data.dobData = formData;
1127
+ state.data.dobData.responseBody = data;
1128
+ })
1129
+ .addCase(updateLeadDOB.rejected, function (state, action) {
1130
+ state.loading = false;
1131
+ state.error = action.error.message;
1067
1132
  })
1068
1133
  .addCase(retrieveEntityList.pending, function (state) {
1069
1134
  state.error = null;
@@ -1,5 +1,5 @@
1
1
  import { RootState } from '../../../app/store';
2
- import { ActionState, AuthForType, CivilFormValues, CountryCode, FlowsTypes, IndividualFormValues, MobileFormValues, NIDFormValues, OTPFormValues, ResponseData, SharedState, BrandFormValues, BrandSegmentFormValues } from '../../../@types';
2
+ import { ActionState, AuthForType, CivilFormValues, CountryCode, FlowsTypes, IndividualFormValues, MobileFormValues, NIDFormValues, OTPFormValues, ResponseData, SharedState, BrandFormValues, BrandSegmentFormValues, DOBFormValues } from '../../../@types';
3
3
  import { CancelToken } from 'axios';
4
4
  export declare const updateBusinessCountry: import("@reduxjs/toolkit").AsyncThunk<any, string, {}>;
5
5
  export declare const createMobileAuth: import("@reduxjs/toolkit").AsyncThunk<{
@@ -41,11 +41,17 @@ export declare const verifyNafath: import("@reduxjs/toolkit").AsyncThunk<{
41
41
  authResponse: any;
42
42
  countryCode: CountryCode;
43
43
  leadResponse?: undefined;
44
+ isNextScreenDob?: undefined;
44
45
  } | {
45
46
  authResponse: any;
46
47
  leadResponse: any;
47
48
  countryCode: CountryCode;
49
+ isNextScreenDob: boolean;
48
50
  }, verifyNafathParams, {}>;
51
+ export declare const updateLeadDOB: import("@reduxjs/toolkit").AsyncThunk<{
52
+ leadResponse: any;
53
+ formData: DOBFormValues;
54
+ }, DOBFormValues, {}>;
49
55
  export declare const updateLeadIndividual: import("@reduxjs/toolkit").AsyncThunk<{
50
56
  leadResponse: any;
51
57
  formData: IndividualFormValues;
@@ -101,7 +107,10 @@ export interface ConnectData {
101
107
  otpData: OTPFormValues & ResponseData & {
102
108
  authFor: AuthForType;
103
109
  };
104
- individualData: IndividualFormValues & ResponseData;
110
+ dobData: DOBFormValues & ResponseData;
111
+ individualData: IndividualFormValues & ResponseData & {
112
+ isPrevDob?: boolean;
113
+ };
105
114
  brandData: BrandFormValues & ResponseData;
106
115
  brandSegmentData: Pick<BrandSegmentFormValues, 'teamSize'> & ResponseData;
107
116
  flowName: FlowsTypes;
@@ -68,7 +68,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
68
68
  var _a;
69
69
  import API from '../../../api';
70
70
  import { handleCurrentActiveScreen, handleNextScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
71
- import { CONNECT_STEP_NAMES, defaultCountry, IDENTIFICATION_TYPE, NAFATH_VERIFICATION_FAILED, OTHER_BRAND } from '../../../constants';
71
+ import { COLLECT_DOB_INFO_NAFATH, CONNECT_STEP_NAMES, defaultCountry, IDENTIFICATION_TYPE, NAFATH_VERIFICATION_FAILED, OTHER_BRAND } from '../../../constants';
72
72
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
73
73
  import { AuthForType, FlowsTypes } from '../../../@types';
74
74
  import { capitalizeTheFirstLetterOfEachWord, concatenateObjectValues, findCountryByIddPrefix, fixBrandList, isTwitter, getIndividualName, isWebsite, sleep, sendCustomEventToGTM, isOtherThanKWOrSA, isKW, findCountryByIso2, getMetaData } from '../../../utils';
@@ -359,7 +359,7 @@ export var verifyPACI = createAsyncThunk('connect/verifyPACI', function (params,
359
359
  });
360
360
  }); });
361
361
  export var verifyNafath = createAsyncThunk('connect/verifyNafath', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
362
- var _a, settings, connect, responseBody, expiry, interval, maxCalls, count, authResponse, isSuccess, isFailed, countryCode, lead_id, leadResponse, channels, brand, err_5, brands, err_6, phone;
362
+ var _a, settings, connect, responseBody, expiry, interval, maxCalls, count, authResponse, isSuccess, isFailed, countryCode, lead_id, leadResponse, channels, brand, err_5, brands, err_6, phone, isNextScreenDob, stepName;
363
363
  var _b, _c, _d, _e, _f, _g, _h;
364
364
  return __generator(this, function (_j) {
365
365
  switch (_j.label) {
@@ -429,8 +429,10 @@ export var verifyNafath = createAsyncThunk('connect/verifyNafath', function (par
429
429
  if (phone === null || phone === void 0 ? void 0 : phone.country_code)
430
430
  countryCode = findCountryByIddPrefix(settings.data.countries, phone.country_code);
431
431
  (_h = (_g = settings.data.appConfig).onStepCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, settings.data.activeScreen.name, {});
432
- thunkApi.dispatch(handleNextScreenStep());
433
- return [2, { authResponse: authResponse, leadResponse: leadResponse, countryCode: countryCode }];
432
+ isNextScreenDob = (authResponse === null || authResponse === void 0 ? void 0 : authResponse.step_name) === COLLECT_DOB_INFO_NAFATH;
433
+ stepName = isNextScreenDob ? 'CONNECT_DOB_STEP' : 'CONNECT_INDIVIDUAL_STEP';
434
+ thunkApi.dispatch(handleNextScreenStep(stepName));
435
+ return [2, { authResponse: authResponse, leadResponse: leadResponse, countryCode: countryCode, isNextScreenDob: isNextScreenDob }];
434
436
  case 13: return [4, sleep(interval * 1000)];
435
437
  case 14:
436
438
  _j.sent();
@@ -442,6 +444,31 @@ export var verifyNafath = createAsyncThunk('connect/verifyNafath', function (par
442
444
  }
443
445
  });
444
446
  }); });
447
+ export var updateLeadDOB = createAsyncThunk('connect/updateLeadDOB', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
448
+ var _a, settings, connect, lead_id, brandData, payload, leadResponse;
449
+ var _b, _c;
450
+ return __generator(this, function (_d) {
451
+ switch (_d.label) {
452
+ case 0:
453
+ _a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
454
+ lead_id = (connect.data.otpData.responseBody || {}).lead_id;
455
+ brandData = (connect.data.brandData.responseBody || {}).brandData;
456
+ payload = {
457
+ id: lead_id || '',
458
+ date_of_birth: params.dob,
459
+ step_name: CONNECT_STEP_NAMES.UPDATE_LEAD_DOB,
460
+ encryption_contract: ['date_of_birth']
461
+ };
462
+ return [4, API.leadService.updateLead(payload)];
463
+ case 1:
464
+ leadResponse = _d.sent();
465
+ leadResponse.brand = __assign(__assign({}, leadResponse.brand), brandData);
466
+ (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, params);
467
+ thunkApi.dispatch(handleNextScreenStep());
468
+ return [2, { leadResponse: leadResponse, formData: params }];
469
+ }
470
+ });
471
+ }); });
445
472
  export var updateLeadIndividual = createAsyncThunk('updateLeadIndividual', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
446
473
  var _a, settings, connect, lead_id, brandData, phoneCountry, payload, leadResponse;
447
474
  var _b, _c, _d, _e, _f;
@@ -743,7 +770,11 @@ var initialState = {
743
770
  otp: '',
744
771
  authFor: AuthForType.MOBILE
745
772
  },
773
+ dobData: {
774
+ dob: ''
775
+ },
746
776
  individualData: {
777
+ isPrevDob: false,
747
778
  name: '',
748
779
  email: '',
749
780
  mobile: '',
@@ -925,7 +956,7 @@ export var connectSlice = createSlice({
925
956
  var _a;
926
957
  state.loading = false;
927
958
  state.error = null;
928
- var _b = action.payload, authResponse = _b.authResponse, leadResponse = _b.leadResponse, countryCode = _b.countryCode;
959
+ var _b = action.payload, authResponse = _b.authResponse, leadResponse = _b.leadResponse, countryCode = _b.countryCode, isNextScreenDob = _b.isNextScreenDob;
929
960
  var _c = leadResponse || {}, name = _c.name, contact = _c.contact, brand = _c.brand, brand_list = _c.brand_list, channel_list = _c.channel_list, is_new_individual = _c.is_new_individual, id = _c.id;
930
961
  var _d = contact || {}, email = _d.email, phone = _d.phone;
931
962
  var fullName = concatenateObjectValues(name, ['first', 'middle', 'last']);
@@ -941,6 +972,7 @@ export var connectSlice = createSlice({
941
972
  state.data.individualData.countryCode = countryCode;
942
973
  if ((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en)
943
974
  state.data.brandData.brandName = brand.name.en;
975
+ state.data.individualData.isPrevDob = isNextScreenDob || false;
944
976
  var brandList = [];
945
977
  if ((brand_list === null || brand_list === void 0 ? void 0 : brand_list.length) > 0) {
946
978
  var isBrandExist = brand_list.find(function (item) { return item.id === (brand === null || brand === void 0 ? void 0 : brand.id); });
@@ -1007,6 +1039,21 @@ export var connectSlice = createSlice({
1007
1039
  .addCase(verifyAuth.rejected, function (state, action) {
1008
1040
  state.loading = false;
1009
1041
  state.error = action.error.message;
1042
+ })
1043
+ .addCase(updateLeadDOB.fulfilled, function (state, action) {
1044
+ state.loading = false;
1045
+ state.error = null;
1046
+ var _a = action.payload, formData = _a.formData, leadResponse = _a.leadResponse;
1047
+ state.data.dobData = formData;
1048
+ state.data.dobData.responseBody = leadResponse;
1049
+ })
1050
+ .addCase(updateLeadDOB.pending, function (state) {
1051
+ state.loading = true;
1052
+ state.error = null;
1053
+ })
1054
+ .addCase(updateLeadDOB.rejected, function (state, action) {
1055
+ state.loading = false;
1056
+ state.error = action.error.message;
1010
1057
  })
1011
1058
  .addCase(updateLeadIndividual.fulfilled, function (state, action) {
1012
1059
  var _a, _b, _c;
@@ -1,5 +1,5 @@
1
1
  import { RootState } from '../../../app/store';
2
- import { MobileFormValues, NIDFormValues, CivilFormValues, OTPFormValues, IndividualFormValues, SharedState, FlowsTypes, ActionState, CountryCode, AuthForType, BusinessDataFormValues, AsyncThunkParams, AuthenticationListFormValues, AuthMerchantFormValues } from '../../../@types';
2
+ import { MobileFormValues, NIDFormValues, CivilFormValues, OTPFormValues, IndividualFormValues, SharedState, FlowsTypes, ActionState, CountryCode, AuthForType, BusinessDataFormValues, AsyncThunkParams, AuthenticationListFormValues, AuthMerchantFormValues, DOBFormValues } from '../../../@types';
3
3
  import { CancelToken } from 'axios';
4
4
  export declare const updateBusinessCountryAsync: import("@reduxjs/toolkit").AsyncThunk<any, string, {}>;
5
5
  export declare const retrieveLeadIdentityByIdAsync: import("@reduxjs/toolkit").AsyncThunk<{
@@ -46,7 +46,13 @@ export declare const createNafathAuth: import("@reduxjs/toolkit").AsyncThunk<{
46
46
  termAndConditionChecked?: boolean | undefined;
47
47
  };
48
48
  }, NIDFormValues, {}>;
49
- export declare const verifyNafathAsync: import("@reduxjs/toolkit").AsyncThunk<any, verifyPACIAsyncParams, {}>;
49
+ export declare const verifyNafathAsync: import("@reduxjs/toolkit").AsyncThunk<{
50
+ data: any;
51
+ isNextScreenIsDob?: undefined;
52
+ } | {
53
+ data: any;
54
+ isNextScreenIsDob: boolean;
55
+ }, verifyPACIAsyncParams, {}>;
50
56
  export declare const createCivilIdAuthAsync: import("@reduxjs/toolkit").AsyncThunk<{
51
57
  response: any;
52
58
  formData: CivilFormValues;
@@ -65,7 +71,13 @@ export declare const createNIDNafathAuthIdentityAsync: import("@reduxjs/toolkit"
65
71
  };
66
72
  formData: NIDFormValues;
67
73
  }, NIDFormValues, {}>;
68
- export declare const verifyNafathIdentityAsync: import("@reduxjs/toolkit").AsyncThunk<any, verifyPACIAsyncParams, {}>;
74
+ export declare const verifyNafathIdentityAsync: import("@reduxjs/toolkit").AsyncThunk<{
75
+ data: any;
76
+ isNextScreenIsDob?: undefined;
77
+ } | {
78
+ data: any;
79
+ isNextScreenIsDob: boolean;
80
+ }, verifyPACIAsyncParams, {}>;
69
81
  export declare const verifyPaciLeadIdentityAsync: import("@reduxjs/toolkit").AsyncThunk<any, verifyPACIAsyncParams, {}>;
70
82
  export declare const checkEmailAvailabilityAsync: import("@reduxjs/toolkit").AsyncThunk<{
71
83
  response: any;
@@ -102,6 +114,10 @@ interface verifyPACIAsyncParams {
102
114
  onSuccess: () => void;
103
115
  onFailure?: () => void;
104
116
  }
117
+ export declare const updateLeadDOBAsync: import("@reduxjs/toolkit").AsyncThunk<{
118
+ response: any;
119
+ formData: DOBFormValues;
120
+ }, DOBFormValues, {}>;
105
121
  export declare const updateLeadIndividualAsync: import("@reduxjs/toolkit").AsyncThunk<{
106
122
  response: any;
107
123
  formData: IndividualFormValues;
@@ -127,9 +143,12 @@ export interface ConnectExpressData {
127
143
  otpData: OTPFormValues & {
128
144
  authFor: AuthForType;
129
145
  };
146
+ dobData: DOBFormValues & ResponseData;
130
147
  flowName: FlowsTypes;
131
148
  leadId?: string;
132
- individualData: IndividualFormValues;
149
+ individualData: IndividualFormValues & {
150
+ isPrevDob?: boolean;
151
+ };
133
152
  businessData: BusinessDataFormValues;
134
153
  authenticationData: AuthenticationListFormValues;
135
154
  authMerchantData: AuthMerchantFormValues;