From 2ce6a95aea102b8de106bb943d9269d9f49cf6b1 Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Wed, 10 Feb 2021 17:33:15 -0600 Subject: [PATCH] listo --- .../controller/CasoEspecial/casoEspecial.js | 28 +++++++++++++++++++ server/controller/CasoEspecial/liberacion.js | 19 +++++++------ server/controller/CasoEspecial/nuevo.js | 6 ++-- .../CasoEspecial/serviciosEspeciales.js | 4 +-- server/db/install.js | 2 ++ server/routes/CasoEspecial.js | 18 ++++++++++-- 6 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 server/controller/CasoEspecial/casoEspecial.js diff --git a/server/controller/CasoEspecial/casoEspecial.js b/server/controller/CasoEspecial/casoEspecial.js new file mode 100644 index 0000000..7e67ffc --- /dev/null +++ b/server/controller/CasoEspecial/casoEspecial.js @@ -0,0 +1,28 @@ +const validar = require('../../helper/validar'); +const CasoEspecial = require('../../db/tablas/CasoEspecial'); +const Usuario = require('../../db/tablas/Usuario'); +const TipoUsuario = require('../../db/tablas/TipoUsuario'); +const Carrera = require('../../db/tablas/Carrera'); +const Status = require('../../db/tablas/Status'); + +const admin = async (body) => { + const idCasoEspecial = validar.validarId(body.idCasoEspecial); + + return CasoEspecial.findOne({ + where: { idCasoEspecial }, + include: [ + { model: Usuario, include: [{ model: TipoUsuario }] }, + { model: Carrera }, + { model: Status }, + ], + }).then((res) => { + if (!res) throw new Error('No existe este Caso Especial.'); + delete res.dataValues.Usuario.dataValues.password; + delete res.dataValues.idUsuario; + delete res.dataValues.idCarrera; + delete res.dataValues.idStatus; + return res; + }); +}; + +module.exports = admin; diff --git a/server/controller/CasoEspecial/liberacion.js b/server/controller/CasoEspecial/liberacion.js index 962a1b0..3292285 100644 --- a/server/controller/CasoEspecial/liberacion.js +++ b/server/controller/CasoEspecial/liberacion.js @@ -1,33 +1,34 @@ const validar = require('../../helper/validar'); const gmail = require('../../helper/gmail'); const correos = require('../../helper/correos'); -const Servicio = require('../../db/tablas/Servicio'); +const CasoEspecial = require('../../db/tablas/CasoEspecial'); const Usuario = require('../../db/tablas/Usuario'); const liberacion = async (body) => { - const idServicio = validar.validarId(body.idServicio); + const idCasoEspecial = validar.validarId(body.idCasoEspecial); + let update = {}; - return Servicio.findOne({ - where: { idServicio }, + return CasoEspecial.findOne({ + where: { idCasoEspecial }, include: [{ model: Usuario }], }) .then(async (res) => { - if (!res) throw new Error('No existe este Servicio Social.'); + if (!res) throw new Error('No existe este Caso Especial.'); switch (res.idStatus) { case 11: case 12: let correo = correos.terminoValidado(res.Usuario.nombre); + if (res.idStatus === 11) update.idStatus = 13; + else update.idStatus = 14; return gmail(correo.subject, res.correo, correo.msj); case 6: - throw new Error( - 'Este Servicio Social ya se encuentra en Liberación.' - ); + throw new Error('Este Caso Especial ya se encuentra en Liberación.'); default: throw new Error('Id status no valido.'); } }) - .then((res) => Servicio.update({ idStatus: 6 }, { where: { idServicio } })) + .then((res) => CasoEspecial.update(update, { where: { idCasoEspecial } })) .then((res) => ({ message: 'Se cambio de estatus correctamente y se envio un correo al alumno informandole de su liberación.', diff --git a/server/controller/CasoEspecial/nuevo.js b/server/controller/CasoEspecial/nuevo.js index 37b9ff1..a1c5786 100644 --- a/server/controller/CasoEspecial/nuevo.js +++ b/server/controller/CasoEspecial/nuevo.js @@ -6,8 +6,6 @@ const Carrera = require('../../db/tablas/Carrera'); const validar = require('../../helper/validar'); const nuevo = async (body, file) => { - console.log('Hola'); - const idUsuario = validar.validarId(body.idUsuario); const idCarrera = validar.validarId(body.idCarrera); const idStatus = validar.validarId(body.idStatus); @@ -50,7 +48,7 @@ const nuevo = async (body, file) => { }); }) .then(async (res) => { - if (res) throw new Error('Este alumno ya tienen un Servicio Especial.'); + if (res) throw new Error('Este alumno ya tienen un Caso Especial.'); return drive.folder(numeroCuenta); }) .then((res) => { @@ -81,7 +79,7 @@ const nuevo = async (body, file) => { }) ) .then((res) => ({ - message: `Se ha registro el Servicio Especial correctamente.`, + message: `Se ha registro el Caso Especial correctamente.`, })); }; diff --git a/server/controller/CasoEspecial/serviciosEspeciales.js b/server/controller/CasoEspecial/serviciosEspeciales.js index a348132..fe9baf6 100644 --- a/server/controller/CasoEspecial/serviciosEspeciales.js +++ b/server/controller/CasoEspecial/serviciosEspeciales.js @@ -10,7 +10,7 @@ const serviciosEspeciales = async (body) => { const pagina = validar.validarId(body.pagina); const where = body.idStatus ? { idStatus: validar.validarId(body.idStatus) } - : { [Op.or]: [{ idStatus: 6 }, { idStatus: { [Op.gt]: 10 } }] }; + : { idStatus: { [Op.gt]: 10 } }; const nombre = body.nombre ? validar.validarTexto(body.nombre, 'El nombre', 60) : ''; @@ -36,7 +36,7 @@ const serviciosEspeciales = async (body) => { }).then((res) => { for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++) data.push({ - idServicio: res[i].idServicio, + idCasoEspecial: res[i].idCasoEspecial, createdAt: res[i].createdAt, Usuario: { idUsuario: res[i].Usuario.idUsuario, diff --git a/server/db/install.js b/server/db/install.js index 40f4b94..7b8ce10 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -103,6 +103,8 @@ const dataStatus = async () => { 'Cancelado', 'Articulo 52', 'Articulo 91', + 'Liberación Articulo 52', + 'Liberación Articulo 91', ]; console.log('\nPaso 4) Instalando data de Status.'.bold.blue); diff --git a/server/routes/CasoEspecial.js b/server/routes/CasoEspecial.js index 9588df2..7104c31 100644 --- a/server/routes/CasoEspecial.js +++ b/server/routes/CasoEspecial.js @@ -7,6 +7,7 @@ const { verificaToken } = require('../middleware/autentificacion'); const route = '/caso_especial'; const nuevo = require('../controller/CasoEspecial/nuevo'); const serviciosEspeciales = require('../controller/CasoEspecial/serviciosEspeciales'); +const casoEspecial = require('../controller/CasoEspecial/casoEspecial'); const liberacion = require('../controller/CasoEspecial/liberacion'); const eliminarArchivo = (filename) => { @@ -18,9 +19,6 @@ app.post( // verificaToken, upload.single('archivos'), (req, res) => { - console.log(req.body.alumno); - console.log(JSON.parse(req.body.alumno)); - console.log(typeof req.body.alumno); return nuevo(JSON.parse(req.body.alumno), req.file.filename) .then((data) => { res.status(201).json(data); @@ -46,6 +44,20 @@ app.get( } ); +app.get( + `${route}`, + // verificaToken, + (req, res) => { + return casoEspecial(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); + } +); + app.put( `${route}/liberacion`, // verificaToken,