Added promises and logout

This commit is contained in:
hydrabolt
2015-08-25 11:49:59 +01:00
parent f2e3be0bad
commit 15f995c07c
3 changed files with 181 additions and 136 deletions

View File

@@ -107,34 +107,50 @@ var Client = (function () {
value: function login() {
var email = arguments.length <= 0 || arguments[0] === undefined ? "foo@bar.com" : arguments[0];
var password = arguments.length <= 1 || arguments[1] === undefined ? "pass1234" : arguments[1];
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () {} : arguments[2];
var self = this;
this.createws();
return new Promise(function (resolve, reject) {
if (self.state === 0 || self.state === 4) {
if (this.state === 0 || this.state === 4) {
self.state = 1; //set the state to logging in
this.state = 1; //set the state to logging in
request.post(Endpoints.LOGIN).send({
email: email,
password: password
}).end(function (err, res) {
request.post(Endpoints.LOGIN).send({
email: email,
password: password
}).end(function (err, res) {
if (err) {
self.state = 4; //set state to disconnected
self.trigger("disconnected");
self.websocket.close();
reject(err);
} else {
self.state = 2; //set state to logged in (not yet ready)
self.token = res.body.token; //set our token
self.trySendConnData();
resolve(self.token);
}
});
} else {
reject(new Error("Client already logging in or ready"));
}
});
}
}, {
key: "logout",
value: function logout() {
if (err) {
self.state = 4; //set state to disconnected
self.trigger("disconnected");
self.websocket.close();
callback(err);
} else {
self.state = 2; //set state to logged in (not yet ready)
self.token = res.body.token; //set our token
self.trySendConnData();
callback(null, self.token);
}
var self = this;
return new Promise(function (resolve, reject) {
request.post(Endpoints.LOGOUT).set("authorization", self.token).end(function (err, res) {
if (err) reject(err);else resolve();
});
}
});
}
//def createws