diff --git a/lib/Member.js b/lib/Member.js index 7d7b03f1a..a60a3d2b4 100644 --- a/lib/Member.js +++ b/lib/Member.js @@ -1,5 +1,7 @@ "use strict"; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -11,11 +13,21 @@ var User = require("./user.js"); var Member = (function (_User) { _inherits(Member, _User); - function Member(data) { + function Member(user, server) { _classCallCheck(this, Member); - _get(Object.getPrototypeOf(Member.prototype), "constructor", this).call(this, data); + _get(Object.getPrototypeOf(Member.prototype), "constructor", this).call(this, user); // should work, we are basically creating a Member that has the same properties as user and a few more + this.server = server; } + _createClass(Member, [{ + key: "roles", + get: function get() { + return []; + } + }]); + return Member; -})(User); \ No newline at end of file +})(User); + +module.exports = Member; \ No newline at end of file diff --git a/lib/server.js b/lib/server.js index 02892cb07..9a390c31f 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1,217 +1 @@ -"use strict"; - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var ServerPermissions = require("./ServerPermissions.js"); - -var Server = (function () { - function Server(data, client) { - _classCallCheck(this, Server); - - this.client = client; - this.region = data.region; - this.ownerID = data.owner_id; - this.name = data.name; - this.id = data.id; - this.members = []; - this.channels = []; - this.icon = data.icon; - this.afkTimeout = data.afk_timeout; - this.afkChannelId = data.afk_channel_id; - - this.roles = []; - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = data.roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var permissionGroup = _step.value; - - this.roles.push(new ServerPermissions(permissionGroup)); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"]) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (!data.members) { - data.members = [client.user]; - return; - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = data.members[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var member = _step2.value; - - // first we cache the user in our Discord Client, - // then we add it to our list. This way when we - // get a user from this server's member list, - // it will be identical (unless an async change occurred) - // to the client's cache. - if (member.user) this.members.push(client.addUser(member.user)); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2["return"]) { - _iterator2["return"](); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - - _createClass(Server, [{ - key: "getChannel", - - // get/set - value: function getChannel(key, value) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = this.channels[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var channel = _step3.value; - - if (channel[key] === value) { - return channel; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3["return"]) { - _iterator3["return"](); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return null; - } - }, { - key: "getMember", - value: function getMember(key, value) { - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = this.members[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var member = _step4.value; - - if (member[key] === value) { - return member; - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4["return"]) { - _iterator4["return"](); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - return null; - } - }, { - key: "addChannel", - value: function addChannel(chann) { - if (!this.getChannel("id", chann.id)) { - this.channels.push(chann); - } - return chann; - } - }, { - key: "addMember", - value: function addMember(member) { - if (!this.getMember("id", member.id)) { - this.members.push(member); - } - return member; - } - }, { - key: "toString", - value: function toString() { - return this.name; - } - }, { - key: "equals", - value: function equals(object) { - return object.id === this.id; - } - }, { - key: "permissionGroups", - get: function get() { - return this.roles; - } - }, { - key: "iconURL", - get: function get() { - if (!this.icon) return null; - return "https://discordapp.com/api/guilds/" + this.id + "/icons/" + this.icon + ".jpg"; - } - }, { - key: "afkChannel", - get: function get() { - if (!this.afkChannelId) return false; - - return this.getChannel("id", this.afkChannelId); - } - }, { - key: "defaultChannel", - get: function get() { - return this.getChannel("name", "general"); - } - }, { - key: "owner", - get: function get() { - return this.client.getUser("id", this.ownerID); - } - }, { - key: "users", - get: function get() { - return this.members; - } - }]); - - return Server; -})(); - -module.exports = Server; \ No newline at end of file +"use strict"; \ No newline at end of file diff --git a/src/Member.js b/src/Member.js index d0ab27774..afa65cc57 100644 --- a/src/Member.js +++ b/src/Member.js @@ -2,8 +2,15 @@ var User = require("./user.js"); class Member extends User{ - constructor(data){ - super(data); + constructor(user, server){ + super(user); // should work, we are basically creating a Member that has the same properties as user and a few more + this.server = server; } -} \ No newline at end of file + get roles(){ + return []; + } + +} + +module.exports = Member; \ No newline at end of file diff --git a/src/server.js b/src/server.js index 2269bbafd..9f0d63f54 100644 --- a/src/server.js +++ b/src/server.js @@ -1,4 +1,5 @@ var ServerPermissions = require("./ServerPermissions.js"); +var Member = require("./Member.js"); class Server { constructor(data, client) { @@ -94,11 +95,12 @@ class Server { return chann; } - addMember(member){ - if (!this.getMember("id", member.id)){ - this.members.push(member); + addMember(user){ + if (!this.getMember("id", user.id)){ + var mem = new Member(user, this); + this.members.push(mem); } - return member; + return mem; } toString(){