You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

forgotPasswordSaga.js 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { all, takeLatest, call } from "@redux-saga/core/effects";
  2. import { forgotPasswordRequest, resetPasswordRequest } from "../../request/forgotPasswordRequest";
  3. import { FORGOT_PASSWORD, RESET_PASSWORD } from "../actions/user/userActionConstants";
  4. function* forgotPassword({payload}) {
  5. try {
  6. const data = yield call(forgotPasswordRequest, payload.email);
  7. console.log(data);
  8. if (data) {
  9. if (payload.handleResponseSuccess) {
  10. yield call(payload.handleResponseSuccess);
  11. }
  12. }
  13. }
  14. catch(e) {
  15. console.log(e);
  16. if (payload.handleResponseError) {
  17. yield call(payload.handleResponseError);
  18. }
  19. }
  20. }
  21. function* resetPassword({payload}) {
  22. try {
  23. const data = yield call(resetPasswordRequest, {
  24. password: payload.password,
  25. password2: payload.password2,
  26. token: payload.token
  27. })
  28. if (data) {
  29. if (payload.handleResponseSuccess) {
  30. yield call(payload.handleResponseSuccess);
  31. }
  32. }
  33. }
  34. catch(e) {
  35. if (payload.handleResponseError) {
  36. yield call(payload.handleResponseError);
  37. }
  38. }
  39. }
  40. export default function* forgotPasswordSaga() {
  41. yield all([
  42. takeLatest(FORGOT_PASSWORD, forgotPassword),
  43. takeLatest(RESET_PASSWORD, resetPassword)
  44. ])
  45. }