From 8f5890ab670c9eac7382258df55c01633c96caf4 Mon Sep 17 00:00:00 2001 From: rr- Date: Sat, 9 Apr 2016 23:41:56 +0200 Subject: [PATCH] client/general: refactor promises --- client/js/controllers/auth_controller.js | 23 +++++----- client/js/controllers/users_controller.js | 53 ++++++++++------------- client/js/util/views.js | 1 - 3 files changed, 33 insertions(+), 44 deletions(-) diff --git a/client/js/controllers/auth_controller.js b/client/js/controllers/auth_controller.js index 4f724d5d..9db2a001 100644 --- a/client/js/controllers/auth_controller.js +++ b/client/js/controllers/auth_controller.js @@ -34,7 +34,7 @@ class AuthController { resolve(); page('/'); events.notify(events.Success, 'Logged in'); - }).catch(errorMessage => { + }, errorMessage => { reject(errorMessage); events.notify(events.Error, errorMessage); }); @@ -63,18 +63,15 @@ class AuthController { api.post('/password-reset/' + name, {token: token}) .then(response => { const password = response.password; - api.login(name, password, false) - .then(() => { - page('/'); - events.notify( - events.Success, 'New password: ' + password); - }).catch(errorMessage => { - page('/'); - events.notify(events.Error, errorMessage); - }); - }).catch(response => { + return api.login(name, password, false); + }, response => { + return Promise.reject(response.description); + }).then(() => { page('/'); - events.notify(events.Error, response.description); + events.notify(events.Success, 'New password: ' + password); + }, errorMessage => { + page('/'); + events.notify(events.Error, errorMessage); }); } @@ -89,7 +86,7 @@ class AuthController { events.Success, 'E-mail has been sent. To finish the procedure, ' + 'please click the link it contains.'); - }).catch(response => { + }, response => { reject(); events.notify(events.Error, response.description); }); diff --git a/client/js/controllers/users_controller.js b/client/js/controllers/users_controller.js index 784c60ee..3e0f4bf8 100644 --- a/client/js/controllers/users_controller.js +++ b/client/js/controllers/users_controller.js @@ -60,7 +60,7 @@ class UsersController { ctx.save(); this.user = response.user; next(); - }).catch(response => { + }, response => { this.emptyView.render(); events.notify(events.Error, response.description); }); @@ -88,17 +88,16 @@ class UsersController { return new Promise((resolve, reject) => { api.post('/users/', data).then(() => { api.forget(); - api.login(name, password, false).then(() => { - resolve(); - page('/'); - events.notify(events.Success, 'Welcome aboard!'); - }).catch(errorMessage => { - reject(); - events.notify(events.Error, errorMessage); - }); - }).catch(response => { + return api.login(name, password, false); + }, response => { + return Promise.reject(response.description); + }).then(() => { + resolve(); + page('/'); + events.notify(events.Success, 'Welcome aboard!'); + }, errorMessage => { reject(); - events.notify(events.Error, response.description); + events.notify(events.Error, errorMessage); }); }); } @@ -114,27 +113,21 @@ class UsersController { return new Promise((resolve, reject) => { api.put('/user/' + user.name, data) .then(response => { - const next = () => { - resolve(); - page('/user/' + newName + '/edit'); - events.notify(events.Success, 'Settings updated'); - }; - if (isLoggedIn) { + return isLoggedIn ? api.login( - newName, - newPassword || api.userPassword, - false) - .then(next) - .catch(errorMessage => { - reject(); - events.notify(events.Error, errorMessage); - }); - } else { - next(); + newName, newPassword || api.userPassword, false) : + Promise.fulfill(); + }, response => { + return Promise.reject(response.description); + }).then(() => { + resolve(); + if (newName !== user.name) { + page('/user/' + newName + '/edit'); } - }).catch(response => { + events.notify(events.Success, 'Settings updated.'); + }, errorMessage => { reject(); - events.notify(events.Error, response.description); + events.notify(events.Error, errorMessage); }); }); } @@ -155,7 +148,7 @@ class UsersController { page('/'); } events.notify(events.Success, 'Account deleted'); - }).catch(response => { + }, response => { reject(); events.notify(events.Error, response.description); }); diff --git a/client/js/util/views.js b/client/js/util/views.js index d539c65c..4a0dbbdf 100644 --- a/client/js/util/views.js +++ b/client/js/util/views.js @@ -22,7 +22,6 @@ function _messageHandler(target, message, className) { messagesHolder.appendChild(node); } - function listenToMessages(target) { events.unlisten(events.Success); events.unlisten(events.Error);