@@ -48,26 +48,45 @@ export function setPreferences(preferences) {
4848 } ;
4949}
5050
51- export function validateAndLoginUser ( previousPath , formProps , dispatch ) {
52- return new Promise ( ( resolve , reject ) => {
53- loginUser ( formProps )
54- . then ( ( response ) => {
55- dispatch ( {
56- type : ActionTypes . AUTH_USER ,
57- user : response . data
58- } ) ;
59- dispatch ( {
60- type : ActionTypes . SET_PREFERENCES ,
61- preferences : response . data . preferences
51+ export function validateAndLoginUser ( formProps ) {
52+ return ( dispatch , getState ) => {
53+ const state = getState ( ) ;
54+ const { previousPath } = state . ide ;
55+ return new Promise ( ( resolve , reject ) => {
56+ loginUser ( formProps )
57+ . then ( ( response ) => {
58+ dispatch ( loginUserSuccess ( response . data ) ) ;
59+ dispatch ( setPreferences ( response . data . preferences ) ) ;
60+ dispatch ( setLanguage ( response . data . preferences . language , { persistPreference : false } ) ) ;
61+ dispatch ( justOpenedProject ( ) ) ;
62+ browserHistory . push ( previousPath ) ;
63+ resolve ( ) ;
64+ } )
65+ . catch ( error =>
66+ reject ( { password : error . response . data . message , _error : 'Login failed!' } ) ) ; // eslint-disable-line
67+ } ) ;
68+ } ;
69+ }
70+
71+ export function validateAndSignUpUser ( formValues ) {
72+ return ( dispatch , getState ) => {
73+ const state = getState ( ) ;
74+ const { previousPath } = state . ide ;
75+ return new Promise ( ( resolve , reject ) => {
76+ signUpUser ( formValues )
77+ . then ( ( response ) => {
78+ dispatch ( authenticateUser ( response . data ) ) ;
79+ dispatch ( justOpenedProject ( ) ) ;
80+ browserHistory . push ( previousPath ) ;
81+ resolve ( ) ;
82+ } )
83+ . catch ( ( error ) => {
84+ const { response } = error ;
85+ dispatch ( authError ( response . data . error ) ) ;
86+ reject ( ) ;
6287 } ) ;
63- setLanguage ( response . data . preferences . language , { persistPreference : false } ) ;
64- dispatch ( justOpenedProject ( ) ) ;
65- browserHistory . push ( previousPath ) ;
66- resolve ( ) ;
67- } )
68- . catch ( error =>
69- reject ( { password : error . response . data . message , _error : 'Login failed!' } ) ) ; // eslint-disable-line
70- } ) ;
88+ } ) ;
89+ } ;
7190}
7291
7392export function getUser ( ) {
@@ -125,22 +144,21 @@ export function logoutUser() {
125144}
126145
127146export function initiateResetPassword ( formValues ) {
128- return ( dispatch ) => {
147+ return dispatch => new Promise ( ( resolve , reject ) => {
129148 dispatch ( {
130149 type : ActionTypes . RESET_PASSWORD_INITIATE
131150 } ) ;
132- apiClient . post ( '/reset-password' , formValues )
133- . then ( ( ) => {
134- // do nothing
135- } )
151+ return apiClient . post ( '/reset-password' , formValues )
152+ . then ( ( ) => resolve ( ) )
136153 . catch ( ( error ) => {
137154 const { response } = error ;
138155 dispatch ( {
139156 type : ActionTypes . ERROR ,
140157 message : response . data
141158 } ) ;
159+ reject ( ) ;
142160 } ) ;
143- } ;
161+ } ) ;
144162}
145163
146164export function initiateVerification ( ) {
@@ -228,17 +246,16 @@ export function submitSettings(formValues) {
228246
229247export function updateSettings ( formValues ) {
230248 return dispatch =>
231- apiClient . put ( '/account' , formValues )
232- . then ( ( response ) => {
249+ new Promise ( ( resolve , reject ) =>
250+ submitSettings ( formValues ) . then ( ( response ) => {
233251 dispatch ( updateSettingsSuccess ( response . data ) ) ;
234- browserHistory . push ( '/' ) ;
235252 dispatch ( showToast ( 5500 ) ) ;
236253 dispatch ( setToastText ( 'Toast.SettingsSaved' ) ) ;
237- } )
238- . catch ( ( error ) => {
254+ resolve ( ) ;
255+ } ) . catch ( ( error ) => {
239256 const { response } = error ;
240- Promise . reject ( new Error ( response . data . error ) ) ;
241- } ) ;
257+ reject ( response . data . error ) ;
258+ } ) ) ;
242259}
243260
244261export function createApiKeySuccess ( user ) {
0 commit comments