diff --git a/package-lock.json b/package-lock.json index 7fe697e..5d3aa2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -75,9 +75,9 @@ "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" }, "node_modules/@types/node": { - "version": "14.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.14.tgz", - "integrity": "sha512-rsAj2u8Xkqfc332iXV12SqIsjVi07H479bOP4q94NAcjzmAvapumEhuVIt53koEf7JFrpjgNKjBga5Pnn/GL8A==" + "version": "14.17.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", + "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==" }, "node_modules/abbrev": { "version": "1.1.1", @@ -233,55 +233,39 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "node_modules/are-we-there-yet": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.6.tgz", - "integrity": "sha512-+1byPnimWdGcKFRS48zG73nxM08kamPFReUYvEmRXI3E8E4YhF4voMRDaGlfGD1UeRHEgs4NhQCE28KI8JVj1A==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" + "readable-stream": "^2.0.6" } }, + "node_modules/are-we-there-yet/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, "node_modules/array-flatten": { @@ -364,9 +348,9 @@ } }, "node_modules/boxen/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -1823,9 +1807,9 @@ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", "engines": { "node": "4.x || >=6.0.0" } @@ -2737,9 +2721,9 @@ } }, "node_modules/widest-line/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -2872,9 +2856,9 @@ "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" }, "@types/node": { - "version": "14.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.14.tgz", - "integrity": "sha512-rsAj2u8Xkqfc332iXV12SqIsjVi07H479bOP4q94NAcjzmAvapumEhuVIt53koEf7JFrpjgNKjBga5Pnn/GL8A==" + "version": "14.17.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", + "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==" }, "abbrev": { "version": "1.1.1", @@ -2996,35 +2980,39 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.6.tgz", - "integrity": "sha512-+1byPnimWdGcKFRS48zG73nxM08kamPFReUYvEmRXI3E8E4YhF4voMRDaGlfGD1UeRHEgs4NhQCE28KI8JVj1A==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "requires": { "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "readable-stream": "^2.0.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } } } @@ -3093,9 +3081,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "emoji-regex": { @@ -4247,9 +4235,9 @@ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==" }, "nodemailer": { "version": "6.6.3", @@ -4935,9 +4923,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "emoji-regex": { diff --git a/server/config/mariadb.conf.js b/server/config/mariadb.conf.js index cac6294..8c62a42 100644 --- a/server/config/mariadb.conf.js +++ b/server/config/mariadb.conf.js @@ -24,7 +24,6 @@ const obtenerAlumno = async (numeroCuenta) => { .query(`CALL busca_alumno_pcpuma('${numeroCuenta}')`) .then((rows) => { conn.end(); - console.log(rows, rows.length); if (rows[0].length === 0) return null; return rows[0][0]; }) @@ -43,7 +42,6 @@ const obtenerProfesor = async (numeroCuenta) => { .query(`SELECT * FROM profesor WHERE no_trabajador = ${numeroCuenta}`) .then((rows) => { conn.end(); - console.log(rows[0]); if (rows.length === 0) return null; return rows[0]; }) diff --git a/server/controller/Multa/historialMultasEquipo.js b/server/controller/Multa/historialMultasEquipo.js new file mode 100644 index 0000000..587bd6c --- /dev/null +++ b/server/controller/Multa/historialMultasEquipo.js @@ -0,0 +1,51 @@ +const validar = require('../../helper/validar'); +const dbPath = '../../db/tablas'; +const Infraccion = require(`${dbPath}/Infraccion`); +const Multa = require(`${dbPath}/Multa`); +const Operador = require(`${dbPath}/Operador`); +const Prestamo = require(`${dbPath}/Prestamo`); +const Usuario = require(`${dbPath}/Usuario`); + +const historialMultasEquipo = async (body) => { + const idEquipo = validar.validarId(body.idEquipo); + const pagina = validar.validarNumero(body.pagina, true); + + return Multa.findAndCountAll({ + include: [ + { + model: Prestamo, + where: { idEquipo }, + include: [ + { model: Usuario }, + { model: Operador, as: 'OperadorRegreso' }, + ], + }, + { model: Infraccion }, + ], + limit: 25, + offset: 25 * (pagina - 1), + order: [['createdAt', 'DESC']], + }).then((res) => { + for (let i = 0; i < res.rows.length; i++) { + delete res.rows[i].dataValues.idInfraccion; + delete res.rows[i].dataValues.idPrestamo; + delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorEntrega; + delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso; + delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario; + delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo; + delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso + .dataValues.password; + delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso + .dataValues.idTipoUsuario; + delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues + .password; + delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues + .idTipoUsuario; + delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues + .idCarrera; + } + return { count: res.count, historialMultasEquipo: res.rows }; + }); +}; + +module.exports = historialMultasEquipo; diff --git a/server/controller/Multa/historialMultas.js b/server/controller/Multa/historialMultasUsuario.js similarity index 55% rename from server/controller/Multa/historialMultas.js rename to server/controller/Multa/historialMultasUsuario.js index 800dcd4..0331727 100644 --- a/server/controller/Multa/historialMultas.js +++ b/server/controller/Multa/historialMultasUsuario.js @@ -1,10 +1,12 @@ const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; -const Multa = require(`${dbPath}/Multa`); const Infraccion = require(`${dbPath}/Infraccion`); +const Equipo = require(`${dbPath}/Equipo`); +const Multa = require(`${dbPath}/Multa`); +const Operador = require(`${dbPath}/Operador`); const Prestamo = require(`${dbPath}/Prestamo`); -const historialMultas = async (body) => { +const historialMultasUsuario = async (body) => { const idUsuario = validar.validarId(body.idUsuario); const pagina = validar.validarNumero(body.pagina, true); @@ -13,6 +15,10 @@ const historialMultas = async (body) => { { model: Prestamo, where: { idUsuario }, + include: [ + { model: Equipo }, + { model: Operador, as: 'OperadorRegreso' }, + ], }, { model: Infraccion }, ], @@ -27,9 +33,19 @@ const historialMultas = async (body) => { delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso; delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario; delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo; + delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso + .dataValues.password; + delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso + .dataValues.idTipoUsuario; + delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues + .idCarrito; + delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues + .idStatus; + delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues + .idPrograma; } - return { count: res.count, historialMultas: res.rows }; + return { count: res.count, historialMultasUsuario: res.rows }; }); }; -module.exports = historialMultas; +module.exports = historialMultasUsuario; diff --git a/server/controller/Multa/multar.js b/server/controller/Multa/multar.js index a0db901..8f025a0 100644 --- a/server/controller/Multa/multar.js +++ b/server/controller/Multa/multar.js @@ -43,9 +43,9 @@ const multar = async (body) => { .then((res) => Multa.create({ descripcion, + fechaFin: fechaFin.format(), idInfraccion, idPrestamo, - fechaFin: fechaFin.format(), }) ) .then((res) => ({ message: `Se multo correctamente al alumno.` })); diff --git a/server/controller/Reporte/historialReportes.js b/server/controller/Reporte/historialReportes.js deleted file mode 100644 index 0692575..0000000 --- a/server/controller/Reporte/historialReportes.js +++ /dev/null @@ -1,60 +0,0 @@ -const validar = require('../../helper/validar'); -const dbPath = '../../db/tablas'; -const Reporte = require(`${dbPath}/Reporte`); -const Operador = require(`${dbPath}/Operador`); -const Prestamo = require(`${dbPath}/Prestamo`); -const Usuario = require(`${dbPath}/Usuario`); - -const historialReportes = async (body) => { - const idEquipo = validar.validarId(body.idEquipo); - const pagina = validar.validarNumero(body.pagina, true); - - return Reporte.findAndCountAll({ - where: { idEquipo }, - include: [ - { - model: Prestamo, - include: [ - { model: Usuario }, - { model: Operador, as: 'OperadorRegreso' }, - ], - }, - { model: Operador }, - ], - limit: 25, - offset: 25 * (pagina - 1), - order: [['createdAt', 'DESC']], - }).then((res) => { - for (let i = 0; i < res.rows.length; i++) { - delete res.rows[i].dataValues.idPrestamo; - delete res.rows[i].dataValues.idEquipo; - delete res.rows[i].dataValues.idOperador; - if (res.rows[i].dataValues.Prestamo) { - delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorEntrega; - delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso; - delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario; - delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo; - delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues - .password; - delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues - .idCarrera; - delete res.rows[i].dataValues.Prestamo.dataValues.Usuario.dataValues - .idTipoUsuario; - delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso - .dataValues.idTipoUsuario; - delete res.rows[i].dataValues.Prestamo.dataValues.OperadorRegreso - .dataValues.password; - delete res.rows[i].dataValues.Operador; - } - if (res.rows[i].dataValues.Operador) { - delete res.rows[i].dataValues.Operador.dataValues.password; - delete res.rows[i].dataValues.Operador.dataValues.idTipoUsuario; - delete res.rows[i].dataValues.Operador.dataValues.activo; - delete res.rows[i].dataValues.Prestamo; - } - } - return { count: res.count, historialReportes: res.rows }; - }); -}; - -module.exports = historialReportes; diff --git a/server/controller/Reporte/reportar.js b/server/controller/Reporte/reportar.js deleted file mode 100644 index d0d2079..0000000 --- a/server/controller/Reporte/reportar.js +++ /dev/null @@ -1,29 +0,0 @@ -const validar = require('../../helper/validar'); -const dbPath = '../../db/tablas'; -const Reporte = require(`${dbPath}/Reporte`); -const Prestamo = require(`${dbPath}/Prestamo`); - -const reportar = async (body) => { - const idPrestamo = validar.validarId(body.idPrestamo); - const descripcion = validar.validarAlfanumerico( - body.descripcion, - 'La descripción', - 500 - ); - let idEquipo = null; - - return Prestamo.findOne({ where: { idPrestamo } }) - .then((res) => { - if (!res) throw new Error('No existe este prestamo.'); - console.log(res.dataValues); - idEquipo = res.idEquipo; - return Reporte.findOne({ where: { idPrestamo } }); - }) - .then((res) => { - if (res) throw new Error('Ya existe un reporte con este prestamo.'); - return Reporte.create({ descripcion, idPrestamo, idEquipo }); - }) - .then((res) => ({ message: 'Se levanto correctamente el reporte.' })); -}; - -module.exports = reportar; diff --git a/server/controller/Reporte/reportarEquipo.js b/server/controller/Reporte/reportarEquipo.js deleted file mode 100644 index df6526a..0000000 --- a/server/controller/Reporte/reportarEquipo.js +++ /dev/null @@ -1,28 +0,0 @@ -const validar = require('../../helper/validar'); -const dbPath = '../../db/tablas'; -const Equipo = require(`${dbPath}/Equipo`); -const Operador = require(`${dbPath}/Operador`); -const Reporte = require(`${dbPath}/Reporte`); - -const reportar = async (body) => { - const idOperador = validar.validarId(body.idOperador); - const idEquipo = validar.validarId(body.idEquipo); - const descripcion = validar.validarAlfanumerico( - body.descripcion, - 'La descripción', - 500 - ); - - return Operador.findOne({ where: { idOperador } }) - .then((res) => { - if (!res) throw new Error('No existe este operador.'); - return Equipo.findOne({ where: { idEquipo } }); - }) - .then((res) => { - if (!res) throw new Error('No existe este equipo.'); - return Reporte.create({ descripcion, idEquipo, idOperador }); - }) - .then((res) => ({ message: 'Se levanto correctamente el reporte.' })); -}; - -module.exports = reportar; diff --git a/server/controller/Reporte/reportarNumeroInventario.js b/server/controller/Reporte/reportarNumeroInventario.js deleted file mode 100644 index 4774665..0000000 --- a/server/controller/Reporte/reportarNumeroInventario.js +++ /dev/null @@ -1,41 +0,0 @@ -const validar = require('../../helper/validar'); -const dbPath = '../../db/tablas'; -const Reporte = require(`${dbPath}/Reporte`); -const Prestamo = require(`${dbPath}/Prestamo`); -const Equipo = require(`${dbPath}/Equipo`); - -const reportar = async (body) => { - const numeroInventario = validar.validarAlfanumerico( - body.numeroInventario, - 'El numero de inventario', - 20 - ); - const descripcion = validar.validarAlfanumerico( - body.descripcion, - 'La descripción', - 500 - ); - let prestamo = {}; - - return Prestamo.findOne({ - where: { activo: true }, - include: [{ model: Equipo, where: { numeroInventario } }], - }) - .then((res) => { - if (!res) - throw new Error('No existe un prestamo activo con este equipo.'); - prestamo = res; - return Reporte.findOne({ where: { idPrestamo: prestamo.idPrestamo } }); - }) - .then((res) => { - if (res) throw new Error('Ya existe un reporte con este prestamo.'); - return Reporte.create({ - descripcion, - idPrestamo: prestamo.idPrestamo, - idEquipo: prestamo.idEquipo, - }); - }) - .then((res) => ({ message: 'Se levanto correctamente el reporte.' })); -}; - -module.exports = reportar; diff --git a/server/db/install.js b/server/db/install.js index 9225700..9819a05 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -10,7 +10,6 @@ const Multa = require('./tablas/Multa'); const Operador = require('./tablas/Operador'); const Prestamo = require('./tablas/Prestamo'); const Programa = require('./tablas/Programa'); -const Reporte = require('./tablas/Reporte'); const Status = require('./tablas/Status'); const TipoCarrito = require('./tablas/TipoCarrito'); const TipoUsuario = require('./tablas/TipoUsuario'); @@ -19,9 +18,6 @@ const Usuario = require('./tablas/Usuario'); const drop = async () => { console.log('\nPaso 1) Desinstalando la db.'.bold.blue); - await Reporte.drop(); - console.log('La tabla Reporte se desinstalo correctamente.'.magenta); - await Multa.drop(); console.log('La tabla Multa se desinstalo correctamente.'.magenta); @@ -103,9 +99,6 @@ const sync = async () => { await Multa.sync(); console.log('La tabla Multa se instalo correctamente.'.magenta); - - await Reporte.sync(); - console.log('La tabla Reporte se instalo correctamente.'.magenta); }; const dataTipoUsuario = async () => { diff --git a/server/db/tablas/Multa.js b/server/db/tablas/Multa.js index 3f50dca..e06d28e 100644 --- a/server/db/tablas/Multa.js +++ b/server/db/tablas/Multa.js @@ -44,7 +44,7 @@ Multa.belongsTo(Prestamo, { foreignKey: { name: 'idPrestamo', type: DataTypes.INTEGER, - allowNull: true, + allowNull: false, }, }); diff --git a/server/db/tablas/Prestamo.js b/server/db/tablas/Prestamo.js index 88ff448..d69507b 100644 --- a/server/db/tablas/Prestamo.js +++ b/server/db/tablas/Prestamo.js @@ -43,6 +43,11 @@ Prestamo.init( allowNull: true, defaultValue: null, }, + canceladoOperador: { + type: DataTypes.BOOLEAN, + allowNull: true, + defaultValue: null, + }, }, { sequelize, diff --git a/server/db/tablas/Reporte.js b/server/db/tablas/Reporte.js deleted file mode 100644 index 19d537b..0000000 --- a/server/db/tablas/Reporte.js +++ /dev/null @@ -1,57 +0,0 @@ -const { DataTypes, Model } = require('sequelize'); -const sequelize = require('../../config/sequelize.conf'); -const Equipo = require('./Equipo'); -const Operador = require('./Operador'); -const Prestamo = require('./Prestamo'); - -class Reporte extends Model {} -Reporte.init( - { - idReporte: { - type: DataTypes.INTEGER, - primaryKey: true, - allowNull: false, - unique: true, - autoIncrement: true, - }, - descripcion: { - type: DataTypes.STRING(500), - allowNull: false, - }, - }, - { - sequelize, - modelName: 'Reporte', - tableName: 'reporte', - timestamps: true, - createdAt: true, - updatedAt: false, - } -); - -Reporte.belongsTo(Equipo, { - foreignKey: { - name: 'idEquipo', - type: DataTypes.INTEGER, - allowNull: true, - }, -}); - -Reporte.belongsTo(Prestamo, { - foreignKey: { - name: 'idPrestamo', - type: DataTypes.INTEGER, - allowNull: true, - }, -}); - -Reporte.belongsTo(Operador, { - foreignKey: { - name: 'idOperador', - type: DataTypes.INTEGER, - allowNull: true, - defaultValue: null, - }, -}); - -module.exports = Reporte; diff --git a/server/helper/gmail.js b/server/helper/gmail.js index ef90ff3..464a4a1 100644 --- a/server/helper/gmail.js +++ b/server/helper/gmail.js @@ -9,7 +9,6 @@ const gmail = (subject, to, text) => { return new Promise((resolve, reject) => { send({ subject, to, text }, (error, result, fullResult) => { if (error) reject(error); - console.log(fullResult); resolve(result); }); }); diff --git a/server/routes/Multa.js b/server/routes/Multa.js index d761b36..709c02f 100644 --- a/server/routes/Multa.js +++ b/server/routes/Multa.js @@ -2,9 +2,10 @@ const express = require('express'); const app = express(); const { verificaToken } = require('../middleware/autentificacion'); const route = '/multa'; +const historialMultasEquipo = require('../controller/Multa/historialMultasEquipo'); +const historialMultasUsuario = require('../controller/Multa/historialMultasUsuario'); const multar = require('../controller/Multa/multar'); const multarNumeroInventario = require('../controller/Multa/multarNumeroInventario'); -const historialMultas = require('../controller/Multa/historialMultas'); app.post( `${route}/multar`, @@ -35,10 +36,24 @@ app.post( ); app.get( - `${route}/historial_multas`, + `${route}/historial_multas_usuario`, //verificaToken, (req, res) => { - return historialMultas(req.query) + return historialMultasUsuario(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); + } +); + +app.get( + `${route}/historial_multas_equipo`, + //verificaToken, + (req, res) => { + return historialMultasEquipo(req.query) .then((data) => { res.status(200).json(data); }) diff --git a/server/routes/Reporte.js b/server/routes/Reporte.js deleted file mode 100644 index d39b777..0000000 --- a/server/routes/Reporte.js +++ /dev/null @@ -1,66 +0,0 @@ -const express = require('express'); -const app = express(); -const { verificaToken } = require('../middleware/autentificacion'); -const route = '/reporte'; -const reportar = require('../controller/Reporte/reportar'); -const reportarEquipo = require('../controller/Reporte/reportarEquipo'); -const reportarNumeroInventario = require('../controller/Reporte/reportarNumeroInventario'); -const historialReportes = require('../controller/Reporte/historialReportes'); - -app.post( - `${route}/reportar`, - //verificaToken, - (req, res) => { - return reportar(req.body) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); - } -); - -app.post( - `${route}/reportar_equipo`, - //verificaToken, - (req, res) => { - return reportarEquipo(req.body) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); - } -); - -app.post( - `${route}/reportar_numero_inventario`, - //verificaToken, - (req, res) => { - return reportarNumeroInventario(req.body) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); - } -); - -app.get( - `${route}/historial_reportes`, - //verificaToken, - (req, res) => { - return historialReportes(req.query) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); - } -); - -module.exports = app; diff --git a/server/routes/index.js b/server/routes/index.js index 36cc326..8dab1c9 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -9,7 +9,6 @@ app.use(require('./Multa')); app.use(require('./Operador')); app.use(require('./Prestamo')); app.use(require('./Programa')); -app.use(require('./Reporte')); app.use(require('./Status')); app.use(require('./TipoCarrito')); app.use(require('./Usuario'));