client/src/sagas/groupSaga.js
changeset 132 906a6c7c7943
parent 101 e165aa89ac82
child 133 6f3078f7fd47
--- a/client/src/sagas/groupSaga.js	Mon Jul 31 23:18:38 2017 +0200
+++ b/client/src/sagas/groupSaga.js	Tue Aug 01 12:20:14 2017 +0200
@@ -1,5 +1,7 @@
 import { put, take, all } from 'redux-saga/effects'
 import * as types from '../constants/actionTypes';
+import { groupCreateSuccess, groupCreateError, groupLoadSucess, groupLoadError } from '../actions/groupActions';
+import { updateSession } from '../actions/sessionsActions';
 
 function* watchCreateGroup(context) {
   while (true) {
@@ -7,9 +9,9 @@
     const client = context.client;
     try {
       const response = yield client.post('/api/auth/group/', group);
-      yield put({ type: types.GROUP_CREATE_SUCCESS, group: response });
+      yield put(groupCreateSuccess(response));
     } catch (e) {
-      yield put({ type: types.GROUP_CREATE_ERROR, error: e });
+      yield put(groupCreateError(e));
     }
   }
 }
@@ -22,21 +24,13 @@
       const response = yield client.post('/api/auth/group/', group);
 
       const actions = [
-        {
-          type: types.GROUP_CREATE_SUCCESS,
-          group: response
-        },
-        {
-          type: types.UPDATE_SESSION,
-          session: session,
-          values: { group: response },
-        }
+        groupCreateSuccess(response),
+        updateSession(session, {group: response.name})
       ];
-
       yield all(actions.map(action => put(action)));
 
     } catch (e) {
-      yield put({ type: types.GROUP_CREATE_ERROR, error: e });
+      yield put(groupCreateError(e));
     }
   }
 }
@@ -47,9 +41,9 @@
     yield take(types.GROUP_LOAD_ASYNC);
     try {
       const response = yield client.get('/api/auth/group/');
-      yield put({ type: types.GROUP_LOAD_SUCCESS, groups: response });
+      yield put(groupLoadSucess(response.results));
     } catch (e) {
-      yield put({ type: types.GROUP_LOAD_ERROR, error: e });
+      yield put(groupLoadError(e));
     }
   }
 }