login after register working

This commit is contained in:
Diego Mello 2017-11-03 10:47:46 -02:00
parent e349a4b23f
commit f2fba8bd82
2 changed files with 14 additions and 6 deletions

View File

@ -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
};
}

View File

@ -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;