Actualizar server.js
This commit is contained in:
24
server.js
24
server.js
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user