braid/dist/server/channelManager.js
2019-03-11 14:35:33 -04:00

46 lines
1.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const channelBase_1 = require("./channels/channelBase");
class ChannelManager {
constructor() {
this.channels = [];
// create default channel...
var channel = new channelBase_1.default('default');
this.channels.push(channel);
}
createChannel(data) {
var channel = this.channelExists(data.channel_id);
if (channel) {
console.log('channel already exists');
}
else {
var Channel = require(`./channels/${data.client_type}s/${data.client}channel`);
var channel = new channelBase_1.default(data.channel_id);
this.channels.push(channel);
console.log('added channel to channel manager');
}
console.log(data.channel_id);
}
channelExists(channel_id) {
for (let channel of this.channels) {
if (channel.id == channel_id) {
return channel;
}
}
return null;
}
addClientToChannel(client, channel_id) {
var channel = this.channelExists(channel_id);
if (channel) {
channel.addClient(client);
client.connectToChannel(channel);
}
else {
console.log(`channel with id ${channel_id} does not exist.`);
}
}
}
;
exports.default = ChannelManager;
// { :client => 'mhs', :client_type => 'site', :user_id => 125, :user_type => 'user', :channel => 'mhs_1239' }
//# sourceMappingURL=channelManager.js.map