Guest User

Untitled

a guest
Mar 3rd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. export function* loginFlow(action) {
  2. try {
  3. const {username, password} = action.payload;
  4. const responsePromise = yield call(login, {username, password, isRegistering: false});
  5. yield responsePromise
  6. .then(result => {
  7. console.log('loginFlow responsePromise result', result);
  8. put(creators.queueLoginSucceededAction()); // doesn't work
  9. put(push('/')); // doesn't work
  10. })
  11. .catch(err => {
  12. console.log('loginFlow responsePromise err', err);
  13. put(creators.queueLoginFailedAction()); // doesn't work
  14. });
  15. }
  16. catch(err) {
  17. console.log(err);
  18. yield put(creators.queueLoginFailedAction());
  19. }
  20. }
  21.  
  22. export function* login(options) {
  23. try {
  24. // if we are already logged in, via token in local storage,
  25. // then skip checking against server
  26. if( store.get('token') ) {
  27. return Promise.resolve('Already logged in.');
  28. }
  29.  
  30. // query server for valid login, returns a JWT token to store
  31. const hash = yield bcrypt.hashSync(options.password, 10);
  32. yield put(creators.queueLoginHttpPostedAction());
  33. return axios.post('/auth/local', {
  34. params: {
  35. username: options.username,
  36. password: hash,
  37. hash: true,
  38. }
  39. })
  40. .then(result => {
  41. console.log('api>auth>login>result', result);
  42. put(creators.queueLoginHttpSucceededAction()); // doesn't work
  43. return Promise.resolve('Login successful');
  44. })
  45. .catch(err => {
  46. console.log('api>auth>login>err', err);
  47. put(creators.queueLoginHttpFailedAction()); // doesn't work
  48. return Promise.reject(err.message);
  49. });
  50. }
  51. catch (err) {
  52. yield put(creators.queueLoginHttpFailedAction());
  53. return Promise.reject('Login could not execute');
  54. }
  55. }
Add Comment
Please, Sign In to add comment