import { Server } from "socket.io"; interface ServerToClientEvents { } interface ClientToServerEvents { createAlarm: (cmd:CreateAlarmCommand) => void; } interface InterServerEvents { } interface SocketData { token: string; } interface CreateAlarmCommand { time:string } interface ListCommand { groupId?:number } interface MakeGroupCommand { name:string } interface RemoveCommand { groupId:number alarmId:number } interface SnoozeCommand { groupId:number } interface ShutoffCommand { groupId:number } const key = process.env.SECRET_KEY; if (!key) { throw new Error("Secret key not defined"); } const io = new Server< ServerToClientEvents, ClientToServerEvents, InterServerEvents, SocketData >(3300); io.on("connection", (socket) => { if (socket.data.token !== key) { return; } socket.on("createAlarm", () => { }); });