Added full evaluation of SERVERwide permissions

This commit is contained in:
hydrabolt
2015-10-03 21:35:28 +01:00
parent cd91a384bd
commit 8f4e6e34d5
5 changed files with 88 additions and 7 deletions

View File

@@ -1,4 +1,5 @@
var User = require("./user.js");
var ServerPermissions = require("./ServerPermissions.js");
class Member extends User{
@@ -10,8 +11,9 @@ class Member extends User{
get roles(){
var ufRoles = [];
var ufRoles = [ this.server.getRole(this.server.id) ];
console.log(this.rawRoles);
for(var rawRole of this.rawRoles){
ufRoles.push( this.server.getRole(rawRole) );
}
@@ -20,6 +22,21 @@ class Member extends User{
}
get evalPerms(){
var basePerms = this.roles, //cache roles as it can be slightly expensive
basePerm = basePerms[0].packed;
for(var perm of basePerms){
basePerm = basePerm | perm.packed;
}
return new ServerPermissions({
permissions : basePerm
});
}
}
module.exports = Member;