Actualizar server.js

This commit is contained in:
2026-02-15 22:41:01 +00:00
parent 2a2e9b38ac
commit f8826dd3eb

View File

@@ -587,18 +587,15 @@ app.get("/discovery/keys/:provider", authMiddleware, async (req, res) => {
} catch (e) { res.status(500).json({ ok: false }); }
});
// Ruta para obtener servicios aceptados con datos de operarios y gremios
app.get("/services/active", authMiddleware, async (req, res) => {
try {
const q = await pool.query(`
SELECT
s.*,
u.full_name as assigned_name,
g.name as guild_name,
-- Determinamos el estado operativo
CASE
WHEN (s.raw_data->>'scheduled_date') IS NULL OR (s.raw_data->>'scheduled_date') = '' THEN 'asignado_operario'
ELSE 'citado'
END as estado_operativo
u.phone as worker_phone,
g.name as guild_name
FROM scraped_services s
LEFT JOIN users u ON (s.raw_data->>'assigned_to')::int = u.id
LEFT JOIN guilds g ON (s.raw_data->>'guild_id')::int = g.id
@@ -611,6 +608,21 @@ app.get("/services/active", authMiddleware, async (req, res) => {
} catch (e) { res.status(500).json({ ok: false }); }
});
// Ruta para fijar la cita (Mueve el servicio de la izquierda a la derecha)
app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => {
try {
const { id } = req.params;
const { date, time } = req.body;
// Actualizamos raw_data inyectando la fecha y hora
await pool.query(`
UPDATE scraped_services
SET raw_data = raw_data || jsonb_build_object('scheduled_date', $1, 'scheduled_time', $2)
WHERE id = $3 AND owner_id = $4
`, [date, time, id, req.user.accountId]);
res.json({ ok: true });
} catch (e) { res.status(500).json({ ok: false }); }
});
app.get("/discovery/mappings", authMiddleware, async (req, res) => {
try {