Updated overwritePermissions function

This commit is contained in:
hydrabolt
2015-11-06 20:00:34 +00:00
parent 73e0c1683b
commit 81a8771063
6 changed files with 92 additions and 90 deletions

View File

@@ -441,6 +441,25 @@ var Client = (function (_EventEmitter) {
});
};
// def overwritePermissions
Client.prototype.overwritePermissions = function overwritePermissions(channel, role) {
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
var callback = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.overwritePermissions(channel, role, options).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
_createClass(Client, [{
key: "users",
get: function get() {

View File

@@ -677,7 +677,11 @@ var InternalClient = (function () {
return new Promise(function (resolve, reject) {
channel = self.resolver.resolveChannel(channel)["catch"](reject).then(next);
function next(channel) {
var user = self.resolver.resolverUser(role);
var user;
if (role instanceof User) {
user = role;
}
var data = {};
data.allow = 0;
@@ -697,49 +701,24 @@ var InternalClient = (function () {
return;
}
for (var _iterator3 = updated.allow, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
var _ref3;
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref3 = _iterator3[_i3++];
for (var perm in updated) {
if (updated[perm]) {
if (perm instanceof String || typeof perm === "string") {
data.allow |= Constants.Permissions[perm] || 0;
} else {
data.allow |= perm;
}
} else {
_i3 = _iterator3.next();
if (_i3.done) break;
_ref3 = _i3.value;
}
var perm = _ref3;
if (perm instanceof String || typeof perm === "string") {
data.allow |= Constants.Permissions[perm] || 0;
} else {
data.allow |= perm;
if (perm instanceof String || typeof perm === "string") {
data.deny |= Constants.Permissions[perm] || 0;
} else {
data.deny |= perm;
}
}
}
for (var _iterator4 = updated.deny, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
var _ref4;
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref4 = _iterator4[_i4++];
} else {
_i4 = _iterator4.next();
if (_i4.done) break;
_ref4 = _i4.value;
}
var perm = _ref4;
if (perm instanceof String || typeof perm === "string") {
data.deny |= Constants.Permissions[perm] || 0;
} else {
data.deny |= perm;
}
}
request.put(Endpoints.CHANNEL_PERMISSIONS(channel) + "/" + data.id).set("authorization", self.token).send(data).end(function (err) {
request.put(Endpoints.CHANNEL_PERMISSIONS(channel.id) + "/" + data.id).set("authorization", self.token).send(data).end(function (err) {
console.log(err);
if (err) {
reject(err);
} else {
@@ -887,19 +866,19 @@ var InternalClient = (function () {
var server = self.servers.get("id", data.id);
if (server) {
for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
var _ref5;
for (var _iterator3 = server.channels, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
var _ref3;
if (_isArray5) {
if (_i5 >= _iterator5.length) break;
_ref5 = _iterator5[_i5++];
if (_isArray3) {
if (_i3 >= _iterator3.length) break;
_ref3 = _iterator3[_i3++];
} else {
_i5 = _iterator5.next();
if (_i5.done) break;
_ref5 = _i5.value;
_i3 = _iterator3.next();
if (_i3.done) break;
_ref3 = _i3.value;
}
var channel = _ref5;
var channel = _ref3;
self.channels.remove(channel);
}

View File

@@ -13,17 +13,12 @@ a.on("warn", function (m) {
});
var start = Date.now();
a.on("message", function (m) {
console.log("msgmsgmsg");
if (m.content === "$$$") {
a.createServer("pongping", "london").then(function (server) {
a.createChannel(server, "pingpong", "text").then(function (channel) {
a.sendMessage(channel, "$$$").then(function (msg) {
a.leaveServer(msg.channel.server).then(function () {
console.log("!!! " + (Date.now() - start));
});
})["catch"](error);
})["catch"](error);
})["catch"](error);
a.internal.overwritePermissions(m.channel, m.author, {
manageRoles: true
})["catch"](error).then(function () {
return console.log("hihihihihi!");
});
}
});
a.on("userTypingStart", function (user, chan) {

View File

@@ -423,6 +423,24 @@ class Client extends EventEmitter {
});
}
// def overwritePermissions
overwritePermissions(channel, role, options={}, callback=function(err){}){
var self = this;
return new Promise((resolve, reject) => {
self.internal.overwritePermissions(channel, role, options)
.then(() => {
callback();
resolve();
})
.catch(e => {
callback(e);
reject(e);
})
});
}
}
module.exports = Client;

View File

@@ -721,7 +721,11 @@ class InternalClient {
return new Promise((resolve, reject) => {
channel = self.resolver.resolveChannel(channel).catch(reject).then(next);
function next(channel){
var user = self.resolver.resolverUser(role);
var user;
if(role instanceof User){
user = role;
}
var data = {};
data.allow = 0;
@@ -741,27 +745,28 @@ class InternalClient {
return;
}
for(var perm of updated.allow){
if(perm instanceof String || typeof perm === "string"){
data.allow |= (Constants.Permissions[perm] || 0);
for(var perm in updated){
if(updated[perm]){
if(perm instanceof String || typeof perm === "string"){
data.allow |= (Constants.Permissions[perm] || 0);
}else{
data.allow |= perm;
}
}else{
data.allow |= perm;
}
}
for(var perm of updated.deny){
if(perm instanceof String || typeof perm === "string"){
data.deny |= (Constants.Permissions[perm] || 0);
}else{
data.deny |= perm;
if(perm instanceof String || typeof perm === "string"){
data.deny |= (Constants.Permissions[perm] || 0);
}else{
data.deny |= perm;
}
}
}
request
.put(Endpoints.CHANNEL_PERMISSIONS(channel)+"/"+data.id)
.put(Endpoints.CHANNEL_PERMISSIONS(channel.id)+"/"+data.id)
.set("authorization", self.token)
.send(data)
.end(function (err) {
console.log(err);
if (err) {
reject(err);
} else {

View File

@@ -7,24 +7,10 @@ a.on("debug", (m) => console.log("[debug]",m));
a.on("warn", (m) => console.log("[warn]", m));
var start = Date.now();
a.on("message", m => {
console.log("msgmsgmsg");
if(m.content === "$$$"){
a.createServer("pongping", "london")
.then( server => {
a.createChannel(server, "pingpong", "text")
.then( channel => {
a.sendMessage(channel, "$$$")
.then( msg => {
a.leaveServer(msg.channel.server)
.then(() => {
console.log("!!! " + (Date.now() - start));
});
})
.catch(error);
})
.catch(error);
})
.catch(error)
a.internal.overwritePermissions(m.channel, m.author, {
manageRoles : true
}).catch(error).then(()=>console.log("hihihihihi!"));
}
});
a.on("userTypingStart", (user, chan) => {