From 7f151c86a785e41914c286f8105fa8071c1d78fc Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Mon, 14 Nov 2016 17:28:36 -0300 Subject: [PATCH] =?UTF-8?q?=C3=81dding=20dispatcher=20for=20FacebookCallba?= =?UTF-8?q?ck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/coral-framework/actions/auth.js | 17 +++++++++++++++-- .../coral-sign-in/containers/SignInContainer.js | 8 +++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/client/coral-framework/actions/auth.js b/client/coral-framework/actions/auth.js index eb1a63f22..184f6b1d6 100644 --- a/client/coral-framework/actions/auth.js +++ b/client/coral-framework/actions/auth.js @@ -30,8 +30,8 @@ export const fetchSignIn = () => dispatch => { // Sign In - Facebook const signInFacebookRequest = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_REQUEST}); -//const signInFacebookSuccess = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_SUCCESS}); -//const signInFacebookFailure = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_FAILURE}); +const signInFacebookSuccess = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_SUCCESS}); +const signInFacebookFailure = () => ({type: actions.FETCH_SIGNIN_FACEBOOK_FAILURE}); export const fetchSignInFacebook = () => dispatch => { dispatch(signInFacebookRequest()); @@ -42,6 +42,19 @@ export const fetchSignInFacebook = () => dispatch => { ); }; +export const facebookCallback = (err, data) => dispatch => { + if (err) { + signInFacebookFailure(err); + return; + } + try { + dispatch(signInFacebookSuccess(JSON.parse(data))); + } catch (err) { + dispatch(signInFacebookFailure(err)); + return; + } +}; + // Sign Up Actions const signUpRequest = () => ({type: actions.FETCH_SIGNUP_REQUEST}); diff --git a/client/coral-sign-in/containers/SignInContainer.js b/client/coral-sign-in/containers/SignInContainer.js index b4d8a14e2..5f193f2e8 100644 --- a/client/coral-sign-in/containers/SignInContainer.js +++ b/client/coral-sign-in/containers/SignInContainer.js @@ -14,7 +14,8 @@ import { showSignInDialog, hideSignInDialog, fetchSignInFacebook, - fetchForgotPassword + fetchForgotPassword, + facebookCallback } from '../../coral-framework/actions/auth'; class SignInContainer extends Component { @@ -40,6 +41,10 @@ class SignInContainer extends Component { this.validation = this.validation.bind(this); } + componentDidMount() { + window.authCallback = this.props.facebookCallback; + } + cleanState () { this.setState(this.initialState); } @@ -139,6 +144,7 @@ class SignInContainer extends Component { const mapStateToProps = ({auth}) => ({auth}); const mapDispatchToProps = dispatch => ({ + facebookCallback: (err, data) => dispatch(facebookCallback(err, data)), fetchSignUp: (formData) => dispatch(fetchSignUp(formData)), fetchSignIn: (formData) => dispatch(fetchSignIn(formData)), fetchSignInFacebook: () => dispatch(fetchSignInFacebook()),