2019-12-01 22:12:13 +01:00
|
|
|
import { put, call } from 'redux-saga/effects';
|
2020-04-30 13:02:56 +02:00
|
|
|
import {
|
|
|
|
FETCH_BOARDS_SUCCESS, SAVE_BOARD_SUCCESS,
|
|
|
|
SAVE_BOARD_FAILURE, FETCH_BOARDS_FAILURE,
|
|
|
|
DELETE_BOARD_FAILURE, DELETE_BOARD_SUCCESS
|
|
|
|
} from '../actions/boards';
|
2019-12-01 22:12:13 +01:00
|
|
|
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 });
|
|
|
|
}
|
|
|
|
|
2020-04-30 13:02:56 +02:00
|
|
|
export function* saveBoardSaga(action: any) {
|
2019-12-01 22:12:13 +01:00
|
|
|
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 });
|
|
|
|
}
|
2019-12-13 13:28:59 +01:00
|
|
|
|
|
|
|
|
2020-04-30 13:02:56 +02:00
|
|
|
export function* deleteBoardSaga(action: any) {
|
2019-12-13 13:28:59 +01:00
|
|
|
let { id } = action;
|
|
|
|
|
|
|
|
try {
|
2020-04-30 13:02:56 +02:00
|
|
|
yield call(api.deleteBoard, id)
|
2019-12-13 13:28:59 +01:00
|
|
|
} catch(error) {
|
|
|
|
yield put({ type: DELETE_BOARD_FAILURE, error });
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
yield put({ type: DELETE_BOARD_SUCCESS, id });
|
|
|
|
}
|