Refactord email popup screen to use Redx + implement all email redux/saga scaffolding.
This commit is contained in:
50
client/src/redux/email/email.sagas.js
Normal file
50
client/src/redux/email/email.sagas.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import { all, call, put, takeLatest } from "redux-saga/effects";
|
||||
import { sendEmailFailure, sendEmailSuccess } from "./email.actions";
|
||||
import EmailActionTypes from "./email.types";
|
||||
|
||||
export function* onSendEmail() {
|
||||
yield takeLatest(EmailActionTypes.SEND_EMAIL, sendEmail);
|
||||
}
|
||||
export function* sendEmail(payload) {
|
||||
try {
|
||||
console.log("Sending thta email", payload);
|
||||
// // axios.post("/sendemail", emailConfig).then(response => {
|
||||
// alert(JSON.stringify(response));
|
||||
// });
|
||||
yield put(sendEmailSuccess());
|
||||
} catch (error) {
|
||||
console.log("Error in sendEmail saga.");
|
||||
yield put(sendEmailFailure(error.message));
|
||||
}
|
||||
}
|
||||
|
||||
export function* onSendEmailSuccess() {
|
||||
yield takeLatest(EmailActionTypes.SEND_EMAIL_SUCCESS, sendEmailSuccessSaga);
|
||||
}
|
||||
export function* sendEmailSuccessSaga() {
|
||||
try {
|
||||
console.log("Send email success.");
|
||||
} catch (error) {
|
||||
console.log("Error in sendEmailSuccess saga.");
|
||||
yield put(sendEmailFailure(error.message));
|
||||
}
|
||||
}
|
||||
|
||||
export function* onSendEmailFailure() {
|
||||
yield takeLatest(EmailActionTypes.SEND_EMAIL_FAILURE, sendEmailFailureSaga);
|
||||
}
|
||||
export function* sendEmailFailureSaga(error) {
|
||||
try {
|
||||
yield console.log(error);
|
||||
} catch (error) {
|
||||
console.log("Error in sendEmailFailure saga.", error.message);
|
||||
}
|
||||
}
|
||||
|
||||
export function* emailSagas() {
|
||||
yield all([
|
||||
call(onSendEmail),
|
||||
call(onSendEmailFailure),
|
||||
call(onSendEmailSuccess)
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user