Added leave server and other stuff

This commit is contained in:
hydrabolt
2015-11-01 13:34:59 +00:00
parent 0fe42c61da
commit 1efc2eb505
14 changed files with 145 additions and 14 deletions

View File

@@ -69,6 +69,46 @@ var InternalClient = (function () {
});
};
//def leaveServer
InternalClient.prototype.leaveServer = function leaveServer(srv) {
var self = this;
return new Promise(function (resolve, reject) {
var server = self.resolver.resolveServer(srv);
if (server) {
request.del(Endpoints.SERVER(server.id)).set("authorization", self.token).end(function (err, res) {
if (err) {
reject(new Error(err.response.text));
} else {
// remove channels of server then the server
for (var _iterator = server.channels, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var chan = _ref;
server.channels.remove(chan);
}
// remove server
self.servers.remove(server);
resolve();
}
});
} else {
reject(new Error("server did not resolve"));
}
});
};
// def login
InternalClient.prototype.login = function login(email, password) {