aboutsummaryrefslogtreecommitdiff
path: root/src/server/websocket.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/websocket.ts')
-rw-r--r--src/server/websocket.ts24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index e556ecc17..54944e944 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -1,4 +1,4 @@
-import { blue, magenta } from 'colors';
+import { blue, magenta, yellow } from 'colors';
import * as express from 'express';
import { createServer, Server } from 'https';
import { networkInterfaces } from 'os';
@@ -22,7 +22,9 @@ import { resolvedPorts } from './server_Initialization';
export namespace WebSocket {
export let _socket: Socket;
export const clients: { [key: string]: Client } = {};
+ // export const clients = new Map<string, Client>();
export const socketMap = new Map<SocketIO.Socket, string>();
+ export const userOperations = new Map<string, number>();
export let disconnect: Function;
export async function initialize(isRelease: boolean, app: express.Express) {
@@ -101,7 +103,9 @@ export namespace WebSocket {
socket.on('disconnect', function () {
let currentUser = socketMap.get(socket);
if (!(currentUser === undefined)) {
- DashStats.logUserLogout(socketMap.get(socket), socket);
+ let currentUsername = currentUser.split(' ')[0]
+ DashStats.logUserLogout(currentUsername, socket);
+ delete timeMap[currentUsername]
}
});
@@ -180,16 +184,20 @@ export namespace WebSocket {
}
function barReceived(socket: SocketIO.Socket, userEmail: string) {
- clients[userEmail] = new Client(userEmail.toString());
+ clients[userEmail] = new Client(userEmail.toString());
+ // clients.set(userEmail, new Client(userEmail.toString()));
const currentdate = new Date();
const datetime = currentdate.getDate() + '/' + (currentdate.getMonth() + 1) + '/' + currentdate.getFullYear() + ' @ ' + currentdate.getHours() + ':' + currentdate.getMinutes() + ':' + currentdate.getSeconds();
console.log(blue(`user ${userEmail} has connected to the web socket at: ${datetime}`));
- console.log(magenta(`currently connected: ${JSON.stringify(clients)}`));
+ // console.log(magenta(`currently connected: ${[...clients.entries()]}`));
// console.log(magenta('socket map below'));
// console.log([...socketMap.entries()]);
printActiveUsers();
+
+ timeMap[userEmail] = Date.now();
socketMap.set(socket, userEmail + ' at ' + datetime);
- DashStats.logUserLogin(socketMap.get(socket), socket);
+ userOperations.set(userEmail, 0);
+ DashStats.logUserLogin(userEmail, socket);
}
function getField([id, callback]: [string, (result?: Transferable) => void]) {
@@ -359,6 +367,12 @@ export namespace WebSocket {
var CurUser: string | undefined = undefined;
function UpdateField(socket: Socket, diff: Diff) {
+ console.log(magenta(`1 OP ${socketMap.get(socket)}`));
+
+ let currentUsername = socketMap.get(socket)!.split(' ')[0];
+ userOperations.set(currentUsername, userOperations.get(currentUsername) !== undefined ? userOperations.get(currentUsername)! + 1 : 0);
+ console.log(yellow("Total Operations: " + userOperations.get(currentUsername)));
+
if (CurUser !== socketMap.get(socket)) {
CurUser = socketMap.get(socket);
console.log('Switch User: ' + CurUser);