const jwt = require('jsonwebtoken'); const JWT_SECRET = process.env.JWT_SECRET || 'your-secret-key-change-in-production'; const JWT_EXPIRE = process.env.JWT_EXPIRE || '7d'; // Generate JWT token const generateToken = (user) => { const payload = { userId: user.id, email: user.email, role: user.role, region: user.region, zone: user.zone }; return jwt.sign(payload, JWT_SECRET, { expiresIn: JWT_EXPIRE }); }; // Verify JWT token const verifyToken = (token) => { try { return jwt.verify(token, JWT_SECRET); } catch (error) { throw new Error('Invalid or expired token'); } }; module.exports = { generateToken, verifyToken, JWT_SECRET };