gitignore for dist
This commit is contained in:
parent
b385b6abc8
commit
1b8ef3ca88
80
dist/server/channelManager.js
vendored
80
dist/server/channelManager.js
vendored
@ -1,80 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const channelBase_1 = require("./channels/channelBase");
|
||||
var logger = require('./logger');
|
||||
class ChannelManager {
|
||||
constructor() {
|
||||
this.channels = [];
|
||||
// create default channel...
|
||||
var channel = new channelBase_1.default('default');
|
||||
this.channels.push(channel);
|
||||
}
|
||||
createChannel(data) {
|
||||
var channelExists = this.channelExists(data.channel);
|
||||
var channel;
|
||||
if (channelExists) {
|
||||
channel = channelExists;
|
||||
logger.accessLog.info(`Channel already exists: ${channel.id}`);
|
||||
}
|
||||
else {
|
||||
channel = this.createByChannelType(data);
|
||||
this.channels.push(channel);
|
||||
logger.accessLog.info(`Added channel to channel manager: ${channel.id}`);
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
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);
|
||||
return { 'status': 'success' };
|
||||
}
|
||||
else {
|
||||
logger.accessLog.info(`channel with id ${channel_id} does not exist.`);
|
||||
return { 'status': 'notice', 'message': `channel with id ${channel_id} does not exist.` };
|
||||
}
|
||||
}
|
||||
createByChannelType(data) {
|
||||
try {
|
||||
var Channel = require(`./channels/${data.client_type}s/${data.client}channel`);
|
||||
logger.accessLog.info(`attempting to create channel of type ${data.client}, channel id: ${data.channel}...`);
|
||||
return new Channel(data.channel);
|
||||
}
|
||||
catch (e) {
|
||||
logger.errorLog.info(e);
|
||||
logger.accessLog.info(`creating base channel: ${data.channel}`);
|
||||
return new channelBase_1.default(data.channel);
|
||||
}
|
||||
}
|
||||
removeClientFromChannel(client_id, channel_id) {
|
||||
var index = 0;
|
||||
for (let channel of this.channels) {
|
||||
if (channel.id == channel_id) {
|
||||
this.channels.splice(index, 1);
|
||||
if (channel.removeClient(client_id)) {
|
||||
logger.accessLog.info(`client removed from channel - channel: ${channel_id}, client: ${client_id}`);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
logger.errorLog.info(`client not removed from channel, or doesn't exist in channel - channel: ${channel_id}, client: ${client_id}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
;
|
||||
exports.default = ChannelManager;
|
||||
// { :client => 'mhs', :client_type => 'site', :user_id => 125, :user_type => 'user', :channel => 'mhs_1239' }
|
||||
//# sourceMappingURL=channelManager.js.map
|
1
dist/server/channelManager.js.map
vendored
1
dist/server/channelManager.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"channelManager.js","sourceRoot":"","sources":["../../src/channelManager.ts"],"names":[],"mappings":"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"}
|
55
dist/server/channels/channelBase.js
vendored
55
dist/server/channels/channelBase.js
vendored
@ -1,55 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var logger = require('../logger');
|
||||
class ChannelBase {
|
||||
constructor(id) {
|
||||
this.clients = [];
|
||||
this.id = id;
|
||||
logger.accessLog.info('Channel Created', { channelId: id });
|
||||
}
|
||||
addClient(client) {
|
||||
if (this.clientExists(client.id)) {
|
||||
logger.errorLog.info('Client already exits in channel', { channelId: this.id, clientId: client.id });
|
||||
return { 'status': 'notice', 'message': 'client aleady exists in channel' };
|
||||
}
|
||||
else {
|
||||
this.clients.push(client);
|
||||
logger.accessLog.info('Added client to channel', { channelId: this.id, clientId: client.id });
|
||||
return { 'status': 'success', 'message': 'client added' };
|
||||
}
|
||||
}
|
||||
clientExists(id) {
|
||||
for (let client of this.clients) {
|
||||
if (client.id == id) {
|
||||
return client;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
removeClient(id) {
|
||||
var index = 0;
|
||||
for (let client of this.clients) {
|
||||
if (client.id == id) {
|
||||
this.clients.splice(index, 1);
|
||||
return true;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
broadcastMessage(from, message) {
|
||||
for (let client of this.clients) {
|
||||
if (client != from) {
|
||||
client.ws.send(message);
|
||||
logger.accessLog.info(`sent to ${client.id}: `, { message: message });
|
||||
}
|
||||
else {
|
||||
logger.accessLog.info(`client is same as sender: ${client.id} - `, { message: message });
|
||||
}
|
||||
}
|
||||
return { 'status': 'success', 'message': `message broadcast complete` };
|
||||
}
|
||||
}
|
||||
;
|
||||
exports.default = ChannelBase;
|
||||
//# sourceMappingURL=channelBase.js.map
|
1
dist/server/channels/channelBase.js.map
vendored
1
dist/server/channels/channelBase.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"channelBase.js","sourceRoot":"","sources":["../../../src/channels/channelBase.ts"],"names":[],"mappings":";;AAGA,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,MAAM,WAAW;IAIf,YAAY,EAAU;QAFtB,YAAO,GAA6B,EAAE,CAAC;QAGrC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,SAAS,EAAE,EAAE,EAAC,CAAC,CAAC;IAC5D,CAAC;IAED,SAAS,CAAC,MAA4B;QACpC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAC,CAAC,CAAC;YACnG,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iCAAiC,EAAC,CAAC;SAC3E;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAC,CAAC,CAAC;YAC5F,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAC,CAAC;SACzD;IACH,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;gBACnB,OAAO,MAAM,CAAC;aACf;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;aACb;YAED,KAAK,EAAE,CAAC;SACT;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,IAA+B,EAAE,OAAe;QAC/D,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;aACxF;SACF;QAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,4BAA4B,EAAC,CAAC;IACxE,CAAC;CACF;AAAA,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
22
dist/server/channels/sites/mhsChannel.js
vendored
22
dist/server/channels/sites/mhsChannel.js
vendored
@ -1,22 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const channelBase_1 = require("../channelBase");
|
||||
var logger = require('../../logger');
|
||||
class MHSChannel extends channelBase_1.default {
|
||||
broadcastMessage(from, message) {
|
||||
for (let client of this.clients) {
|
||||
if (client != from && client.data.user_type == 'teacher') {
|
||||
client.ws.send(message);
|
||||
logger.accessLog.info(`sent to ${client.id}: `, { message: message });
|
||||
}
|
||||
else {
|
||||
logger.accessLog.info(`client is same as sender: ${client.id} - `, { message: message });
|
||||
}
|
||||
}
|
||||
return { 'status': 'success', 'message': `message broadcast complete` };
|
||||
}
|
||||
}
|
||||
;
|
||||
module.exports = MHSChannel;
|
||||
exports.default = MHSChannel;
|
||||
//# sourceMappingURL=mhsChannel.js.map
|
1
dist/server/channels/sites/mhsChannel.js.map
vendored
1
dist/server/channels/sites/mhsChannel.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"mhsChannel.js","sourceRoot":"","sources":["../../../../src/channels/sites/mhsChannel.ts"],"names":[],"mappings":";;AAEA,gDAAyC;AAEzC,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC,MAAM,UAAW,SAAQ,qBAAW;IAClC,gBAAgB,CAAC,IAA+B,EAAE,OAAe;QAC/D,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBACxD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;aACxF;SACF;QAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,4BAA4B,EAAC,CAAC;IACxE,CAAC;CACF;AAAA,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;AAC5B,kBAAe,UAAU,CAAC"}
|
72
dist/server/clientManager.js
vendored
72
dist/server/clientManager.js
vendored
@ -1,72 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const clientBase_1 = require("./clients/clientBase");
|
||||
var logger = require('./logger');
|
||||
class ClientManager {
|
||||
constructor() {
|
||||
this.clients = [];
|
||||
//...maybe one day
|
||||
}
|
||||
addClient(data, ws) {
|
||||
if (data.client_type && !this.clientExists(data.user_id)) {
|
||||
var client = this.getClientType(data, ws);
|
||||
this.clients.push(client);
|
||||
logger.accessLog.info(`client added to client manager: ${data.user_id}`);
|
||||
return client;
|
||||
}
|
||||
else {
|
||||
logger.accessLog.info(`no client type designated or client already exists, socket disconnected: ${data.user_id}`);
|
||||
ws.close();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
clientsOfType(client_type) {
|
||||
var result = [];
|
||||
for (let client of this.clients) {
|
||||
if (client.type() == client_type) {
|
||||
result.push(client);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
clientExists(id) {
|
||||
for (let client of this.clients) {
|
||||
if (client.id == id) {
|
||||
return client;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
getClient(id) {
|
||||
return this.clientExists(id);
|
||||
}
|
||||
removeClient(id) {
|
||||
var index = 0;
|
||||
for (let client of this.clients) {
|
||||
if (client.id == id) {
|
||||
client.ws.close();
|
||||
this.clients.splice(index, 1);
|
||||
logger.accessLog.info(`client disconnected: ${client.id}`);
|
||||
return true;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
}
|
||||
getClientType(data, ws) {
|
||||
try {
|
||||
var Client = require(`./clients/${data.client_type}s/${data.client}client`);
|
||||
logger.accessLog.info(`attempting to create client of type ${data.client}, client id: ${data.user_id}...`);
|
||||
return new Client(data, ws);
|
||||
}
|
||||
catch (e) {
|
||||
logger.errorLog.info(e);
|
||||
logger.accessLog.info(`creating base client: ${data.user_id}`);
|
||||
return new clientBase_1.default(data, ws);
|
||||
}
|
||||
}
|
||||
}
|
||||
;
|
||||
exports.default = ClientManager;
|
||||
// { :client => 'mhs', :client_type => 'site', :user_id => 125, :user_type => 'user' }
|
||||
// var exampleSocket = new WebSocket("wss://ysbraid.localhost:8443?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6Im1ocyIsImNsaWVudF90eXBlIjoic2l0ZSIsInVzZXJfdHlwZSI6InVzZXIiLCJ1c2VyX2lkIjoxMjV9LCJleHAiOjE1NTI4MDExMDUsImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.fkfoqoWNjOeKfsXXJxh-9lBudhFsxhUt9fUIT1BXOLU");
|
||||
//# sourceMappingURL=clientManager.js.map
|
1
dist/server/clientManager.js.map
vendored
1
dist/server/clientManager.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"clientManager.js","sourceRoot":"","sources":["../../src/clientManager.ts"],"names":[],"mappings":"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"}
|
35
dist/server/clients/clientBase.js
vendored
35
dist/server/clients/clientBase.js
vendored
@ -1,35 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var logger = require('../logger');
|
||||
class ClientBase {
|
||||
constructor(data, ws) {
|
||||
this.ws = ws;
|
||||
this.data = data;
|
||||
this.id = data.user_id;
|
||||
this.channel = null;
|
||||
}
|
||||
getData() {
|
||||
return this.data;
|
||||
}
|
||||
type() {
|
||||
return this.data.client_type;
|
||||
}
|
||||
clientType() {
|
||||
return this.data.client;
|
||||
}
|
||||
connectToChannel(channel) {
|
||||
this.channel = channel;
|
||||
this.ws.on('message', (message) => {
|
||||
logger.accessLog.info(`starting broadcast on channel ${channel.id}: `, { message: message });
|
||||
channel.broadcastMessage(this, message);
|
||||
logger.accessLog.info(`broadcast complete on channel ${channel.id}: `, { message: message });
|
||||
});
|
||||
}
|
||||
replaceWebSocket(ws) {
|
||||
this.ws.close();
|
||||
this.ws = ws;
|
||||
}
|
||||
}
|
||||
;
|
||||
exports.default = ClientBase;
|
||||
//# sourceMappingURL=clientBase.js.map
|
1
dist/server/clients/clientBase.js.map
vendored
1
dist/server/clients/clientBase.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"clientBase.js","sourceRoot":"","sources":["../../../src/clients/clientBase.ts"],"names":[],"mappings":";;AAKA,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAElC,MAAM,UAAU;IAMd,YAAY,IAAS,EAAE,EAAa;QAClC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,gBAAgB,CAAC,OAA+B;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAe,EAAE,EAAE;YACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,EAAa;QAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;CACF;AAAA,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
14
dist/server/clients/sites/mhsClient.js
vendored
14
dist/server/clients/sites/mhsClient.js
vendored
@ -1,14 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const clientBase_1 = require("../clientBase");
|
||||
var logger = require('../../logger');
|
||||
class MHSClient extends clientBase_1.default {
|
||||
constructor(data, ws) {
|
||||
super(data, ws);
|
||||
logger.accessLog.info('MHS Client Created', { data: data });
|
||||
}
|
||||
}
|
||||
;
|
||||
module.exports = MHSClient;
|
||||
exports.default = MHSClient;
|
||||
//# sourceMappingURL=mhsClient.js.map
|
1
dist/server/clients/sites/mhsClient.js.map
vendored
1
dist/server/clients/sites/mhsClient.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"mhsClient.js","sourceRoot":"","sources":["../../../../src/clients/sites/mhsClient.ts"],"names":[],"mappings":";;AACA,8CAAuC;AAEvC,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC,MAAM,SAAU,SAAQ,oBAAU;IAChC,YAAY,IAAS,EAAE,EAAa;QAClC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AAAA,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAC3B,kBAAe,SAAS,CAAC"}
|
18
dist/server/config/app.js
vendored
18
dist/server/config/app.js
vendored
@ -1,18 +0,0 @@
|
||||
"use strict";
|
||||
module.exports = {
|
||||
version: '0.7.1',
|
||||
whitelist: (process.env.WHITELIST || "http://admin.localhost").split(','),
|
||||
secret: process.env.SECRET || "test",
|
||||
devToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImNsaWVudCI6InRlc3QiLCJjbGllbnRfdHlwZSI6InNpdGUiLCJ1c2VyX3R5cGUiOiJ1c2VyIiwidXNlcl9pZCI6MjAwLCJjaGFubmVsIjoidGVzdF9jaGFubmVsIn0sImF1ZCI6ImludGVybmFsIiwiaXNzIjoiWWFyZHN0aWNrIFNvZnR3YXJlIiwic3ViIjoiQnJhaWQgSldUIn0.5KNCov_EW1cycT4Ay0oSvk4Z4PHFedd3bWOyqkHHTBQ',
|
||||
port: process.env.PORT || 8443,
|
||||
hostname: process.env.HOSTNAME || 'ysbraid.localhost',
|
||||
environment: process.env.ENVIRONMENT || 'development',
|
||||
log_level: process.env.LOG_LEVEL || 'debug',
|
||||
signOptions: {
|
||||
issuer: 'Yardstick Software',
|
||||
subject: 'Braid JWT',
|
||||
audience: 'internal',
|
||||
algorithm: ["HS256"]
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=app.js.map
|
1
dist/server/config/app.js.map
vendored
1
dist/server/config/app.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/config/app.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,OAAO,EAAG,OAAO;IACjB,SAAS,EAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,MAAM,EAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM;IACrC,QAAQ,EAAE,kTAAkT;IAC5T,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,mBAAmB;IACrD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa;IACrD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO;IAC3C,WAAW,EAAG;QACZ,MAAM,EAAG,oBAAoB;QAC7B,OAAO,EAAG,WAAW;QACrB,QAAQ,EAAG,UAAU;QACrB,SAAS,EAAG,CAAC,OAAO,CAAC;KACtB;CACF,CAAA"}
|
8
dist/server/controllers/appController.js
vendored
8
dist/server/controllers/appController.js
vendored
@ -1,8 +0,0 @@
|
||||
"use strict";
|
||||
var app = require('../config/app');
|
||||
module.exports = {
|
||||
home: (req, res) => {
|
||||
res.send(`Welcome to Braid v${app.version}`);
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=appController.js.map
|
1
dist/server/controllers/appController.js.map
vendored
1
dist/server/controllers/appController.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"appController.js","sourceRoot":"","sources":["../../../src/controllers/appController.ts"],"names":[],"mappings":";AAAA,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAElC,MAAM,CAAC,OAAO,GAAG;IACf,IAAI,EAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;CACF,CAAA"}
|
13
dist/server/controllers/authController.js
vendored
13
dist/server/controllers/authController.js
vendored
@ -1,13 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const jwt = require("jsonwebtoken");
|
||||
var app = require('../config/app');
|
||||
module.exports = {
|
||||
confirmToken: (req, res) => {
|
||||
var token = req.body.token;
|
||||
res.json({
|
||||
response: JSON.stringify(jwt.verify(token, app.secret, app.signOptions))
|
||||
});
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=authController.js.map
|
@ -1 +0,0 @@
|
||||
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../../src/controllers/authController.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AAEpC,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAElC,MAAM,CAAC,OAAO,GAAG;IACf,YAAY,EAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACpC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
|
31
dist/server/logger.js
vendored
31
dist/server/logger.js
vendored
@ -1,31 +0,0 @@
|
||||
"use strict";
|
||||
var { winston, transports, createLogger, format } = require('winston');
|
||||
var path = require('path');
|
||||
// Set this to whatever, by default the path of the script.
|
||||
var logPath = './logs/';
|
||||
const tsFormat = () => (new Date().toISOString());
|
||||
const errorLog = createLogger({
|
||||
format: format.combine(format.timestamp(), format.json()),
|
||||
transports: [
|
||||
new transports.File({
|
||||
filename: path.join(logPath, 'errors.log'),
|
||||
timestamp: tsFormat,
|
||||
level: 'debug'
|
||||
})
|
||||
]
|
||||
});
|
||||
const accessLog = createLogger({
|
||||
format: format.combine(format.timestamp(), format.json()),
|
||||
transports: [
|
||||
new transports.File({
|
||||
filename: path.join(logPath, 'access.log'),
|
||||
timestamp: tsFormat,
|
||||
level: 'info'
|
||||
})
|
||||
]
|
||||
});
|
||||
module.exports = {
|
||||
errorLog: errorLog,
|
||||
accessLog: accessLog
|
||||
};
|
||||
//# sourceMappingURL=logger.js.map
|
1
dist/server/logger.js.map
vendored
1
dist/server/logger.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";AAAA,IAAI,EAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACrE,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE3B,2DAA2D;AAC3D,IAAI,OAAO,GAAG,SAAS,CAAC;AAExB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAElD,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,OAAO,CACpB,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,IAAI,EAAE,CACd;IACD,UAAU,EAAE;QACV,IAAI,UAAU,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;YAC1C,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,OAAO;SACf,CAAC;KACH;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,YAAY,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,OAAO,CACpB,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,IAAI,EAAE,CACd;IACD,UAAU,EAAE;QACV,IAAI,UAAU,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;YAC1C,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,MAAM;SACd,CAAC;KACH;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,OAAO,GAAG;IACf,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;CACrB,CAAC"}
|
24
dist/server/routes.js
vendored
24
dist/server/routes.js
vendored
@ -1,24 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const cors = require("cors");
|
||||
const express = require("express");
|
||||
var app = require('./config/app');
|
||||
var corsOptions = {
|
||||
origin: (origin, callback) => {
|
||||
if (app.whitelist.indexOf(origin) !== -1) {
|
||||
callback(null, true);
|
||||
}
|
||||
else {
|
||||
callback(new Error(`Not allowed by CORS. Origin: ${origin}`));
|
||||
}
|
||||
}
|
||||
};
|
||||
var router = express.Router();
|
||||
//application
|
||||
var appController = require('./controllers/appController');
|
||||
router.route(['/', '/home']).get(appController.home);
|
||||
//auth
|
||||
var authController = require('./controllers/authController');
|
||||
router.route('/auth/user').post(cors(corsOptions), authController.confirmToken);
|
||||
module.exports = router;
|
||||
//# sourceMappingURL=routes.js.map
|
1
dist/server/routes.js.map
vendored
1
dist/server/routes.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":";;AAAA,6BAA6B;AAC7B,mCAAmC;AAEnC,IAAI,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AACjC,IAAI,WAAW,GAAG;IAChB,MAAM,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACrB;aAAM;YACL,QAAQ,CAAC,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC,CAAA;SAC9D;IACH,CAAC;CACF,CAAA;AAED,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE9B,aAAa;AACb,IAAI,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM;AACN,IAAI,cAAc,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC7D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AAEhF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
|
97
dist/server/server.js
vendored
97
dist/server/server.js
vendored
@ -1,97 +0,0 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//external imports
|
||||
const express = require("express");
|
||||
const https = require("https");
|
||||
const WebSocket = require("ws");
|
||||
const fs = require("fs");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const url = require("url");
|
||||
//internal imports
|
||||
var routes = require('./routes');
|
||||
var app = require('./config/app');
|
||||
var logger = require('./logger');
|
||||
const clientManager_1 = require("./clientManager");
|
||||
const channelManager_1 = require("./channelManager");
|
||||
var privateKey = fs.readFileSync('certs/key.pem', 'utf8');
|
||||
var certificate = fs.readFileSync('certs/cert.pem', 'utf8');
|
||||
var options = { key: privateKey, cert: certificate, hostname: app.hostname };
|
||||
const application = express();
|
||||
const server = https.createServer(options, application);
|
||||
const wss = new WebSocket.Server({ noServer: true, maxPayload: 250000, host: app.hostname });
|
||||
application.use(express.json());
|
||||
application.use('', routes);
|
||||
let clientManager = new clientManager_1.default();
|
||||
let channelManager = new channelManager_1.default();
|
||||
function startServer() {
|
||||
wss.on('connection', (ws, request, args) => {
|
||||
var data = JSON.parse(args).data;
|
||||
logger.accessLog.info(`Client Connected: ${data.user_id}`);
|
||||
if (!channelManager.channelExists(data.channel)) {
|
||||
channelManager.createChannel(data);
|
||||
}
|
||||
if (clientManager.clientExists(data.user_id)) {
|
||||
var client = clientManager.getClient(data.user_id);
|
||||
if (client != null) {
|
||||
client.replaceWebSocket(ws);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var client = clientManager.addClient(data, ws);
|
||||
}
|
||||
if (client != null) {
|
||||
channelManager.addClientToChannel(client, data.channel);
|
||||
}
|
||||
ws.send('Hi there, welcome to braid, Measures Web Socket server.\nConnecting all our services!');
|
||||
});
|
||||
server.on('upgrade', function upgrade(request, socket, head) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let args;
|
||||
try {
|
||||
args = yield verifyConnection();
|
||||
}
|
||||
catch (e) {
|
||||
socket.destroy();
|
||||
logger.accessLog.info('Connection Terminated');
|
||||
return;
|
||||
}
|
||||
function verifyConnection() {
|
||||
return new Promise((resolve, reject) => {
|
||||
var data = url.parse(request.url, true).query;
|
||||
var token = data.token || (app.environment == 'development' ? app.devToken : '');
|
||||
var accepted = true;
|
||||
var result;
|
||||
jwt.verify(token, app.secret, app.signOptions, function (err, decoded) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
accepted = false;
|
||||
}
|
||||
result = JSON.stringify(decoded);
|
||||
accepted ? resolve(result) : reject('rejected');
|
||||
});
|
||||
});
|
||||
}
|
||||
wss.handleUpgrade(request, socket, head, function done(ws) {
|
||||
wss.emit('connection', ws, request, args);
|
||||
});
|
||||
});
|
||||
});
|
||||
server.listen(app.port, () => {
|
||||
console.log(`Braid v${app.version} is running!\n`);
|
||||
logger.accessLog.info(`Braid v${app.version} is running!\n`);
|
||||
});
|
||||
}
|
||||
startServer();
|
||||
module.exports = {
|
||||
clientManager: clientManager,
|
||||
channelManager: channelManager
|
||||
};
|
||||
//# sourceMappingURL=server.js.map
|
1
dist/server/server.js.map
vendored
1
dist/server/server.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
46
dist/server/test/channelBase.spec.js
vendored
46
dist/server/test/channelBase.spec.js
vendored
@ -1,46 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const channelBase_1 = require("../channels/channelBase");
|
||||
const clientBase_1 = require("../clients/clientBase");
|
||||
var exec = require('child_process').exec;
|
||||
var expect = require('chai').expect;
|
||||
var sinon = require('sinon');
|
||||
var WebSocketClient = require('websocket').client;
|
||||
var app = require('../config/app');
|
||||
var name = 'test channel';
|
||||
var wsClient = new WebSocketClient();
|
||||
var channel;
|
||||
var data = { 'client': 'test', 'client_type': 'site', 'user_id': 125, 'user_type': 'user', 'channel': name };
|
||||
var client = new clientBase_1.default(data, wsClient);
|
||||
describe('ChannelBase', function () {
|
||||
it('should create a class of ChannelBase', function () {
|
||||
channel = new channelBase_1.default(name);
|
||||
expect(channel.id).to.be.equal(name);
|
||||
});
|
||||
it('should add a client to channel', function () {
|
||||
var result = channel.addClient(client);
|
||||
expect(result.status).to.be.equal('success');
|
||||
});
|
||||
it('should find a client when trying to add said client to channel', function () {
|
||||
var result = channel.addClient(client);
|
||||
expect(result.status).to.be.equal('notice');
|
||||
});
|
||||
it('should find a client', function () {
|
||||
var exist = channel.clientExists(client.id);
|
||||
var result = exist ? true : false;
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should not broadcast a message to self', function () {
|
||||
var result = channel.broadcastMessage(client, 'test message');
|
||||
expect(result.status).to.be.equal('success');
|
||||
});
|
||||
it('should be able to remove client from channel', function () {
|
||||
var result = channel.removeClient(client.id);
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should not be able to remove client that doesnn\'t exist from channel', function () {
|
||||
var result = channel.removeClient(126);
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=channelBase.spec.js.map
|
1
dist/server/test/channelBase.spec.js.map
vendored
1
dist/server/test/channelBase.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"channelBase.spec.js","sourceRoot":"","sources":["../../../src/test/channelBase.spec.ts"],"names":[],"mappings":"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"}
|
59
dist/server/test/channelManager.spec.js
vendored
59
dist/server/test/channelManager.spec.js
vendored
@ -1,59 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const clientBase_1 = require("../clients/clientBase");
|
||||
const channelManager_1 = require("../channelManager");
|
||||
var expect = require('chai').expect;
|
||||
var sinon = require('sinon');
|
||||
var name = 'test channel';
|
||||
var data = { 'client': 'test', 'client_type': 'site', 'user_id': 125, 'user_type': 'user', 'channel': name };
|
||||
var WebSocketClient = require('websocket').client;
|
||||
var wsClient = new WebSocketClient();
|
||||
var client = new clientBase_1.default(data, wsClient);
|
||||
let channelManager = new channelManager_1.default();
|
||||
describe('ChannelManager', function () {
|
||||
var channel;
|
||||
it('should create a channel', function () {
|
||||
channel = channelManager.createChannel(data);
|
||||
expect(channel.id).to.be.equal(name);
|
||||
});
|
||||
it('should return existing channel when attempting to create a channel', function () {
|
||||
channel = channelManager.createChannel(data);
|
||||
expect(channel.id).to.be.equal(name);
|
||||
});
|
||||
it('should return a channel when searching if channel exists', function () {
|
||||
var exists = channelManager.channelExists(channel.id);
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should not return a channel when serachingif channel exists', function () {
|
||||
var exists = channelManager.channelExists('no channel');
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
it('should add a client to channel', function () {
|
||||
var result = channelManager.addClientToChannel(client, channel.id);
|
||||
expect(result.status).to.be.equal('success');
|
||||
});
|
||||
it('should not add a client to channel', function () {
|
||||
var result = channelManager.addClientToChannel(client, 'no channel');
|
||||
expect(result.status).to.be.equal('notice');
|
||||
});
|
||||
it('should create a channel of type MHSChannel', function () {
|
||||
var data2 = { 'channel': 'test channel 2', 'client': 'mhs', 'client_type': 'site' };
|
||||
var result = channelManager.createByChannelType(data2);
|
||||
expect(result.id).to.be.equal('test channel 2');
|
||||
});
|
||||
it('should remove client from channel', function () {
|
||||
var result = channelManager.removeClientFromChannel(client.id, 'test channel');
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should be unable to remove a client that doesn\'t exit from channel', function () {
|
||||
var result = channelManager.removeClientFromChannel(126, 'test channel');
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
it('should be unable to remove a client from a channel that doesn\'t exist', function () {
|
||||
var result = channelManager.removeClientFromChannel(client.id, 'test channel 3');
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=channelManager.spec.js.map
|
1
dist/server/test/channelManager.spec.js.map
vendored
1
dist/server/test/channelManager.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"channelManager.spec.js","sourceRoot":"","sources":["../../../src/test/channelManager.spec.ts"],"names":[],"mappings":"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"}
|
26
dist/server/test/clientBase.spec.js
vendored
26
dist/server/test/clientBase.spec.js
vendored
@ -1,26 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const clientBase_1 = require("../clients/clientBase");
|
||||
var expect = require('chai').expect;
|
||||
var assert = require('chai').assert;
|
||||
var sinon = require('sinon');
|
||||
var name = 'test channel';
|
||||
var data = { 'client': 'test', 'client_type': 'site', 'user_id': 125, 'user_type': 'user', 'channel': name };
|
||||
var WebSocketClient = require('websocket').client;
|
||||
var wsClient = new WebSocketClient();
|
||||
var client = new clientBase_1.default(data, wsClient);
|
||||
describe('ClientBase', function () {
|
||||
it('should get client data', function () {
|
||||
var result = client.getData();
|
||||
expect(result.user_id).to.be.equal(125);
|
||||
});
|
||||
it('should get client type', function () {
|
||||
var result = client.clientType();
|
||||
expect(result).to.be.equal('test');
|
||||
});
|
||||
it('should get client object type', function () {
|
||||
var result = client.type();
|
||||
expect(result).to.be.equal('site');
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=clientBase.spec.js.map
|
1
dist/server/test/clientBase.spec.js.map
vendored
1
dist/server/test/clientBase.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"clientBase.spec.js","sourceRoot":"","sources":["../../../src/test/clientBase.spec.ts"],"names":[],"mappings":";;AACA,sDAA+C;AAE/C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACpC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7B,IAAI,IAAI,GAAW,cAAc,CAAC;AAClC,IAAI,IAAI,GAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAChH,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AAClD,IAAI,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,IAAI,MAAM,GAAe,IAAI,oBAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAExD,QAAQ,CAAC,YAAY,EAAE;IACrB,EAAE,CAAC,wBAAwB,EAAE;QAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE;QAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE;QAClC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
49
dist/server/test/clientManager.spec.js
vendored
49
dist/server/test/clientManager.spec.js
vendored
@ -1,49 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const clientBase_1 = require("../clients/clientBase");
|
||||
const clientManager_1 = require("../clientManager");
|
||||
var expect = require('chai').expect;
|
||||
var assert = require('chai').assert;
|
||||
var sinon = require('sinon');
|
||||
var name = 'test channel';
|
||||
var data = { 'client': 'test', 'client_type': 'site', 'user_id': 125, 'user_type': 'user', 'channel': name };
|
||||
var WebSocketClient = require('websocket').client;
|
||||
var wsClient = new WebSocketClient();
|
||||
var client = new clientBase_1.default(data, wsClient);
|
||||
let clientManager = new clientManager_1.default();
|
||||
describe('ClientManager', function () {
|
||||
it('should add a client', function () {
|
||||
var result = clientManager.addClient(data, wsClient);
|
||||
expect(result.id).to.be.equal(125);
|
||||
});
|
||||
it('should get clients of type', function () {
|
||||
var result = clientManager.clientsOfType('site');
|
||||
assert(result.length > 0, 'returns one client');
|
||||
});
|
||||
it('should see client exists', function () {
|
||||
var exists = clientManager.clientExists(data.user_id);
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should see client does not exists', function () {
|
||||
var exists = clientManager.clientExists(200);
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
it('should get an existing client', function () {
|
||||
var exists = clientManager.getClient(data.user_id);
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(true);
|
||||
});
|
||||
it('should not get an existing client', function () {
|
||||
var exists = clientManager.getClient(200);
|
||||
var result = exists ? true : false;
|
||||
expect(result).to.be.equal(false);
|
||||
});
|
||||
it('should add client of type MHSClient', function () {
|
||||
var data = { 'client': 'mhs', 'client_type': 'site', 'user_id': 125, 'user_type': 'user', 'channel': name };
|
||||
var result = clientManager.getClientType(data, wsClient);
|
||||
expect(result.clientType()).to.be.equal('mhs');
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=clientManager.spec.js.map
|
1
dist/server/test/clientManager.spec.js.map
vendored
1
dist/server/test/clientManager.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"clientManager.spec.js","sourceRoot":"","sources":["../../../src/test/clientManager.spec.ts"],"names":[],"mappings":"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"}
|
2
dist/server/test/mhsChannel.spec.js
vendored
2
dist/server/test/mhsChannel.spec.js
vendored
@ -1,2 +0,0 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=mhsChannel.spec.js.map
|
1
dist/server/test/mhsChannel.spec.js.map
vendored
1
dist/server/test/mhsChannel.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"mhsChannel.spec.js","sourceRoot":"","sources":["../../../src/test/mhsChannel.spec.ts"],"names":[],"mappings":""}
|
2
dist/server/test/mhsClient.spec.js
vendored
2
dist/server/test/mhsClient.spec.js
vendored
@ -1,2 +0,0 @@
|
||||
"use strict";
|
||||
//# sourceMappingURL=mhsClient.spec.js.map
|
1
dist/server/test/mhsClient.spec.js.map
vendored
1
dist/server/test/mhsClient.spec.js.map
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"mhsClient.spec.js","sourceRoot":"","sources":["../../../src/test/mhsClient.spec.ts"],"names":[],"mappings":""}
|
Loading…
x
Reference in New Issue
Block a user