import express from 'express';
import { WebSocketServer } from 'ws';

const app = express();
const server = app.listen(3001, () => console.log('Signal server on port 3001'));
const wss = new WebSocketServer({ server });

const peers = new Map();

wss.on('connection', (ws) => {
    // const id = Math.random().toString(36).substring(2, 9);

    ws.on('message', (data) => {
        const msg = JSON.parse(data);
        console.log(msg)
        if(msg.type === 'login') {
            peers.set(msg.sabun, ws);
            ws.send(JSON.stringify({ type: 'your-id',id: msg.sabun }));
            console.log(`${msg.sabun} connected!`);


        } else if (msg.target && peers.has(msg.target)) {
            peers.get(msg.target).send(JSON.stringify(msg));
        }
    });

    ws.on('close', () => peers.delete(msg.sabun));
});