diff options
Diffstat (limited to 'src/middlewares')
-rw-r--r-- | src/middlewares/login.middleware.js | 29 | ||||
-rw-r--r-- | src/middlewares/root.middleware.js | 3 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/middlewares/login.middleware.js b/src/middlewares/login.middleware.js new file mode 100644 index 0000000..c4dbc5b --- /dev/null +++ b/src/middlewares/login.middleware.js @@ -0,0 +1,29 @@ +import { put, call, fork, takeEvery } from "redux-saga/effects"; +import { LOGIN_REQUEST, LOGIN_SUCCESS } from "../utils/constants"; +import { loginMock } from "../modules/login/login.service"; +import { history } from '../core/store'; +function* loginWatcher() { + yield takeEvery(LOGIN_REQUEST, loginWorker); +} + +function* loginWorker(action) { + let { email, password } = action; + let res = yield call(loginApi, { email, password }); + if (res && res.data) { + let { token } = res.data; + yield put({ + type: LOGIN_SUCCESS, + payload: { + token + } + }); + history.push('/dashboard'); + } + console.log(res); +} + +function loginApi(params) { + return loginMock(params); +} + +export const LoginSaga = [fork(loginWatcher)];
\ No newline at end of file diff --git a/src/middlewares/root.middleware.js b/src/middlewares/root.middleware.js index 2e90582..065a572 100644 --- a/src/middlewares/root.middleware.js +++ b/src/middlewares/root.middleware.js @@ -1,7 +1,8 @@ import { all } from "redux-saga/effects"; +import { LoginSaga } from "./login.middleware"; export default function* rootMiddleware() { yield all([ - //...LoginSaga, + ...LoginSaga, ]); }
\ No newline at end of file |