client/general: refactor promises

This commit is contained in:
rr- 2016-04-09 23:41:56 +02:00
parent 2af8c9c1a4
commit 8f5890ab67
3 changed files with 33 additions and 44 deletions

View File

@ -34,7 +34,7 @@ class AuthController {
resolve(); resolve();
page('/'); page('/');
events.notify(events.Success, 'Logged in'); events.notify(events.Success, 'Logged in');
}).catch(errorMessage => { }, errorMessage => {
reject(errorMessage); reject(errorMessage);
events.notify(events.Error, errorMessage); events.notify(events.Error, errorMessage);
}); });
@ -63,19 +63,16 @@ class AuthController {
api.post('/password-reset/' + name, {token: token}) api.post('/password-reset/' + name, {token: token})
.then(response => { .then(response => {
const password = response.password; const password = response.password;
api.login(name, password, false) return api.login(name, password, false);
.then(() => { }, response => {
return Promise.reject(response.description);
}).then(() => {
page('/'); page('/');
events.notify( events.notify(events.Success, 'New password: ' + password);
events.Success, 'New password: ' + password); }, errorMessage => {
}).catch(errorMessage => {
page('/'); page('/');
events.notify(events.Error, errorMessage); events.notify(events.Error, errorMessage);
}); });
}).catch(response => {
page('/');
events.notify(events.Error, response.description);
});
} }
_passwordReset(nameOrEmail) { _passwordReset(nameOrEmail) {
@ -89,7 +86,7 @@ class AuthController {
events.Success, events.Success,
'E-mail has been sent. To finish the procedure, ' + 'E-mail has been sent. To finish the procedure, ' +
'please click the link it contains.'); 'please click the link it contains.');
}).catch(response => { }, response => {
reject(); reject();
events.notify(events.Error, response.description); events.notify(events.Error, response.description);
}); });

View File

@ -60,7 +60,7 @@ class UsersController {
ctx.save(); ctx.save();
this.user = response.user; this.user = response.user;
next(); next();
}).catch(response => { }, response => {
this.emptyView.render(); this.emptyView.render();
events.notify(events.Error, response.description); events.notify(events.Error, response.description);
}); });
@ -88,18 +88,17 @@ class UsersController {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
api.post('/users/', data).then(() => { api.post('/users/', data).then(() => {
api.forget(); api.forget();
api.login(name, password, false).then(() => { return api.login(name, password, false);
}, response => {
return Promise.reject(response.description);
}).then(() => {
resolve(); resolve();
page('/'); page('/');
events.notify(events.Success, 'Welcome aboard!'); events.notify(events.Success, 'Welcome aboard!');
}).catch(errorMessage => { }, errorMessage => {
reject(); reject();
events.notify(events.Error, errorMessage); events.notify(events.Error, errorMessage);
}); });
}).catch(response => {
reject();
events.notify(events.Error, response.description);
});
}); });
} }
@ -114,28 +113,22 @@ class UsersController {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
api.put('/user/' + user.name, data) api.put('/user/' + user.name, data)
.then(response => { .then(response => {
const next = () => { return isLoggedIn ?
resolve();
page('/user/' + newName + '/edit');
events.notify(events.Success, 'Settings updated');
};
if (isLoggedIn) {
api.login( api.login(
newName, newName, newPassword || api.userPassword, false) :
newPassword || api.userPassword, Promise.fulfill();
false) }, response => {
.then(next) return Promise.reject(response.description);
.catch(errorMessage => { }).then(() => {
resolve();
if (newName !== user.name) {
page('/user/' + newName + '/edit');
}
events.notify(events.Success, 'Settings updated.');
}, errorMessage => {
reject(); reject();
events.notify(events.Error, errorMessage); events.notify(events.Error, errorMessage);
}); });
} else {
next();
}
}).catch(response => {
reject();
events.notify(events.Error, response.description);
});
}); });
} }
@ -155,7 +148,7 @@ class UsersController {
page('/'); page('/');
} }
events.notify(events.Success, 'Account deleted'); events.notify(events.Success, 'Account deleted');
}).catch(response => { }, response => {
reject(); reject();
events.notify(events.Error, response.description); events.notify(events.Error, response.description);
}); });

View File

@ -22,7 +22,6 @@ function _messageHandler(target, message, className) {
messagesHolder.appendChild(node); messagesHolder.appendChild(node);
} }
function listenToMessages(target) { function listenToMessages(target) {
events.unlisten(events.Success); events.unlisten(events.Success);
events.unlisten(events.Error); events.unlisten(events.Error);