import jwt from 'jsonwebtoken'; import { Request, Response, NextFunction } from 'express'; const authenticateJWT = (req: Request, res: Response, next: NextFunction) => { const authHeader = req.headers.authorization; if (authHeader && authHeader.startsWith('Bearer ')) { const token = authHeader.split(' ')[1]; try { const user = jwt.verify(token, process.env.JWT_SECRET as string); req.user = user; next(); } catch (err) { return res.status(403).json({ message: 'Invalid token' }); } } else { res.status(401).json({ message: 'Auth required' }); } }; export default authenticateJWT;