Files
2025-05-22 18:33:00 -04:00

49 lines
1.4 KiB
JavaScript

const express = require('express');
const router = express.Router();
const pool = require('../db');
const receiptValidator = require('../validators/receiptValidator');
const handleValidation = require('../middleware/handleValidation');
const verifyToken = require('../middleware/verifyToken');
router.post('/',
verifyToken,
handleValidation,
receiptValidator,
async (req, res) => {
const { fol, amount, date, numAccount } = req.body;
const idUser = req.user.id_usuario;
if(amount > 1000){
return res.status(409).json({ error: 'El monto no puede superar $1000.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' });
}
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 });
}
});
module.exports = router;
//IO