Actualizar server.js
This commit is contained in:
15
server.js
15
server.js
@@ -402,10 +402,12 @@ app.get("/public/portal/:token", async (req, res) => {
|
||||
logo: userData.company_logo || null
|
||||
};
|
||||
|
||||
// 3. Obtenemos los servicios.
|
||||
// AHORA BUSCAMOS POR client_id. Si el client_id es nulo (expedientes viejos), buscamos por teléfono en el JSON.
|
||||
const cleanPhoneToMatch = String(client.phone || "").replace(/\D/g, "").slice(-9);
|
||||
const requestedServiceId = req.query.service || null; // <-- Capturamos el ID del enlace si existe
|
||||
// 3. TELÉFONO SEGURO E ID SEGURO (Esto evita el Error 500 y el fallo de enlace)
|
||||
let cleanPhoneToMatch = String(client.phone || "").replace(/\D/g, "").slice(-9);
|
||||
if (cleanPhoneToMatch.length < 8) cleanPhoneToMatch = "NO_VALIDO_123"; // Seguridad
|
||||
|
||||
// Si hay ID en el enlace lo usamos, si no, mandamos un "0" para que no explote la DB
|
||||
const requestedServiceId = req.query.service ? String(req.query.service) : "0";
|
||||
|
||||
const qServices = await pool.query(`
|
||||
SELECT
|
||||
@@ -420,7 +422,7 @@ app.get("/public/portal/:token", async (req, res) => {
|
||||
WHERE s.owner_id = $1
|
||||
AND s.provider != 'SYSTEM_BLOCK'
|
||||
AND (
|
||||
s.id::text = $4 -- <-- LA MAGIA: Forzamos a que traiga el expediente del enlace
|
||||
s.id::text = $4
|
||||
OR s.client_id = $2
|
||||
OR (s.client_id IS NULL AND REPLACE(s.raw_data->>'Teléfono', ' ', '') LIKE $3)
|
||||
OR (s.client_id IS NULL AND REPLACE(s.raw_data->>'TELEFONO', ' ', '') LIKE $3)
|
||||
@@ -444,11 +446,10 @@ app.get("/public/portal/:token", async (req, res) => {
|
||||
};
|
||||
});
|
||||
|
||||
// Incluso si no hay servicios, devolvemos el portal vacío para que no dé error 404
|
||||
res.json({ ok: true, client: { name: client.full_name }, company, services: formattedServices });
|
||||
|
||||
} catch (e) {
|
||||
console.error("🔥 ERROR EN PORTAL:", e.message);
|
||||
console.error("🔥 ERROR EN PORTAL:", e);
|
||||
res.status(500).json({ ok: false, error: "Error interno" });
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user