fix(saga): update actions for reset and delete
Co-authored-by: bouncey <staylor1012@gmail.com>
This commit is contained in:
committed by
mrugesh mohapatra
parent
1ce38a99e0
commit
67d1a633cf
@ -51,6 +51,7 @@ export const types = createTypes(
|
|||||||
'hardGoTo',
|
'hardGoTo',
|
||||||
'openDonationModal',
|
'openDonationModal',
|
||||||
'onlineStatusChange',
|
'onlineStatusChange',
|
||||||
|
'resetUserData',
|
||||||
'submitComplete',
|
'submitComplete',
|
||||||
'updateComplete',
|
'updateComplete',
|
||||||
'updateFailed',
|
'updateFailed',
|
||||||
@ -110,6 +111,8 @@ export const reportUser = createAction(types.reportUser);
|
|||||||
export const reportUserComplete = createAction(types.reportUserComplete);
|
export const reportUserComplete = createAction(types.reportUserComplete);
|
||||||
export const reportUserError = createAction(types.reportUserError);
|
export const reportUserError = createAction(types.reportUserError);
|
||||||
|
|
||||||
|
export const resetUserData = createAction(types.resetUserData);
|
||||||
|
|
||||||
export const showCert = createAction(types.showCert);
|
export const showCert = createAction(types.showCert);
|
||||||
export const showCertComplete = createAction(types.showCertComplete);
|
export const showCertComplete = createAction(types.showCertComplete);
|
||||||
export const showCertError = createAction(types.showCertError);
|
export const showCertError = createAction(types.showCertError);
|
||||||
@ -259,6 +262,11 @@ export const reducer = handleActions(
|
|||||||
...state,
|
...state,
|
||||||
showDonationModal: true
|
showDonationModal: true
|
||||||
}),
|
}),
|
||||||
|
[types.resetUserData]: state => ({
|
||||||
|
...state,
|
||||||
|
appUsername: '',
|
||||||
|
user: {}
|
||||||
|
}),
|
||||||
[types.showCert]: state => ({
|
[types.showCert]: state => ({
|
||||||
...state,
|
...state,
|
||||||
showCert: {},
|
showCert: {},
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { navigate } from 'gatsby';
|
||||||
import { call, put, takeEvery } from 'redux-saga/effects';
|
import { call, put, takeEvery } from 'redux-saga/effects';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -6,27 +7,30 @@ import {
|
|||||||
resetProgressComplete,
|
resetProgressComplete,
|
||||||
resetProgressError
|
resetProgressError
|
||||||
} from './';
|
} from './';
|
||||||
|
import { resetUserData, fetchUser } from '../';
|
||||||
import {
|
import { postResetProgress, postDeleteAccount } from '../../utils/ajax';
|
||||||
postResetProgress,
|
|
||||||
postDeleteAccount
|
|
||||||
} from '../../utils/ajax';
|
|
||||||
import { createFlashMessage } from '../../components/Flash/redux';
|
import { createFlashMessage } from '../../components/Flash/redux';
|
||||||
|
|
||||||
function* deleteAccountSaga({ payload }) {
|
function* deleteAccountSaga() {
|
||||||
try {
|
try {
|
||||||
const { data: response } = yield call(postDeleteAccount, payload);
|
const { data: response } = yield call(postDeleteAccount);
|
||||||
yield put(deleteAccountComplete(response));
|
yield put(deleteAccountComplete(response));
|
||||||
|
// remove current user information from application state
|
||||||
|
yield put(resetUserData());
|
||||||
|
yield call(navigate, '/');
|
||||||
yield put(createFlashMessage(response));
|
yield put(createFlashMessage(response));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
yield put(deleteAccountError(e));
|
yield put(deleteAccountError(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function* resetProgressSaga({ payload }) {
|
function* resetProgressSaga() {
|
||||||
try {
|
try {
|
||||||
const { data: response } = yield call(postResetProgress, payload);
|
const { data: response } = yield call(postResetProgress);
|
||||||
yield put(resetProgressComplete(response));
|
yield put(resetProgressComplete(response));
|
||||||
|
// refresh current user data in application state
|
||||||
|
yield put(fetchUser());
|
||||||
|
yield call(navigate, '/welcome');
|
||||||
yield put(createFlashMessage(response));
|
yield put(createFlashMessage(response));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
yield put(resetProgressError(e));
|
yield put(resetProgressError(e));
|
||||||
|
Reference in New Issue
Block a user