import { all, //call, put, takeLatest } from "redux-saga/effects"; // import { // auth, // getCurrentUser, // updateCurrentUser, // } from "../../firebase/firebase.utils"; // import { // sendPasswordResetFailure, // sendPasswordResetSuccess, // signInFailure, // signInSuccess, // signOutFailure, // signOutSuccess, // unauthorizedUser, // updateUserDetailsSuccess, // validatePasswordResetFailure, // validatePasswordResetSuccess, // setBodyshop, // } from "./user.actions"; // import UserActionTypes from "./user.types"; // import { client } from "../../graphql/client"; // import { QUERY_BODYSHOP } from "../../graphql/bodyshop.queries"; // export function* onEmailSignInStart() { // yield takeLatest(UserActionTypes.EMAIL_SIGN_IN_START, signInWithEmail); // } // export function* signInWithEmail({ payload: { email, password } }) { // try { // //logImEXEvent("redux_sign_in_attempt", { user: email }); // const { user } = yield auth.signInWithEmailAndPassword(email, password); // yield put( // signInSuccess({ // uid: user.uid, // email: user.email, // displayName: user.displayName, // photoURL: user.photoURL, // authorized: true, // }) // ); // } catch (error) { // yield put(signInFailure(error)); // //logImEXEvent("redux_sign_in_failure", { user: email, error }); // } // } // export function* onCheckUserSession() { // yield takeLatest(UserActionTypes.CHECK_USER_SESSION, isUserAuthenticated); // } // export function* isUserAuthenticated() { // try { // //logImEXEvent("redux_auth_check"); // const user = yield getCurrentUser(); // if (!user) { // yield put(unauthorizedUser()); // return; // } // yield put( // signInSuccess({ // uid: user.uid, // email: user.email, // displayName: user.displayName, // photoURL: user.photoURL, // authorized: true, // }) // ); // } catch (error) { // yield put(signInFailure(error)); // } // } // export function* onSignOutStart() { // yield takeLatest(UserActionTypes.SIGN_OUT_START, signOutStart); // } // export function* signOutStart() { // try { // //logImEXEvent("redux_sign_out"); // yield auth.signOut(); // yield put(signOutSuccess()); // } catch (error) { // yield put(signOutFailure(error.message)); // } // } // export function* onUpdateUserDetails() { // yield takeLatest(UserActionTypes.UPDATE_USER_DETAILS, updateUserDetails); // } // export function* updateUserDetails(userDetails) { // try { // yield updateCurrentUser(userDetails.payload); // yield put(updateUserDetailsSuccess(userDetails.payload)); // } catch (error) { // //yield put(signOutFailure(error.message)); // //TODO error handling // } // } // export function* onSignInSuccess() { // yield takeLatest(UserActionTypes.SIGN_IN_SUCCESS, signInSuccessSaga); // } // export function* signInSuccessSaga({ payload }) { // try { // const shop = yield client.query({ query: QUERY_BODYSHOP }); // yield put(setBodyshop(shop.data.bodyshops[0])); // } catch (error) { // console.log("UH-OH. Couldn't get shop details.", error); // } // } // export function* onSendPasswordResetStart() { // yield takeLatest( // UserActionTypes.SEND_PASSWORD_RESET_EMAIL_START, // sendPasswordResetEmail // ); // } // export function* sendPasswordResetEmail({ payload }) { // try { // yield auth.sendPasswordResetEmail(payload, { // url: "https://imex.online/passwordreset", // }); // yield put(sendPasswordResetSuccess()); // } catch (error) { // yield put(sendPasswordResetFailure(error.message)); // } // } // export function* onValidatePasswordResetStart() { // yield takeLatest( // UserActionTypes.VALIDATE_PASSWORD_RESET_START, // validatePasswordResetStart // ); // } // export function* validatePasswordResetStart({ payload: { password, code } }) { // try { // yield auth.confirmPasswordReset(code, password); // yield put(validatePasswordResetSuccess()); // } catch (error) { // yield put(validatePasswordResetFailure(error.message)); // } // } export function* appSagas() { yield all([ // call(onEmailSignInStart), // call(onCheckUserSession), // call(onSignOutStart), // call(onUpdateUserDetails), // call(onSignInSuccess), // call(onSendPasswordResetStart), // call(onValidatePasswordResetStart), ]); }