errorLogger.saveDiagnosticReducer( () => ( { tests: getSavedVariations() } ) );
} ); }, addPlanToCart( callback, { siteSlug }, { cartItem } ) { if ( isEmpty( cartItem ) ) { // the user selected the free plan return defer( callback ); } SignupCart.addToCart( siteSlug, cartItem, callback ); }, createAccount( callback, dependencies, { userData, flowName, queryArgs } ) { return wpcom.undocumented().usersNew( assign( {}, userData, { ab_test_variations: getSavedVariations(), validate: false, signup_flow_name: flowName, nux_q_site_type: dependencies.surveySiteType, nux_q_question_primary: dependencies.surveyQuestion, jetpack_redirect: queryArgs.jetpackRedirect } ), ( error, response ) => { var errors = error && error.error ? [ { error: error.error, message: error.message } ] : undefined, bearerToken = error && error.error ? {} : { bearer_token: response.bearer_token }; callback( errors, assign( {}, { username: userData.username }, bearerToken ) ); } ); }, createSite( callback, { theme }, { site } ) {
export function createAccount( callback, dependencies, { userData, flowName, queryArgs, service, access_token, id_token, oauth2Signup }, reduxStore ) { const surveyVertical = getSurveyVertical( reduxStore.getState() ).trim(); const surveySiteType = getSurveySiteType( reduxStore.getState() ).trim(); const userExperience = getUserExperience( reduxStore.getState() ); if ( service ) { // We're creating a new social account wpcom.undocumented().usersSocialNew( { service, access_token, id_token, signup_flow_name: flowName, }, ( error, response ) => { const errors = error && error.error ? [ { error: error.error, message: error.message, email: get( error, 'data.email' ) } ] : undefined; if ( errors ) { callback( errors ); } else { analytics.tracks.recordEvent( 'calypso_user_registration_social_complete' ); callback( undefined, pick( response, [ 'username', 'bearer_token' ] ) ); } } ); } else { wpcom.undocumented().usersNew( assign( {}, userData, { ab_test_variations: getSavedVariations(), validate: false, signup_flow_name: flowName, nux_q_site_type: surveySiteType, nux_q_question_primary: surveyVertical, nux_q_question_experience: userExperience || undefined, // url sent in the confirmation email jetpack_redirect: queryArgs.jetpack_redirect, }, oauth2Signup ? { oauth2_client_id: queryArgs.oauth2_client_id, // url of the WordPress.com authorize page for this OAuth2 client // convert to legacy oauth2_redirect format: %s@https://public-api.wordpress.com/oauth2/authorize/... oauth2_redirect: queryArgs.oauth2_redirect && '0@' + queryArgs.oauth2_redirect, } : null ), ( error, response ) => { const errors = error && error.error ? [ { error: error.error, message: error.message } ] : undefined, bearerToken = error && error.error ? {} : { bearer_token: response.bearer_token }; if ( ! errors ) { // Fire after a new user registers. analytics.tracks.recordEvent( 'calypso_user_registration_complete' ); analytics.ga.recordEvent( 'Signup', 'calypso_user_registration_complete' ); } const providedDependencies = assign( {}, { username: userData.username }, bearerToken ); if ( oauth2Signup ) { assign( providedDependencies, { oauth2_client_id: queryArgs.oauth2_client_id, oauth2_redirect: queryArgs.oauth2_redirect, } ); } callback( errors, providedDependencies ); } ); } }