diff --git a/lib/Client/Client.js b/lib/Client/Client.js index f4a0bb9e5..6eefc61f0 100644 --- a/lib/Client/Client.js +++ b/lib/Client/Client.js @@ -219,6 +219,23 @@ var Client = (function (_EventEmitter) { }); }; + // def getBans + + Client.prototype.getBans = function getBans(where) { + var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err, logs) {} : arguments[1]; + + var self = this; + return new Promise(function (resolve, reject) { + self.internal.getBans(where).then(function (bans) { + callback(null, bans); + resolve(bans); + })["catch"](function (e) { + callback(e); + reject(e); + }); + }); + }; + // def sendFile Client.prototype.sendFile = function sendFile(where, attachment) { diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index d503a4fce..83ee22549 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -453,6 +453,29 @@ var InternalClient = (function () { }); }; + // def getBans + + InternalClient.prototype.getBans = function getBans(server) { + + var self = this; + return new Promise(function (resolve, reject) { + + server = self.resolver.resolveServer(server) + + request.get(Endpoints.SERVER_BANS(server.id)).set("authorization", self.token).end(function (err, res) { + if (err) { + reject(new Error(err)); + } else { + var bans = []; + res.body.forEach(function (ban) { + bans.push(ban.user); + }); + resolve(bans); + } + }); + }); + }; + // def createChannel InternalClient.prototype.createChannel = function createChannel(server, name) { @@ -515,7 +538,7 @@ var InternalClient = (function () { user = self.resolver.resolveUser(user); server = self.resolver.resolveServer(server); - request.put(Endpoints.SERVER_BANS(server.id) + "/" + user.id + "/?delete-message-days=" + length).set("authorization", self.token).end(function (err, res) { + request.put(Endpoints.SERVER_BANS(server.id) + "/" + user.id + "?delete-message-days=" + length).set("authorization", self.token).end(function (err, res) { if (err) { reject(err); } else { @@ -531,10 +554,9 @@ var InternalClient = (function () { var self = this; return new Promise(function (resolve, reject) { - user = self.resolver.resolveUser(user); server = self.resolver.resolveServer(server); - request.delete(Endpoints.SERVER_BANS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) { + request.del(Endpoints.SERVER_BANS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) { if (err) { reject(err); } else { @@ -553,7 +575,7 @@ var InternalClient = (function () { user = self.resolver.resolveUser(user); server = self.resolver.resolveServer(server); - request.delete(Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) { + request.del(Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) { if (err) { reject(err); } else { diff --git a/src/Client/Client.js b/src/Client/Client.js index 4ba1d0335..461a106f2 100644 --- a/src/Client/Client.js +++ b/src/Client/Client.js @@ -211,6 +211,25 @@ class Client extends EventEmitter { } + // def getBans + getBans(where, callback=function(err, bans){}){ + + var self = this; + return new Promise((resolve, reject) => { + self.internal.getBans(where) + .then( bans => { + callback(null, bans); + resolve(bans); + }) + .catch( e => { + callback(e); + reject(e); + }); + + }); + + } + // def sendFile sendFile(where, attachment, name="image.png", callback=function(err, m){}){ var self = this; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 92e344907..84b261ad2 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -482,6 +482,31 @@ class InternalClient { }); } + // def getBans + getBans(server) { + var self = this; + return new Promise((resolve, reject) => { + + server = self.resolver.resolveChannel(server); + + request + .del(`${Endpoints.SERVER_BANS(channel.id) }`) + .set("authorization", self.token) + .end((err, res) => { + if (err) { + reject(new Error(err)); + } else { + var bans = []; + res.body.forEach((ban) => { + bans.push(ban.user); + }); + resolve(bans); + } + }); + + }); + } + // def createChannel createChannel(server, name, type = "text") { var self = this; @@ -563,7 +588,6 @@ class InternalClient { var self = this; return new Promise((resolve, reject) => { - user = self.resolver.resolveUser(user); server = self.resolver.resolveServer(server); request