ih-black-lion
Version:
State handler for Arus projects
38 lines (34 loc) • 1.11 kB
JavaScript
import { takeEvery, put, call } from 'redux-saga/effects';
import { REQUEST_EVENTS, RECEIVE_EVENTS } from '../actionTypes';
export function* fetchEvents(action) {
try {
const response = yield call(
action.Api.getEvents,
action.requestParms,
action.numDaysPast,
action.includeEvents,
);
yield put({ type: RECEIVE_EVENTS, response, status: 'success' });
} catch (error) {
yield put({ type: RECEIVE_EVENTS, response: error, status: 'error' });
}
}
export function* changeReadStatus(action) {
try {
yield put({ type: 'CHANGE_READ_STATUS', status: 'started' });
const response = yield call(
action.changeReadStatus,
action.requestParms,
action.id,
action.status,
action.numDaysPast,
);
yield put({ type: 'CHANGE_READ_STATUS', response, status: 'finished' });
} catch (error) {
yield put({ type: 'CHANGE_READ_STATUS', response: error, status: 'error' });
}
}
export default function* EventSaga() {
yield takeEvery(REQUEST_EVENTS, fetchEvents);
yield takeEvery('CHANGE_READ_STATUS', changeReadStatus);
}