gengitkan/client/src/store/sagas/root.ts

37 lines
1.8 KiB
TypeScript
Raw Normal View History

2019-12-01 22:12:13 +01:00
import { all, takeEvery, takeLatest } from 'redux-saga/effects';
import { failuresSaga } from './failure';
2019-12-13 13:28:59 +01:00
import { FETCH_BOARDS_REQUEST, SAVE_BOARD_REQUEST, DELETE_BOARD_REQUEST } from '../actions/boards';
import { fetchBoardsSaga, saveBoardSaga, deleteBoardSaga } from './boards';
2019-12-05 22:37:09 +01:00
import { FETCH_ISSUES_REQUEST, ADD_LABEL_REQUEST, REMOVE_LABEL_REQUEST, CREATE_ISSUE_REQUEST, CREATE_ISSUE_SUCCESS } from '../actions/issues';
import { fetchIssuesSaga, addLabelSaga, removeLabelSaga, createIssueSaga } from './issues';
2019-12-01 22:12:13 +01:00
import { FETCH_PROJECTS_REQUEST } from '../actions/projects';
import { fetchProjectsSaga } from './projects';
2019-12-13 13:30:33 +01:00
import { LOGOUT_REQUEST, LOGOUT_SUCCESS } from '../actions/logout';
import { logoutSaga, logoutSuccessSaga } from './logout';
2019-12-01 22:12:13 +01:00
import { BUILD_KANBOARD_REQUEST, MOVE_CARD } from '../actions/kanboards';
2019-12-05 22:37:09 +01:00
import { buildKanboardSaga, moveCardSaga, refreshKanboardSaga } from './kanboards';
2019-11-28 14:12:48 +01:00
export function* rootSaga() {
yield all([
2019-12-01 22:12:13 +01:00
takeEvery(patternFromRegExp(/^.*_FAILURE/), failuresSaga),
takeLatest(FETCH_BOARDS_REQUEST, fetchBoardsSaga),
takeLatest(BUILD_KANBOARD_REQUEST, buildKanboardSaga),
takeLatest(SAVE_BOARD_REQUEST, saveBoardSaga),
2019-12-13 13:28:59 +01:00
takeLatest(DELETE_BOARD_REQUEST, deleteBoardSaga),
2019-12-01 22:12:13 +01:00
takeLatest(FETCH_ISSUES_REQUEST, fetchIssuesSaga),
takeLatest(FETCH_PROJECTS_REQUEST, fetchProjectsSaga),
takeEvery(MOVE_CARD, moveCardSaga),
takeEvery(ADD_LABEL_REQUEST, addLabelSaga),
takeEvery(REMOVE_LABEL_REQUEST, removeLabelSaga),
2019-12-05 22:37:09 +01:00
takeLatest(CREATE_ISSUE_REQUEST, createIssueSaga),
takeLatest(CREATE_ISSUE_SUCCESS, refreshKanboardSaga),
2019-12-13 13:30:33 +01:00
takeLatest(LOGOUT_REQUEST, logoutSaga),
takeLatest(LOGOUT_SUCCESS, logoutSuccessSaga)
2019-11-28 14:12:48 +01:00
]);
}
2020-04-30 13:02:56 +02:00
export function patternFromRegExp(re: any) {
return (action: any) => {
2019-11-28 14:12:48 +01:00
return re.test(action.type);
};
}