aboutsummaryrefslogtreecommitdiff
path: root/src/middlewares/login.middleware.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/middlewares/login.middleware.js')
-rw-r--r--src/middlewares/login.middleware.js29
1 files changed, 29 insertions, 0 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