const jwt = require('jsonwebtoken'); function authenticate(req, res, next) { const header = req.headers.authorization; if (!header || !header.startsWith('Bearer ')) { return res.status(401).json({ error: 'Token required' }); } const token = header.split(' ')[1]; try { const decoded = jwt.verify(token, process.env.JWT_SECRET); req.user = decoded; next(); } catch { return res.status(401).json({ error: 'Invalid or expired token' }); } } function adminOnly(req, res, next) { if (req.user.role !== 'admin') { return res.status(403).json({ error: 'Admin access required' }); } next(); } module.exports = { authenticate, adminOnly };