UNPKG

gamelet-cli

Version:

Download project from code.gamelet.com, edit/test in vscode and sync back to server.

73 lines 7.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.monitorManager = void 0; const ClientManager_1 = require("./ClientManager"); const Monitor_1 = require("./../entities/Monitor"); const Message_1 = require("./../messages/Message"); const StringUtil_1 = require("./../utils/StringUtil"); const gltserver_service_1 = require("../services/gltserver.service"); class MonitorManager { constructor() { this.channel = 'monitorCh'; } initialize(clientCode, io) { this.monitorIO = io.of('/monitor'); this.monitorIO.on('connection', (socket) => { socket.on(Message_1.MessageType.LOGIN, (token, cb) => { gltserver_service_1.serverService.validateAccessTokenForMonitor(token) .then(user => { if (this.monitor) { this.monitor.dispose(); } ClientManager_1.clientManager.getClientProject(clientCode, true) .then(project => { this.monitor = new Monitor_1.Monitor(this.generateMonitorCode(socket), socket, project, user); this.monitor.initialize(); cb({ data: { user: user } }); }); }) .catch(err => { cb({ error: 'invalid credential, ' + err }); socket.disconnect(); }); }); }); } generateMonitorCode(socket) { return 'CGM' + socket.client.id; } _log(projectCode, channel, prefix, data, color, player) { let msg = Message_1.Message.forMonitorLog(projectCode, channel, prefix, data, color, player); msg.send(this.monitorIO.to(this.channel)); this.monitor && msg.send(this.monitor.socket); } log(projectCode, channel, prefix, data) { this._log(projectCode, channel, prefix, data, 'black'); } logIncoming(projectCode, channel, prefix, data, player) { this._log(projectCode, channel, prefix, data, 'green', player); } logOutgoing(projectCode, channel, prefix, data, player) { this._log(projectCode, channel, prefix, data, 'blue', player); } error(projectCode, prefix, err) { this._log(projectCode, this.channel, prefix, StringUtil_1.StringUtil.errorToString(err), 'red'); } _event(projectCode, event, data) { let msg = Message_1.Message.forMonitorEvent(projectCode, event, data); msg.send(this.monitorIO.to(this.channel)); this.monitor && msg.send(this.monitor.socket); } eventPlayerDisconnected(player) { this._event(player.client.project.code, 'playerDisconnected', { player: player.toMonitorPlayer() }); } eventPlayerConneced(player) { this._event(player.client.project.code, 'playerConnected', { player: player.toMonitorPlayer() }); } } exports.monitorManager = new MonitorManager(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL01vbml0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxtREFBZ0Q7QUFDaEQsbURBQTZEO0FBQzdELHNEQUFtRDtBQUVuRCxxRUFBOEQ7QUFHOUQsTUFBTSxjQUFjO0lBQXBCO1FBSVksWUFBTyxHQUFXLFdBQVcsQ0FBQztJQXlFMUMsQ0FBQztJQXJFRyxVQUFVLENBQUMsVUFBa0IsRUFBRSxFQUFtQjtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxFQUFFLENBQUMscUJBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBOEIsRUFBRSxFQUFFO2dCQUMzRSxpQ0FBYSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQztxQkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzNCLENBQUM7b0JBQ0QsNkJBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO3lCQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFF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