import { ExtendedError, Server, Socket } from "socket.io"; import { prisma } from "@repo/db"; import jwt from "jsonwebtoken"; /* if (!process.env.DISPATCH_APP_TOKEN) throw new Error("DISPATCH_APP_TOKEN is not defined"); */ export const jwtMiddleware = async (socket: Socket, next: (err?: ExtendedError) => void) => { try { const { uid } = socket.handshake.auth; if (!uid) return new Error("Authentication error"); /* const token = socket.handshake.auth?.token; if (!token) return new Error("Authentication error"); const decoded = jwt.verify(token, process.env.DISPATCH_APP_TOKEN!); */ // socket.data.userId = decoded.; // User ID lokal speichern const user = await prisma.user.findUniqueOrThrow({ where: { id: uid }, }); socket.data.user = user; next(); } catch (err) { next(new Error("Authentication error")); } };