| author | Alexandre Segura <mex.zktk@gmail.com> |
| Tue, 27 Jun 2017 18:12:10 +0200 | |
| changeset 100 | 6fd752d98933 |
| child 101 | e165aa89ac82 |
| permissions | -rw-r--r-- |
|
100
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
1 |
import { put, take, all } from 'redux-saga/effects' |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
2 |
import * as types from '../constants/actionTypes'; |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
3 |
|
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
4 |
function* watchCreateGroup(context) { |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
5 |
while (true) { |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
6 |
const { group } = yield take(types.GROUP_CREATE_ASYNC); |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
7 |
const client = context.client; |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
8 |
try { |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
9 |
const response = yield client.post('/api/auth/group/', group); |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
10 |
yield put({ type: types.GROUP_CREATE_SUCCESS, group: response }); |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
11 |
} catch (e) { |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
12 |
yield put({ type: types.GROUP_CREATE_ERROR, error: e }); |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
13 |
} |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
14 |
} |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
15 |
} |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
16 |
|
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
17 |
export default function* rootSaga(context) { |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
18 |
yield all([ |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
19 |
watchCreateGroup(context), |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
20 |
]) |
|
6fd752d98933
Introduce group creation.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff
changeset
|
21 |
} |