Actualizar server.js
This commit is contained in:
20
server.js
20
server.js
@@ -2101,12 +2101,24 @@ app.post("/budgets", authMiddleware, async (req, res) => {
|
|||||||
} catch(e) { res.status(500).json({ok: false}); }
|
} catch(e) { res.status(500).json({ok: false}); }
|
||||||
});
|
});
|
||||||
|
|
||||||
app.patch("/budgets/:id/status", authMiddleware, async (req, res) => {
|
// Borrar Presupuesto
|
||||||
|
app.delete("/budgets/:id", authMiddleware, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const { status } = req.body;
|
const q = await pool.query("SELECT status FROM budgets WHERE id=$1 AND owner_id=$2", [req.params.id, req.user.accountId]);
|
||||||
await pool.query("UPDATE budgets SET status=$1 WHERE id=$2 AND owner_id=$3", [status, req.params.id, req.user.accountId]);
|
if (q.rowCount === 0) return res.status(404).json({ok: false, error: "No encontrado"});
|
||||||
|
|
||||||
|
const status = q.rows[0].status;
|
||||||
|
|
||||||
|
// REGLA DE NEGOCIO: No se puede borrar si está aceptado o ya convertido a servicio
|
||||||
|
if (status === 'accepted' || status === 'converted') {
|
||||||
|
return res.status(400).json({ok: false, error: "Para poder borrar un presupuesto, primero debe estar anulado/rechazado."});
|
||||||
|
}
|
||||||
|
|
||||||
|
await pool.query("DELETE FROM budgets WHERE id=$1 AND owner_id=$2", [req.params.id, req.user.accountId]);
|
||||||
res.json({ ok: true });
|
res.json({ ok: true });
|
||||||
} catch(e) { res.status(500).json({ok: false}); }
|
} catch(e) {
|
||||||
|
res.status(500).json({ok: false, error: "Error interno"});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Convertir Presupuesto en Servicio Activo (CON SOPORTE RED INTERNA)
|
// Convertir Presupuesto en Servicio Activo (CON SOPORTE RED INTERNA)
|
||||||
|
|||||||
Reference in New Issue
Block a user