Files
freeCodeCamp/client/src/redux/user-token-saga.js

39 lines
1.0 KiB
JavaScript
Raw Normal View History

import { call, put, takeEvery } from 'redux-saga/effects';
import { createFlashMessage } from '../components/Flash/redux';
import { FlashMessages } from '../components/Flash/redux/flash-messages';
import { deleteUserToken } from '../utils/ajax';
import { deleteUserTokenComplete } from '.';
const message = {
deleted: {
type: 'info',
message: FlashMessages.TokenDeleted
},
deleteErr: {
type: 'danger',
message: FlashMessages.DeleteTokenErr
}
};
function* deleteUserTokenSaga() {
try {
const response = yield call(deleteUserToken);
2022-03-15 03:41:43 -05:00
if (
response &&
Object.prototype.hasOwnProperty.call(response, 'userToken')
) {
yield put(deleteUserTokenComplete());
yield put(createFlashMessage(message.deleted));
} else {
yield put(createFlashMessage(message.deleteErr));
}
} catch (e) {
yield put(createFlashMessage(message.deleteErr));
}
}
export function createUserTokenSaga(types) {
return [takeEvery(types.deleteUserToken, deleteUserTokenSaga)];
}