Files

49 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2025-05-19 21:27:10 -04:00
const express = require('express');
const router = express.Router();
2025-05-22 18:33:00 -04:00
const pool = require('../db');
2025-05-19 21:27:10 -04:00
const receiptValidator = require('../validators/receiptValidator');
const handleValidation = require('../middleware/handleValidation');
2025-05-21 19:39:37 -04:00
const verifyToken = require('../middleware/verifyToken');
2025-05-19 21:27:10 -04:00
router.post('/',
2025-05-21 19:39:37 -04:00
verifyToken,
2025-05-22 18:33:00 -04:00
handleValidation,
2025-05-19 21:27:10 -04:00
receiptValidator,
2025-05-22 18:33:00 -04:00
async (req, res) => {
2025-05-19 21:27:10 -04:00
const { fol, amount, date, numAccount } = req.body;
const idUser = req.user.id_usuario;
2025-05-22 18:33:00 -04:00
if(amount > 1000){
return res.status(409).json({ error: 'El monto no puede superar $1000.00' });
}
2025-05-19 21:27:10 -04:00
2025-05-22 18:33:00 -04:00
try {
const [existing] = await pool.execute(
'SELECT * FROM recibo WHERE folio_recibo = ?;',
[fol]
);
if (existing.length > 0) {
return res.status(409).json({ error: 'El recibo ya existe' });
2025-05-19 21:27:10 -04:00
}
2025-05-22 18:33:00 -04:00
await pool.execute(
'INSERT INTO recibo (folio_recibo, monto, fecha_recibo, id_cuenta, id_usuario) VALUES (?, ?, ?, ?, ?);',
[fol, amount, date, numAccount, idUser]
);
await pool.execute(
'UPDATE alumno SET credito = credito + ? WHERE id_cuenta = ?;',
[amount, numAccount]
);
res.json({ message: 'Recibo guardado correctamente y crédito actualizado' });
} catch (err) {
res.status(500).json({ error: 'Error en el servidor: '+ err });
}
2025-05-19 21:27:10 -04:00
});
module.exports = router;
2025-05-22 18:33:00 -04:00
//IO