30 lines
715 B
JavaScript
30 lines
715 B
JavaScript
|
import { put, call } from 'redux-saga/effects';
|
||
|
import { FETCH_BOARDS_SUCCESS, SAVE_BOARD_SUCCESS, SAVE_BOARD_FAILURE, FETCH_BOARDS_FAILURE } from '../actions/boards';
|
||
|
import { api } from '../../util/api';
|
||
|
|
||
|
export function* fetchBoardsSaga() {
|
||
|
let boards;
|
||
|
|
||
|
try {
|
||
|
boards = yield call(api.fetchBoards)
|
||
|
} catch(error) {
|
||
|
yield put({ type: FETCH_BOARDS_FAILURE, error });
|
||
|
return
|
||
|
}
|
||
|
|
||
|
yield put({ type: FETCH_BOARDS_SUCCESS, boards });
|
||
|
}
|
||
|
|
||
|
export function* saveBoardSaga(action) {
|
||
|
let { board } = action;
|
||
|
|
||
|
try {
|
||
|
board = yield call(api.saveBoard, board)
|
||
|
} catch(error) {
|
||
|
yield put({ type: SAVE_BOARD_FAILURE, error });
|
||
|
return
|
||
|
}
|
||
|
|
||
|
yield put({ type: SAVE_BOARD_SUCCESS, board });
|
||
|
}
|