import Koa from 'koa';
const websockify = require('koa-websocket');
const app = websockify(new Koa());
const socketMap = {} as any;
app.ws.use((ctx: any, next: any) => {
    if (ctx.query.user) {
        socketMap[ctx.query.user] = ctx.websocket;
    }
    return next(ctx);
});

function send(userIDs: string[], data: any) {
    const dataStr = JSON.stringify(data);
    userIDs.forEach((userID) => {
        if (socketMap[userID]) {
            socketMap[userID].send(dataStr);
        }
    });
}
module.exports = { app, send };