Actualizar server.js

This commit is contained in:
2026-03-14 17:20:58 +00:00
parent c9888187f6
commit fe21f2e2ca

View File

@@ -915,6 +915,7 @@ app.post("/public/auth/request-otp", async (req, res) => {
const { phone, owner_id } = req.body;
if (!phone) return res.status(400).json({ ok: false });
// Asumimos el ID de la empresa (Para el cliente público será 1)
const targetOwnerId = owner_id || 1;
const cleanPhone = phone.replace(/\D/g, "");
@@ -922,17 +923,18 @@ app.post("/public/auth/request-otp", async (req, res) => {
const code = String(Math.floor(1000 + Math.random() * 9000));
const hash = await bcrypt.hash(code, 10);
// Guardamos el código (dejamos user_id nulo porque es un cliente externo)
// Guardamos el código en la base de datos
await pool.query(`
INSERT INTO login_codes (phone, code_hash, purpose, expires_at)
VALUES ($1, $2, 'client_portal', NOW() + INTERVAL '15 minutes')
`, [cleanPhone, hash]);
// Enviar el WhatsApp
const msg = `🔐 Tu código de acceso para solicitar asistencia es: *${code}*\n\nSi no has solicitado este código, ignora este mensaje.`;
// Usar la instancia global de la configuración web (ej. ADMIN)
const instanceName = process.env.EVOLUTION_INSTANCE || `cliente_${targetOwnerId}`;
// 👇 SOLUCIÓN: Usamos EXACTAMENTE el mismo nombre que crea tu panel web
const instanceName = `cliente_${targetOwnerId}`;
console.log(`[OTP] Enviando WhatsApp a ${cleanPhone} por la instancia: ${instanceName}`);
sendWhatsAppAuto("34" + cleanPhone, msg, instanceName, false).catch(console.error);
res.json({ ok: true });