From 6b091128cb01825d0b03a72606da6fbbf1c69151 Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Sat, 3 Oct 2015 20:36:32 +0100 Subject: [PATCH] Created ChannelPermissions class --- lib/ChannelPermissions.js | 9 +++++ lib/channel.js | 52 ++++++++++++++++++++------- src/ChannelPermissions.js | 7 ++++ src/channel.js | 75 ++++++++++++++++++++++----------------- 4 files changed, 98 insertions(+), 45 deletions(-) create mode 100644 lib/ChannelPermissions.js create mode 100644 src/ChannelPermissions.js diff --git a/lib/ChannelPermissions.js b/lib/ChannelPermissions.js new file mode 100644 index 000000000..2fcc61792 --- /dev/null +++ b/lib/ChannelPermissions.js @@ -0,0 +1,9 @@ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var ChannelPermissions = function ChannelPermissions(data) { + _classCallCheck(this, ChannelPermissions); +}; + +module.exports = ChannelPermissions; \ No newline at end of file diff --git a/lib/channel.js b/lib/channel.js index 1edec0f84..cfa397ccd 100644 --- a/lib/channel.js +++ b/lib/channel.js @@ -4,6 +4,8 @@ var _createClass = (function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +var ChannelPermissions = require("./ChannelPermissions.js"); + var Channel = (function () { function Channel(data, server) { _classCallCheck(this, Channel); @@ -15,7 +17,33 @@ var Channel = (function () { this.id = data.id; this.messages = []; this.roles = []; - //this.isPrivate = isPrivate; //not sure about the implementation of this... + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = data.permission_overwrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var role = _step.value; + + this.roles.push(new ChannelPermissions()); + } + + //this.isPrivate = isPrivate; //not sure about the implementation of this... + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator["return"]) { + _iterator["return"](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } } _createClass(Channel, [{ @@ -40,29 +68,29 @@ var Channel = (function () { }, { key: "getMessage", value: function getMessage(key, value) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; try { - for (var _iterator = this.messages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var message = _step.value; + for (var _iterator2 = this.messages[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var message = _step2.value; if (message[key] === value) { return message; } } } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _didIteratorError2 = true; + _iteratorError2 = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator["return"]) { - _iterator["return"](); + if (!_iteratorNormalCompletion2 && _iterator2["return"]) { + _iterator2["return"](); } } finally { - if (_didIteratorError) { - throw _iteratorError; + if (_didIteratorError2) { + throw _iteratorError2; } } } diff --git a/src/ChannelPermissions.js b/src/ChannelPermissions.js new file mode 100644 index 000000000..13e29c02f --- /dev/null +++ b/src/ChannelPermissions.js @@ -0,0 +1,7 @@ +class ChannelPermissions{ + constructor(data){ + + } +} + +module.exports = ChannelPermissions; \ No newline at end of file diff --git a/src/channel.js b/src/channel.js index 939b01e7c..bf9380d28 100644 --- a/src/channel.js +++ b/src/channel.js @@ -1,3 +1,5 @@ +var ChannelPermissions = require("./ChannelPermissions.js"); + class Channel { constructor(data, server) { @@ -8,14 +10,21 @@ class Channel { this.id = data.id; this.messages = []; this.roles = []; + + for (var role of data.permission_overwrites) { + + this.roles.push( new ChannelPermissions() ); + + } + //this.isPrivate = isPrivate; //not sure about the implementation of this... } - - get permissionOverwrites(){ + + get permissionOverwrites() { return this.roles; } - - get permissions(){ + + get permissions() { return this.roles; } @@ -26,42 +35,42 @@ class Channel { equals(object) { return (object && object.id === this.id); } - - addMessage(data){ - - if(this.messages.length > 1000){ - this.messages.splice(0,1); - } - - if(!this.getMessage("id", data.id)){ - this.messages.push(data); - } - - return this.getMessage("id", data.id); - } - - getMessage(key, value){ - for(var message of this.messages){ - if(message[key] === value){ - return message; - } - } - return null; - } - toString(){ + addMessage(data) { + + if (this.messages.length > 1000) { + this.messages.splice(0, 1); + } + + if (!this.getMessage("id", data.id)) { + this.messages.push(data); + } + + return this.getMessage("id", data.id); + } + + getMessage(key, value) { + for (var message of this.messages) { + if (message[key] === value) { + return message; + } + } + return null; + } + + toString() { return "<#" + this.id + ">"; } - - get isPrivate(){ + + get isPrivate() { return false; } - - get users(){ + + get users() { return this.server.members; } - - get members(){ + + get members() { return this.server.members; } }