@tap-payments/auth-jsconnect 2.0.32-test → 2.0.32

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 (280) hide show
  1. package/build/@types/app.d.ts +57 -20
  2. package/build/@types/app.js +14 -1
  3. package/build/@types/form.d.ts +17 -10
  4. package/build/api/auth.d.ts +24 -2
  5. package/build/api/auth.js +36 -1
  6. package/build/api/axios.js +2 -2
  7. package/build/api/brand.d.ts +2 -1
  8. package/build/api/brand.js +10 -1
  9. package/build/api/country.d.ts +3 -1
  10. package/build/api/country.js +3 -1
  11. package/build/api/data.d.ts +38 -7
  12. package/build/api/data.js +57 -17
  13. package/build/api/entity.d.ts +28 -5
  14. package/build/api/entity.js +23 -9
  15. package/build/api/firebase.d.ts +1 -1
  16. package/build/api/firebase.js +3 -1
  17. package/build/api/index.d.ts +41 -14
  18. package/build/api/individual.d.ts +76 -19
  19. package/build/api/individual.js +29 -2
  20. package/build/api/lead.d.ts +8 -6
  21. package/build/app/rootReducer.d.ts +1 -1
  22. package/build/app/rootReducer.js +2 -2
  23. package/build/app/settings.d.ts +8 -2
  24. package/build/app/settings.js +29 -12
  25. package/build/app/store.d.ts +3 -3
  26. package/build/assets/locales/ar.json +256 -179
  27. package/build/assets/locales/en.json +188 -104
  28. package/build/components/AnimationFlow/AnimationFlow.d.ts +5 -1
  29. package/build/components/AnimationFlow/AnimationFlow.js +6 -8
  30. package/build/components/AnimationFlow/BottomSheet.d.ts +2 -1
  31. package/build/components/AnimationFlow/BottomSheet.js +4 -3
  32. package/build/components/AnimationFlow/Dialog.d.ts +5 -1
  33. package/build/components/AnimationFlow/Dialog.js +11 -5
  34. package/build/components/ArabicDatePicker/ArabicDatePicker.d.ts +13 -0
  35. package/build/components/ArabicDatePicker/ArabicDatePicker.js +94 -0
  36. package/build/components/ArabicDatePicker/index.d.ts +2 -0
  37. package/build/components/ArabicDatePicker/index.js +2 -0
  38. package/build/components/ArabicDatePicker/style.css +24 -0
  39. package/build/components/FileInput/DragAndDrop.d.ts +10 -1
  40. package/build/components/FileInput/DragAndDrop.js +107 -8
  41. package/build/components/Lottie/Lottie.d.ts +878 -0
  42. package/build/components/Lottie/Lottie.js +58 -0
  43. package/build/components/Lottie/files/pulsating_circle_waves.json +236 -0
  44. package/build/components/Lottie/files/success.json +425 -0
  45. package/build/components/Lottie/index.d.ts +3 -0
  46. package/build/components/Lottie/index.js +3 -0
  47. package/build/components/OTPField/OTPField.d.ts +2 -1
  48. package/build/components/OTPField/OTPField.js +2 -2
  49. package/build/components/OTPTimer/OTPTimer.js +1 -1
  50. package/build/components/ProgressBar/CircularProgressBar.d.ts +14 -0
  51. package/build/components/ProgressBar/CircularProgressBar.js +48 -0
  52. package/build/components/ProgressBar/index.d.ts +2 -0
  53. package/build/components/ProgressBar/index.js +2 -0
  54. package/build/components/RadioLabel/RadioLabel.d.ts +2 -1
  55. package/build/components/RadioLabel/RadioLabel.js +2 -2
  56. package/build/components/SocialMediaGroup/SocialMediaGroup.d.ts +1 -4
  57. package/build/components/SocialMediaGroup/SocialMediaGroup.js +3 -55
  58. package/build/constants/api.d.ts +6 -0
  59. package/build/constants/api.js +14 -1
  60. package/build/constants/app.d.ts +7 -5
  61. package/build/constants/app.js +55 -22
  62. package/build/constants/assets.d.ts +20 -1
  63. package/build/constants/assets.js +27 -8
  64. package/build/constants/dummy.d.ts +1 -1
  65. package/build/constants/dummy.js +2 -2
  66. package/build/constants/validation.d.ts +8 -0
  67. package/build/constants/validation.js +9 -1
  68. package/build/features/app/auth/authStore.d.ts +47 -0
  69. package/build/features/app/auth/authStore.js +265 -0
  70. package/build/features/app/bank/bankStore.d.ts +16 -0
  71. package/build/features/app/bank/bankStore.js +81 -37
  72. package/build/features/app/business/businessStore.d.ts +22 -3
  73. package/build/features/app/business/businessStore.js +430 -290
  74. package/build/features/app/connect/connectStore.d.ts +33 -30
  75. package/build/features/app/connect/connectStore.js +398 -258
  76. package/build/features/app/entity/entityStore.d.ts +5 -0
  77. package/build/features/app/entity/entityStore.js +153 -14
  78. package/build/features/app/individual/individualStore.d.ts +17 -0
  79. package/build/features/app/individual/individualStore.js +167 -83
  80. package/build/features/app/password/passwordStore.js +1 -1
  81. package/build/features/app/tax/taxStore.js +3 -2
  82. package/build/features/auth/Auth.d.ts +10 -0
  83. package/build/features/auth/Auth.js +87 -0
  84. package/build/features/auth/index.d.ts +1 -0
  85. package/build/features/auth/index.js +1 -0
  86. package/build/features/auth/screens/NID/DOB.d.ts +7 -0
  87. package/build/features/auth/screens/NID/DOB.js +47 -0
  88. package/build/features/auth/screens/NID/IDNumber.d.ts +3 -0
  89. package/build/features/auth/screens/NID/IDNumber.js +64 -0
  90. package/build/features/auth/screens/NID/NID.d.ts +5 -0
  91. package/build/features/auth/screens/NID/NID.js +67 -0
  92. package/build/features/auth/screens/NID/TAC.d.ts +3 -0
  93. package/build/features/auth/screens/NID/TAC.js +87 -0
  94. package/build/features/auth/screens/NID/index.d.ts +3 -0
  95. package/build/features/auth/screens/NID/index.js +2 -0
  96. package/build/features/auth/screens/NID/validation.d.ts +27 -0
  97. package/build/features/auth/screens/NID/validation.js +19 -0
  98. package/build/features/auth/screens/OTP/OTP.d.ts +5 -0
  99. package/build/features/auth/screens/OTP/OTP.js +76 -0
  100. package/build/features/{otp/screens/OTPVerify/Verify.d.ts → auth/screens/OTP/OTPInput.d.ts} +0 -0
  101. package/build/features/{otp/screens/OTPVerify → auth/screens/OTP}/OTPInput.js +11 -7
  102. package/build/features/auth/screens/OTP/index.d.ts +3 -0
  103. package/build/features/auth/screens/OTP/index.js +2 -0
  104. package/build/features/{otp/screens/OTPVerify → auth/screens/OTP}/validation.d.ts +0 -0
  105. package/build/features/{otp/screens/OTPVerify → auth/screens/OTP}/validation.js +0 -0
  106. package/build/features/bank/Bank.js +12 -6
  107. package/build/features/bank/screens/BankDetails/BankDetails.js +2 -2
  108. package/build/features/bank/screens/BankDetails/BankStatement.js +41 -8
  109. package/build/features/bank/screens/BankDetails/Beneficiary.js +10 -11
  110. package/build/features/bank/screens/BankDetails/validation.js +2 -2
  111. package/build/features/bank/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +12 -8
  112. package/build/features/business/Business.d.ts +1 -1
  113. package/build/features/business/Business.js +14 -7
  114. package/build/features/business/screens/Activities/Activities.js +1 -6
  115. package/build/features/business/screens/Activities/ActivitiesList.d.ts +37 -1
  116. package/build/features/business/screens/Activities/ActivitiesList.js +51 -12
  117. package/build/features/business/screens/Activities/OperationStartDate.d.ts +15 -1
  118. package/build/features/business/screens/Activities/OperationStartDate.js +21 -2
  119. package/build/features/business/screens/Activities/validation.d.ts +0 -51
  120. package/build/features/business/screens/Activities/validation.js +0 -9
  121. package/build/features/business/screens/BusinessType/BusinessType.js +20 -7
  122. package/build/features/business/screens/BusinessType/EntityName.d.ts +6 -0
  123. package/build/features/business/screens/BusinessType/EntityName.js +56 -0
  124. package/build/features/business/screens/BusinessType/LicenseCertificate.d.ts +6 -0
  125. package/build/features/business/screens/BusinessType/LicenseCertificate.js +76 -0
  126. package/build/features/business/screens/BusinessType/LicenseList.js +24 -7
  127. package/build/features/business/screens/BusinessType/LicenseNumber.js +14 -8
  128. package/build/features/business/screens/BusinessType/LicenseType.d.ts +6 -0
  129. package/build/features/business/screens/BusinessType/LicenseType.js +67 -0
  130. package/build/features/business/screens/BusinessType/validation.d.ts +19 -0
  131. package/build/features/business/screens/BusinessType/validation.js +50 -1
  132. package/build/features/business/screens/CivilID/CivilID.d.ts +5 -0
  133. package/build/features/business/screens/CivilID/CivilID.js +84 -0
  134. package/build/features/business/screens/CivilID/IDNumber.d.ts +7 -0
  135. package/build/features/business/screens/CivilID/IDNumber.js +59 -0
  136. package/build/features/business/screens/CivilID/index.d.ts +3 -0
  137. package/build/features/business/screens/CivilID/index.js +2 -0
  138. package/build/features/business/screens/CivilID/validation.d.ts +8 -0
  139. package/build/features/business/screens/CivilID/validation.js +4 -0
  140. package/build/features/business/screens/Customers/CustomerLocations.d.ts +15 -2
  141. package/build/features/business/screens/Customers/CustomerLocations.js +32 -8
  142. package/build/features/business/screens/Customers/ExpectedCustomers.js +16 -4
  143. package/build/features/business/screens/Customers/ExpectedSalesRange.js +32 -14
  144. package/build/features/business/screens/Customers/RefundPolicy.js +8 -2
  145. package/build/features/business/screens/Customers/TransactionPolicy.js +8 -2
  146. package/build/features/business/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +10 -7
  147. package/build/features/business/screens/Verify/Verify.js +4 -4
  148. package/build/features/business/screens/VerifyPACI/VerifyPACI.d.ts +5 -0
  149. package/build/features/business/screens/VerifyPACI/VerifyPACI.js +157 -0
  150. package/build/features/business/screens/VerifyPACI/VerifyPACILoading.d.ts +5 -0
  151. package/build/features/business/screens/VerifyPACI/VerifyPACILoading.js +22 -0
  152. package/build/features/business/screens/VerifyPACI/VerifyPACISuccess.d.ts +5 -0
  153. package/build/features/business/screens/VerifyPACI/VerifyPACISuccess.js +8 -0
  154. package/build/features/business/screens/VerifyPACI/index.d.ts +3 -0
  155. package/build/features/business/screens/VerifyPACI/index.js +2 -0
  156. package/build/features/connect/Connect.d.ts +2 -1
  157. package/build/features/connect/Connect.js +47 -12
  158. package/build/features/connect/screens/CivilID/CivilID.d.ts +5 -0
  159. package/build/features/connect/screens/CivilID/CivilID.js +98 -0
  160. package/build/features/connect/screens/CivilID/IDNumber.d.ts +7 -0
  161. package/build/features/connect/screens/CivilID/IDNumber.js +59 -0
  162. package/build/features/connect/screens/CivilID/index.d.ts +3 -0
  163. package/build/features/connect/screens/CivilID/index.js +2 -0
  164. package/build/features/connect/screens/CivilID/validation.d.ts +8 -0
  165. package/build/features/connect/screens/CivilID/validation.js +4 -0
  166. package/build/features/connect/screens/Individual/Email.js +11 -3
  167. package/build/features/connect/screens/Individual/Individual.js +27 -14
  168. package/build/features/connect/screens/Merchant/BrandList.js +15 -7
  169. package/build/features/connect/screens/Merchant/BrandName.js +7 -4
  170. package/build/features/connect/screens/Merchant/Merchant.js +47 -50
  171. package/build/features/connect/screens/Merchant/SalesChannels.d.ts +7 -0
  172. package/build/features/connect/screens/Merchant/SalesChannels.js +113 -0
  173. package/build/features/connect/screens/Merchant/SocialMedia.d.ts +1 -4
  174. package/build/features/connect/screens/Merchant/SocialMedia.js +131 -66
  175. package/build/features/connect/screens/Merchant/TAC.js +8 -2
  176. package/build/features/connect/screens/Merchant/validation.d.ts +22 -45
  177. package/build/features/connect/screens/Merchant/validation.js +117 -116
  178. package/build/features/connect/screens/Mobile/Mobile.js +31 -10
  179. package/build/features/connect/screens/NID/NID.js +2 -1
  180. package/build/features/connect/screens/OTP/OTP.js +5 -4
  181. package/build/features/connect/screens/OTP/OTPInput.js +3 -2
  182. package/build/features/connect/screens/VerifyPACI/VerifyPACI.d.ts +5 -0
  183. package/build/features/connect/screens/VerifyPACI/VerifyPACI.js +159 -0
  184. package/build/features/connect/screens/VerifyPACI/VerifyPACILoading.d.ts +5 -0
  185. package/build/features/connect/screens/VerifyPACI/VerifyPACILoading.js +22 -0
  186. package/build/features/connect/screens/VerifyPACI/VerifyPACISuccess.d.ts +5 -0
  187. package/build/features/connect/screens/VerifyPACI/VerifyPACISuccess.js +8 -0
  188. package/build/features/connect/screens/VerifyPACI/index.d.ts +3 -0
  189. package/build/features/connect/screens/VerifyPACI/index.js +2 -0
  190. package/build/features/entity/Entity.d.ts +1 -1
  191. package/build/features/entity/Entity.js +16 -9
  192. package/build/features/entity/screens/EntityInfoConfirm/ActivitiesList.d.ts +54 -0
  193. package/build/features/entity/screens/EntityInfoConfirm/ActivitiesList.js +140 -0
  194. package/build/features/entity/screens/EntityInfoConfirm/EntityInfo.js +52 -2
  195. package/build/features/entity/screens/EntityInfoConfirm/LicenseName.d.ts +5 -0
  196. package/build/features/entity/screens/EntityInfoConfirm/LicenseName.js +17 -0
  197. package/build/features/entity/screens/EntityInfoConfirm/LicenseNumber.d.ts +5 -0
  198. package/build/features/entity/screens/EntityInfoConfirm/LicenseNumber.js +28 -0
  199. package/build/features/entity/screens/EntityInfoConfirm/OperationStartDate.d.ts +6 -0
  200. package/build/features/entity/screens/EntityInfoConfirm/OperationStartDate.js +38 -0
  201. package/build/features/{business/screens/Activities → entity/screens/EntityInfoConfirm}/SalesChannels.d.ts +0 -0
  202. package/build/features/{business/screens/Activities → entity/screens/EntityInfoConfirm}/SalesChannels.js +8 -5
  203. package/build/features/entity/screens/EntityInfoConfirm/validation.d.ts +107 -0
  204. package/build/features/entity/screens/EntityInfoConfirm/validation.js +17 -0
  205. package/build/features/entity/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +6 -5
  206. package/build/features/featuresScreens.d.ts +1 -1
  207. package/build/features/featuresScreens.js +31 -6
  208. package/build/features/individual/Individual.d.ts +1 -1
  209. package/build/features/individual/Individual.js +14 -7
  210. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +1 -1
  211. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +15 -3
  212. package/build/features/individual/screens/AdditionalIndividualInfo/Occupation.js +11 -3
  213. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.js +2 -2
  214. package/build/features/individual/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +12 -8
  215. package/build/features/individual/screens/Verify/Verify.js +4 -4
  216. package/build/features/password/Password.d.ts +1 -1
  217. package/build/features/password/Password.js +14 -7
  218. package/build/features/password/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +12 -9
  219. package/build/features/shared/Background/Background.d.ts +6 -5
  220. package/build/features/shared/Background/Background.js +16 -5
  221. package/build/features/shared/Button/EmailProvidersButtons.d.ts +2 -1
  222. package/build/features/shared/Button/EmailProvidersButtons.js +7 -2
  223. package/build/features/shared/Button/MobileButton.d.ts +2 -1
  224. package/build/features/shared/Button/MobileButton.js +2 -2
  225. package/build/features/shared/Dialog/CloseDialog.d.ts +11 -0
  226. package/build/features/shared/Dialog/CloseDialog.js +71 -0
  227. package/build/features/shared/Dialog/DialogContainer.d.ts +8 -0
  228. package/build/features/shared/Dialog/DialogContainer.js +56 -0
  229. package/build/features/shared/Dialog/index.d.ts +4 -0
  230. package/build/features/shared/Dialog/index.js +4 -0
  231. package/build/features/shared/Input/Input.d.ts +1 -1
  232. package/build/features/shared/Input/Input.js +2 -2
  233. package/build/features/shared/SuccessScreen/SuccessScreen.js +1 -1
  234. package/build/features/shared/UploadFile/UploadFile.d.ts +9 -3
  235. package/build/features/shared/UploadFile/UploadFile.js +23 -8
  236. package/build/features/signIn/SignIn.d.ts +1 -1
  237. package/build/features/signIn/SignIn.js +14 -6
  238. package/build/features/tax/Tax.d.ts +1 -1
  239. package/build/features/tax/Tax.js +16 -8
  240. package/build/features/tax/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +11 -7
  241. package/build/hooks/index.d.ts +1 -0
  242. package/build/hooks/index.js +1 -0
  243. package/build/hooks/useAppConfig.d.ts +3 -1
  244. package/build/hooks/useAppConfig.js +4 -2
  245. package/build/hooks/useAppDispatch.d.ts +1 -1
  246. package/build/hooks/useErrorListener.js +0 -5
  247. package/build/hooks/useScreen.d.ts +3 -0
  248. package/build/hooks/useScreen.js +14 -0
  249. package/build/index.d.ts +3 -3
  250. package/build/index.js +5 -5
  251. package/build/utils/array.d.ts +13 -1
  252. package/build/utils/array.js +26 -0
  253. package/build/utils/common.d.ts +1 -0
  254. package/build/utils/common.js +3 -0
  255. package/build/utils/device.d.ts +1 -0
  256. package/build/utils/device.js +13 -0
  257. package/build/utils/html.d.ts +1 -0
  258. package/build/utils/html.js +6 -0
  259. package/build/utils/index.d.ts +1 -0
  260. package/build/utils/index.js +1 -0
  261. package/build/utils/locale.js +1 -1
  262. package/build/utils/object.d.ts +1 -0
  263. package/build/utils/object.js +12 -0
  264. package/build/utils/rsa.d.ts +2 -2
  265. package/build/utils/rsa.js +1 -1
  266. package/build/utils/string.d.ts +33 -20
  267. package/build/utils/string.js +71 -1
  268. package/build/utils/validation.d.ts +2 -0
  269. package/build/utils/validation.js +6 -0
  270. package/package.json +129 -128
  271. package/build/features/app/otp/otpStore.d.ts +0 -28
  272. package/build/features/app/otp/otpStore.js +0 -153
  273. package/build/features/otp/OTP.d.ts +0 -7
  274. package/build/features/otp/OTP.js +0 -55
  275. package/build/features/otp/index.d.ts +0 -0
  276. package/build/features/otp/index.js +0 -1
  277. package/build/features/otp/screens/OTPVerify/OTPInput.d.ts +0 -6
  278. package/build/features/otp/screens/OTPVerify/Verify.js +0 -50
  279. package/build/features/otp/screens/OTPVerify/index.d.ts +0 -2
  280. package/build/features/otp/screens/OTPVerify/index.js +0 -2
@@ -45,23 +45,25 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
- if (ar || !(i in from)) {
51
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
- ar[i] = from[i];
48
+ var __rest = (this && this.__rest) || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
53
56
  }
54
- }
55
- return to.concat(ar || Array.prototype.slice.call(from));
57
+ return t;
56
58
  };
57
59
  var _a;
58
60
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
59
61
  import { handleNextScreenStep } from '../../../app/settings';
60
- import { FlowsTypes } from '../../../@types';
62
+ import { FlowsTypes, AuthForType } from '../../../@types';
61
63
  import API from '../../../api';
62
- import { CONNECT_STEP_NAMES, IDENTIFICATION_TYPE, INSTAGRAM_URL, OTHER_BRAND, TWITTER_URL } from '../../../constants';
64
+ import { CONNECT_STEP_NAMES, IDENTIFICATION_TYPE, OTHER_BRAND } from '../../../constants';
63
65
  import { defaultCountry } from '../../../constants';
64
- import { getIndividualName, capitalizeTheFirstLetterOfEachWord, getEighteenYearsAgo } from '../../../utils';
66
+ import { getIndividualName, capitalizeTheFirstLetterOfEachWord, getEighteenYearsAgo, sleep, findCountryByIddPrefix, concatenateObjectValues, isTwitter, isWebsite } from '../../../utils';
65
67
  export var createMobileAuth = createAsyncThunk('createMobileAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
66
68
  var settings, requestBody, data;
67
69
  var _a, _b;
@@ -76,6 +78,7 @@ export var createMobileAuth = createAsyncThunk('createMobileAuth', function (par
76
78
  code: params.countryCode.idd_prefix.toString()
77
79
  },
78
80
  sign_in: false,
81
+ is_lead: true,
79
82
  step_name: CONNECT_STEP_NAMES.CREATE_AUTH_MOBILE,
80
83
  encryption_contract: ['user_credentail.phone', 'user_credentail.code']
81
84
  };
@@ -90,6 +93,35 @@ export var createMobileAuth = createAsyncThunk('createMobileAuth', function (par
90
93
  }
91
94
  });
92
95
  }); });
96
+ export var createCivilIdAuth = createAsyncThunk('createCivilIdAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
97
+ var settings, requestBody, data;
98
+ var _a, _b;
99
+ return __generator(this, function (_c) {
100
+ switch (_c.label) {
101
+ case 0:
102
+ settings = thunkApi.getState().settings;
103
+ requestBody = {
104
+ lang: settings.data.language,
105
+ user_credentail: {
106
+ identification_id: params.civilId,
107
+ country_code: 'KW'
108
+ },
109
+ sign_in: false,
110
+ is_lead: true,
111
+ step_name: CONNECT_STEP_NAMES.CREATE_AUTH_CIVIL_ID,
112
+ encryption_contract: ['user_credentail.identification_id']
113
+ };
114
+ return [4, API.authService.createAuth(requestBody)];
115
+ case 1:
116
+ data = (_c.sent()).data;
117
+ if (!data.errors) {
118
+ thunkApi.dispatch(handleNextScreenStep());
119
+ (_b = (_a = settings.data.appConfig).onStepCompleted) === null || _b === void 0 ? void 0 : _b.call(_a, settings.data.activeScreen.name, requestBody.user_credentail);
120
+ }
121
+ return [2, { response: data, formData: params }];
122
+ }
123
+ });
124
+ }); });
93
125
  export var resendOTPMobile = createAsyncThunk('resendOTPMobile', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
94
126
  var _a, settings, connect, _b, mobile, countryCode, requestBody, data;
95
127
  return __generator(this, function (_c) {
@@ -104,6 +136,7 @@ export var resendOTPMobile = createAsyncThunk('resendOTPMobile', function (param
104
136
  code: countryCode.idd_prefix.toString()
105
137
  },
106
138
  sign_in: false,
139
+ is_lead: true,
107
140
  step_name: CONNECT_STEP_NAMES.CREATE_AUTH_MOBILE,
108
141
  encryption_contract: ['user_credentail.phone', 'user_credentail.code']
109
142
  };
@@ -131,6 +164,7 @@ export var createNIDAuth = createAsyncThunk('createNIDAuth', function (params, t
131
164
  country_code: settings.data.businessCountry.iso2
132
165
  },
133
166
  sign_in: false,
167
+ is_lead: true,
134
168
  step_name: CONNECT_STEP_NAMES.CREATE_AUTH_NID,
135
169
  encryption_contract: [
136
170
  'user_credentail.country_code',
@@ -166,6 +200,7 @@ export var resendOTPNID = createAsyncThunk('resendOTPNID', function (params, thu
166
200
  country_code: settings.data.businessCountry.iso2
167
201
  },
168
202
  sign_in: false,
203
+ is_lead: true,
169
204
  step_name: CONNECT_STEP_NAMES.CREATE_AUTH_NID,
170
205
  encryption_contract: [
171
206
  'user_credentail.country_code',
@@ -181,191 +216,283 @@ export var resendOTPNID = createAsyncThunk('resendOTPNID', function (params, thu
181
216
  }
182
217
  });
183
218
  }); });
184
- export var verifyAuth = createAsyncThunk('verifyAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
185
- var _a, connect, settings, isAbsher, _b, mobileData, nidData, responseBody, payload, data, params_1, params_2;
186
- var _c, _d;
187
- return __generator(this, function (_e) {
188
- switch (_e.label) {
219
+ export var verifyAuth = createAsyncThunk('connect/verifyAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
220
+ var _a, connect, settings, startWithNID, _b, mobileData, nidData, responseBody, stepName, payload, data, lead_id, individual_id, leadBody, leadResponse, _c, isNewUser, brands, err_1, channels, countryCode, contact, name, _d, phone, email, userInfoMissed;
221
+ var _e, _f, _g, _h;
222
+ return __generator(this, function (_j) {
223
+ switch (_j.label) {
189
224
  case 0:
190
225
  _a = thunkApi.getState(), connect = _a.connect, settings = _a.settings;
191
- isAbsher = connect.data.otpData.isAbsher;
226
+ startWithNID = connect.data.otpData.authFor === AuthForType.NATIONAL_ID;
192
227
  _b = connect.data, mobileData = _b.mobileData, nidData = _b.nidData;
193
- responseBody = (isAbsher ? nidData : mobileData).responseBody;
228
+ responseBody = (startWithNID ? nidData : mobileData).responseBody;
229
+ stepName = startWithNID ? CONNECT_STEP_NAMES.VERIFY_AUTH_NID : CONNECT_STEP_NAMES.VERIFY_AUTH_MOBILE;
194
230
  payload = {
195
231
  data: params.otp,
196
232
  auth_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_token,
197
233
  auth_type: responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_type,
198
234
  device_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.device_token,
199
235
  service_name: responseBody === null || responseBody === void 0 ? void 0 : responseBody.service_name,
200
- new_user: responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user,
201
236
  sign_in: responseBody === null || responseBody === void 0 ? void 0 : responseBody.sign_in,
202
237
  remember_me: responseBody === null || responseBody === void 0 ? void 0 : responseBody.remember_me,
203
238
  scopes: responseBody === null || responseBody === void 0 ? void 0 : responseBody.scopes,
204
- step_name: isAbsher ? CONNECT_STEP_NAMES.VERIFY_AUTH_NID : CONNECT_STEP_NAMES.VERIFY_AUTH_MOBILE,
239
+ step_name: stepName,
205
240
  encryption_contract: ['data']
206
241
  };
207
242
  return [4, API.authService.verifyAuth(payload)];
208
243
  case 1:
209
- data = (_e.sent()).data;
210
- if (!!data.errors) return [3, 4];
211
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, { otp: params.otp });
212
- if (!(responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user)) return [3, 2];
213
- params_1 = {
214
- leadId: data === null || data === void 0 ? void 0 : data.lead_id,
215
- stepName: 'CONNECT_INDIVIDUAL_STEP'
244
+ data = (_j.sent()).data;
245
+ if ((_e = data.errors) === null || _e === void 0 ? void 0 : _e.length)
246
+ throw new Error(data.errors[0].description);
247
+ lead_id = data.lead_id, individual_id = data.individual_id;
248
+ leadBody = {
249
+ country_code: settings.data.businessCountry.iso2,
250
+ individual_id: individual_id
216
251
  };
217
- thunkApi.dispatch(retrieveLead(params_1));
218
- return [3, 4];
219
- case 2: return [4, thunkApi.dispatch(retrieveBrandList(data === null || data === void 0 ? void 0 : data.individual_id))];
220
- case 3:
221
- _e.sent();
222
- if (!(data === null || data === void 0 ? void 0 : data.lead_id)) {
223
- params_2 = {
224
- individualId: data === null || data === void 0 ? void 0 : data.individual_id,
225
- stepName: 'CONNECT_MERCHANT_INFO_STEP'
226
- };
227
- thunkApi.dispatch(createLead(params_2));
228
- }
229
- else {
230
- thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
252
+ if (!lead_id) return [3, 3];
253
+ return [4, API.leadService.retrieveLead(lead_id)];
254
+ case 2:
255
+ _c = _j.sent();
256
+ return [3, 5];
257
+ case 3: return [4, API.leadService.createLead(leadBody)];
258
+ case 4:
259
+ _c = _j.sent();
260
+ _j.label = 5;
261
+ case 5:
262
+ leadResponse = (_c).data;
263
+ if ((_f = leadResponse.errors) === null || _f === void 0 ? void 0 : _f.length)
264
+ throw new Error(leadResponse.errors[0].description);
265
+ isNewUser = leadResponse.is_new_individual;
266
+ if (!!isNewUser) return [3, 11];
267
+ _j.label = 6;
268
+ case 6:
269
+ _j.trys.push([6, 8, , 9]);
270
+ return [4, API.brandService.getBrandList({ individual_id: leadResponse.individual_id })];
271
+ case 7:
272
+ brands = (_j.sent()).brands;
273
+ leadResponse.brand_list = brands;
274
+ return [3, 9];
275
+ case 8:
276
+ err_1 = _j.sent();
277
+ return [3, 9];
278
+ case 9: return [4, API.dataService.getChannelsOfServices({ page: 0 })];
279
+ case 10:
280
+ channels = (_j.sent()).list;
281
+ leadResponse.channel_list = channels;
282
+ _j.label = 11;
283
+ case 11:
284
+ countryCode = settings.data.businessCountry;
285
+ contact = leadResponse.contact, name = leadResponse.name;
286
+ _d = contact || {}, phone = _d.phone, email = _d.email;
287
+ userInfoMissed = (!phone || !email || !name) && !isNewUser;
288
+ if (phone === null || phone === void 0 ? void 0 : phone.country_code)
289
+ countryCode = findCountryByIddPrefix(settings.data.countries, phone.country_code);
290
+ (_h = (_g = settings.data.appConfig).onStepCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, settings.data.activeScreen.name, { otp: params.otp });
291
+ if (isNewUser || userInfoMissed) {
292
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_INDIVIDUAL_STEP'));
293
+ return [2, { authResponse: data, leadResponse: leadResponse, isNewUser: isNewUser, countryCode: countryCode, userInfoMissed: userInfoMissed }];
231
294
  }
232
- _e.label = 4;
233
- case 4: return [2, { response: data, formData: params }];
234
- }
235
- });
236
- }); });
237
- export var retrieveLead = createAsyncThunk('retrieveLead', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
238
- var data;
239
- return __generator(this, function (_a) {
240
- switch (_a.label) {
241
- case 0: return [4, API.leadService.retrieveLead(params.leadId)];
242
- case 1:
243
- data = (_a.sent()).data;
244
- thunkApi.dispatch(handleNextScreenStep(params.stepName));
245
- return [2, { response: data, formData: params }];
295
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
296
+ return [2, { authResponse: data, leadResponse: leadResponse, isNewUser: isNewUser, countryCode: countryCode, userInfoMissed: userInfoMissed }];
246
297
  }
247
298
  });
248
299
  }); });
249
- export var createLead = createAsyncThunk('createLead', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
250
- var settings, businessCountry, payload, data;
251
- return __generator(this, function (_a) {
252
- switch (_a.label) {
300
+ export var verifyPACI = createAsyncThunk('connect/verifyPACI', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
301
+ var _a, settings, connect, responseBody, expiry, interval, maxCalls, count, authResponse, isSuccess, lead_id, individual_id, leadBody, leadResponse, _b, isNewUser, countryCode, contact, name_1, _c, phone, email, userInfoMissed, brands, err_2, channels;
302
+ var _d, _e, _f, _g, _h;
303
+ return __generator(this, function (_j) {
304
+ switch (_j.label) {
253
305
  case 0:
254
- settings = thunkApi.getState().settings;
255
- businessCountry = settings.data.businessCountry;
256
- payload = {
257
- individual_id: params.individualId,
258
- country_code: businessCountry.iso2
259
- };
260
- return [4, API.leadService.createLead(payload)];
306
+ _a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
307
+ responseBody = connect.data.civilIdData.responseBody;
308
+ expiry = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.expiry) || 120;
309
+ interval = 3;
310
+ maxCalls = Math.floor(expiry / interval);
311
+ count = 1;
312
+ _j.label = 1;
261
313
  case 1:
262
- data = (_a.sent()).data;
263
- if (!data.errors) {
264
- thunkApi.dispatch(handleNextScreenStep(params.stepName));
314
+ if (!(count <= maxCalls)) return [3, 17];
315
+ if (thunkApi.signal.aborted) {
316
+ return [3, 17];
265
317
  }
266
- return [2, { response: data, formData: params }];
267
- }
268
- });
269
- }); });
270
- export var retrieveBrandList = createAsyncThunk('retrieveBrandList', function (individualId) { return __awaiter(void 0, void 0, void 0, function () {
271
- var brandPayload, data;
272
- return __generator(this, function (_a) {
273
- switch (_a.label) {
274
- case 0:
275
- brandPayload = {
276
- individual_id: individualId
318
+ return [4, API.authService.getVerifyAuth(responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_token)];
319
+ case 2:
320
+ authResponse = _j.sent();
321
+ isSuccess = ((_d = authResponse.status) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === 'success';
322
+ if (!isSuccess) return [3, 14];
323
+ return [4, ((_e = params === null || params === void 0 ? void 0 : params.onSuccess) === null || _e === void 0 ? void 0 : _e.call(params))];
324
+ case 3:
325
+ _j.sent();
326
+ lead_id = authResponse.lead_id, individual_id = authResponse.individual_id;
327
+ leadBody = {
328
+ country_code: settings.data.businessCountry.iso2,
329
+ individual_id: individual_id
277
330
  };
278
- return [4, API.brandService.getBrandList(brandPayload)];
279
- case 1:
280
- data = _a.sent();
281
- return [2, data];
331
+ if (!lead_id) return [3, 5];
332
+ return [4, API.leadService.retrieveLead(lead_id)];
333
+ case 4:
334
+ _b = _j.sent();
335
+ return [3, 7];
336
+ case 5: return [4, API.leadService.createLead(leadBody)];
337
+ case 6:
338
+ _b = _j.sent();
339
+ _j.label = 7;
340
+ case 7:
341
+ leadResponse = (_b).data;
342
+ if ((_f = leadResponse.errors) === null || _f === void 0 ? void 0 : _f.length)
343
+ throw new Error(leadResponse.errors[0].description);
344
+ isNewUser = leadResponse.is_new_individual;
345
+ countryCode = settings.data.businessCountry;
346
+ contact = leadResponse.contact, name_1 = leadResponse.name;
347
+ _c = contact || {}, phone = _c.phone, email = _c.email;
348
+ userInfoMissed = (!phone || !email || !name_1) && !isNewUser;
349
+ if (!!isNewUser) return [3, 13];
350
+ _j.label = 8;
351
+ case 8:
352
+ _j.trys.push([8, 10, , 11]);
353
+ return [4, API.brandService.getBrandList({ individual_id: leadResponse.individual_id })];
354
+ case 9:
355
+ brands = (_j.sent()).brands;
356
+ leadResponse.brand_list = brands;
357
+ return [3, 11];
358
+ case 10:
359
+ err_2 = _j.sent();
360
+ return [3, 11];
361
+ case 11: return [4, API.dataService.getChannelsOfServices({ page: 0 })];
362
+ case 12:
363
+ channels = (_j.sent()).list;
364
+ leadResponse.channel_list = channels;
365
+ _j.label = 13;
366
+ case 13:
367
+ if (phone === null || phone === void 0 ? void 0 : phone.country_code)
368
+ countryCode = findCountryByIddPrefix(settings.data.countries, phone.country_code);
369
+ (_h = (_g = settings.data.appConfig).onStepCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, settings.data.activeScreen.name, {});
370
+ if (isNewUser || userInfoMissed) {
371
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_INDIVIDUAL_STEP'));
372
+ return [2, { authResponse: authResponse, leadResponse: leadResponse, isNewUser: isNewUser, countryCode: countryCode, userInfoMissed: userInfoMissed }];
373
+ }
374
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
375
+ return [2, { authResponse: authResponse, leadResponse: leadResponse, isNewUser: isNewUser, countryCode: countryCode, userInfoMissed: userInfoMissed }];
376
+ case 14: return [4, sleep(interval * 1000)];
377
+ case 15:
378
+ _j.sent();
379
+ _j.label = 16;
380
+ case 16:
381
+ count++;
382
+ return [3, 1];
383
+ case 17: throw new Error('PACI verification failed');
282
384
  }
283
385
  });
284
386
  }); });
285
387
  export var updateLeadIndividual = createAsyncThunk('updateLeadIndividual', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
286
- var _a, settings, connect, isAbsher, payload, data;
287
- var _b, _c, _d, _e, _f, _g;
388
+ var _a, settings, connect, _b, userInfoMissed, lead_id, phoneCountry, payload, leadResponse, brand, channels;
389
+ var _c, _d, _e, _f, _g;
288
390
  return __generator(this, function (_h) {
289
391
  switch (_h.label) {
290
392
  case 0:
291
393
  _a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
292
- isAbsher = connect.data.otpData.isAbsher;
293
- payload = {
294
- name: getIndividualName(params.name),
295
- id: ((_b = connect.data.otpData.responseBody) === null || _b === void 0 ? void 0 : _b.lead_id) || '',
296
- country_code: (_c = settings.data.businessCountry) === null || _c === void 0 ? void 0 : _c.iso2,
297
- contact: {
298
- email: params.email,
299
- phone: isAbsher
300
- ? {
301
- country_code: (_e = (_d = params.countryCode) === null || _d === void 0 ? void 0 : _d.idd_prefix) === null || _e === void 0 ? void 0 : _e.toString(),
302
- number: params.mobile || ''
303
- }
304
- : undefined
305
- },
306
- step_name: CONNECT_STEP_NAMES.UPDATE_LEAD_INDIVIDUAL,
307
- encryption_contract: [
394
+ _b = connect.data.otpData.responseBody || {}, userInfoMissed = _b.userInfoMissed, lead_id = _b.lead_id;
395
+ phoneCountry = (_d = (_c = params.countryCode) === null || _c === void 0 ? void 0 : _c.idd_prefix) === null || _d === void 0 ? void 0 : _d.toString();
396
+ payload = __assign(__assign({ id: lead_id || '', country_code: (_e = settings.data.businessCountry) === null || _e === void 0 ? void 0 : _e.iso2 }, (params.name && { name: getIndividualName(params.name) })), { contact: __assign(__assign({}, (params.email && { email: params.email })), (params.mobile && { phone: { country_code: phoneCountry, number: params.mobile } })), step_name: CONNECT_STEP_NAMES.UPDATE_LEAD_INDIVIDUAL, encryption_contract: [
308
397
  'name.first',
309
398
  'name.middle',
310
399
  'name.last',
311
400
  'contact.email',
312
401
  'contact.phone.country_code',
313
402
  'contact.phone.number'
314
- ]
315
- };
403
+ ] });
316
404
  return [4, API.leadService.updateLead(payload)];
317
405
  case 1:
318
- data = _h.sent();
319
- thunkApi.dispatch(handleNextScreenStep());
406
+ leadResponse = _h.sent();
407
+ if (!leadResponse.brand) return [3, 3];
408
+ return [4, API.brandService.retrieveBrand(leadResponse.brand.id)];
409
+ case 2:
410
+ brand = (_h.sent()).brand;
411
+ leadResponse.brand = __assign(__assign({}, leadResponse.brand), brand);
412
+ _h.label = 3;
413
+ case 3:
414
+ if (!!userInfoMissed) return [3, 5];
415
+ return [4, API.dataService.getChannelsOfServices({ page: 0 })];
416
+ case 4:
417
+ channels = (_h.sent()).list;
418
+ leadResponse.channel_list = channels;
419
+ _h.label = 5;
420
+ case 5:
320
421
  (_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, params);
321
- return [2, { response: data, formData: params }];
422
+ thunkApi.dispatch(handleNextScreenStep());
423
+ return [2, { leadResponse: leadResponse, formData: params }];
322
424
  }
323
425
  });
324
426
  }); });
325
427
  export var updateLeadBrand = createAsyncThunk('updateLeadBrand', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
326
- var _a, settings, connect, instagram, twitter, _b, mobileData, nidData, otpData, brandData, isAbsher, responseBody, isExistingUser, isOther, brand, payload, data;
327
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
328
- return __generator(this, function (_q) {
329
- switch (_q.label) {
428
+ var _a, settings, connect, responseBody, isNewBrand, brandName, salesChannels, selectedBrandItem, getAddress, channel_services, brandReqBody_1, brand_1, brandNameBody, payload, lead, brandReqBody, brand;
429
+ var _b, _c, _d, _e, _f;
430
+ return __generator(this, function (_g) {
431
+ switch (_g.label) {
330
432
  case 0:
331
433
  _a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
332
- instagram = !!((_c = params.links) === null || _c === void 0 ? void 0 : _c.instagram) ? "".concat(INSTAGRAM_URL, "/").concat((_d = params.links) === null || _d === void 0 ? void 0 : _d.instagram) : '';
333
- twitter = !!((_e = params.links) === null || _e === void 0 ? void 0 : _e.twitter) ? "".concat(TWITTER_URL, "/").concat((_f = params.links) === null || _f === void 0 ? void 0 : _f.twitter) : '';
334
- _b = connect.data, mobileData = _b.mobileData, nidData = _b.nidData, otpData = _b.otpData, brandData = _b.brandData;
335
- isAbsher = otpData.isAbsher;
336
- responseBody = (isAbsher ? nidData : mobileData).responseBody;
337
- isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) === false;
338
- isOther = !!((_g = params.selectedBrandItem) === null || _g === void 0 ? void 0 : _g.id) ? ((_h = params.selectedBrandItem) === null || _h === void 0 ? void 0 : _h.id) === 'other' : true;
339
- brand = __assign({ name: {
340
- en: params.brandName,
341
- ar: params.brandName,
342
- zh: params.brandName
343
- }, website: (_j = params.links) === null || _j === void 0 ? void 0 : _j.website, social: [twitter, instagram] }, (isExistingUser &&
344
- !isOther && {
345
- id: (_k = params.selectedBrandItem) === null || _k === void 0 ? void 0 : _k.id,
346
- name: undefined
347
- }));
434
+ responseBody = connect.data.otpData.responseBody;
435
+ isNewBrand = params.isNewBrand, brandName = params.brandName, salesChannels = params.salesChannels, selectedBrandItem = params.selectedBrandItem;
436
+ getAddress = function (value, isTwitter, isWeb) {
437
+ if (isTwitter)
438
+ return '@' + value;
439
+ if (isWeb)
440
+ return 'https://' + value;
441
+ return value;
442
+ };
443
+ channel_services = salesChannels.map(function (channel) {
444
+ var _a;
445
+ return {
446
+ id: channel.id,
447
+ address: getAddress(channel.address || '', isTwitter(channel.code), isWebsite(channel.code)),
448
+ sub: (_a = channel.sub) === null || _a === void 0 ? void 0 : _a.map(function (sub) {
449
+ return { id: sub.id, address: getAddress(sub.address || '', isTwitter(sub.code), isWebsite(sub.code)) };
450
+ })
451
+ };
452
+ });
453
+ if (!!isNewBrand) return [3, 2];
454
+ brandReqBody_1 = {
455
+ id: (selectedBrandItem === null || selectedBrandItem === void 0 ? void 0 : selectedBrandItem.id) || '',
456
+ channel_services: channel_services,
457
+ step_name: CONNECT_STEP_NAMES.UPDATE_BRAND_INFO
458
+ };
459
+ return [4, API.brandService.updateBrandInfo(brandReqBody_1)];
460
+ case 1:
461
+ brand_1 = _g.sent();
462
+ thunkApi.dispatch(updateLeadSuccess());
463
+ thunkApi.dispatch(handleNextScreenStep());
464
+ (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, params);
465
+ return [2, { response: brand_1, formData: params }];
466
+ case 2:
467
+ brandNameBody = {
468
+ name: {
469
+ en: brandName,
470
+ ar: brandName,
471
+ zh: brandName
472
+ }
473
+ };
348
474
  payload = {
349
- brand: brand,
350
- id: (isExistingUser ? (_l = brandData.responseBody) === null || _l === void 0 ? void 0 : _l.lead_id : (_m = otpData.responseBody) === null || _m === void 0 ? void 0 : _m.lead_id) || '',
351
- terms_conditions_accepted: isExistingUser && !isOther ? undefined : params.termAndConditionChecked,
475
+ brand: brandNameBody,
476
+ id: (responseBody === null || responseBody === void 0 ? void 0 : responseBody.lead_id) || '',
352
477
  step_name: CONNECT_STEP_NAMES.UPDATE_LEAD_BRAND,
353
- encryption_contract: [
354
- 'brand.name.en',
355
- 'brand.name.ar',
356
- 'brand.name.zh',
357
- 'brand.website',
358
- 'brand.social[0]',
359
- 'brand.social[1]'
360
- ]
478
+ encryption_contract: ['brand.name.en', 'brand.name.ar', 'brand.name.zh']
361
479
  };
362
480
  return [4, API.leadService.updateLead(payload)];
363
- case 1:
364
- data = _q.sent();
481
+ case 3:
482
+ lead = _g.sent();
483
+ brandReqBody = {
484
+ id: ((_d = lead.brand) === null || _d === void 0 ? void 0 : _d.id) || '',
485
+ channel_services: channel_services,
486
+ term: ['agree'],
487
+ step_name: CONNECT_STEP_NAMES.UPDATE_BRAND_INFO
488
+ };
489
+ return [4, API.brandService.updateBrandInfo(brandReqBody)];
490
+ case 4:
491
+ brand = _g.sent();
365
492
  thunkApi.dispatch(updateLeadSuccess());
366
493
  thunkApi.dispatch(handleNextScreenStep());
367
- (_p = (_o = settings.data.appConfig).onStepCompleted) === null || _p === void 0 ? void 0 : _p.call(_o, settings.data.activeScreen.name, params);
368
- return [2, { response: data, formData: params }];
494
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, params);
495
+ return [2, { response: brand, formData: params }];
369
496
  }
370
497
  });
371
498
  }); });
@@ -417,28 +544,24 @@ export var checkBrandNameAvailability = createAsyncThunk('checkBrandNameAvailabi
417
544
  });
418
545
  });
419
546
  export var updateLeadSuccess = createAsyncThunk('updateLeadSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
420
- var _a, settings, connect, _b, mobileData, nidData, otpData, brandData, isAbsher, responseBody, isExistingUser, leadId, payload, data;
421
- var _c, _d, _e, _f, _g, _h;
422
- return __generator(this, function (_j) {
423
- switch (_j.label) {
547
+ var _a, settings, connect, lead_id, payload, data;
548
+ var _b, _c, _d, _e;
549
+ return __generator(this, function (_f) {
550
+ switch (_f.label) {
424
551
  case 0:
425
552
  _a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
426
- _b = connect.data, mobileData = _b.mobileData, nidData = _b.nidData, otpData = _b.otpData, brandData = _b.brandData;
427
- isAbsher = otpData.isAbsher;
428
- responseBody = (isAbsher ? nidData : mobileData).responseBody;
429
- isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) === false;
430
- leadId = isExistingUser ? (_c = brandData.responseBody) === null || _c === void 0 ? void 0 : _c.lead_id : (_d = otpData.responseBody) === null || _d === void 0 ? void 0 : _d.lead_id;
553
+ lead_id = (connect.data.otpData.responseBody || {}).lead_id;
431
554
  payload = {
432
555
  lang: settings.data.language,
433
556
  step_name: CONNECT_STEP_NAMES.CONNECT_SUCCESS,
434
- id: leadId,
557
+ id: lead_id || '',
435
558
  encryption_contract: []
436
559
  };
437
560
  return [4, API.leadService.updateLead(payload)];
438
561
  case 1:
439
- data = _j.sent();
440
- (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, params);
441
- (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
562
+ data = _f.sent();
563
+ (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, params);
564
+ (_e = (_d = settings.data.appConfig).onFlowCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, { data: data });
442
565
  return [2, { response: data, formData: params }];
443
566
  }
444
567
  });
@@ -451,16 +574,19 @@ var initialState = {
451
574
  flowName: FlowsTypes.CONNECT,
452
575
  mobileData: {
453
576
  countryCode: defaultCountry,
454
- mobile: null
577
+ mobile: ''
455
578
  },
456
579
  nidData: {
457
580
  nid: '',
458
581
  dob: getEighteenYearsAgo(),
459
582
  type: ''
460
583
  },
584
+ civilIdData: {
585
+ civilId: ''
586
+ },
461
587
  otpData: {
462
588
  otp: '',
463
- isAbsher: false
589
+ authFor: AuthForType.MOBILE
464
590
  },
465
591
  individualData: {
466
592
  name: '',
@@ -470,15 +596,11 @@ var initialState = {
470
596
  },
471
597
  brandData: {
472
598
  brandName: '',
599
+ salesChannels: [],
473
600
  termAndConditionChecked: false,
474
- links: {
475
- website: '',
476
- twitter: '',
477
- instagram: ''
478
- },
479
601
  selectedBrandItem: {},
480
602
  responseBody: {
481
- brands: []
603
+ brand_list: []
482
604
  }
483
605
  }
484
606
  }
@@ -493,9 +615,14 @@ export var connectSlice = createSlice({
493
615
  stopLoader: function (state) {
494
616
  state.loading = false;
495
617
  },
496
- resetMobileScreen: function (state) {
618
+ resetMobileScreen: function (state, action) {
619
+ state.data.mobileData = __assign(__assign(__assign({}, state.data.mobileData), initialState.data.mobileData), { countryCode: action.payload });
497
620
  },
498
621
  resetNIDScreen: function (state) {
622
+ state.data.nidData = __assign(__assign({}, state.data.nidData), initialState.data.nidData);
623
+ },
624
+ resetCivilScreen: function (state) {
625
+ state.data.civilIdData = __assign(__assign({}, state.data.civilIdData), initialState.data.civilIdData);
499
626
  },
500
627
  resetOTPScreen: function (state) {
501
628
  state.data.otpData.otp = '';
@@ -504,6 +631,10 @@ export var connectSlice = createSlice({
504
631
  state.data.individualData = initialState.data.individualData;
505
632
  },
506
633
  resetMerchantScreen: function (state) {
634
+ },
635
+ setDefaultCountryCode: function (state, action) {
636
+ state.data.mobileData.countryCode = action.payload;
637
+ state.data.individualData.countryCode = action.payload;
507
638
  }
508
639
  },
509
640
  extraReducers: function (builder) {
@@ -520,7 +651,7 @@ export var connectSlice = createSlice({
520
651
  }
521
652
  state.data.mobileData = formData;
522
653
  state.data.mobileData.responseBody = response;
523
- state.data.otpData.isAbsher = false;
654
+ state.data.otpData.authFor = AuthForType.MOBILE;
524
655
  })
525
656
  .addCase(createMobileAuth.pending, function (state) {
526
657
  state.loading = true;
@@ -540,7 +671,7 @@ export var connectSlice = createSlice({
540
671
  return;
541
672
  }
542
673
  state.data.mobileData.responseBody = response;
543
- state.data.otpData.isAbsher = false;
674
+ state.data.otpData.authFor = AuthForType.MOBILE;
544
675
  })
545
676
  .addCase(resendOTPMobile.pending, function (state) {
546
677
  state.error = null;
@@ -548,7 +679,11 @@ export var connectSlice = createSlice({
548
679
  .addCase(resendOTPMobile.rejected, function (state, action) {
549
680
  state.error = action.error.message;
550
681
  })
551
- .addCase(createNIDAuth.fulfilled, function (state, action) {
682
+ .addCase(createCivilIdAuth.pending, function (state, action) {
683
+ state.loading = true;
684
+ state.error = null;
685
+ })
686
+ .addCase(createCivilIdAuth.fulfilled, function (state, action) {
552
687
  var _a;
553
688
  state.loading = false;
554
689
  state.error = null;
@@ -558,142 +693,153 @@ export var connectSlice = createSlice({
558
693
  state.error = description;
559
694
  return;
560
695
  }
561
- state.data.nidData = formData;
562
- state.data.nidData.responseBody = response;
563
- state.data.otpData.isAbsher = true;
696
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID;
697
+ state.data.civilIdData = __assign(__assign({}, formData), { responseBody: response });
564
698
  })
565
- .addCase(createNIDAuth.pending, function (state) {
566
- state.loading = true;
567
- state.error = null;
568
- })
569
- .addCase(createNIDAuth.rejected, function (state, action) {
699
+ .addCase(createCivilIdAuth.rejected, function (state, action) {
570
700
  state.loading = false;
571
701
  state.error = action.error.message;
572
702
  })
573
- .addCase(resendOTPNID.fulfilled, function (state, action) {
574
- var _a;
575
- state.error = null;
576
- var response = action.payload;
577
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
578
- if (description) {
579
- state.error = description;
580
- return;
581
- }
582
- state.data.nidData.responseBody = response;
583
- state.data.otpData.isAbsher = true;
584
- })
585
- .addCase(resendOTPNID.pending, function (state) {
703
+ .addCase(verifyPACI.pending, function (state) {
704
+ state.loading = true;
586
705
  state.error = null;
587
706
  })
588
- .addCase(resendOTPNID.rejected, function (state, action) {
589
- state.error = action.error.message;
590
- })
591
- .addCase(verifyAuth.fulfilled, function (state, action) {
707
+ .addCase(verifyPACI.fulfilled, function (state, action) {
592
708
  var _a;
709
+ state.loading = false;
593
710
  state.error = null;
594
- var _b = action.payload, formData = _b.formData, response = _b.response;
595
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
596
- if (description) {
597
- state.loading = false;
598
- state.error = description;
599
- return;
711
+ var _b = action.payload, authResponse = _b.authResponse, leadResponse = _b.leadResponse, isNewUser = _b.isNewUser, countryCode = _b.countryCode, userInfoMissed = _b.userInfoMissed;
712
+ var name = leadResponse.name, contact = leadResponse.contact, brand = leadResponse.brand, brand_list = leadResponse.brand_list, channel_list = leadResponse.channel_list, is_new_individual = leadResponse.is_new_individual, id = leadResponse.id;
713
+ var _c = contact || {}, email = _c.email, phone = _c.phone;
714
+ var fullName = concatenateObjectValues(name, ['first', 'middle', 'third', 'last']);
715
+ if (!!fullName) {
716
+ var capitalizedName = capitalizeTheFirstLetterOfEachWord(fullName);
717
+ state.data.individualData.name = capitalizedName;
600
718
  }
601
- state.data.otpData.responseBody = response;
602
- state.data.otpData.otp = formData.otp;
603
- state.data.brandData.responseBody = __assign(__assign({}, state.data.brandData.responseBody), response);
604
- })
605
- .addCase(verifyAuth.pending, function (state) {
606
- state.loading = true;
607
- state.error = null;
719
+ if (email)
720
+ state.data.individualData.email = email;
721
+ if (phone === null || phone === void 0 ? void 0 : phone.number)
722
+ state.data.individualData.mobile = phone.number;
723
+ if (!!countryCode)
724
+ state.data.individualData.countryCode = countryCode;
725
+ if ((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en)
726
+ state.data.brandData.brandName = brand.name.en;
727
+ if (!isNewUser) {
728
+ state.data.brandData.responseBody = {
729
+ brand_list: (brand_list === null || brand_list === void 0 ? void 0 : brand_list.length) ? brand_list.concat(OTHER_BRAND) : [],
730
+ channel_list: channel_list
731
+ };
732
+ state.data.brandData.selectedBrandItem = (brand_list === null || brand_list === void 0 ? void 0 : brand_list[0]) || {};
733
+ }
734
+ state.data.otpData.responseBody = __assign(__assign({}, authResponse), { is_new_individual: is_new_individual, lead_id: id, name: name, contact: contact, userInfoMissed: userInfoMissed });
608
735
  })
609
- .addCase(verifyAuth.rejected, function (state, action) {
736
+ .addCase(verifyPACI.rejected, function (state, action) {
610
737
  state.loading = false;
611
- state.error = action.error.message;
738
+ var error = action.error.message;
739
+ if (error !== 'Aborted') {
740
+ state.error = error;
741
+ }
612
742
  })
613
- .addCase(retrieveLead.fulfilled, function (state, action) {
743
+ .addCase(verifyAuth.fulfilled, function (state, action) {
614
744
  var _a;
615
745
  state.loading = false;
616
746
  state.error = null;
617
- var response = action.payload.response;
618
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
619
- if (!!response && !description) {
620
- var name_1 = response.name, contact = response.contact;
621
- var email = (contact || {}).email;
622
- var firstName = (name_1 === null || name_1 === void 0 ? void 0 : name_1.first) + ' ';
623
- var middleName = !!(name_1 === null || name_1 === void 0 ? void 0 : name_1.middle) ? (name_1 === null || name_1 === void 0 ? void 0 : name_1.middle) + ' ' : '';
624
- var thirdName = !!(name_1 === null || name_1 === void 0 ? void 0 : name_1.third) ? (name_1 === null || name_1 === void 0 ? void 0 : name_1.third) + ' ' : '';
625
- var lastName = !!(name_1 === null || name_1 === void 0 ? void 0 : name_1.last) ? name_1 === null || name_1 === void 0 ? void 0 : name_1.last : '';
626
- if (!!name_1) {
627
- var capitalizedName = capitalizeTheFirstLetterOfEachWord(firstName + middleName + thirdName + lastName);
628
- state.data.individualData.name = capitalizedName;
629
- }
630
- if (!!email)
631
- state.data.individualData.email = email;
747
+ var _b = action.payload, authResponse = _b.authResponse, leadResponse = _b.leadResponse, isNewUser = _b.isNewUser, countryCode = _b.countryCode, userInfoMissed = _b.userInfoMissed;
748
+ var name = leadResponse.name, contact = leadResponse.contact, brand = leadResponse.brand, brand_list = leadResponse.brand_list, channel_list = leadResponse.channel_list, is_new_individual = leadResponse.is_new_individual, id = leadResponse.id;
749
+ var _c = contact || {}, email = _c.email, phone = _c.phone;
750
+ var fullName = concatenateObjectValues(name, ['first', 'middle', 'third', 'last']);
751
+ if (!!fullName) {
752
+ var capitalizedName = capitalizeTheFirstLetterOfEachWord(fullName);
753
+ state.data.individualData.name = capitalizedName;
754
+ }
755
+ if (email)
756
+ state.data.individualData.email = email;
757
+ if (phone === null || phone === void 0 ? void 0 : phone.number)
758
+ state.data.individualData.mobile = phone.number;
759
+ if (!!countryCode)
760
+ state.data.individualData.countryCode = countryCode;
761
+ if ((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en)
762
+ state.data.brandData.brandName = brand.name.en;
763
+ if (!isNewUser) {
764
+ state.data.brandData.responseBody = {
765
+ brand_list: (brand_list === null || brand_list === void 0 ? void 0 : brand_list.length) ? brand_list.concat(OTHER_BRAND) : [],
766
+ channel_list: channel_list
767
+ };
768
+ state.data.brandData.selectedBrandItem = (brand_list === null || brand_list === void 0 ? void 0 : brand_list[0]) || {};
632
769
  }
770
+ state.data.otpData.responseBody = __assign(__assign({}, authResponse), { is_new_individual: is_new_individual, lead_id: id, name: name, contact: contact, userInfoMissed: userInfoMissed });
633
771
  })
634
- .addCase(retrieveLead.pending, function (state) {
772
+ .addCase(verifyAuth.pending, function (state) {
635
773
  state.loading = true;
636
774
  state.error = null;
637
775
  })
638
- .addCase(retrieveLead.rejected, function (state, action) {
776
+ .addCase(verifyAuth.rejected, function (state, action) {
639
777
  state.loading = false;
640
778
  state.error = action.error.message;
641
779
  })
642
- .addCase(createLead.fulfilled, function (state, action) {
780
+ .addCase(createNIDAuth.fulfilled, function (state, action) {
643
781
  var _a;
644
782
  state.loading = false;
645
783
  state.error = null;
646
- var response = action.payload.response;
784
+ var _b = action.payload, formData = _b.formData, response = _b.response;
647
785
  var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
648
786
  if (description) {
649
787
  state.error = description;
650
788
  return;
651
789
  }
652
- state.data.brandData.responseBody = __assign(__assign({}, state.data.brandData.responseBody), response);
790
+ state.data.nidData = formData;
791
+ state.data.nidData.responseBody = response;
792
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID;
653
793
  })
654
- .addCase(createLead.pending, function (state) {
794
+ .addCase(createNIDAuth.pending, function (state) {
655
795
  state.loading = true;
656
796
  state.error = null;
657
797
  })
658
- .addCase(createLead.rejected, function (state, action) {
798
+ .addCase(createNIDAuth.rejected, function (state, action) {
659
799
  state.loading = false;
660
800
  state.error = action.error.message;
661
801
  })
662
- .addCase(retrieveBrandList.fulfilled, function (state, action) {
802
+ .addCase(resendOTPNID.fulfilled, function (state, action) {
663
803
  var _a;
664
- state.loading = false;
665
804
  state.error = null;
666
805
  var response = action.payload;
667
806
  var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
668
- var brandList = undefined;
669
- if (!description) {
670
- brandList = Array.isArray(response === null || response === void 0 ? void 0 : response.brands) ? __spreadArray(__spreadArray([], response === null || response === void 0 ? void 0 : response.brands, true), [OTHER_BRAND], false) : [];
671
- var brand = brandList === null || brandList === void 0 ? void 0 : brandList[0];
672
- if (!!brand)
673
- state.data.brandData.selectedBrandItem = brand;
807
+ if (description) {
808
+ state.error = description;
809
+ return;
674
810
  }
675
- state.data.brandData.responseBody = __assign(__assign({}, state.data.brandData.responseBody), { brands: brandList || [] });
811
+ state.data.nidData.responseBody = response;
812
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID;
676
813
  })
677
- .addCase(retrieveBrandList.pending, function (state) {
678
- state.loading = true;
814
+ .addCase(resendOTPNID.pending, function (state) {
679
815
  state.error = null;
680
816
  })
681
- .addCase(retrieveBrandList.rejected, function (state, action) {
682
- state.loading = false;
817
+ .addCase(resendOTPNID.rejected, function (state, action) {
683
818
  state.error = action.error.message;
684
819
  })
685
820
  .addCase(updateLeadIndividual.fulfilled, function (state, action) {
686
- var _a;
687
821
  state.loading = false;
688
822
  state.error = null;
689
- var _b = action.payload, formData = _b.formData, response = _b.response;
690
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
691
- if (description) {
692
- state.error = description;
693
- return;
823
+ var _a = action.payload, formData = _a.formData, leadResponse = _a.leadResponse;
824
+ var brand = leadResponse.brand, brand_list = leadResponse.brand_list, channel_list = leadResponse.channel_list, rest = __rest(leadResponse, ["brand", "brand_list", "channel_list"]);
825
+ if (brand) {
826
+ var channel_services = brand.channel_services, terms = brand.terms;
827
+ state.data.brandData.salesChannels = channel_services || [];
828
+ var termAndCondition = (terms || []).find(function (_a) {
829
+ var term = _a.term, agree = _a.agree;
830
+ return term === 'agree' && agree === true;
831
+ });
832
+ state.data.brandData.termAndConditionChecked = !!termAndCondition;
833
+ }
834
+ if (brand_list) {
835
+ state.data.brandData.responseBody = { brand_list: brand_list.concat(OTHER_BRAND) };
836
+ state.data.brandData.selectedBrandItem = brand_list[0];
837
+ }
838
+ if (channel_list) {
839
+ state.data.brandData.responseBody = __assign(__assign({}, state.data.brandData.responseBody), { channel_list: channel_list });
694
840
  }
695
841
  state.data.individualData = formData;
696
- state.data.individualData.responseBody = response;
842
+ state.data.individualData.responseBody = rest;
697
843
  })
698
844
  .addCase(updateLeadIndividual.pending, function (state) {
699
845
  state.loading = true;
@@ -704,15 +850,9 @@ export var connectSlice = createSlice({
704
850
  state.error = action.error.message;
705
851
  })
706
852
  .addCase(updateLeadBrand.fulfilled, function (state, action) {
707
- var _a;
708
853
  state.loading = false;
709
854
  state.error = null;
710
- var _b = action.payload, formData = _b.formData, response = _b.response;
711
- var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
712
- if (description) {
713
- state.error = description;
714
- return;
715
- }
855
+ var _a = action.payload, formData = _a.formData, response = _a.response;
716
856
  state.data.brandData = formData;
717
857
  state.data.brandData.responseBody = response;
718
858
  })
@@ -727,7 +867,7 @@ export var connectSlice = createSlice({
727
867
  .addCase(checkEmailAvailability.fulfilled, function (state, action) {
728
868
  var _a;
729
869
  state.error = null;
730
- state.data.individualData.responseBody = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.response;
870
+ state.data.individualData.responseBody = __assign(__assign({}, state.data.individualData.responseBody), (_a = action.payload) === null || _a === void 0 ? void 0 : _a.response);
731
871
  })
732
872
  .addCase(checkEmailAvailability.pending, function (state) {
733
873
  state.error = null;
@@ -771,6 +911,6 @@ export var connectSlice = createSlice({
771
911
  });
772
912
  }
773
913
  });
774
- export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, resetMobileScreen = _a.resetMobileScreen, resetOTPScreen = _a.resetOTPScreen, resetIndividualScreen = _a.resetIndividualScreen, resetMerchantScreen = _a.resetMerchantScreen, resetNIDScreen = _a.resetNIDScreen;
914
+ export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, resetMobileScreen = _a.resetMobileScreen, resetOTPScreen = _a.resetOTPScreen, resetIndividualScreen = _a.resetIndividualScreen, resetMerchantScreen = _a.resetMerchantScreen, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, setDefaultCountryCode = _a.setDefaultCountryCode;
775
915
  export default connectSlice.reducer;
776
916
  export var connectSelector = function (state) { return state.connect; };