aboutsummaryrefslogtreecommitdiff
path: root/src/middlewares
diff options
context:
space:
mode:
Diffstat (limited to 'src/middlewares')
-rw-r--r--src/middlewares/login.middleware.js29
-rw-r--r--src/middlewares/root.middleware.js3
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