Some fixes

This commit is contained in:
abalabahaha
2016-05-08 00:16:20 -07:00
parent 963b22e6ce
commit af333ef4cc
5 changed files with 42 additions and 26 deletions

View File

@@ -2088,15 +2088,19 @@ var InternalClient = (function () {
if (server) {
var user = self.users.add(new _StructuresUser2["default"](data.user, client));
if (user) {
var oldMember = {
roles: server.memberMap[data.user.id].roles,
mute: server.memberMap[data.user.id].mute,
selfMute: server.memberMap[data.user.id].selfMute,
deaf: server.memberMap[data.user.id].deaf,
selfDeaf: server.memberMap[data.user.id].selfDeaf,
nick: server.memberMap[data.user.id].nick
};
server.memberMap[data.user.id] = server.memberMap[data.user.id] || {};
var oldMember = null;
if (server.memberMap[data.user.id]) {
oldMember = {
roles: server.memberMap[data.user.id].roles,
mute: server.memberMap[data.user.id].mute,
selfMute: server.memberMap[data.user.id].selfMute,
deaf: server.memberMap[data.user.id].deaf,
selfDeaf: server.memberMap[data.user.id].selfDeaf,
nick: server.memberMap[data.user.id].nick
};
} else {
server.memberMap[data.user.id] = {};
}
server.memberMap[data.user.id].roles = data.roles.map(function (pid) {
return server.roles.get("id", pid);
});

View File

@@ -88,7 +88,9 @@ var ServerChannel = (function (_Channel) {
var serverRole = _ref;
permissions |= serverRole.permissions;
if (serverRole) {
permissions |= serverRole.permissions;
}
}
for (var _iterator2 = roleOverwrites.concat(memberOverwrites), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
@@ -105,8 +107,10 @@ var ServerChannel = (function (_Channel) {
var overwrite = _ref2;
permissions = permissions & ~overwrite.deny;
permissions = permissions | overwrite.allow;
if (overwrite) {
permissions = permissions & ~overwrite.deny;
permissions = permissions | overwrite.allow;
}
}
return new _ChannelPermissions2["default"](permissions);

View File

@@ -1786,15 +1786,19 @@ export default class InternalClient {
if (server) {
var user = self.users.add(new User(data.user, client));
if (user) {
var oldMember = {
roles: server.memberMap[data.user.id].roles,
mute: server.memberMap[data.user.id].mute,
selfMute: server.memberMap[data.user.id].selfMute,
deaf: server.memberMap[data.user.id].deaf,
selfDeaf: server.memberMap[data.user.id].selfDeaf,
nick: server.memberMap[data.user.id].nick
};
server.memberMap[data.user.id] = server.memberMap[data.user.id] || {};
var oldMember = null;
if (server.memberMap[data.user.id]) {
oldMember = {
roles: server.memberMap[data.user.id].roles,
mute: server.memberMap[data.user.id].mute,
selfMute: server.memberMap[data.user.id].selfMute,
deaf: server.memberMap[data.user.id].deaf,
selfDeaf: server.memberMap[data.user.id].selfDeaf,
nick: server.memberMap[data.user.id].nick
};
} else {
server.memberMap[data.user.id] = {};
}
server.memberMap[data.user.id].roles = data.roles.map(pid => server.roles.get("id", pid));
server.memberMap[data.user.id].mute = data.mute;
server.memberMap[data.user.id].selfMute = data.self_mute;

View File

@@ -44,12 +44,16 @@ export default class ServerChannel extends Channel{
var permissions = 0;
for(var serverRole of userRoles){
permissions |= serverRole.permissions;
if (serverRole) {
permissions |= serverRole.permissions;
}
}
for(var overwrite of roleOverwrites.concat(memberOverwrites)){
permissions = permissions & ~overwrite.deny;
permissions = permissions | overwrite.allow;
if (overwrite) {
permissions = permissions & ~overwrite.deny;
permissions = permissions | overwrite.allow;
}
}
return new ChannelPermissions(permissions);

View File

@@ -97,8 +97,8 @@ export default class Cache extends Array {
remove(data) {
delete this[discrimCacheS][data[this[discrimS]]];
for(var i in this) {
if(this[i] && this[i][this[discrimS]] === data[this[discrimS]]) {
for (var i in this) {
if (this[i] && this[i][this[discrimS]] === data[this[discrimS]]) {
this.splice(i, 1);
return true;
}