Fixed invites

This commit is contained in:
hydrabolt
2015-08-25 14:30:03 +01:00
parent 659fdf5bff
commit dd941ab604
8 changed files with 294 additions and 172 deletions

View File

@@ -10,6 +10,7 @@ var User = require("./User.js");
var Server = require("./Server.js");
var Channel = require("./Channel.js");
var Message = require("./Message.js");
var Invite = require("./Invite.js");
//node modules
var request = require("superagent");
@@ -235,6 +236,43 @@ var Client = (function () {
});
});
}
}, {
key: "createInvite",
value: function createInvite(serverOrChannel, options) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err, invite) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
var destination;
if (serverOrChannel instanceof Server) {
destination = serverOrChannel.id;
} else if (serverOrChannel instanceof Channel) {
destination = serverOrChannel.id;
} else {
destination = serverOrChannel;
}
options = options || {};
options.max_age = options.maxAge || 0;
options.max_uses = options.maxUses || 0;
options.temporary = options.temporary || false;
options.xkcdpass = options.xkcd || false;
request.post(Endpoints.CHANNELS + "/" + destination + "/invites").set("authorization", self.token).send(options).end(function (err, res) {
if (err) {
callback(err);
reject(err);
} else {
var inv = new Invite(res.body, self);
callback(null, inv);
resolve(inv);
}
});
});
}
//def createws
}, {
@@ -457,8 +495,36 @@ var Client = (function () {
if (!server) {
//if server doesn't already exist because duh
var serv = self.addServer(data);
} else if (server.channels.length === 0) {
var srv = new Server(data, self);
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator4 = data.channels[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
channel = _step4.value;
srv.channels.push(new Channel(channel, data.id));
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
self.serverCache[self.serverCache.indexOf(server)] = srv;
}
self.trigger("serverCreate", server);
@@ -595,27 +661,27 @@ var Client = (function () {
if (!server) {
server = new Server(data, this);
if (data.channels) {
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = data.channels[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var channel = _step4.value;
for (var _iterator5 = data.channels[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var channel = _step5.value;
server.channels.push(this.addChannel(channel, server.id));
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
@@ -630,50 +696,16 @@ var Client = (function () {
}, {
key: "getUser",
value: function getUser(key, value) {
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator5 = this.userCache[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var user = _step5.value;
if (user[key] === value) {
return user;
}
}
} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
return null;
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator6 = this.channelCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var channel = _step6.value;
for (var _iterator6 = this.userCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var user = _step6.value;
if (channel[key] === value) {
return channel;
if (user[key] === value) {
return user;
}
}
} catch (err) {
@@ -694,20 +726,20 @@ var Client = (function () {
return null;
}
//def getServer
//def getChannel
}, {
key: "getServer",
value: function getServer(key, value) {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator7 = this.serverCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var server = _step7.value;
for (var _iterator7 = this.channelCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var channel = _step7.value;
if (server[key] === value) {
return server;
if (channel[key] === value) {
return channel;
}
}
} catch (err) {
@@ -728,6 +760,40 @@ var Client = (function () {
return null;
}
//def getServer
}, {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator8 = this.serverCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var server = _step8.value;
if (server[key] === value) {
return server;
}
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
return null;
}
//def trySendConnData
}, {
key: "trySendConnData",
@@ -795,27 +861,27 @@ var Client = (function () {
get: function get() {
var msgs = [];
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator8 = this.channelCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var channel = _step8.value;
for (var _iterator9 = this.channelCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var channel = _step9.value;
msgs = msgs.concat(channel.messages);
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator9["return"]();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
if (_didIteratorError9) {
throw _iteratorError9;
}
}
}