@frontegg/redux-store 5.61.0 → 6.0.1-alpha.2

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 (389) hide show
  1. package/audits/AuditLogsState/index.d.ts +47 -47
  2. package/audits/AuditLogsState/index.js +28 -0
  3. package/audits/AuditLogsState/interfaces.d.ts +19 -19
  4. package/audits/AuditLogsState/interfaces.js +1 -0
  5. package/audits/AuditLogsState/saga.d.ts +2 -2
  6. package/audits/AuditLogsState/saga.js +166 -0
  7. package/audits/AuditsMetadataState/index.d.ts +35 -35
  8. package/audits/AuditsMetadataState/index.js +18 -0
  9. package/audits/AuditsMetadataState/interfaces.d.ts +17 -17
  10. package/audits/AuditsMetadataState/interfaces.js +1 -0
  11. package/audits/AuditsMetadataState/saga.d.ts +2 -2
  12. package/audits/AuditsMetadataState/saga.js +56 -0
  13. package/audits/backward-compatibility/index.d.ts +4 -4
  14. package/audits/backward-compatibility/index.js +4 -4
  15. package/audits/backward-compatibility/initialState.d.ts +2 -2
  16. package/audits/backward-compatibility/initialState.js +20 -0
  17. package/audits/backward-compatibility/interfaces.d.ts +55 -55
  18. package/audits/backward-compatibility/interfaces.js +1 -0
  19. package/audits/backward-compatibility/reducer.d.ts +35 -35
  20. package/audits/backward-compatibility/reducer.js +129 -0
  21. package/audits/backward-compatibility/saga.d.ts +1 -1
  22. package/audits/backward-compatibility/saga.js +187 -0
  23. package/audits/dummy.d.ts +10 -10
  24. package/audits/dummy.js +191 -0
  25. package/audits/index.d.ts +40 -40
  26. package/audits/index.js +18 -362
  27. package/audits/initialState.d.ts +2 -2
  28. package/audits/initialState.js +6 -0
  29. package/audits/interfaces.d.ts +6 -6
  30. package/audits/interfaces.js +1 -0
  31. package/audits/reducer.d.ts +31 -31
  32. package/audits/reducer.js +23 -0
  33. package/audits/saga.d.ts +2 -2
  34. package/audits/saga.js +9 -0
  35. package/audits/utils.d.ts +14 -14
  36. package/audits/utils.js +13 -0
  37. package/auth/AcceptInvitationState/index.d.ts +85 -85
  38. package/auth/AcceptInvitationState/index.js +20 -0
  39. package/auth/AcceptInvitationState/interfaces.d.ts +11 -11
  40. package/auth/AcceptInvitationState/interfaces.js +9 -0
  41. package/auth/AcceptInvitationState/saga.d.ts +1 -1
  42. package/auth/AcceptInvitationState/saga.js +41 -0
  43. package/auth/AccountSettingsState/index.d.ts +92 -92
  44. package/auth/AccountSettingsState/index.js +22 -0
  45. package/auth/AccountSettingsState/interfaces.d.ts +10 -10
  46. package/auth/AccountSettingsState/interfaces.js +1 -0
  47. package/auth/AccountSettingsState/saga.d.ts +2 -2
  48. package/auth/AccountSettingsState/saga.js +133 -0
  49. package/auth/ActivateState/index.d.ts +130 -130
  50. package/auth/ActivateState/index.js +35 -0
  51. package/auth/ActivateState/interfaces.d.ts +26 -26
  52. package/auth/ActivateState/interfaces.js +8 -0
  53. package/auth/ActivateState/saga.d.ts +1 -1
  54. package/auth/ActivateState/saga.js +187 -0
  55. package/auth/ApiTokensState/index.d.ts +119 -119
  56. package/auth/ApiTokensState/index.js +54 -0
  57. package/auth/ApiTokensState/interfaces.d.ts +49 -49
  58. package/auth/ApiTokensState/interfaces.js +7 -0
  59. package/auth/ApiTokensState/saga.d.ts +2 -2
  60. package/auth/ApiTokensState/saga.js +410 -0
  61. package/auth/ForgotPasswordState/index.d.ts +90 -90
  62. package/auth/ForgotPasswordState/index.js +29 -0
  63. package/auth/ForgotPasswordState/interfaces.d.ts +18 -18
  64. package/auth/ForgotPasswordState/interfaces.js +6 -0
  65. package/auth/ForgotPasswordState/saga.d.ts +8 -8
  66. package/auth/ForgotPasswordState/saga.js +83 -0
  67. package/auth/LoginState/index.d.ts +132 -144
  68. package/auth/LoginState/index.js +64 -0
  69. package/auth/LoginState/interfaces.d.ts +41 -60
  70. package/auth/LoginState/interfaces.js +17 -0
  71. package/auth/LoginState/saga.d.ts +80 -84
  72. package/auth/LoginState/saga.js +860 -0
  73. package/auth/MfaState/index.d.ts +92 -92
  74. package/auth/MfaState/index.js +28 -0
  75. package/auth/MfaState/interfaces.d.ts +12 -12
  76. package/auth/MfaState/interfaces.js +6 -0
  77. package/auth/MfaState/saga.d.ts +2 -2
  78. package/auth/MfaState/saga.js +252 -0
  79. package/auth/ProfileState/index.d.ts +90 -90
  80. package/auth/ProfileState/index.js +24 -0
  81. package/auth/ProfileState/interfaces.d.ts +9 -9
  82. package/auth/ProfileState/interfaces.js +1 -0
  83. package/auth/ProfileState/saga.d.ts +2 -2
  84. package/auth/ProfileState/saga.js +230 -0
  85. package/auth/ResetPhoneNumberState/index.d.ts +96 -96
  86. package/auth/ResetPhoneNumberState/index.js +27 -0
  87. package/auth/ResetPhoneNumberState/interfaces.d.ts +18 -18
  88. package/auth/ResetPhoneNumberState/interfaces.js +7 -0
  89. package/auth/ResetPhoneNumberState/saga.d.ts +17 -17
  90. package/auth/ResetPhoneNumberState/saga.js +127 -0
  91. package/auth/RolesState/index.d.ts +100 -100
  92. package/auth/RolesState/index.js +37 -0
  93. package/auth/RolesState/interfaces.d.ts +7 -7
  94. package/auth/RolesState/interfaces.js +1 -0
  95. package/auth/RolesState/saga.d.ts +1 -1
  96. package/auth/RolesState/saga.js +197 -0
  97. package/auth/SSOState/index.d.ts +224 -224
  98. package/auth/SSOState/index.js +83 -0
  99. package/auth/SSOState/interfaces.d.ts +92 -92
  100. package/auth/SSOState/interfaces.js +28 -0
  101. package/auth/SSOState/saga.d.ts +2 -2
  102. package/auth/SSOState/saga.js +523 -0
  103. package/auth/SSOState/saga.v2.d.ts +1 -1
  104. package/auth/SSOState/saga.v2.js +501 -0
  105. package/auth/SecurityPolicyState/index.d.ts +456 -502
  106. package/auth/SecurityPolicyState/index.js +64 -0
  107. package/auth/SecurityPolicyState/interfaces.d.ts +26 -28
  108. package/auth/SecurityPolicyState/interfaces.js +1 -0
  109. package/auth/SecurityPolicyState/saga.d.ts +18 -24
  110. package/auth/SecurityPolicyState/saga.js +464 -0
  111. package/auth/SignUp/index.d.ts +86 -86
  112. package/auth/SignUp/index.js +25 -0
  113. package/auth/SignUp/interfaces.d.ts +19 -19
  114. package/auth/SignUp/interfaces.js +6 -0
  115. package/auth/SignUp/saga.d.ts +49 -49
  116. package/auth/SignUp/saga.js +147 -0
  117. package/auth/SocialLogins/index.d.ts +91 -91
  118. package/auth/SocialLogins/index.js +26 -0
  119. package/auth/SocialLogins/interfaces.d.ts +13 -13
  120. package/auth/SocialLogins/interfaces.js +1 -0
  121. package/auth/SocialLogins/saga.d.ts +10 -10
  122. package/auth/SocialLogins/saga.js +140 -0
  123. package/auth/TeamState/index.d.ts +168 -168
  124. package/auth/TeamState/index.js +111 -0
  125. package/auth/TeamState/interfaces.d.ts +78 -78
  126. package/auth/TeamState/interfaces.js +16 -0
  127. package/auth/TeamState/saga.d.ts +2 -2
  128. package/auth/TeamState/saga.js +1123 -0
  129. package/auth/TenantsState/index.d.ts +104 -104
  130. package/auth/TenantsState/index.js +31 -0
  131. package/auth/TenantsState/interfaces.d.ts +9 -9
  132. package/auth/TenantsState/interfaces.js +1 -0
  133. package/auth/TenantsState/saga.d.ts +2 -2
  134. package/auth/TenantsState/saga.js +136 -0
  135. package/auth/dummy.d.ts +28 -28
  136. package/auth/dummy.js +250 -0
  137. package/auth/index.d.ts +378 -392
  138. package/auth/index.js +46 -4078
  139. package/auth/initialState.d.ts +3 -3
  140. package/auth/initialState.js +58 -0
  141. package/auth/interfaces.d.ts +161 -161
  142. package/auth/interfaces.js +14 -0
  143. package/auth/reducer.d.ts +356 -370
  144. package/auth/reducer.js +39 -0
  145. package/auth/saga.d.ts +2 -2
  146. package/auth/saga.js +24 -0
  147. package/auth/utils.d.ts +162 -165
  148. package/auth/utils.js +74 -0
  149. package/connectivity/ConnectivityState/index.d.ts +292 -292
  150. package/connectivity/ConnectivityState/index.js +94 -0
  151. package/connectivity/consts.d.ts +12 -12
  152. package/connectivity/consts.js +71 -0
  153. package/connectivity/index.d.ts +40 -40
  154. package/connectivity/index.js +12 -454
  155. package/connectivity/interfaces.d.ts +112 -112
  156. package/connectivity/interfaces.js +1 -0
  157. package/connectivity/reducer.d.ts +31 -31
  158. package/connectivity/reducer.js +25 -0
  159. package/connectivity/saga.d.ts +1 -1
  160. package/connectivity/saga.js +546 -0
  161. package/constants.d.ts +7 -7
  162. package/constants.js +7 -0
  163. package/helpers.d.ts +5 -5
  164. package/helpers.js +37 -0
  165. package/index.d.ts +28 -28
  166. package/index.js +17 -15
  167. package/interfaces.d.ts +15 -15
  168. package/interfaces.js +1 -0
  169. package/node/audits/AuditLogsState/index.js +43 -0
  170. package/node/audits/AuditLogsState/interfaces.js +5 -0
  171. package/node/audits/AuditLogsState/saga.js +181 -0
  172. package/node/audits/AuditsMetadataState/index.js +33 -0
  173. package/node/audits/AuditsMetadataState/interfaces.js +5 -0
  174. package/node/audits/AuditsMetadataState/saga.js +67 -0
  175. package/node/audits/backward-compatibility/index.js +52 -12
  176. package/node/audits/backward-compatibility/initialState.js +27 -0
  177. package/node/audits/backward-compatibility/interfaces.js +5 -0
  178. package/node/audits/backward-compatibility/reducer.js +144 -0
  179. package/node/audits/backward-compatibility/saga.js +199 -0
  180. package/node/audits/dummy.js +204 -0
  181. package/node/audits/index.js +124 -364
  182. package/node/audits/initialState.js +16 -0
  183. package/node/audits/interfaces.js +5 -0
  184. package/node/audits/reducer.js +37 -0
  185. package/node/audits/saga.js +21 -0
  186. package/node/audits/utils.js +25 -0
  187. package/node/auth/AcceptInvitationState/index.js +33 -0
  188. package/node/auth/AcceptInvitationState/interfaces.js +16 -0
  189. package/node/auth/AcceptInvitationState/saga.js +51 -0
  190. package/node/auth/AccountSettingsState/index.js +34 -0
  191. package/node/auth/AccountSettingsState/interfaces.js +5 -0
  192. package/node/auth/AccountSettingsState/saga.js +145 -0
  193. package/node/auth/ActivateState/index.js +48 -0
  194. package/node/auth/ActivateState/interfaces.js +15 -0
  195. package/node/auth/ActivateState/saga.js +201 -0
  196. package/node/auth/ApiTokensState/index.js +66 -0
  197. package/node/auth/ApiTokensState/interfaces.js +14 -0
  198. package/node/auth/ApiTokensState/saga.js +424 -0
  199. package/node/auth/ForgotPasswordState/index.js +42 -0
  200. package/node/auth/ForgotPasswordState/interfaces.js +13 -0
  201. package/node/auth/ForgotPasswordState/saga.js +98 -0
  202. package/node/auth/LoginState/index.js +77 -0
  203. package/node/auth/LoginState/interfaces.js +31 -0
  204. package/node/auth/LoginState/saga.js +918 -0
  205. package/node/auth/MfaState/index.js +41 -0
  206. package/node/auth/MfaState/interfaces.js +13 -0
  207. package/node/auth/MfaState/saga.js +265 -0
  208. package/node/auth/ProfileState/index.js +36 -0
  209. package/node/auth/ProfileState/interfaces.js +5 -0
  210. package/node/auth/ProfileState/saga.js +245 -0
  211. package/node/auth/ResetPhoneNumberState/index.js +40 -0
  212. package/node/auth/ResetPhoneNumberState/interfaces.js +14 -0
  213. package/node/auth/ResetPhoneNumberState/saga.js +141 -0
  214. package/node/auth/RolesState/index.js +49 -0
  215. package/node/auth/RolesState/interfaces.js +5 -0
  216. package/node/auth/RolesState/saga.js +205 -0
  217. package/node/auth/SSOState/index.js +95 -0
  218. package/node/auth/SSOState/interfaces.js +36 -0
  219. package/node/auth/SSOState/saga.js +535 -0
  220. package/node/auth/SSOState/saga.v2.js +512 -0
  221. package/node/auth/SecurityPolicyState/index.js +76 -0
  222. package/node/auth/SecurityPolicyState/interfaces.js +5 -0
  223. package/node/auth/SecurityPolicyState/saga.js +472 -0
  224. package/node/auth/SignUp/index.js +38 -0
  225. package/node/auth/SignUp/interfaces.js +13 -0
  226. package/node/auth/SignUp/saga.js +173 -0
  227. package/node/auth/SocialLogins/index.js +38 -0
  228. package/node/auth/SocialLogins/interfaces.js +5 -0
  229. package/node/auth/SocialLogins/saga.js +162 -0
  230. package/node/auth/TeamState/index.js +123 -0
  231. package/node/auth/TeamState/interfaces.js +23 -0
  232. package/node/auth/TeamState/saga.js +1118 -0
  233. package/node/auth/TenantsState/index.js +43 -0
  234. package/node/auth/TenantsState/interfaces.js +5 -0
  235. package/node/auth/TenantsState/saga.js +149 -0
  236. package/node/auth/dummy.js +284 -0
  237. package/node/auth/index.js +528 -170
  238. package/node/auth/initialState.js +86 -0
  239. package/node/auth/interfaces.js +22 -0
  240. package/node/auth/reducer.js +68 -0
  241. package/node/auth/saga.js +51 -0
  242. package/node/auth/utils.js +104 -0
  243. package/node/connectivity/ConnectivityState/index.js +107 -0
  244. package/node/connectivity/consts.js +84 -0
  245. package/node/connectivity/index.js +64 -455
  246. package/node/connectivity/interfaces.js +5 -0
  247. package/node/connectivity/reducer.js +38 -0
  248. package/node/connectivity/saga.js +560 -0
  249. package/node/{constants-52e37c08.js → constants.js} +14 -11
  250. package/node/helpers.js +57 -0
  251. package/node/index.js +120 -293
  252. package/node/interfaces.js +5 -0
  253. package/node/subscriptions/Billing/Information/index.js +42 -0
  254. package/node/subscriptions/Billing/Information/interfaces.js +5 -0
  255. package/node/subscriptions/Billing/Information/saga.js +141 -0
  256. package/node/subscriptions/Billing/Invoices/index.js +55 -0
  257. package/node/subscriptions/Billing/Invoices/interfaces.js +5 -0
  258. package/node/subscriptions/Billing/Invoices/saga.js +92 -0
  259. package/node/subscriptions/Billing/PaymentMethod/index.js +51 -0
  260. package/node/subscriptions/Billing/PaymentMethod/interfaces.js +13 -0
  261. package/node/subscriptions/Billing/PaymentMethod/saga.js +98 -0
  262. package/node/subscriptions/Billing/Subscription/index.js +53 -0
  263. package/node/subscriptions/Billing/Subscription/interfaces.js +5 -0
  264. package/node/subscriptions/Billing/Subscription/saga.js +131 -0
  265. package/node/subscriptions/Billing/index.js +38 -0
  266. package/node/subscriptions/Billing/interfaces.js +57 -0
  267. package/node/subscriptions/Billing/saga.js +25 -0
  268. package/node/subscriptions/Checkout/index.js +47 -0
  269. package/node/subscriptions/Checkout/interfaces.js +5 -0
  270. package/node/subscriptions/Checkout/saga.js +129 -0
  271. package/node/subscriptions/Config/index.js +39 -0
  272. package/node/subscriptions/Config/interfaces.js +5 -0
  273. package/node/subscriptions/Config/saga.js +71 -0
  274. package/node/subscriptions/Plans/index.js +38 -0
  275. package/node/subscriptions/Plans/interfaces.js +5 -0
  276. package/node/subscriptions/Plans/saga.js +73 -0
  277. package/node/subscriptions/Stripe/index.js +39 -0
  278. package/node/subscriptions/Stripe/interfaces.js +5 -0
  279. package/node/subscriptions/Stripe/saga.js +44 -0
  280. package/node/subscriptions/dummy.js +84 -0
  281. package/node/subscriptions/general.interfaces.js +30 -0
  282. package/node/subscriptions/index.js +70 -906
  283. package/node/subscriptions/interfaces.js +83 -0
  284. package/node/subscriptions/mapper.js +51 -0
  285. package/node/subscriptions/reducer.js +52 -0
  286. package/node/subscriptions/saga.js +27 -0
  287. package/node/subscriptions/utils.js +68 -0
  288. package/node/toolkit/index.js +163 -99
  289. package/node/toolkit/redux-saga.js +59 -0
  290. package/node/toolkit/redux.js +43 -0
  291. package/node/vendor/VendorState/index.js +26 -0
  292. package/node/vendor/index.js +66 -13
  293. package/node/vendor/interfaces.js +5 -0
  294. package/node/vendor/reducer.js +32 -0
  295. package/node/vendor/saga.js +48 -0
  296. package/package.json +12 -11
  297. package/subscriptions/Billing/Information/index.d.ts +12 -12
  298. package/subscriptions/Billing/Information/index.js +30 -0
  299. package/subscriptions/Billing/Information/interfaces.d.ts +14 -14
  300. package/subscriptions/Billing/Information/interfaces.js +1 -0
  301. package/subscriptions/Billing/Information/saga.d.ts +52 -52
  302. package/subscriptions/Billing/Information/saga.js +118 -0
  303. package/subscriptions/Billing/Invoices/index.d.ts +18 -18
  304. package/subscriptions/Billing/Invoices/index.js +44 -0
  305. package/subscriptions/Billing/Invoices/interfaces.d.ts +19 -19
  306. package/subscriptions/Billing/Invoices/interfaces.js +1 -0
  307. package/subscriptions/Billing/Invoices/saga.d.ts +13 -13
  308. package/subscriptions/Billing/Invoices/saga.js +75 -0
  309. package/subscriptions/Billing/PaymentMethod/index.d.ts +20 -20
  310. package/subscriptions/Billing/PaymentMethod/index.js +40 -0
  311. package/subscriptions/Billing/PaymentMethod/interfaces.d.ts +46 -46
  312. package/subscriptions/Billing/PaymentMethod/interfaces.js +6 -0
  313. package/subscriptions/Billing/PaymentMethod/saga.d.ts +13 -13
  314. package/subscriptions/Billing/PaymentMethod/saga.js +81 -0
  315. package/subscriptions/Billing/Subscription/index.d.ts +16 -16
  316. package/subscriptions/Billing/Subscription/index.js +42 -0
  317. package/subscriptions/Billing/Subscription/interfaces.d.ts +18 -18
  318. package/subscriptions/Billing/Subscription/interfaces.js +1 -0
  319. package/subscriptions/Billing/Subscription/saga.d.ts +13 -13
  320. package/subscriptions/Billing/Subscription/saga.js +117 -0
  321. package/subscriptions/Billing/index.d.ts +54 -54
  322. package/subscriptions/Billing/index.js +23 -0
  323. package/subscriptions/Billing/interfaces.d.ts +20 -20
  324. package/subscriptions/Billing/interfaces.js +5 -0
  325. package/subscriptions/Billing/saga.d.ts +2 -2
  326. package/subscriptions/Billing/saga.js +11 -0
  327. package/subscriptions/Checkout/index.d.ts +14 -14
  328. package/subscriptions/Checkout/index.js +36 -0
  329. package/subscriptions/Checkout/interfaces.d.ts +17 -17
  330. package/subscriptions/Checkout/interfaces.js +1 -0
  331. package/subscriptions/Checkout/saga.d.ts +5 -5
  332. package/subscriptions/Checkout/saga.js +110 -0
  333. package/subscriptions/Config/index.d.ts +10 -10
  334. package/subscriptions/Config/index.js +28 -0
  335. package/subscriptions/Config/interfaces.d.ts +16 -16
  336. package/subscriptions/Config/interfaces.js +1 -0
  337. package/subscriptions/Config/saga.d.ts +2 -2
  338. package/subscriptions/Config/saga.js +59 -0
  339. package/subscriptions/Plans/index.d.ts +10 -10
  340. package/subscriptions/Plans/index.js +25 -0
  341. package/subscriptions/Plans/interfaces.d.ts +10 -10
  342. package/subscriptions/Plans/interfaces.js +1 -0
  343. package/subscriptions/Plans/saga.d.ts +2 -2
  344. package/subscriptions/Plans/saga.js +58 -0
  345. package/subscriptions/Stripe/index.d.ts +11 -11
  346. package/subscriptions/Stripe/index.js +28 -0
  347. package/subscriptions/Stripe/interfaces.d.ts +10 -10
  348. package/subscriptions/Stripe/interfaces.js +1 -0
  349. package/subscriptions/Stripe/saga.d.ts +1 -1
  350. package/subscriptions/Stripe/saga.js +34 -0
  351. package/subscriptions/dummy.d.ts +5 -5
  352. package/subscriptions/dummy.js +72 -0
  353. package/subscriptions/general.interfaces.d.ts +49 -49
  354. package/subscriptions/general.interfaces.js +21 -0
  355. package/subscriptions/index.d.ts +100 -100
  356. package/subscriptions/index.js +13 -906
  357. package/subscriptions/interfaces.d.ts +25 -25
  358. package/subscriptions/interfaces.js +7 -0
  359. package/subscriptions/mapper.d.ts +6 -6
  360. package/subscriptions/mapper.js +36 -0
  361. package/subscriptions/reducer.d.ts +92 -92
  362. package/subscriptions/reducer.js +29 -0
  363. package/subscriptions/saga.d.ts +2 -2
  364. package/subscriptions/saga.js +12 -0
  365. package/subscriptions/utils.d.ts +68 -68
  366. package/subscriptions/utils.js +52 -0
  367. package/toolkit/index.d.ts +24 -23
  368. package/toolkit/index.js +106 -94
  369. package/toolkit/redux-saga.d.ts +4 -4
  370. package/toolkit/redux-saga.js +3 -0
  371. package/toolkit/redux.d.ts +3 -2
  372. package/toolkit/redux.js +1 -0
  373. package/vendor/VendorState/index.d.ts +20 -20
  374. package/vendor/VendorState/index.js +13 -0
  375. package/vendor/index.d.ts +17 -17
  376. package/vendor/index.js +12 -18
  377. package/vendor/interfaces.d.ts +3 -3
  378. package/vendor/interfaces.js +1 -0
  379. package/vendor/reducer.d.ts +8 -8
  380. package/vendor/reducer.js +19 -0
  381. package/vendor/saga.d.ts +8 -8
  382. package/vendor/saga.js +34 -0
  383. package/audits/backward-compatibility/package.json +0 -6
  384. package/constants-4d9682b2.js +0 -9
  385. package/node/index-5642a636.js +0 -4131
  386. package/node/index-6906e508.js +0 -151
  387. package/node/saga-b0d1a607.js +0 -230
  388. package/saga-7a267fe0.js +0 -223
  389. package/saga-b6529ffb.js +0 -36
@@ -0,0 +1,918 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.afterAuthNavigation = afterAuthNavigation;
9
+ exports.getMfaRequiredState = getMfaRequiredState;
10
+ exports.isMfaRequired = void 0;
11
+ exports.loadSSOPublicConfigurationFunction = loadSSOPublicConfigurationFunction;
12
+ exports.loginSagas = loginSagas;
13
+ exports.loginSagasMock = loginSagasMock;
14
+ exports.refreshMetadata = refreshMetadata;
15
+ exports.refreshToken = refreshToken;
16
+
17
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
18
+
19
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
20
+
21
+ var _effects = require("redux-saga/effects");
22
+
23
+ var _restApi = require("@frontegg/rest-api");
24
+
25
+ var _reducer = require("../reducer");
26
+
27
+ var _constants = require("../../constants");
28
+
29
+ var _interfaces = require("../interfaces");
30
+
31
+ var _interfaces2 = require("./interfaces");
32
+
33
+ var _saga = require("../SignUp/saga");
34
+
35
+ var _interfaces3 = require("../MfaState/interfaces");
36
+
37
+ var _dummy = require("../dummy");
38
+
39
+ var _interfaces4 = require("../SSOState/interfaces");
40
+
41
+ var _saga2 = require("../../vendor/saga");
42
+
43
+ var _helpers = require("../../helpers");
44
+
45
+ var _interfaces5 = require("../ResetPhoneNumberState/interfaces");
46
+
47
+ const _excluded = ["callback"],
48
+ _excluded2 = ["callback", "events"],
49
+ _excluded3 = ["callback"];
50
+ const authStrategyLoginStepMap = {
51
+ [_restApi.AuthStrategyEnum.Code]: _interfaces2.LoginStep.loginWithOtc,
52
+ [_restApi.AuthStrategyEnum.EmailAndPassword]: _interfaces2.LoginStep.loginWithPassword,
53
+ [_restApi.AuthStrategyEnum.MagicLink]: _interfaces2.LoginStep.magicLinkPreLoginSuccess,
54
+ [_restApi.AuthStrategyEnum.SmsCode]: _interfaces2.LoginStep.loginWithSmsOtc
55
+ };
56
+
57
+ function* afterAuthNavigation() {
58
+ var _window;
59
+
60
+ const onRedirectTo = _restApi.ContextHolder.onRedirectTo;
61
+ const {
62
+ routes,
63
+ includeQueryParam
64
+ } = yield (0, _effects.select)(state => state.auth);
65
+ const {
66
+ loginUrl,
67
+ logoutUrl,
68
+ socialLoginCallbackUrl,
69
+ activateUrl
70
+ } = routes;
71
+ let {
72
+ authenticatedUrl
73
+ } = routes;
74
+ const afterAuthRedirect = window.localStorage.getItem(_constants.FRONTEGG_AFTER_AUTH_REDIRECT_URL);
75
+
76
+ if (afterAuthRedirect && ![loginUrl, logoutUrl, socialLoginCallbackUrl, activateUrl].includes(afterAuthRedirect)) {
77
+ authenticatedUrl = afterAuthRedirect;
78
+ }
79
+
80
+ window.localStorage.removeItem(_constants.FRONTEGG_AFTER_AUTH_REDIRECT_URL);
81
+ yield (0, _effects.delay)(200);
82
+ (0, _effects.put)(_reducer.actions.resetLoginState());
83
+ const url = new URL((_window = window) == null ? void 0 : _window.location.href);
84
+ let redirectUrl = authenticatedUrl;
85
+
86
+ if (url.searchParams.get('redirectUrl')) {
87
+ var _url$searchParams$get;
88
+
89
+ redirectUrl = (_url$searchParams$get = url.searchParams.get('redirectUrl')) != null ? _url$searchParams$get : authenticatedUrl;
90
+ } else if (includeQueryParam) {
91
+ redirectUrl += window.location.search;
92
+ }
93
+
94
+ onRedirectTo(redirectUrl, {
95
+ refresh: redirectUrl.startsWith('http')
96
+ });
97
+ }
98
+
99
+ function* refreshMetadata() {
100
+ let ssoACS;
101
+
102
+ try {
103
+ var _metadata$configurati;
104
+
105
+ const metadata = yield (0, _effects.call)(_restApi.api.metadata.getSamlMetadata);
106
+ ssoACS = metadata == null ? void 0 : (_metadata$configurati = metadata.configuration) == null ? void 0 : _metadata$configurati.acsUrl;
107
+ } catch (e) {
108
+ console.error(e);
109
+ }
110
+
111
+ yield (0, _effects.put)(_reducer.actions.setState({
112
+ ssoACS
113
+ }));
114
+ }
115
+
116
+ function* loadSSOPublicConfigurationFunction() {
117
+ try {
118
+ const {
119
+ isActive
120
+ } = yield (0, _effects.call)(_restApi.api.auth.getSSOPublicConfiguration);
121
+ yield (0, _effects.put)(_reducer.actions.setState({
122
+ isSSOAuth: isActive
123
+ }));
124
+ } catch (e) {
125
+ console.error(e);
126
+ }
127
+ }
128
+
129
+ const isMfaRequired = user => {
130
+ if (user.mfaRequired && user.mfaToken) {
131
+ _restApi.ContextHolder.setAccessToken(null);
132
+
133
+ _restApi.ContextHolder.setUser(null);
134
+
135
+ return true;
136
+ } else {
137
+ _restApi.ContextHolder.setAccessToken(user.accessToken);
138
+
139
+ _restApi.ContextHolder.setUser(user);
140
+
141
+ return false;
142
+ }
143
+ };
144
+
145
+ exports.isMfaRequired = isMfaRequired;
146
+
147
+ function* getMfaRequiredState(user) {
148
+ let setMfaState = {};
149
+ let step = _interfaces2.LoginStep.loginWithTwoFactor;
150
+ const {
151
+ loginState
152
+ } = yield (0, _effects.select)(state => state.auth);
153
+ const {
154
+ isAllowedToRemember,
155
+ mfaDeviceExpiration
156
+ } = yield (0, _effects.call)(_restApi.api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);
157
+
158
+ if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {
159
+ setMfaState = {
160
+ mfaState: {
161
+ step: _interfaces3.MFAStep.verify,
162
+ qrCode: user.qrCode,
163
+ recoveryCode: user.recoveryCode,
164
+ loading: false,
165
+ mfaToken: user.mfaToken
166
+ }
167
+ };
168
+ step = _interfaces2.LoginStep.forceTwoFactor;
169
+ }
170
+
171
+ return (0, _extends2.default)({
172
+ user: undefined,
173
+ isAuthenticated: false
174
+ }, setMfaState, {
175
+ loginState: (0, _extends2.default)({}, loginState, {
176
+ mfaToken: user.mfaToken,
177
+ mfaRequired: user.mfaRequired,
178
+ loading: false,
179
+ error: undefined,
180
+ step,
181
+ tenantsLoading: true,
182
+ tenants: [],
183
+ allowRememberMfaDevice: isAllowedToRemember,
184
+ mfaDeviceExpiration
185
+ })
186
+ });
187
+ }
188
+
189
+ function* refreshToken() {
190
+ try {
191
+ const onRedirectTo = _restApi.ContextHolder.onRedirectTo;
192
+ const {
193
+ routes,
194
+ loginState
195
+ } = yield (0, _effects.select)(state => state.auth);
196
+ const {
197
+ user,
198
+ tenants
199
+ } = yield (0, _effects.call)(_restApi.api.auth.refreshTokenV2);
200
+
201
+ if (isMfaRequired(user)) {
202
+ const mfaRequiredState = yield getMfaRequiredState(user);
203
+ yield (0, _effects.put)(_reducer.actions.setState(mfaRequiredState));
204
+ onRedirectTo(routes.loginUrl, {
205
+ preserveQueryParams: true
206
+ });
207
+ } else {
208
+ yield (0, _effects.put)(_reducer.actions.setTenantsState({
209
+ tenants,
210
+ loading: false
211
+ }));
212
+ yield (0, _effects.put)(_reducer.actions.setState({
213
+ user,
214
+ isAuthenticated: true
215
+ }));
216
+
217
+ if ([routes.loginUrl, routes.socialLoginCallbackUrl, routes.signUpUrl, routes.oidcRedirectUrl, routes.samlCallbackUrl].some(url => url && window.location.pathname.endsWith(url))) {
218
+ if (loginState.isNewUser && routes.signUpSuccessUrl && routes.socialLoginCallbackUrl === window.location.pathname) {
219
+ onRedirectTo(routes.signUpSuccessUrl, {
220
+ refresh: routes.signUpSuccessUrl.startsWith('http')
221
+ });
222
+ } else {
223
+ yield afterAuthNavigation();
224
+ }
225
+ }
226
+ }
227
+ } catch (e) {
228
+ _restApi.ContextHolder.setAccessToken(null);
229
+
230
+ _restApi.ContextHolder.setUser(null);
231
+
232
+ yield (0, _effects.put)(_reducer.actions.setState({
233
+ user: undefined,
234
+ isAuthenticated: false
235
+ }));
236
+ }
237
+ }
238
+
239
+ function* requestAuthorize({
240
+ payload: firstTime
241
+ }) {
242
+ const calls = [];
243
+
244
+ if (firstTime) {
245
+ yield (0, _effects.put)(_reducer.actions.setState({
246
+ isLoading: true
247
+ }));
248
+ yield (0, _effects.put)(_reducer.actions.loadSocialLoginsConfigurationV2());
249
+ calls.push((0, _effects.call)(_saga.loadAllowSignUps));
250
+ calls.push((0, _effects.call)(loadSSOPublicConfigurationFunction));
251
+ calls.push((0, _effects.call)(_saga2.loadVendorPublicInfo));
252
+ calls.push((0, _effects.call)(refreshMetadata));
253
+ }
254
+
255
+ calls.push((0, _effects.call)(refreshToken));
256
+ yield (0, _effects.all)(calls);
257
+ yield (0, _effects.put)(_reducer.actions.setState({
258
+ isLoading: false
259
+ }));
260
+ }
261
+
262
+ function* refreshTokenSSR(accessToken) {
263
+ if (!accessToken) {
264
+ _restApi.ContextHolder.setAccessToken(null);
265
+
266
+ _restApi.ContextHolder.setUser(null);
267
+
268
+ yield (0, _effects.put)(_reducer.actions.setState({
269
+ user: undefined,
270
+ isAuthenticated: false
271
+ }));
272
+ return;
273
+ }
274
+
275
+ try {
276
+ const onRedirectTo = _restApi.ContextHolder.onRedirectTo;
277
+ const {
278
+ routes
279
+ } = yield (0, _effects.select)(state => state.auth);
280
+ const {
281
+ user,
282
+ tenants
283
+ } = yield (0, _effects.call)(_restApi.api.auth.generateLoginResponseV2, {
284
+ accessToken
285
+ });
286
+
287
+ if (isMfaRequired(user)) {
288
+ const mfaRequiredState = yield getMfaRequiredState(user);
289
+ yield (0, _effects.put)(_reducer.actions.setState(mfaRequiredState));
290
+ onRedirectTo(routes.loginUrl, {
291
+ preserveQueryParams: true
292
+ });
293
+ } else {
294
+ yield (0, _effects.put)(_reducer.actions.setTenantsState({
295
+ tenants,
296
+ loading: false
297
+ }));
298
+ yield (0, _effects.put)(_reducer.actions.setState({
299
+ user,
300
+ isAuthenticated: true
301
+ }));
302
+ }
303
+ } catch (e) {
304
+ _restApi.ContextHolder.setAccessToken(null);
305
+
306
+ _restApi.ContextHolder.setUser(null);
307
+
308
+ yield (0, _effects.put)(_reducer.actions.setState({
309
+ user: undefined,
310
+ isAuthenticated: false
311
+ }));
312
+ }
313
+ }
314
+
315
+ function* requestAuthorizeSSR({
316
+ payload: accessToken
317
+ }) {
318
+ const calls = [];
319
+ yield (0, _effects.put)(_reducer.actions.setState({
320
+ isLoading: true
321
+ }));
322
+ yield (0, _effects.put)(_reducer.actions.loadSocialLoginsConfigurationV2());
323
+ calls.push((0, _effects.call)(_saga.loadAllowSignUps));
324
+ calls.push((0, _effects.call)(loadSSOPublicConfigurationFunction));
325
+ calls.push((0, _effects.call)(_saga2.loadVendorPublicInfo));
326
+ calls.push((0, _effects.call)(refreshMetadata));
327
+ calls.push((0, _effects.call)(refreshTokenSSR, accessToken));
328
+ yield (0, _effects.all)(calls);
329
+ yield (0, _effects.put)(_reducer.actions.setState({
330
+ isLoading: false
331
+ }));
332
+ }
333
+
334
+ function* requestHostedLoginAuthorize() {
335
+ const {
336
+ routes,
337
+ context,
338
+ onRedirectTo
339
+ } = yield (0, _effects.select)(state => ({
340
+ routes: state.auth.routes,
341
+ onRedirectTo: state.auth.onRedirectTo,
342
+ context: state.root.context
343
+ }));
344
+ const nonce = (0, _helpers.createRandomString)();
345
+ const code_verifier = (0, _helpers.createRandomString)();
346
+ const code_challenge = yield (0, _effects.call)(_helpers.generateCodeChallenge, code_verifier);
347
+ localStorage.setItem(_constants.HOSTED_LOGIN_VERIFIER_KEY, code_verifier);
348
+ const redirectUrl = `${window.location.origin}${routes.hostedLoginRedirectUrl}`;
349
+
350
+ const baseUrl = _restApi.fetch.getBaseUrl(context, '/oauth/authorize');
351
+
352
+ const oauthUrl = `${baseUrl}/oauth/authorize`;
353
+ const params = {
354
+ response_type: 'code',
355
+ client_id: context.clientId || 'INVALID-CLIENT-ID',
356
+ scope: 'openid email profile',
357
+ redirect_uri: redirectUrl,
358
+ code_challenge: code_challenge,
359
+ code_challenge_method: 'S256',
360
+ nonce
361
+ };
362
+ const searchParams = new URLSearchParams(params);
363
+ const url = `${oauthUrl}?${searchParams.toString()}`;
364
+ onRedirectTo(url, {
365
+ refresh: true
366
+ });
367
+ }
368
+
369
+ function* handleHostedLoginCallback({
370
+ payload
371
+ }) {
372
+ const code_verifier = localStorage.getItem(_constants.HOSTED_LOGIN_VERIFIER_KEY) || 'INVALID-CODE-VERIFIER';
373
+ const routes = yield (0, _effects.select)(state => state.auth.routes);
374
+ const redirectUrl = `${window.location.origin}${routes.hostedLoginRedirectUrl}`;
375
+ const body = {
376
+ code: payload.code,
377
+ redirect_uri: redirectUrl,
378
+ code_verifier,
379
+ grant_type: 'authorization_code'
380
+ };
381
+ const user = yield (0, _effects.call)(_restApi.api.auth.exchangeOAuthTokens, body);
382
+ yield (0, _effects.put)(_reducer.actions.setState({
383
+ user,
384
+ isAuthenticated: true
385
+ }));
386
+ yield (0, _effects.put)(_reducer.actions.loadTenants());
387
+ yield afterAuthNavigation();
388
+ }
389
+
390
+ function* passwordlessPreLogin(_ref) {
391
+ let {
392
+ payload: {
393
+ callback
394
+ }
395
+ } = _ref,
396
+ payload = (0, _objectWithoutPropertiesLoose2.default)(_ref.payload, _excluded);
397
+
398
+ try {
399
+ const {
400
+ onRedirectTo,
401
+ routes
402
+ } = yield (0, _effects.select)(({
403
+ auth: {
404
+ onRedirectTo,
405
+ routes
406
+ }
407
+ }) => ({
408
+ onRedirectTo,
409
+ routes
410
+ }));
411
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
412
+ loading: true
413
+ }));
414
+ const preloginRes = yield (0, _effects.call)(_restApi.api.auth.passwordlessPreLogin, payload);
415
+ const step = authStrategyLoginStepMap[payload.type];
416
+
417
+ if (step === _interfaces2.LoginStep.loginWithSmsOtc && preloginRes.resetPhoneNumberToken) {
418
+ yield (0, _effects.put)(_reducer.actions.setResetPhoneNumberState({
419
+ resetPhoneNumberToken: preloginRes.resetPhoneNumberToken,
420
+ step: _interfaces5.ResetPhoneNumberStep.VerifyResetPhoneNumber
421
+ }));
422
+ onRedirectTo(routes.resetPhoneNumberUrl);
423
+ return;
424
+ }
425
+
426
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
427
+ step,
428
+ loading: false,
429
+ email: payload.email,
430
+ phoneNumber: preloginRes == null ? void 0 : preloginRes.phoneNumber
431
+ }));
432
+ callback == null ? void 0 : callback();
433
+ } catch (e) {
434
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
435
+ error: e.message,
436
+ loading: false
437
+ }));
438
+ callback == null ? void 0 : callback();
439
+ }
440
+ }
441
+
442
+ function* passwordlessPostLogin(_ref2) {
443
+ let {
444
+ payload: {
445
+ callback,
446
+ events
447
+ }
448
+ } = _ref2,
449
+ payload = (0, _objectWithoutPropertiesLoose2.default)(_ref2.payload, _excluded2);
450
+
451
+ try {
452
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
453
+ loading: true
454
+ }));
455
+ const data = yield (0, _effects.call)(_restApi.api.auth.passwordlessPostLogin, payload);
456
+
457
+ if (isMfaRequired(data)) {
458
+ const onRedirectTo = _restApi.ContextHolder.onRedirectTo;
459
+ const {
460
+ routes
461
+ } = yield (0, _effects.select)(state => state.auth);
462
+ const mfaRequiredState = yield getMfaRequiredState(data);
463
+ yield (0, _effects.put)(_reducer.actions.setState(mfaRequiredState));
464
+ onRedirectTo(routes.loginUrl, {
465
+ preserveQueryParams: true
466
+ });
467
+ } else {
468
+ const user = yield (0, _effects.call)(_restApi.api.auth.generateLoginResponse, data);
469
+
470
+ if (data.emailVerified) {
471
+ var _events$userVerified;
472
+
473
+ events == null ? void 0 : (_events$userVerified = events.userVerified) == null ? void 0 : _events$userVerified.call(events, {
474
+ email: user.email,
475
+ origin: _interfaces.UserVeirifedOriginTypes.PASSWORDLESS,
476
+ id: user.id,
477
+ tenantId: user.tenantId,
478
+ createdAt: new Date(),
479
+ name: user.name
480
+ });
481
+ }
482
+
483
+ yield (0, _effects.put)(_reducer.actions.loadTenants());
484
+ yield (0, _effects.put)(_reducer.actions.setState({
485
+ user,
486
+ isAuthenticated: true
487
+ }));
488
+ yield afterAuthNavigation();
489
+ }
490
+
491
+ callback == null ? void 0 : callback(true);
492
+ } catch (e) {
493
+ var _e$message;
494
+
495
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
496
+ error: (_e$message = e.message) != null ? _e$message : 'Failed to authenticate'
497
+ }));
498
+ } finally {
499
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
500
+ loading: false
501
+ }));
502
+ }
503
+ }
504
+
505
+ function* verifyInviteToken({
506
+ payload
507
+ }) {
508
+ try {
509
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
510
+ loading: true
511
+ }));
512
+ const {
513
+ name: inviteTokenTenantName
514
+ } = yield (0, _effects.call)(_restApi.api.auth.verifyInviteToken, payload);
515
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
516
+ inviteTokenTenantName
517
+ }));
518
+ } catch (e) {
519
+ var _e$message2;
520
+
521
+ console.error(e);
522
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
523
+ inviteTokenError: (_e$message2 = e.message) != null ? _e$message2 : `We couldn't verify your invitation`
524
+ }));
525
+ } finally {
526
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
527
+ loading: false
528
+ }));
529
+ }
530
+ }
531
+
532
+ function* preLogin({
533
+ payload: {
534
+ email,
535
+ recaptchaToken,
536
+ invitationToken,
537
+ callback
538
+ }
539
+ }) {
540
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
541
+ loading: true
542
+ }));
543
+
544
+ try {
545
+ const onRedirectTo = yield (0, _effects.select)(({
546
+ auth: {
547
+ onRedirectTo
548
+ }
549
+ }) => onRedirectTo);
550
+ let {
551
+ address,
552
+ idpType
553
+ } = yield (0, _effects.call)(_restApi.api.auth.preLoginV2, {
554
+ email
555
+ });
556
+
557
+ if (address) {
558
+ if (idpType === _interfaces4.SamlVendors.Oidc && !address.includes('redirect_uri')) {
559
+ const {
560
+ routes: {
561
+ oidcRedirectUrl
562
+ }
563
+ } = yield (0, _effects.select)(({
564
+ auth: {
565
+ routes
566
+ }
567
+ }) => ({
568
+ routes
569
+ }));
570
+ address += `&redirect_uri=${window.location.origin}${oidcRedirectUrl}`;
571
+ }
572
+
573
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
574
+ step: _interfaces2.LoginStep.redirectToSSO,
575
+ loading: false,
576
+ ssoRedirectUrl: address
577
+ }));
578
+ setTimeout(() => {
579
+ onRedirectTo(address, {
580
+ refresh: true
581
+ });
582
+ }, 2000);
583
+ } else {
584
+ yield ssoPreloginFailed({
585
+ email,
586
+ recaptchaToken,
587
+ callback,
588
+ invitationToken
589
+ });
590
+ }
591
+ } catch (e) {
592
+ yield ssoPreloginFailed({
593
+ email,
594
+ recaptchaToken,
595
+ callback,
596
+ invitationToken
597
+ });
598
+ }
599
+ }
600
+
601
+ function* ssoPreloginFailed(_ref3) {
602
+ let {
603
+ callback
604
+ } = _ref3,
605
+ body = (0, _objectWithoutPropertiesLoose2.default)(_ref3, _excluded3);
606
+ const publicPolicy = yield (0, _effects.select)(({
607
+ auth: {
608
+ securityPolicyState: {
609
+ publicPolicy: {
610
+ policy: publicPolicy
611
+ }
612
+ }
613
+ }
614
+ }) => publicPolicy);
615
+
616
+ if (!(publicPolicy != null && publicPolicy.authStrategy)) {
617
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
618
+ step: _interfaces2.LoginStep.loginWithPassword,
619
+ loading: false
620
+ }));
621
+ callback == null ? void 0 : callback();
622
+ return;
623
+ }
624
+
625
+ if ((publicPolicy == null ? void 0 : publicPolicy.authStrategy) === _restApi.AuthStrategyEnum.EmailAndPassword) {
626
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
627
+ step: _interfaces2.LoginStep.loginWithPassword,
628
+ loading: false
629
+ }));
630
+ callback == null ? void 0 : callback();
631
+ } else if ([_restApi.AuthStrategyEnum.MagicLink, _restApi.AuthStrategyEnum.Code, _restApi.AuthStrategyEnum.SmsCode].includes(publicPolicy == null ? void 0 : publicPolicy.authStrategy)) {
632
+ yield (0, _effects.put)(_reducer.actions.passwordlessPreLogin((0, _extends2.default)({}, body, {
633
+ type: publicPolicy == null ? void 0 : publicPolicy.authStrategy,
634
+ callback
635
+ })));
636
+ } else {
637
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
638
+ step: _interfaces2.LoginStep.loginWithPassword,
639
+ loading: false
640
+ }));
641
+ callback == null ? void 0 : callback();
642
+ }
643
+ }
644
+
645
+ function* postLogin({
646
+ payload
647
+ }) {
648
+ const {
649
+ onRedirectTo,
650
+ routes
651
+ } = yield (0, _effects.select)(({
652
+ auth: {
653
+ onRedirectTo,
654
+ routes
655
+ }
656
+ }) => ({
657
+ onRedirectTo,
658
+ routes
659
+ }));
660
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
661
+ loading: true
662
+ }));
663
+
664
+ try {
665
+ const user = yield (0, _effects.call)(_restApi.api.auth.postLogin, payload);
666
+
667
+ _restApi.ContextHolder.setAccessToken(user.accessToken);
668
+
669
+ _restApi.ContextHolder.setUser(user);
670
+
671
+ yield (0, _effects.put)(_reducer.actions.setState({
672
+ user: !!user.accessToken ? user : undefined,
673
+ isAuthenticated: !!user.accessToken
674
+ }));
675
+ yield afterAuthNavigation();
676
+ } catch (e) {
677
+ setTimeout(() => {
678
+ onRedirectTo(routes.authenticatedUrl);
679
+ }, 1000);
680
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
681
+ step: _interfaces2.LoginStep.loginWithSSOFailed,
682
+ loading: false
683
+ }));
684
+ }
685
+ }
686
+
687
+ function* login({
688
+ payload: {
689
+ email,
690
+ password,
691
+ recaptchaToken,
692
+ invitationToken,
693
+ callback
694
+ }
695
+ }) {
696
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
697
+ loading: true
698
+ }));
699
+
700
+ try {
701
+ const user = yield (0, _effects.call)(_restApi.api.auth.login, {
702
+ email,
703
+ password,
704
+ recaptchaToken,
705
+ invitationToken
706
+ });
707
+
708
+ _restApi.ContextHolder.setAccessToken(user.accessToken);
709
+
710
+ _restApi.ContextHolder.setUser(user);
711
+
712
+ let setMfaState = {};
713
+ let step = _interfaces2.LoginStep.success;
714
+
715
+ if (user.mfaRequired && user.mfaToken) {
716
+ step = _interfaces2.LoginStep.loginWithTwoFactor;
717
+
718
+ if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {
719
+ setMfaState = {
720
+ mfaState: {
721
+ step: _interfaces3.MFAStep.verify,
722
+ qrCode: user.qrCode,
723
+ recoveryCode: user.recoveryCode,
724
+ mfaToken: user.mfaToken,
725
+ loading: false
726
+ }
727
+ };
728
+ step = _interfaces2.LoginStep.forceTwoFactor;
729
+ }
730
+ }
731
+
732
+ const isAuthenticated = step === _interfaces2.LoginStep.success && !!user.accessToken;
733
+ const loggedInUser = step === _interfaces2.LoginStep.success && step === _interfaces2.LoginStep.success ? user : undefined;
734
+ let allowRememberDevice = {
735
+ isAllowedToRemember: false,
736
+ mfaDeviceExpiration: 0
737
+ };
738
+
739
+ if (user.mfaRequired && user.mfaToken) {
740
+ allowRememberDevice = yield (0, _effects.call)(_restApi.api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);
741
+ }
742
+
743
+ const {
744
+ isAllowedToRemember,
745
+ mfaDeviceExpiration
746
+ } = allowRememberDevice;
747
+ yield (0, _effects.put)(_reducer.actions.setState((0, _extends2.default)({
748
+ user: loggedInUser,
749
+ isAuthenticated
750
+ }, setMfaState, {
751
+ loginState: {
752
+ email,
753
+ loading: false,
754
+ error: undefined,
755
+ mfaToken: user.mfaToken,
756
+ step,
757
+ tenants: [],
758
+ tenantsLoading: true,
759
+ allowRememberMfaDevice: isAllowedToRemember,
760
+ mfaDeviceExpiration
761
+ }
762
+ })));
763
+
764
+ if (step === _interfaces2.LoginStep.success) {
765
+ yield (0, _effects.put)(_reducer.actions.loadTenants());
766
+ yield afterAuthNavigation();
767
+ }
768
+
769
+ callback == null ? void 0 : callback(true);
770
+ } catch (e) {
771
+ _restApi.ContextHolder.setAccessToken(null);
772
+
773
+ _restApi.ContextHolder.setUser(null);
774
+
775
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
776
+ email,
777
+ error: e.message,
778
+ loading: false
779
+ }));
780
+ }
781
+ }
782
+
783
+ function* loginWithMfa({
784
+ payload: {
785
+ mfaToken,
786
+ value,
787
+ rememberDevice,
788
+ callback
789
+ }
790
+ }) {
791
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
792
+ loading: true
793
+ }));
794
+
795
+ try {
796
+ const user = yield (0, _effects.call)(_restApi.api.auth.loginWithMfa, {
797
+ mfaToken,
798
+ value,
799
+ rememberDevice
800
+ });
801
+ const step = _interfaces2.LoginStep.success;
802
+ yield (0, _effects.put)(_reducer.actions.setState({
803
+ loginState: {
804
+ loading: false,
805
+ error: undefined,
806
+ step,
807
+ tenantsLoading: true,
808
+ tenants: []
809
+ },
810
+ user,
811
+ isAuthenticated: true
812
+ }));
813
+ yield (0, _effects.put)(_reducer.actions.loadTenants());
814
+ callback == null ? void 0 : callback(true);
815
+
816
+ if (step === _interfaces2.LoginStep.success) {
817
+ yield afterAuthNavigation();
818
+ }
819
+ } catch (e) {
820
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
821
+ error: e.message,
822
+ loading: false
823
+ }));
824
+ callback == null ? void 0 : callback(false, e);
825
+ }
826
+ }
827
+
828
+ function* recoverMfa({
829
+ payload
830
+ }) {
831
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
832
+ loading: true
833
+ }));
834
+
835
+ try {
836
+ yield (0, _effects.call)(_restApi.api.auth.recoverMfaToken, payload);
837
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
838
+ loading: false,
839
+ error: undefined,
840
+ step: _interfaces2.LoginStep.preLogin
841
+ }));
842
+ yield (0, _effects.put)(_reducer.actions.setState({
843
+ user: undefined,
844
+ isAuthenticated: false
845
+ }));
846
+ } catch (e) {
847
+ yield (0, _effects.put)(_reducer.actions.setLoginState({
848
+ error: e.message,
849
+ loading: false
850
+ }));
851
+ }
852
+ }
853
+
854
+ function* logout({
855
+ payload
856
+ }) {
857
+ yield (0, _effects.put)(_reducer.actions.setState({
858
+ isLoading: true
859
+ }));
860
+
861
+ try {
862
+ yield (0, _effects.call)(_restApi.api.auth.logout);
863
+ } catch {}
864
+
865
+ yield (0, _effects.put)(_reducer.actions.resetState());
866
+ yield (0, _effects.put)(_reducer.actions.requestAuthorize(true));
867
+ payload == null ? void 0 : payload();
868
+ }
869
+
870
+ function* silentLogout({
871
+ payload
872
+ }) {
873
+ try {
874
+ yield (0, _effects.call)(_restApi.api.auth.logout);
875
+ } catch {}
876
+
877
+ setTimeout(() => payload == null ? void 0 : payload(), 500);
878
+ }
879
+
880
+ function* loginSagas() {
881
+ yield (0, _effects.takeLeading)(_reducer.actions.requestAuthorize, requestAuthorize);
882
+ yield (0, _effects.takeLeading)(_reducer.actions.requestAuthorizeSSR, requestAuthorizeSSR);
883
+ yield (0, _effects.takeLeading)(_reducer.actions.requestHostedLoginAuthorize, requestHostedLoginAuthorize);
884
+ yield (0, _effects.takeLeading)(_reducer.actions.handleHostedLoginCallback, handleHostedLoginCallback);
885
+ yield (0, _effects.takeLeading)(_reducer.actions.preLogin, preLogin);
886
+ yield (0, _effects.takeLeading)(_reducer.actions.postLogin, postLogin);
887
+ yield (0, _effects.takeLeading)(_reducer.actions.login, login);
888
+ yield (0, _effects.takeLeading)(_reducer.actions.logout, logout);
889
+ yield (0, _effects.takeLeading)(_reducer.actions.silentLogout, silentLogout);
890
+ yield (0, _effects.takeLeading)(_reducer.actions.loginWithMfa, loginWithMfa);
891
+ yield (0, _effects.takeLeading)(_reducer.actions.recoverMfa, recoverMfa);
892
+ yield (0, _effects.takeLeading)(_reducer.actions.passwordlessPreLogin, passwordlessPreLogin);
893
+ yield (0, _effects.takeLeading)(_reducer.actions.passwordlessPostLogin, passwordlessPostLogin);
894
+ yield (0, _effects.takeLeading)(_reducer.actions.verifyInviteToken, verifyInviteToken);
895
+ }
896
+
897
+ function* requestAuthorizeMock({
898
+ payload: firstTime
899
+ }) {
900
+ if (firstTime) {
901
+ yield (0, _effects.put)(_reducer.actions.setState({
902
+ isLoading: true
903
+ }));
904
+ }
905
+
906
+ const user = _dummy.userDemo;
907
+ yield (0, _effects.put)(_reducer.actions.loadTenants());
908
+ yield (0, _effects.put)(_reducer.actions.setState({
909
+ user,
910
+ isAuthenticated: true,
911
+ isLoading: false
912
+ }));
913
+ }
914
+
915
+ function* loginSagasMock() {
916
+ yield (0, _effects.takeLeading)(_reducer.actions.requestAuthorize, requestAuthorizeMock);
917
+ yield (0, _effects.takeLeading)(_reducer.actions.afterAuthNavigation, afterAuthNavigation);
918
+ }