Added permission functions for client in docs

This commit is contained in:
hydrabolt
2015-10-27 21:03:48 +00:00
parent a18823c47f
commit d21372e0f6
4 changed files with 339 additions and 192 deletions

View File

@@ -818,20 +818,25 @@ var Client = (function (_EventEmitter) {
});
};
Client.prototype.updateRole = function updateRole(server, role) {
Client.prototype.updateRole = function updateRole(role, data) {
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, perm) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
server = self.resolveServerID(server);
var server = role.server.id;
var modRole = role;
for (var key in data) {
modRole[key] = data[key];
}
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
color: modRole.color,
hoist: modRole.hoist,
name: modRole.name,
permissions: modRole.packed
}).end(function (err, res) {
if (err) {
cb(err);
@@ -944,27 +949,37 @@ var Client = (function (_EventEmitter) {
return new Promise(function (resolve, reject) {
var data;
if (role instanceof ServerPermissions || role.type === "role") {
data = ad(updatedStuff);
data.id = role.id;
data.type = "role";
} else {
data = ad(updatedStuff);
data.id = role.id;
data.type = "member";
function dieerror(e) {
reject(e);
callback(e);
}
request.put(Endpoints.CHANNELS + "/" + channel.id + "/permissions/" + role.id).set("authorization", self.token).send(data).end(function (err) {
if (err) {
reject(err);
callback(err);
self.resolveDestination(channel).then(next)["catch"](dieerror);
function next(channelID) {
var data;
if (role instanceof ServerPermissions || role.type === "role") {
data = ad(updatedStuff);
data.id = role.id;
data.type = "role";
} else {
resolve();
callback();
data = ad(updatedStuff);
data.id = role.id;
data.type = "member";
}
});
request.put(Endpoints.CHANNELS + "/" + channelID + "/permissions/" + role.id).set("authorization", self.token).send(data).end(function (err) {
if (err) {
reject(err);
callback(err);
} else {
resolve();
callback();
}
});
}
});
function ad(data) {