diff --git a/server/controller/Usuario/impresiones.js b/server/controller/Usuario/impresiones.js index ed105e6..8dfbb17 100644 --- a/server/controller/Usuario/impresiones.js +++ b/server/controller/Usuario/impresiones.js @@ -1,15 +1,9 @@ -const moment = require('moment'); -const fs = require('fs'); -const { - validarNumeroEntero, - validarNumero, - validarNumeroCuenta, -} = require('../../helper/validar'); +const { validarNumeroEntero, validarNumero } = require('../../helper/validar'); const dbPath = '../../db/tablas'; -const Impresion = require('../../db/tablas/Impresion'); +const Impresion = require(`${dbPath}/Impresion`); const Inscripcion = require(`${dbPath}/Inscripcion`); -const inscripcion = async (body, file) => { +const impresiones = async (body) => { const idUsuario = validarNumeroEntero(body.idUsuario, 'id Usuario', true); const folio = validarNumero(body.folio, 'folio', true, 6); const monto = validarNumero(body.monto, 'monto', true); @@ -19,7 +13,16 @@ const inscripcion = async (body, file) => { where: { folio, cancelacion: 0 }, }) .then((res) => { - if (res) throw new Error('Este folio ya fue utilizado'); + if (res) + throw new Error('Este folio ya fue utilizado en alguna inscripción'); + return Impresion.findOne({ + where: { folio }, + }).then((res) => { + if (res) + throw new Error('Este folio ya fue utilizado para impresiones'); + }); + }) + .then((res) => { return Impresion.create({ idUsuario, folio, @@ -28,12 +31,11 @@ const inscripcion = async (body, file) => { }); }) .then((res) => ({ - message: - 'Se ah registrado correctamente tu ticket, ahora puedes hacer uso del servicio de impresiones.', + message: `Se a registrado correctamente tu ticket, se agregaron $${monto} a tu cuenta, ahora puedes hacer uso del servicio de impresiones.`, })) .catch((err) => { throw new Error('No es posible realizar esta operación. ' + err); }); }; -module.exports = inscripcion; +module.exports = impresiones; diff --git a/server/db/install.js b/server/db/install.js index aeb300e..47f11da 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -7,6 +7,7 @@ const Area = require('./tablas/Area'); const FechaInscripcion = require('./tablas/FechaInscripcion'); const Inscripcion = require('./tablas/Inscripcion'); const Admin = require('./tablas/Admin'); +const Impresion = require('./tablas/Impresion'); const drop = async () => { console.log('\nPaso 1) Desinstalando la db.'.bold.blue); @@ -28,6 +29,9 @@ const drop = async () => { await Carrera.drop(); console.log('La tabla Carrera se desinstalo correctamente.'.magenta); + + await Impresion.drop(); + console.log('La tabla Carrera se desinstalo correctamente.'.magenta); }; const sync = async () => { @@ -50,6 +54,9 @@ const sync = async () => { await Inscripcion.sync(); console.log('La tabla Inscripcion se instalo correctamente.'.magenta); + + await Impresion.sync(); + console.log('La tabla Inscripcion se instalo correctamente.'.magenta); }; const dataArea = async () => { diff --git a/server/db/tablas/Impresion.js b/server/db/tablas/Impresion.js index a44fa6e..b3f89da 100644 --- a/server/db/tablas/Impresion.js +++ b/server/db/tablas/Impresion.js @@ -36,7 +36,7 @@ Impresion.init( } ); -Inscripcion.belongsTo(Usuario, { +Impresion.belongsTo(Usuario, { foreignKey: { name: 'idUsuario', type: DataTypes.INTEGER, diff --git a/server/routes/Usuario.js b/server/routes/Usuario.js index 96983ec..56d9f45 100644 --- a/server/routes/Usuario.js +++ b/server/routes/Usuario.js @@ -9,6 +9,7 @@ const controllerPath = '../controller/Usuario'; const login = require(`${controllerPath}/login`); const inscripciones = require(`${controllerPath}/inscripciones`); const inscripcionUsuario = require(`${controllerPath}/inscripcionUsuario`); +const impresiones = require(`${controllerPath}/impresiones`); app.post(`${route}/login`, (req, res) => { return login(req.body) @@ -30,6 +31,16 @@ app.get(`${route}/inscripciones`, verificaToken, (req, res) => { }); }); +app.post(`${route}/impresiones`, (req, res) => { + return impresiones(req.body) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + app.post( `${route}/inscripcionUsuario`, verificaToken, @@ -45,14 +56,4 @@ app.post( } ); -app.post(`${route}/impresiones`, (req, res) => { - return impresiones(req.body) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); -}); - module.exports = app;