feat: added danger-zone-saga.js

This commit is contained in:
Hemakshi Sachdev
2019-02-26 19:59:57 +05:30
committed by mrugesh mohapatra
parent e51b8bfaca
commit 05f8c2bd5c
5 changed files with 58 additions and 5 deletions

View File

@@ -0,0 +1,41 @@
import { call, put, takeEvery } from 'redux-saga/effects';
import {
deleteAccountComplete,
deleteAccountError,
resetProgressComplete,
resetProgressError
} from './';
import {
postResetProgress,
postDeleteAccount
} from '../../utils/ajax';
import { createFlashMessage } from '../../components/Flash/redux';
function* deleteAccountSaga({ payload }) {
try {
const { data: response } = yield call(postDeleteAccount, payload);
yield put(deleteAccountComplete(response));
yield put(createFlashMessage(response));
} catch (e) {
yield put(deleteAccountError(e));
}
}
function* resetProgressSaga({ payload }) {
try {
const { data: response } = yield call(postResetProgress, payload);
yield put(resetProgressComplete(response));
yield put(createFlashMessage(response));
} catch (e) {
yield put(resetProgressError(e));
}
}
export function createDangerZoneSaga(types) {
return [
takeEvery(types.deleteAccount, deleteAccountSaga),
takeEvery(types.resetProgress, resetProgressSaga)
];
}

View File

@@ -1,6 +1,7 @@
import { createAction, handleActions } from 'redux-actions';
import { createTypes, createAsyncTypes } from '../../utils/createTypes';
import { createDangerZoneSaga } from './danger-zone-saga';
import { createSettingsSagas } from './settings-sagas';
import { createUpdateMyEmailSaga } from './update-email-saga';
@@ -37,7 +38,8 @@ export const types = createTypes(
export const sagas = [
...createSettingsSagas(types),
...createUpdateMyEmailSaga(types)
...createUpdateMyEmailSaga(types),
...createDangerZoneSaga(types)
];
const checkForSuccessPayload = ({ type, payload }) =>