Fixing server updates

This commit is contained in:
abalabahaha
2016-01-25 00:34:16 -08:00
parent 4e9a11d7a9
commit 79039f08a1
2 changed files with 76 additions and 46 deletions

View File

@@ -67,32 +67,50 @@ var Server = (function (_Equality) {
var self = this;
data.roles.forEach(function (dataRole) {
_this.roles.add(new _Role2["default"](dataRole, _this, client));
});
if (data.roles instanceof _UtilCache2["default"]) {
data.roles.forEach(function (role) {
return _this.roles.add(role);
});
} else {
data.roles.forEach(function (dataRole) {
_this.roles.add(new _Role2["default"](dataRole, _this, client));
});
}
data.members.forEach(function (dataUser) {
_this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map(function (pid) {
return self.roles.get("id", pid);
}),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new _User2["default"](dataUser.user, client));
_this.members.add(user);
});
if (data.members instanceof _UtilCache2["default"]) {
data.members.forEach(function (member) {
return _this.members.add(member);
});
} else {
data.members.forEach(function (dataUser) {
_this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map(function (pid) {
return self.roles.get("id", pid);
}),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new _User2["default"](dataUser.user, client));
_this.members.add(user);
});
}
data.channels.forEach(function (dataChannel) {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new _TextChannel2["default"](dataChannel, client, _this));
_this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new _VoiceChannel2["default"](dataChannel, client, _this));
_this.channels.add(channel);
}
});
if (data.channels instanceof _UtilCache2["default"]) {
data.channels.forEach(function (channel) {
return _this.channels.add(channel);
});
} else {
data.channels.forEach(function (dataChannel) {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new _TextChannel2["default"](dataChannel, client, _this));
_this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new _VoiceChannel2["default"](dataChannel, client, _this));
_this.channels.add(channel);
}
});
}
if (data.presences) {
for (var _iterator = data.presences, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {

View File

@@ -35,30 +35,42 @@ export default class Server extends Equality {
var self = this;
data.roles.forEach((dataRole) => {
this.roles.add(new Role(dataRole, this, client));
});
if (data.roles instanceof Cache) {
data.roles.forEach((role) => this.roles.add(role));
} else {
data.roles.forEach((dataRole) => {
this.roles.add(new Role(dataRole, this, client));
});
}
data.members.forEach((dataUser) => {
this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new User(dataUser.user, client));
this.members.add(user);
});
if (data.members instanceof Cache) {
data.members.forEach((member) => this.members.add(member));
} else {
data.members.forEach((dataUser) => {
this.memberMap[dataUser.user.id] = {
roles: dataUser.roles.map((pid) => self.roles.get("id", pid)),
mute: dataUser.mute,
deaf: dataUser.deaf,
joinedAt: Date.parse(dataUser.joined_at)
};
var user = client.internal.users.add(new User(dataUser.user, client));
this.members.add(user);
});
}
data.channels.forEach((dataChannel) => {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
this.channels.add(channel);
}
});
if (data.channels instanceof Cache) {
data.channels.forEach((channel) => this.channels.add(channel));
} else {
data.channels.forEach((dataChannel) => {
if (dataChannel.type === "text") {
var channel = client.internal.channels.add(new TextChannel(dataChannel, client, this));
this.channels.add(channel);
} else {
var channel = client.internal.channels.add(new VoiceChannel(dataChannel, client, this));
this.channels.add(channel);
}
});
}
if (data.presences) {
for (var presence of data.presences) {