const jwt = require('jsonwebtoken'); const env = require('../config/env'); /** * Generate JWT token for a user * @param {Object} user - User object * @returns {String} JWT token */ const generateToken = (user) => { return jwt.sign( { id: user._id, role: user.role, email: user.email }, env.JWT_SECRET, { expiresIn: env.JWT_EXPIRES_IN } ); }; /** * Verify JWT token * @param {String} token - JWT token * @returns {Object} Decoded token */ const verifyToken = (token) => { try { return jwt.verify(token, env.JWT_SECRET); } catch (error) { throw new Error('Invalid token'); } }; module.exports = { generateToken, verifyToken };