const db = require('../config/db'); // <-- Ruta actualizada
const crypto = require('crypto');
const jwt = require('jsonwebtoken');

const SECRET_KEY = 'clave_secreta_para_tokens';

exports.login = (req, res) => {
  
    const { usuario, password } = req.body;
    

    const hash = crypto.createHash('sha512').update(password).digest('hex');


    const query = 'SELECT * FROM usuarios WHERE usuario = ? AND password = ?';
    
    db.query(query, [usuario, hash], (err, results) => {
        if (err) return res.status(500).json({ error: err.message });
        if (results.length === 0) return res.status(401).json({ message: 'Usuario o contraseña incorrectos' });

        const user = results[0];
        const token = jwt.sign({ id: user.id, rol: user.rol }, SECRET_KEY, { expiresIn: '8h' });

        res.json({ 
            message: 'Login exitoso', 
            token, 
            id: user.id,
            rol: user.rol, 
            nombres: user.nombres,
            apellidos: user.apellidos,
            empresa: user.empresa,
            sede: user.sede,
            area: user.area
        });
    });
};