added updating roles

This commit is contained in:
hydrabolt
2015-10-26 13:29:01 +00:00
parent a3b2f9c2d4
commit 08ffd473e4
5 changed files with 113 additions and 49 deletions

View File

@@ -6,7 +6,7 @@ var Channel = require("./channel.js");
var Message = require("./message.js");
var Invite = require("./invite.js");
var PMChannel = require("./PMChannel.js");
var ServerPermissions = require("./ServerPermissions.js");
var gameMap = require("../ref/gameMap.json");
//node modules
@@ -757,16 +757,16 @@ class Client {
return prom;
}
createRole(server, cb = function (err, perm) { }) {
createRole(dest, cb = function (err, perm) { }) {
var self = this;
return new Promise(function (resolve, reject) {
server = self.resolveServerID(server);
var ddest = self.resolveServerID(dest);
request
.post(`${Endpoints.SERVERS}/${server}/roles`)
.post(`${Endpoints.SERVERS}/${ddest}/roles`)
.set("authorization", self.token)
.end(function (err, res) {
@@ -775,9 +775,10 @@ class Client {
reject(err);
} else {
var data = self.getServer("id", server).addRole(res.body);
resolve(data);
cb(null, data);
var perms = self.getServer("id", ddest).addRole(res.body);
resolve(perms);
cb(null, perms);
}
@@ -787,6 +788,40 @@ class Client {
}
updateRole(server, role, cb=function(err,perm){}){
var self = this;
return new Promise(function(resolve, reject){
server = self.resolveServerID(server);
request
.patch(`${Endpoints.SERVERS}/${server}/roles/${role.id}`)
.set("authorization", self.token)
.send({
color : role.color,
hoist : role.hoist,
name : role.name,
permissions : role.packed
})
.end(function(err, res){
if (err) {
cb(err);
reject(err);
} else {
var data = self.getServer("id", server).updateRole(res.body);
resolve(data);
cb(null, data);
}
});
});
}
//def createws
createws(url) {
if (this.websocket)
@@ -1125,8 +1160,6 @@ class Client {
self.trigger("serverRoleCreate", server, server.addRole(role));
server.removeRole(role.id);
break;
case "GUILD_ROLE_DELETE":

View File

@@ -75,11 +75,11 @@ class Server {
getRole(id){
for (var role of this.roles) {
if (role.id === id) {
if (role.id == id) {
return role;
}
}
return null;
}
@@ -96,15 +96,13 @@ class Server {
}
updateRole(data){
var oldRole = this.getRole(data.id);
if(oldRole){
var index = this.roles.indexOf(oldRole);
this.roles[index] = new ServerPermissions(data);
return this.roles[index];
}else{