Testing alternate role resolving

This commit is contained in:
abalabahaha
2016-05-12 17:30:44 -07:00
parent 873f78b02a
commit e7882a38ee
4 changed files with 28 additions and 38 deletions

View File

@@ -1180,9 +1180,7 @@ var InternalClient = (function () {
return Promise.reject(new Error("Role does not exist on same server as member")); return Promise.reject(new Error("Role does not exist on same server as member"));
} }
var roleIDs = roles[0].server.memberMap[member.id].roles.map(function (r) { var roleIDs = roles[0].server.memberMap[member.id].roles;
return r.id;
});
for (var i = 0; i < roles.length; i++) { for (var i = 0; i < roles.length; i++) {
if (! ~roleIDs.indexOf(roles[i].id)) { if (! ~roleIDs.indexOf(roles[i].id)) {
@@ -1254,9 +1252,7 @@ var InternalClient = (function () {
}); });
} }
var roleIDs = roles[0].server.memberMap[member.id].roles.map(function (r) { var roleIDs = roles[0].server.memberMap[member.id].roles;
return r.id;
});
for (var _iterator7 = roles, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { for (var _iterator7 = roles, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
var _ref7; var _ref7;
@@ -2071,9 +2067,7 @@ var InternalClient = (function () {
if (server) { if (server) {
server.memberMap[data.user.id] = { server.memberMap[data.user.id] = {
roles: data.roles.map(function (pid) { roles: data.roles,
return server.roles.get("id", pid);
}),
mute: false, mute: false,
selfMute: false, selfMute: false,
deaf: false, deaf: false,
@@ -2123,9 +2117,7 @@ var InternalClient = (function () {
} else { } else {
server.memberMap[data.user.id] = {}; server.memberMap[data.user.id] = {};
} }
server.memberMap[data.user.id].roles = data.roles ? data.roles.map(function (pid) { server.memberMap[data.user.id].roles = data.roles ? data.roles : server.memberMap[data.user.id].roles;
return server.roles.get("id", pid);
}) : server.memberMap[data.user.id].roles;
server.memberMap[data.user.id].mute = data.mute || server.memberMap[data.user.id].mute; server.memberMap[data.user.id].mute = data.mute || server.memberMap[data.user.id].mute;
server.memberMap[data.user.id].selfMute = data.self_mute === undefined ? server.memberMap[data.user.id].selfMute : data.self_mute; server.memberMap[data.user.id].selfMute = data.self_mute === undefined ? server.memberMap[data.user.id].selfMute : data.self_mute;
server.memberMap[data.user.id].deaf = data.deaf || server.memberMap[data.user.id].deaf; server.memberMap[data.user.id].deaf = data.deaf || server.memberMap[data.user.id].deaf;
@@ -2291,9 +2283,7 @@ var InternalClient = (function () {
var user = _ref11; var user = _ref11;
server.memberMap[user.user.id] = { server.memberMap[user.user.id] = {
roles: user.roles.map(function (pid) { roles: user.roles,
return server.roles.get("id", pid);
}),
mute: user.mute, mute: user.mute,
selfMute: false, selfMute: false,
deaf: user.deaf, deaf: user.deaf,

View File

@@ -91,9 +91,7 @@ var Server = (function (_Equality) {
} else { } else {
data.members.forEach(function (dataUser) { data.members.forEach(function (dataUser) {
_this.memberMap[dataUser.user.id] = { _this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map(function (pid) { roles: dataUser.roles,
return self.roles.get("id", pid);
}),
mute: dataUser.mute, mute: dataUser.mute,
selfMute: dataUser.self_mute, selfMute: dataUser.self_mute,
deaf: dataUser.deaf, deaf: dataUser.deaf,
@@ -174,9 +172,17 @@ var Server = (function (_Equality) {
} }
Server.prototype.detailsOf = function detailsOf(user) { Server.prototype.detailsOf = function detailsOf(user) {
var _this2 = this;
user = this.client.internal.resolver.resolveUser(user); user = this.client.internal.resolver.resolveUser(user);
if (user) { if (user) {
return this.memberMap[user.id] || {}; var result = this.memberMap[user.id] || {};
if (result && result.roles) {
result.roles = result.roles.map(function (pid) {
return _this2.roles.get("id", pid);
});
}
return result;
} else { } else {
return {}; return {};
} }
@@ -195,12 +201,7 @@ var Server = (function (_Equality) {
}; };
Server.prototype.rolesOfUser = function rolesOfUser(user) { Server.prototype.rolesOfUser = function rolesOfUser(user) {
user = this.client.internal.resolver.resolveUser(user); return this.detailsOf(user).roles || [];
if (user) {
return this.memberMap[user.id] ? this.memberMap[user.id].roles : [];
} else {
return [];
}
}; };
Server.prototype.rolesOfMember = function rolesOfMember(member) { Server.prototype.rolesOfMember = function rolesOfMember(member) {

View File

@@ -978,7 +978,7 @@ export default class InternalClient {
return Promise.reject(new Error("Role does not exist on same server as member")); return Promise.reject(new Error("Role does not exist on same server as member"));
} }
var roleIDs = roles[0].server.memberMap[member.id].roles.map(r => r.id); var roleIDs = roles[0].server.memberMap[member.id].roles;
for (var i = 0; i < roles.length; i++) { for (var i = 0; i < roles.length; i++) {
if (!~roleIDs.indexOf(roles[i].id)) { if (!~roleIDs.indexOf(roles[i].id)) {
@@ -1037,7 +1037,7 @@ export default class InternalClient {
roles = roles.map(r => this.resolver.resolveRole(r)); roles = roles.map(r => this.resolver.resolveRole(r));
} }
var roleIDs = roles[0].server.memberMap[member.id].roles.map(r => r.id); var roleIDs = roles[0].server.memberMap[member.id].roles;
for (var role of roles) { for (var role of roles) {
if (!role.server.memberMap[member.id]) { if (!role.server.memberMap[member.id]) {
@@ -1764,7 +1764,7 @@ export default class InternalClient {
if (server) { if (server) {
server.memberMap[data.user.id] = { server.memberMap[data.user.id] = {
roles: data.roles.map(pid => server.roles.get("id", pid)), roles: data.roles,
mute: false, mute: false,
selfMute: false, selfMute: false,
deaf: false, deaf: false,
@@ -1819,7 +1819,7 @@ export default class InternalClient {
} else { } else {
server.memberMap[data.user.id] = {}; server.memberMap[data.user.id] = {};
} }
server.memberMap[data.user.id].roles = data.roles ? data.roles.map(pid => server.roles.get("id", pid)) : server.memberMap[data.user.id].roles; server.memberMap[data.user.id].roles = data.roles ? data.roles : server.memberMap[data.user.id].roles;
server.memberMap[data.user.id].mute = data.mute || server.memberMap[data.user.id].mute; server.memberMap[data.user.id].mute = data.mute || server.memberMap[data.user.id].mute;
server.memberMap[data.user.id].selfMute = data.self_mute === undefined ? server.memberMap[data.user.id].selfMute : data.self_mute; server.memberMap[data.user.id].selfMute = data.self_mute === undefined ? server.memberMap[data.user.id].selfMute : data.self_mute;
server.memberMap[data.user.id].deaf = data.deaf || server.memberMap[data.user.id].deaf; server.memberMap[data.user.id].deaf = data.deaf || server.memberMap[data.user.id].deaf;
@@ -1975,7 +1975,7 @@ export default class InternalClient {
for (var user of data.members) { for (var user of data.members) {
server.memberMap[user.user.id] = { server.memberMap[user.user.id] = {
roles: user.roles.map(pid => server.roles.get("id", pid)), roles: user.roles,
mute: user.mute, mute: user.mute,
selfMute: false, selfMute: false,
deaf: user.deaf, deaf: user.deaf,

View File

@@ -56,7 +56,7 @@ export default class Server extends Equality {
} else { } else {
data.members.forEach((dataUser) => { data.members.forEach((dataUser) => {
this.memberMap[dataUser.user.id] = { this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)), roles: dataUser.roles,
mute: dataUser.mute, mute: dataUser.mute,
selfMute: dataUser.self_mute, selfMute: dataUser.self_mute,
deaf: dataUser.deaf, deaf: dataUser.deaf,
@@ -111,7 +111,11 @@ export default class Server extends Equality {
detailsOf(user) { detailsOf(user) {
user = this.client.internal.resolver.resolveUser(user); user = this.client.internal.resolver.resolveUser(user);
if (user) { if (user) {
return this.memberMap[user.id] || {}; var result = this.memberMap[user.id] || {};
if(result && result.roles) {
result.roles = result.roles.map(pid => this.roles.get("id", pid));
}
return result;
} else { } else {
return {}; return {};
} }
@@ -130,12 +134,7 @@ export default class Server extends Equality {
} }
rolesOfUser(user) { rolesOfUser(user) {
user = this.client.internal.resolver.resolveUser(user); return this.detailsOf(user).roles || [];
if (user) {
return (this.memberMap[user.id] ? this.memberMap[user.id].roles : []);
} else {
return [];
}
} }
rolesOfMember(member) { rolesOfMember(member) {