From f2fba8bd823bbdb5ab597418051ecf6d93386799 Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Fri, 3 Nov 2017 10:47:46 -0200 Subject: [PATCH] login after register working --- app/actions/login.js | 5 +++-- app/sagas/login.js | 15 +++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/actions/login.js b/app/actions/login.js index a9ee6147d..aa96cc528 100644 --- a/app/actions/login.js +++ b/app/actions/login.js @@ -26,9 +26,10 @@ export function registerRequest(credentials) { credentials }; } -export function registerSuccess() { +export function registerSuccess(credentials) { return { - type: types.LOGIN.REGISTER_SUCCESS + type: types.LOGIN.REGISTER_SUCCESS, + credentials }; } diff --git a/app/sagas/login.js b/app/sagas/login.js index 186914b6b..15780dafb 100644 --- a/app/sagas/login.js +++ b/app/sagas/login.js @@ -1,7 +1,7 @@ import { AsyncStorage } from 'react-native'; import { take, put, call, takeEvery, select, all, race } from 'redux-saga/effects'; import * as types from '../actions/actionsTypes'; -import { loginRequest, loginSubmit, registerRequest, loginSuccess, loginFailure, setToken, logout } from '../actions/login'; +import { loginRequest, loginSubmit, registerRequest, loginSuccess, loginFailure, setToken, logout, registerSuccess } from '../actions/login'; import RocketChat from '../lib/rocketchat'; const TOKEN_KEY = 'reactnativemeteor_usertoken'; @@ -91,8 +91,7 @@ const handleRegisterRequest = function* handleRegisterRequest({ credentials }) { try { const server = yield select(getServer); yield call(registerCall, { server, credentials }); - yield put(loginSubmit(credentials)); - // yield put(registerSuccess()); + yield put(registerSuccess(credentials)); } catch (err) { yield put(loginFailure(err)); } @@ -103,11 +102,18 @@ const handleRegisterSubmit = function* handleRegisterSubmit({ credentials }) { yield put(registerRequest(credentials)); // wait for a response yield race({ - success: take(types.LOGIN.SUCCESS), + success: take(types.LOGIN.REGISTER_SUCCESS), error: take(types.LOGIN.FAILURE) }); }; +const handleRegisterSuccess = function* handleRegisterSuccess({ credentials }) { + yield put(loginSubmit({ + username: credentials.username, + password: credentials.pass + })); +}; + const root = function* root() { yield takeEvery(types.SERVER.CHANGED, handleLoginWhenServerChanges); yield takeEvery(types.LOGIN.REQUEST, handleLoginRequest); @@ -115,5 +121,6 @@ const root = function* root() { yield takeEvery(types.LOGIN.SUBMIT, handleLoginSubmit); yield takeEvery(types.LOGIN.REGISTER_REQUEST, handleRegisterRequest); yield takeEvery(types.LOGIN.REGISTER_SUBMIT, handleRegisterSubmit); + yield takeEvery(types.LOGIN.REGISTER_SUCCESS, handleRegisterSuccess); }; export default root;