gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
73 lines • 7.02 kB
JavaScript
;
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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