Merge pull request #51 from abalabahaha/rewrite

Get bans, unban, kick, and trailing spaces
This commit is contained in:
Amish Shah
2015-11-12 20:04:56 +00:00
20 changed files with 403 additions and 177 deletions

View File

@@ -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 // def sendFile
Client.prototype.sendFile = function sendFile(where, attachment) { Client.prototype.sendFile = function sendFile(where, attachment) {
@@ -327,6 +344,38 @@ var Client = (function (_EventEmitter) {
}); });
}; };
//def unbanMember
Client.prototype.unbanMember = function unbanMember(user, server) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.unbanMember(user, server).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);reject(e);
});
});
};
//def kickMember
Client.prototype.kickMember = function kickMember(user, server) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.kickMember(user, server).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);reject(e);
});
});
};
//def createRole //def createRole
Client.prototype.createRole = function createRole(server) { Client.prototype.createRole = function createRole(server) {

View File

@@ -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 // def createChannel
InternalClient.prototype.createChannel = function createChannel(server, name) { InternalClient.prototype.createChannel = function createChannel(server, name) {
@@ -515,7 +538,44 @@ var InternalClient = (function () {
user = self.resolver.resolveUser(user); user = self.resolver.resolveUser(user);
server = self.resolver.resolveServer(server); 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 {
resolve();
}
});
});
};
// def unbanMember
InternalClient.prototype.unbanMember = function unbanMember(user, server) {
var self = this;
return new Promise(function (resolve, reject) {
server = self.resolver.resolveServer(server);
request.del(Endpoints.SERVER_BANS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) {
if (err) {
reject(err);
} else {
resolve();
}
});
});
};
// def kickMember
InternalClient.prototype.kickMember = function kickMember(user, server) {
var self = this;
return new Promise(function (resolve, reject) {
user = self.resolver.resolveUser(user);
server = self.resolver.resolveServer(server);
request.del(Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) {
if (err) { if (err) {
reject(err); reject(err);
} else { } else {

View File

@@ -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 // def sendFile
sendFile(where, attachment, name="image.png", callback=function(err, m){}){ sendFile(where, attachment, name="image.png", callback=function(err, m){}){
var self = this; var self = this;
@@ -315,6 +334,38 @@ class Client extends EventEmitter {
}); });
} }
//def unbanMember
unbanMember(user, server, callback=function(err){}){
var self = this;
return new Promise((resolve, reject) => {
self.internal.unbanMember(user, server)
.then( () => {
callback();
resolve();
})
.catch( e => {
callback(e); reject(e);
})
});
}
//def kickMember
kickMember(user, server, callback=function(err){}){
var self = this;
return new Promise((resolve, reject) => {
self.internal.kickMember(user, server)
.then( () => {
callback();
resolve();
})
.catch( e => {
callback(e); reject(e);
})
});
}
//def createRole //def createRole
createRole(server, data=null, callback=function(err,res){}){ createRole(server, data=null, callback=function(err,res){}){
var self = this; var self = this;

View File

@@ -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 // def createChannel
createChannel(server, name, type = "text") { createChannel(server, name, type = "text") {
var self = this; var self = this;
@@ -558,6 +583,47 @@ class InternalClient {
}); });
} }
// def unbanMember
unbanMember(user, server) {
var self = this;
return new Promise((resolve, reject) => {
server = self.resolver.resolveServer(server);
request
.delete(`${Endpoints.SERVER_BANS(server.id) }/${user.id}`)
.set("authorization", self.token)
.end((err, res) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
// def kickMember
kickMember(user, server) {
var self = this;
return new Promise((resolve, reject) => {
user = self.resolver.resolveUser(user);
server = self.resolver.resolveServer(server);
request
.delete(`${Endpoints.SERVER_MEMBERS(server.id) }/${user.id}`)
.set("authorization", self.token)
.end((err, res) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
// def createRole // def createRole
createRole(server, data) { createRole(server, data) {
var self = this; var self = this;