erore merge

This commit is contained in:
xXpuma99Xx
2021-12-07 14:05:09 -06:00
59 changed files with 1454 additions and 1671 deletions
+606 -937
View File
File diff suppressed because it is too large Load Diff
+1 -3
View File
@@ -7,7 +7,6 @@
"test": "node ./server/config/test",
"db:install": "node ./server/db/install",
"db:data-fake": "node ./server/db/data-fake",
"db:antiguo": "node ./server/db/antiguo",
"dev": "nodemon ./server/app",
"start": "node ./server/app"
},
@@ -15,7 +14,7 @@
"type": "git",
"url": "https://repositorio.acatlan.unam.mx/CIDWA/servicio_social_api.git"
},
"author": "cidwa",
"author": "CIDWA",
"license": "ISC",
"dependencies": {
"axios": "^0.21.0",
@@ -33,7 +32,6 @@
"mariadb": "^2.5.1",
"moment": "^2.29.1",
"multer": "^1.4.2",
"mysql2": "^2.2.5",
"sequelize": "^6.3.5",
"validator": "^13.1.17"
},
+1 -1
View File
@@ -21,6 +21,6 @@ app.get('/', (req, res) => res.send('API IRIS'));
app.use(require('./routes/index'));
app.listen(process.env.PORT, () =>
app.listen(Number(process.env.PORT), () =>
console.log(`API IRIS corriendo en el puerto: ${process.env.PORT}`.rainbow)
);
+1 -17
View File
@@ -1,6 +1,6 @@
const dotenv = require('dotenv');
const colors = require('colors');
var result = {};
let result = {};
try {
result = dotenv.config();
@@ -9,19 +9,3 @@ try {
} catch (err) {
console.log('El archivo .env no se cargo.'.underline.bold.red);
}
// process.env.TYPEDB = process.env.TYPEDB
// process.env.DB = process.env.DB
// process.env.USERDB = process.env.USERDB
// process.env.PASSWORDDB = process.env.PASSWORDDB
// process.env.HOSTDB = process.env.HOSTDB
// process.env.PORT = process.env.PORT
// process.env.SALT_ROUNDS = process.env.SALT_ROUNDS
process.env.CADUCIDAD_TOKEN = 1800000;
-27
View File
@@ -1,27 +0,0 @@
require('./config');
const Sybase = require('sybase');
const db = new Sybase(
process.env.SYBASE_IP,
Number(process.env.SYBASE_PORT),
process.env.SYBASE_DB,
process.env.SYBASE_USER,
process.env.SYBASE_PASSWORD
);
const alumno = (numeroCuenta) => {
return new Promise((resolve, reject) => {
db.connect((err) => {
if (err) reject(err);
db.query(
`select * from servicio_social where cuenta = '${numeroCuenta}'`,
(err, data) => {
if (err) reject(err);
db.disconnect();
resolve(data);
}
);
});
});
};
module.exports = alumno;
@@ -1,12 +1,13 @@
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 { validarId } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
const Status = require(`${dbPath}/Status`);
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
const Usuario = require(`${dbPath}/Usuario`);
const admin = async (body) => {
const idCasoEspecial = validar.validarId(body.idCasoEspecial);
const idCasoEspecial = validarId(body.idCasoEspecial);
return CasoEspecial.findOne({
where: { idCasoEspecial },
+8 -6
View File
@@ -1,11 +1,13 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const CasoEspecial = require('../../db/tablas/CasoEspecial');
const Usuario = require('../../db/tablas/Usuario');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const { validarId } = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
const Usuario = require(`${dbPath}/Usuario`);
const liberacion = async (body) => {
const idCasoEspecial = validar.validarId(body.idCasoEspecial);
const idCasoEspecial = validarId(body.idCasoEspecial);
let update = {};
return CasoEspecial.findOne({
+7 -5
View File
@@ -1,8 +1,10 @@
const drive = require('../../helper/drive');
const CasoEspecial = require('../../db/tablas/CasoEspecial');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const validar = require('../../helper/validar');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
const Usuario = require(`${dbPath}/Usuario`);
const nuevo = async (body, file) => {
const idUsuario = validar.validarId(body.idUsuario);
@@ -1,13 +1,13 @@
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const CasoEspecial = require('../../db/tablas/CasoEspecial');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const Status = require('../../db/tablas/Status');
const TipoUsuario = require('../../db/tablas/TipoUsuario');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const CasoEspecial = require(`${dbPath}/CasoEspecial`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
const serviciosEspeciales = async (body) => {
const pagina = validar.validarId(body.pagina);
const pagina = validar.validarNumero(body.pagina, true);
const where = body.idStatus
? { idStatus: validar.validarId(body.idStatus) }
: { idStatus: { [Op.gt]: 10 } };
@@ -17,41 +17,29 @@ const serviciosEspeciales = async (body) => {
const numeroCuenta = body.numeroCuenta
? validar.validarNumeroCuenta(body.numeroCuenta)
: '';
const data = [];
return CasoEspecial.findAll({
return CasoEspecial.findAndCountAll({
include: [
{
model: Usuario,
include: { model: TipoUsuario },
where: {
usuario: { [Op.like]: `%${numeroCuenta}%` },
nombre: { [Op.like]: `%${nombre}%` },
[Op.and]: [
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
{ nombre: { [Op.like]: `%${nombre}%` } },
],
},
},
{ model: Carrera },
{ model: Status, where },
],
order: [['updatedAt', 'DESC']],
limit: 25,
offset: 25 * (pagina - 1),
}).then((res) => {
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
data.push({
idCasoEspecial: res[i].idCasoEspecial,
createdAt: res[i].createdAt,
Usuario: {
idUsuario: res[i].Usuario.idUsuario,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
TipoUsuario: res[i].Usuario.TipoUsuario,
},
Carrera: res[i].Carrera,
Status: res[i].Status,
});
return {
registros: res.length,
faltantes: res.length - data.length - (pagina - 1) * 25,
servicios: data,
};
for (let i = 0; i < res.rows.length; i++) {
// delete res.rows[i].dataValues.idUsuario
}
return { count: res.count, serviciosEspeciales: res.rows };
});
};
+1 -1
View File
@@ -41,7 +41,7 @@ const update = async (body) => {
'El texto motivo.',
1
);
if (validar.isObjectEmpty(dataUpdate))
if (validar.validarObjetoVacio(dataUpdate))
throw new Error(
'No se envio nada para actualizar este Caso Especial.'
);
+61 -61
View File
@@ -1,15 +1,17 @@
const fs = require('fs');
const { convertArrayToCSV } = require('convert-array-to-csv');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const CuestionarioAlumno = require('../../db/tablas/CuestionarioAlumno');
const Servicio = require('../../db/tablas/Servicio');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const helperPath = '../../helper';
const helper = require(`${helperPath}/helper`);
const { validarNumero } = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const CuestionarioAlumno = require(`${dbPath}/CuestionarioAlumno`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const get = async (body) => {
const year = validar.validarNumero(body.year, 4);
const path = `csv/${year}_cuestionario_alumno.csv`;
const year = validarNumero(body.year, 4);
const path = `server/uploads/${year}_cuestionario_alumno.csv`;
const data = [];
return Servicio.findAll({
@@ -21,61 +23,59 @@ const get = async (body) => {
{ model: Programa, where: { clavePrograma: { [Op.like]: `${year}%` } } },
{ model: Usuario },
],
}).then((res) => {
for (let i = 0; i < res.length; i++)
data.push({
idServicio: res[i].idServicio,
clavePrograma: res[i].Programa.clavePrograma,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno,
sexo: res[i].CuestionarioAlumno.sexo,
edad: res[i].CuestionarioAlumno.edad,
servicioMedico: res[i].CuestionarioAlumno.servicioMedico,
p1: res[i].CuestionarioAlumno.p1,
p2: res[i].CuestionarioAlumno.p2,
p3: res[i].CuestionarioAlumno.p3,
p4: res[i].CuestionarioAlumno.p4,
p5: res[i].CuestionarioAlumno.p5,
p6: res[i].CuestionarioAlumno.p6,
p7: res[i].CuestionarioAlumno.p7,
p8: res[i].CuestionarioAlumno.p8,
p9: res[i].CuestionarioAlumno.p9,
p10: res[i].CuestionarioAlumno.p10,
p11: res[i].CuestionarioAlumno.p11,
p12: res[i].CuestionarioAlumno.p12,
p13: res[i].CuestionarioAlumno.p13,
p14: res[i].CuestionarioAlumno.p14,
p15: res[i].CuestionarioAlumno.p15,
p16: res[i].CuestionarioAlumno.p16,
p17: res[i].CuestionarioAlumno.p17,
p18: res[i].CuestionarioAlumno.p18,
p19: res[i].CuestionarioAlumno.p19,
p20: res[i].CuestionarioAlumno.p20,
p21: res[i].CuestionarioAlumno.p21,
p22: res[i].CuestionarioAlumno.p22,
p23: res[i].CuestionarioAlumno.p23,
p24: res[i].CuestionarioAlumno.p24,
p25: res[i].CuestionarioAlumno.p25,
p26: res[i].CuestionarioAlumno.p26,
p27: res[i].CuestionarioAlumno.p27,
p28: res[i].CuestionarioAlumno.p28,
p29: res[i].CuestionarioAlumno.p29,
p30: res[i].CuestionarioAlumno.p30,
createdAt: res[i].CuestionarioAlumno.createdAt,
order: [['createdAt']],
})
.then(async (res) => {
for (let i = 0; i < res.length; i++)
data.push({
idServicio: res[i].idServicio,
clavePrograma: res[i].Programa.clavePrograma,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno,
sexo: res[i].CuestionarioAlumno.sexo,
edad: res[i].CuestionarioAlumno.edad,
servicioMedico: res[i].CuestionarioAlumno.servicioMedico,
p1: res[i].CuestionarioAlumno.p1,
p2: res[i].CuestionarioAlumno.p2,
p3: res[i].CuestionarioAlumno.p3,
p4: res[i].CuestionarioAlumno.p4,
p5: res[i].CuestionarioAlumno.p5,
p6: res[i].CuestionarioAlumno.p6,
p7: res[i].CuestionarioAlumno.p7,
p8: res[i].CuestionarioAlumno.p8,
p9: res[i].CuestionarioAlumno.p9,
p10: res[i].CuestionarioAlumno.p10,
p11: res[i].CuestionarioAlumno.p11,
p12: res[i].CuestionarioAlumno.p12,
p13: res[i].CuestionarioAlumno.p13,
p14: res[i].CuestionarioAlumno.p14,
p15: res[i].CuestionarioAlumno.p15,
p16: res[i].CuestionarioAlumno.p16,
p17: res[i].CuestionarioAlumno.p17,
p18: res[i].CuestionarioAlumno.p18,
p19: res[i].CuestionarioAlumno.p19,
p20: res[i].CuestionarioAlumno.p20,
p21: res[i].CuestionarioAlumno.p21,
p22: res[i].CuestionarioAlumno.p22,
p23: res[i].CuestionarioAlumno.p23,
p24: res[i].CuestionarioAlumno.p24,
p25: res[i].CuestionarioAlumno.p25,
p26: res[i].CuestionarioAlumno.p26,
p27: res[i].CuestionarioAlumno.p27,
p28: res[i].CuestionarioAlumno.p28,
p29: res[i].CuestionarioAlumno.p29,
p30: res[i].CuestionarioAlumno.p30,
createdAt: res[i].CuestionarioAlumno.createdAt,
});
await helper.eliminarArchivo(path).catch((err) => {
console.log(err);
});
try {
fs.unlinkSync(path);
} catch (err) {
console.log(err);
}
fs.appendFile(path, convertArrayToCSV(data), (err) => {
if (err) throw new Error(err);
return helper.crearArchivo(path, convertArrayToCSV(data));
})
.then((res) => {
return path;
});
return {
message: `Se creo/actualizo correctamente el csv del cuestionario de alumno del año ${year}.`,
};
});
};
module.exports = get;
@@ -1,6 +1,7 @@
const validar = require('../../helper/validar');
const CuestionarioAlumno = require('../../db/tablas/CuestionarioAlumno');
const Servicio = require('../../db/tablas/Servicio');
const dbPath = '../../db/tablas';
const CuestionarioAlumno = require(`${dbPath}/CuestionarioAlumno`);
const Servicio = require(`${dbPath}/Servicio`);
const nuevo = async (body) => {
const idServicio = validar.validarId(body.idServicio);
+37 -36
View File
@@ -1,15 +1,18 @@
const fs = require('fs');
const { convertArrayToCSV } = require('convert-array-to-csv');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const CuestionarioPrograma = require('../../db/tablas/CuestionarioPrograma');
const Servicio = require('../../db/tablas/Servicio');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const helperPath = '../../helper';
const helper = require(`${helperPath}/helper`);
const { validarNumero } = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const CuestionarioPrograma = require(`${dbPath}/CuestionarioPrograma`);
const Servicio = require(`${dbPath}/Servicio`);
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const get = async (body) => {
const year = validar.validarNumero(body.year, 4);
const path = `csv/${year}_cuestionario_programa.csv`;
const year = validarNumero(body.year, 4);
const path = `server/uploads/${year}_cuestionario_programa.csv`;
const data = [];
return Servicio.findAll({
@@ -21,37 +24,35 @@ const get = async (body) => {
{ model: Programa, where: { clavePrograma: { [Op.like]: `${year}-%` } } },
{ model: Usuario },
],
}).then((res) => {
for (let i = 0; i < res.length; i++)
data.push({
idServicio: res[i].idServicio,
clavePrograma: res[i].Programa.clavePrograma,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
idCuestionarioPrograma:
res[i].CuestionarioPrograma.idCuestionarioPrograma,
actividad1: res[i].CuestionarioPrograma.actividad1,
actividad2: res[i].CuestionarioPrograma.actividad2,
actividad3: res[i].CuestionarioPrograma.actividad3,
actividad4: res[i].CuestionarioPrograma.actividad4,
actividad5: res[i].CuestionarioPrograma.actividad5,
retroalimentacion: res[i].CuestionarioPrograma.retroalimentacion,
p6: res[i].CuestionarioPrograma.p6,
p7: res[i].CuestionarioPrograma.p7,
createdAt: res[i].CuestionarioPrograma.createdAt,
order: [['createdAt']],
})
.then(async (res) => {
for (let i = 0; i < res.length; i++)
data.push({
idServicio: res[i].idServicio,
clavePrograma: res[i].Programa.clavePrograma,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
idCuestionarioPrograma:
res[i].CuestionarioPrograma.idCuestionarioPrograma,
actividad1: res[i].CuestionarioPrograma.actividad1,
actividad2: res[i].CuestionarioPrograma.actividad2,
actividad3: res[i].CuestionarioPrograma.actividad3,
actividad4: res[i].CuestionarioPrograma.actividad4,
actividad5: res[i].CuestionarioPrograma.actividad5,
retroalimentacion: res[i].CuestionarioPrograma.retroalimentacion,
p6: res[i].CuestionarioPrograma.p6,
p7: res[i].CuestionarioPrograma.p7,
createdAt: res[i].CuestionarioPrograma.createdAt,
});
await helper.eliminarArchivo(path).catch((err) => {
console.log(err);
});
try {
fs.unlinkSync(path);
} catch (err) {
console.log(err);
}
fs.appendFile(path, convertArrayToCSV(data), (err) => {
if (err) throw new Error(err);
return helper.crearArchivo(path, convertArrayToCSV(data));
})
.then((res) => {
return path;
});
return {
message: `Se creo/actualizo correctamente el csv del cuestionario de programa del año ${year}.`,
};
});
};
module.exports = get;
@@ -1,6 +1,7 @@
const validar = require('../../helper/validar');
const CuestionarioPrograma = require('../../db/tablas/CuestionarioPrograma');
const Servicio = require('../../db/tablas/Servicio');
const dbPath = '../../db/tablas';
const CuestionarioPrograma = require(`${dbPath}/CuestionarioPrograma`);
const Servicio = require(`${dbPath}/Servicio`);
const nuevo = async (body) => {
const idServicio = validar.validarId(body.idServicio);
+20 -22
View File
@@ -1,12 +1,14 @@
const fs = require('fs');
const moment = require('moment');
const csv = require('csvtojson');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const encriptar = require('../../helper/encriptar');
const validar = require('../../helper/validar');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const moment = require('moment');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const encriptar = require(`${helperPath}/encriptar`);
const gmail = require(`${helperPath}/gmail`);
const { validarCorreo } = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const cargaMasiva = async (file) => {
const path = `server/uploads/${file}`;
@@ -32,7 +34,7 @@ const cargaMasiva = async (file) => {
continue;
}
try {
validar.validarCorreo(programas[i].correo);
validarCorreo(programas[i].correo);
} catch (err) {
console.log(err);
mensaje += 'Esta linea contiene un correo no valido.\n\n';
@@ -42,7 +44,7 @@ const cargaMasiva = async (file) => {
const activo = Number(programas[i].clave.substr(0, 4)) === today.year();
const responsable = await Usuario.findOne({
where: { usuario: programas[i].correo, idTipoUsuario: 2 },
}).then(async (res) => {
}).then((res) => {
if (!res) {
const password = encriptar.generarPassword();
const correo = correos.enviarSec(
@@ -50,8 +52,6 @@ const cargaMasiva = async (file) => {
programas[i].correo,
programas[i].nombre
);
await gmail(correo.subject, programas[i].correo, correo.msj);
return Usuario.create({
usuario: programas[i].correo,
password: encriptar.encriptar(password),
@@ -59,12 +59,13 @@ const cargaMasiva = async (file) => {
activo: true,
idTipoUsuario: 2,
})
.then((res) => {
mensaje += `Se creo el responsable con id ${res.idUsuario} y correo ${res.usuario}\n`;
.then(async (res) => {
await gmail(correo.subject, programas[i].correo, correo.msj);
mensaje += `Se creo al responsable con id ${res.idUsuario} y correo ${res.usuario}\n`;
return res;
})
.catch((err) => {
mensaje += err;
mensaje = mensaje + err.message + err;
});
}
return res;
@@ -84,13 +85,13 @@ const cargaMasiva = async (file) => {
activo,
idUsuario: responsable.idUsuario,
}).catch((err) => {
mensaje += err;
mensaje = mensaje + err.message + err;
});
}
mensaje += `El programa ${res.clavePrograma} ya ${
programas[i].correo === res.Usuario.usuario
? 'le pertenece a este responsable'
: 'fue asignado a otro responsable'
: 'fue asignado al responsable'
} con id ${res.Usuario.idUsuario} y correo ${
res.Usuario.usuario
}.\n`;
@@ -98,7 +99,7 @@ const cargaMasiva = async (file) => {
})
.then((res) => {
if (res)
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con correo ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
});
} else {
await Programa.findOne({
@@ -118,7 +119,7 @@ const cargaMasiva = async (file) => {
acatlan,
idUsuario: responsable.idUsuario,
}).catch((err) => {
mensaje += err;
mensaje = mensaje + err.message + err;
});
}
mensaje += `El programa ${res.clavePrograma} ya pertenece al responsable con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
@@ -126,15 +127,12 @@ const cargaMasiva = async (file) => {
})
.then((res) => {
if (res)
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con correo ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
mensaje += `Se asigno el programa ${res.clavePrograma} con id ${res.idPrograma} al usuario con id ${responsable.idUsuario} y correo ${responsable.usuario}\n`;
});
}
mensaje += '\n';
}
await gmail('Reporte carga masiva', 'lemuel@acatlan.unam.mx', mensaje);
await gmail('Reporte carga masiva', 'dscad@acatlan.unam.mx', mensaje);
await gmail('Reporte carga masiva', 'tramites.ss@acatlan.unam.mx', mensaje);
fs.unlinkSync(path);
});
return {
+5 -4
View File
@@ -1,9 +1,10 @@
const validar = require('../../helper/validar');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const { validarId } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const programasAdmin = async (body) => {
const idUsuario = validar.validarId(body.idUsuario);
const idUsuario = validarId(body.idUsuario);
return Usuario.findOne({
where: { idUsuario },
@@ -1,9 +1,10 @@
const validar = require('../../helper/validar');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const { validarId } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const programasResponsable = async (body) => {
const idUsuario = validar.validarId(body.idUsuario);
const idUsuario = validarId(body.idUsuario);
return Usuario.findOne({
where: { idUsuario },
@@ -0,0 +1,40 @@
const { validarId, validarCorreo } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Usuario = require(`${dbPath}/Usuario`);
const reasignarProgramas = async (body) => {
const idUsuario = validarId(body.idUsuario);
const correoOtroResponsable = validarCorreo(body.correoOtroResponsable);
let otorResponsable = {};
return Usuario.findOne({
where: { idUsuario },
})
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
if (res.idTipoUsuario != 2)
throw new Error('No es un usuario de tipo responsable');
if (res.usuario === correoOtroResponsable)
throw new Error('Son el mismo usuario.');
return Usuario.findOne({ where: { usuario: correoOtroResponsable } });
})
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
otorResponsable = res;
return Programa.update(
{ idUsuario },
{
where: { idUsuario: otorResponsable.idUsuario },
}
);
})
.then((res) =>
Usuario.destroy({ where: { idUsuario: otorResponsable.idUsuario } })
)
.then((res) => ({
message: `Se elimino correctamente al usuario ${correoOtroResponsable} y se reasigno correctamente sus programas.`,
}));
};
module.exports = reasignarProgramas;
+9 -8
View File
@@ -1,13 +1,14 @@
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
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 Programa = require('../../db/tablas/Programa');
const { validarId } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
const Usuario = require(`${dbPath}/Usuario`);
const admin = async (body) => {
const idServicio = validar.validarId(body.idServicio);
const idServicio = validarId(body.idServicio);
return Servicio.findOne({
where: { idServicio },
+8 -7
View File
@@ -1,13 +1,14 @@
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const Status = require('../../db/tablas/Status');
const Programa = require('../../db/tablas/Programa');
const { validarId } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
const alumno = async (body) => {
let idUsuario = validar.validarId(body.idUsuario);
let idUsuario = validarId(body.idUsuario);
return Usuario.findOne({ where: { idUsuario } })
.then((res) => {
+8 -6
View File
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const cancelar = async (body) => {
const idServicio = validar.validarId(body.idServicio);
@@ -1,5 +1,6 @@
const validar = require('../../helper/validar');
const drive = require('../../helper/drive');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const Servicio = require('../../db/tablas/Servicio');
const cartaTermino = async (body, file) => {
+3 -2
View File
@@ -1,5 +1,6 @@
const validar = require('../../helper/validar');
const drive = require('../../helper/drive');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const Servicio = require('../../db/tablas/Servicio');
const cartaTermino = async (body, file) => {
+25 -25
View File
@@ -1,17 +1,19 @@
const fs = require('fs');
const moment = require('moment');
const { convertArrayToCSV } = require('convert-array-to-csv');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const helperPath = '../../helper';
const helper = require(`${helperPath}/helper`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const gustavoBazPrada = async (body) => {
const year = validar.validarNumero(body.year, 4);
const inicio = moment(`${year}-01-31`);
const fin = moment(`${parseInt(year) + 1}-01-31`);
const path = `csv/${year}_gustavo_baz_prada.csv`;
const path = `server/uploads/${year}_gustavo_baz_prada.csv`;
const data = [];
return Servicio.findAll({
@@ -22,27 +24,25 @@ const gustavoBazPrada = async (body) => {
],
},
include: [{ model: Usuario }, { model: Carrera }],
}).then((res) => {
for (let i = 0; i < res.length; i++)
data.push({
numeroCuenta: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
licenciatura: res[i].Carrera.carrera,
correo: res[i].correo,
fechaLiberacion: validar.crearDDMMAAAA(res[i].fechaLiberacion),
order: [['fechaLiberacion']],
})
.then(async (res) => {
for (let i = 0; i < res.length; i++)
data.push({
numeroCuenta: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
licenciatura: res[i].Carrera.carrera,
correo: res[i].correo,
fechaLiberacion: helper.crearDDMMAAAA(res[i].fechaLiberacion),
});
await helper.eliminarArchivo(path).catch((err) => {
console.log(err);
});
try {
fs.unlinkSync(path);
} catch (err) {
console.log(err);
}
fs.appendFile(path, convertArrayToCSV(data), (err) => {
if (err) throw new Error(err);
return helper.crearArchivo(path, convertArrayToCSV(data));
})
.then((res) => {
return path;
});
return {
message: `Se creo/actualizo correctamente el csv del reporte Gustavo Baz Prada.`,
};
});
};
module.exports = gustavoBazPrada;
+3 -2
View File
@@ -1,5 +1,6 @@
const validar = require('../../helper/validar');
const drive = require('../../helper/drive');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const Servicio = require('../../db/tablas/Servicio');
const informeGlobal = async (body, file) => {
+9 -7
View File
@@ -1,14 +1,16 @@
const moment = require('moment');
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const liberacion = async (body) => {
const idServicio = validar.validarId(body.idServicio);
const update = { idStatus: 6, fechaLiberacion: moment() };
const update = { idStatus: 6, fechaLiberacion: moment().format() };
let correo = {};
return Servicio.findOne({
+10 -8
View File
@@ -1,10 +1,12 @@
const { Op } = require('sequelize');
const drive = require('../../helper/drive');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const Carrera = require('../../db/tablas/Carrera');
const validar = require('../../helper/validar');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const nuevo = async (body, file) => {
const idUsuario = validar.validarId(body.idUsuario);
@@ -68,8 +70,8 @@ const nuevo = async (body, file) => {
idCarrera,
creditos,
correo,
fechaInicio,
fechaFin,
fechaInicio: fechaInicio.format(),
fechaFin: fechaFin.format(),
carpeta,
cartaAceptacion: res,
profesor,
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const cancelar = async (body) => {
const idServicio = validar.validarId(body.idServicio);
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const cancelar = async (body) => {
const idServicio = validar.validarId(body.idServicio);
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const cancelar = async (body) => {
const idServicio = validar.validarId(body.idServicio);
+8 -6
View File
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const encriptar = require('../../helper/encriptar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const encriptar = require(`${helperPath}/encriptar`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const registro = async (body) => {
const idServicio = validar.validarId(body.idServicio);
@@ -1,9 +1,11 @@
const validar = require('../../helper/validar');
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Programa = require('../../db/tablas/Programa');
const helperPath = '../../helper';
const correos = require(`${helperPath}/correos`);
const gmail = require(`${helperPath}/gmail`);
const validar = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Usuario = require(`${dbPath}/Usuario`);
const registroValidado = async (body) => {
const idServicio = validar.validarId(body.idServicio);
+39 -39
View File
@@ -1,24 +1,26 @@
const fs = require('fs');
const { convertArrayToCSV } = require('convert-array-to-csv');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
const Programa = require('../../db/tablas/Programa');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const Status = require('../../db/tablas/Status');
const helperPath = '../../helper';
const helper = require(`${helperPath}/helper`);
const { validarFecha } = require(`${helperPath}/validar`);
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
const reporte = async (body) => {
const inicio = validar.validarFecha(body.inicio);
const fin = validar.validarFecha(body.fin);
const path = `csv/reporte.csv`;
const inicio = validarFecha(body.inicio);
const fin = validarFecha(body.fin);
const path = `server/uploads/reporte.csv`;
const data = [];
return Servicio.findAll({
where: {
[Op.and]: [
{ fechaInicio: { [Op.gte]: inicio } },
{ fechaInicio: { [Op.lte]: fin } },
{ fechaInicio: { [Op.gte]: inicio.format() } },
{ fechaInicio: { [Op.lte]: fin.format() } },
],
},
include: [
@@ -27,35 +29,33 @@ const reporte = async (body) => {
{ model: Carrera },
{ model: Status },
],
}).then((res) => {
for (let i = 0; i < res.length; i++)
data.push({
numeroCuenta: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
licenciatura: res[i].Carrera.carrera,
correo: res[i].correo,
fechaInicio: validar.crearDDMMAAAA(res[i].fechaInicio),
fechaFin: validar.crearDDMMAAAA(res[i].fechaFin),
fechaLiberacion: validar.crearDDMMAAAA(res[i].fechaLiberacion),
institucion: res[i].Programa.institucion,
dependencia: res[i].Programa.dependencia,
programa: res[i].Programa.programa,
profesor: res[i].profesor,
clave: res[i].Programa.clavePrograma,
status: res[i].Status.status,
order: [['fechaInicio']],
})
.then(async (res) => {
for (let i = 0; i < res.length; i++)
data.push({
numeroCuenta: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
licenciatura: res[i].Carrera.carrera,
correo: res[i].correo,
fechaInicio: helper.crearDDMMAAAA(res[i].fechaInicio),
fechaFin: helper.crearDDMMAAAA(res[i].fechaFin),
fechaLiberacion: helper.crearDDMMAAAA(res[i].fechaLiberacion),
institucion: res[i].Programa.institucion,
dependencia: res[i].Programa.dependencia,
programa: res[i].Programa.programa,
profesor: res[i].profesor,
clave: res[i].Programa.clavePrograma,
status: res[i].Status.status,
});
await helper.eliminarArchivo(path).catch((err) => {
console.log(err);
});
try {
fs.unlinkSync(path);
} catch (err) {
console.log(err);
}
fs.appendFile(path, convertArrayToCSV(data), (err) => {
if (err) throw new Error(err);
return helper.crearArchivo(path, convertArrayToCSV(data));
})
.then((res) => {
return path;
});
return {
message: `Se creo/actualizo correctamente el csv del reporte de servicios sociales.`,
};
});
};
module.exports = reporte;
+28 -27
View File
@@ -1,13 +1,14 @@
const moment = require('moment');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const Status = require('../../db/tablas/Status');
const TipoUsuario = require('../../db/tablas/TipoUsuario');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
const serviciosAdmin = async (body) => {
const pagina = validar.validarId(body.pagina);
const pagina = validar.validarNumero(body.pagina, true);
const where = body.idStatus
? { idStatus: validar.validarId(body.idStatus) }
: {};
@@ -17,43 +18,43 @@ const serviciosAdmin = async (body) => {
const numeroCuenta = body.numeroCuenta
? validar.validarNumeroCuenta(body.numeroCuenta)
: '';
const data = [];
return Servicio.findAll({
return Servicio.findAndCountAll({
include: [
{
model: Usuario,
include: { model: TipoUsuario },
where: {
usuario: { [Op.like]: `%${numeroCuenta}%` },
nombre: { [Op.like]: `%${nombre}%` },
[Op.and]: [
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
{ nombre: { [Op.like]: `%${nombre}%` } },
],
},
},
{ model: Carrera },
{ model: Status, where },
],
order: [['updatedAt', 'DESC']],
limit: 25,
offset: 25 * (pagina - 1),
}).then((res) => {
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
let data = [];
for (let i = 0; i < res.rows.length; i++) {
data.push({
idServicio: res[i].idServicio,
fechaInicio: res[i].fechaInicio,
fechaFin: res[i].fechaFin,
createdAt: res[i].createdAt,
idServicio: res.rows[i].idServicio,
fechaInicio: moment(res.rows[i].fechaInicio).format(),
fechaFin: moment(res.rows[i].fechaFin).format(),
createdAt: moment(res.rows[i].createdAt).format(),
Usuario: {
idUsuario: res[i].Usuario.idUsuario,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
TipoUsuario: res[i].Usuario.TipoUsuario,
idUsuario: res.rows[i].Usuario.idUsuario,
usuario: res.rows[i].Usuario.usuario,
nombre: res.rows[i].Usuario.nombre,
},
Carrera: res[i].Carrera,
Status: res[i].Status,
Carrera: res.rows[i].Carrera,
Status: res.rows[i].Status,
});
return {
registros: res.length,
faltantes: res.length - data.length - (pagina - 1) * 25,
servicios: data,
};
}
return { count: res.count, serviciosAdmin: data };
});
};
@@ -1,14 +1,15 @@
const moment = require('moment');
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Servicio = require('../../db/tablas/Servicio');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const Status = require('../../db/tablas/Status');
const TipoUsuario = require('../../db/tablas/TipoUsuario');
const Programa = require('../../db/tablas/Programa');
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const Programa = require(`${dbPath}/Programa`);
const Servicio = require(`${dbPath}/Servicio`);
const Status = require(`${dbPath}/Status`);
const Usuario = require(`${dbPath}/Usuario`);
const serviciosResponsable = async (body) => {
const pagina = validar.validarId(body.pagina);
const pagina = validar.validarNumero(body.pagina, true);
const idUsuario = validar.validarId(body.idUsuario);
const where = body.idStatus
? { idStatus: validar.validarId(body.idStatus) }
@@ -20,52 +21,52 @@ const serviciosResponsable = async (body) => {
const numeroCuenta = body.numeroCuenta
? validar.validarNumeroCuenta(body.numeroCuenta)
: '';
const data = [];
return Usuario.findOne({ where: { idUsuario } })
.then((res) => {
if (!res) throw new Error('No existe este usuario.');
if (res.idTipoUsuario !== 2)
throw new Error('No es un usuario tipo responsable.');
return Servicio.findAll({
return Servicio.findAndCountAll({
include: [
{ model: Programa, where: { idUsuario } },
{
model: Usuario,
include: { model: TipoUsuario },
where: {
usuario: { [Op.like]: `%${numeroCuenta}%` },
nombre: { [Op.like]: `%${nombre}%` },
[Op.and]: [
{ usuario: { [Op.like]: `%${numeroCuenta}%` } },
{ nombre: { [Op.like]: `%${nombre}%` } },
],
},
},
{ model: Carrera },
{ model: Status, where },
],
order: [['updatedAt', 'DESC']],
limit: 25,
offset: 25 * (pagina - 1),
});
})
.then((res) => {
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++)
let data = [];
for (let i = 0; i < res.rows.length; i++) {
data.push({
idServicio: res[i].idServicio,
fechaInicio: res[i].fechaInicio,
fechaFin: res[i].fechaFin,
cartaTermino: res[i].cartaTermino,
idCuestionarioPrograma: res[i].idCuestionarioPrograma,
idServicio: res.rows[i].idServicio,
fechaInicio: moment(res.rows[i].fechaInicio).format(),
fechaFin: moment(res.rows[i].fechaFin).format(),
cartaTermino: res.rows[i].cartaTermino,
idCuestionarioPrograma: res.rows[i].idCuestionarioPrograma,
Usuario: {
idUsuario: res[i].Usuario.idUsuario,
usuario: res[i].Usuario.usuario,
nombre: res[i].Usuario.nombre,
TipoUsuario: res[i].Usuario.TipoUsuario,
idUsuario: res.rows[i].Usuario.idUsuario,
usuario: res.rows[i].Usuario.usuario,
nombre: res.rows[i].Usuario.nombre,
},
Carrera: res[i].Carrera,
Status: res[i].Status,
Carrera: res.rows[i].Carrera,
Status: res.rows[i].Status,
});
return {
registros: res.length,
faltantes: res.length - data.length - (pagina - 1) * 25,
servicios: data,
};
}
return { count: res.count, serviciosResponsable: data };
});
};
+4 -3
View File
@@ -1,5 +1,6 @@
const drive = require('../../helper/drive');
const validar = require('../../helper/validar');
const helperPath = '../../helper';
const drive = require(`${helperPath}/drive`);
const validar = require(`${helperPath}/validar`);
const Servicio = require('../../db/tablas/Servicio');
const update = async (body, files) => {
@@ -51,7 +52,7 @@ const update = async (body, files) => {
);
if (body.telefono)
dataUpdate.telefono = validar.validarNumero(body.telefono, 15);
if (validar.isObjectEmpty(dataUpdate))
if (validar.validarObjetoVacio(dataUpdate))
throw new Error(
'No se envio nada para actualizar este Servicio Social'
);
+5 -5
View File
@@ -1,8 +1,9 @@
require('../../config/config');
const validar = require('../../helper/validar');
const axios = require('axios');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const { validarNumeroCuenta } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Usuario = require(`${dbPath}/Usuario`);
const Carrera = require(`${dbPath}/Carrera`);
const creditosCarreras = [
{ carrera: 'LIC. EN ACTUARIA', creditos: 70 },
{ carrera: 'LIC. EN ARQUITECTURA', creditos: 70 },
@@ -32,7 +33,7 @@ const creditosCarreras = [
];
const escolares = async (body) => {
const numeroCuenta = validar.validarNumeroCuenta(body.numeroCuenta);
const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
let alumno;
return axios({
@@ -63,7 +64,6 @@ const escolares = async (body) => {
alumno.nombre = alumno.nombre.replace('Ã', 'Ñ');
alumno.nombre = alumno.nombre.replace('‘', '');
}
return Carrera.findOne({ where: { carrera: alumno.carrera } });
})
.then((res) => {
+6 -5
View File
@@ -1,14 +1,15 @@
const encriptar = require('../../helper/encriptar');
const validar = require('../../helper/validar');
const { crearToken } = require('../../middleware/autentificacion');
const Usuario = require('../../db/tablas/Usuario');
const TipoUsuario = require('../../db/tablas/TipoUsuario');
const { comparar } = require('../../helper/encriptar');
const dbPath = '../../db/tablas';
const Usuario = require(`${dbPath}/Usuario`);
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
const login = async (body) => {
const usuario = validar.validar(body.usuario, 'El usuario', 60);
const password = validar.validarAlfanumerico(
body.password,
'El password',
'La contraseña',
20
);
@@ -18,7 +19,7 @@ const login = async (body) => {
}).then((res) => {
if (!res) throw new Error('No existe este usuario.');
if (!res.activo) throw new Error('Este usuario no esta activo.');
if (encriptar.comparar(password, res.password)) {
if (comparar(password, res.password)) {
delete res.dataValues.password;
delete res.dataValues.activo;
return {
@@ -1,12 +1,14 @@
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const encriptar = require('../../helper/encriptar');
const validar = require('../../helper/validar');
const Usuario = require('../../db/tablas/Usuario');
const Servicio = require('../../db/tablas/Servicio');
const helperPath = '../../helper';
const { validarId } = require(`${helperPath}/validar`);
const gmail = require(`${helperPath}/gmail`);
const correos = require(`${helperPath}/correos`);
const encriptar = require(`${helperPath}/encriptar`);
const dbPath = '../../db/tablas';
const Usuario = require(`${dbPath}/Usuario`);
const Servicio = require(`${dbPath}/Servicio`);
const newPasswordAlumno = async (body) => {
const idServicio = validar.validarId(body.idServicio);
const idServicio = validarId(body.idServicio);
const password = encriptar.generarPassword();
let idUsuario;
let correo = {};
@@ -1,11 +1,12 @@
const gmail = require('../../helper/gmail');
const correos = require('../../helper/correos');
const encriptar = require('../../helper/encriptar');
const validar = require('../../helper/validar');
const helperPath = '../../helper';
const { validarId } = require(`${helperPath}/validar`);
const gmail = require(`${helperPath}/gmail`);
const correos = require(`${helperPath}/correos`);
const encriptar = require(`${helperPath}/encriptar`);
const Usuario = require('../../db/tablas/Usuario');
const newPasswordResponsable = async (body) => {
const idUsuario = await validar.validarId(body.idUsuario);
const idUsuario = await validarId(body.idUsuario);
const password = encriptar.generarPassword();
let correo = {};
+7 -28
View File
@@ -1,36 +1,15 @@
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const { validarId } = require('../../helper/validar');
const Usuario = require('../../db/tablas/Usuario');
const TipoUsuario = require('../../db/tablas/TipoUsuario');
const responsable = async (body) => {
const pagina = validar.validarId(body.pagina);
const nombre = body.nombre
? validar.validarTexto(body.nombre, 'El nombre', 60)
: '';
const correo = body.correo
? validar.validar(body.correo, 'El correo', 1000)
: '';
const data = [];
const idUsuario = validarId(body.idUsuario);
return Usuario.findAll({
where: {
usuario: { [Op.like]: `%${correo}%` },
nombre: { [Op.like]: `%${nombre}%` },
idTipoUsuario: 2,
},
include: [{ model: TipoUsuario }],
return Usuario.findOne({
where: { idUsuario },
}).then((res) => {
for (let i = pagina * 25 - 25; i < res.length && i < pagina * 25; i++) {
delete res[i].dataValues.password;
delete res[i].dataValues.idTipoUsuario;
data.push(res[i]);
}
return {
registros: res.length,
faltantes: res.length - data.length - (pagina - 1) * 25,
servicios: data,
};
delete res.dataValues.password;
delete res.dataValues.idTipoUsuario;
return res;
});
};
@@ -11,7 +11,7 @@ const responsableUpdate = async (body) => {
if (!res)
throw new Error('No existe este responsable en la base de datos.');
if (res.idTipoUsuario !== 2)
throw new Error('No es un usuaior de tipo responasble.');
throw new Error('Este usuario no es un responsable de programa.');
if (body.correo) {
const yaUsado = await Usuario.findOne({
where: { usuario: body.correo, idUsuario: { [Op.not]: idUsuario } },
@@ -26,7 +26,7 @@ const responsableUpdate = async (body) => {
if (body.nombre)
dataUpdate.nombre = validar.validarTexto(body.nombre, 'el nombre', 70);
if (validar.isObjectEmpty(dataUpdate))
if (validar.validarObjetoVacio(dataUpdate))
throw new Error('No se a envio nada para actualizar.');
return Usuario.update(dataUpdate, { where: { idUsuario } });
})
+33
View File
@@ -0,0 +1,33 @@
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
const Usuario = require('../../db/tablas/Usuario');
const responsables = async (body) => {
const pagina = validar.validarNumero(body.pagina, true);
const nombre = body.nombre
? validar.validarTexto(body.nombre, 'El nombre', 60)
: '';
const correo = body.correo
? validar.validar(body.correo, 'El correo', 1000)
: '';
return Usuario.findAndCountAll({
where: {
[Op.and]: [
{ usuario: { [Op.like]: `%${correo}%` } },
{ nombre: { [Op.like]: `%${nombre}%` } },
{ idTipoUsuario: 2 },
],
},
limit: 25,
offset: 25 * (pagina - 1),
}).then((res) => {
for (let i = 0; i < res.rows.length; i++) {
delete res.rows[i].dataValues.password;
delete res.rows[i].dataValues.idTipoUsuario;
}
return { count: res.count, responsables: res.rows };
});
};
module.exports = responsables;
+45 -52
View File
@@ -3,75 +3,68 @@ const encriptar = require('../helper/encriptar');
const Usuario = require('./tablas/Usuario');
const Programa = require('./tablas/Programa');
const correos = [
'lemuel@acatlan.unam.mx',
'araceliperezpalma@gmail.com',
'nol_123@hotmail.es',
'adrianaroquedelangel@gmail.com',
'lucel21@hotmail.com',
'cidwa1@acatlan.unam.mx',
// 'dscad@acatlan.unam.mx',
'417095552@pcpuma.acatlan.unam.mx',
// 'Jefaturassbt@acatlan.unam.mx',
// 'tramites.ss@acatlan.unam.mx',
];
const nombres = [
'Lemuel',
'Araceli',
'Noli',
'Adriana',
'Lulu',
'Cidwa',
// 'dscad',
'Noli Acatlan',
// 'Jefatura',
// 'Tramites',
];
const correosExt = ['lemuel@acatlan.unam.mx'];
const correosInt = ['cidwa1@pcpuma.acatlan.unam.mx'];
const nombresExt = ['Lemuel Rosas'];
const nombresInt = ['Lemuel Márquez'];
const dataResponsable = async () => {
console.log('\nPaso 1) Instalando Responsables falsos.'.bold.blue);
for (let i = 0; i < correos.length; i++) {
const dataResponsableExt = async () => {
console.log('\nPaso 1) Instalando Responsables Externos falsos.'.bold.blue);
for (let i = 0; i < correosExt.length; i++) {
await Usuario.create({
usuario: correos[i],
usuario: correosExt[i],
idTipoUsuario: 2,
nombre: nombres[i],
nombre: nombresExt[i],
password: encriptar.encriptar('qwertyui'),
activo: true,
}).then(async (res) => {
console.log(`Se inserto el responsable ${nombres[i]}`.magenta);
if (i < 5) {
for (let j = 1; j <= 5; j++) {
await Programa.create({
institucion: `Institucion Falsa ${i + 1}`,
dependencia: `Dependencia Falsa ${j - i + 1}`,
programa: `Programa Falso ${j}`,
clavePrograma: `2020-${j}/${i + j + 1}-${i + j + 1}`,
idUsuario: res.dataValues.idUsuario,
});
console.log(
`Se inserto el programa ${j} del responsable ${i + 1}`.magenta
);
}
} else {
console.log(`Se inserto al responsable ${nombresExt[i]}`.magenta);
for (let j = 1; j <= 5; j++) {
await Programa.create({
institucion: `UNAM`,
dependencia: `FES Acatlán`,
programa: `Acatlán Contigo`,
clavePrograma: `2020-12/20-91`,
acatlan: true,
institucion: `Institucion Falsa ${i + 1}`,
dependencia: `Dependencia Falsa ${j - i + 1}`,
programa: `Programa Falso ${j}`,
clavePrograma: `2020-${j}/${i + j + 1}-${i + j + 1}`,
idUsuario: res.dataValues.idUsuario,
});
console.log(
`Se inserto el programa Acatlan Contigo del responsable ${i + 1}`
.magenta
`Se inserto el programa ${j} del responsable ${i + 1}`.magenta
);
}
});
}
};
const dataResponsableInt = async () => {
console.log('\nPaso 1) Instalando Responsables Internos falsos.'.bold.blue);
for (let i = 0; i < correosInt.length; i++) {
await Usuario.create({
usuario: correosInt[i],
idTipoUsuario: 2,
nombre: nombresInt[i],
password: encriptar.encriptar('qwertyui'),
activo: true,
}).then(async (res) => {
console.log(`Se inserto sl responsable ${nombresInt[i]}`.magenta);
await Programa.create({
institucion: `UNAM`,
dependencia: `FES Acatlán`,
programa: `Acatlán Contigo`,
clavePrograma: `2021-12/20-91`,
acatlan: true,
idUsuario: res.dataValues.idUsuario,
});
console.log(
`Se inserto el programa Acatlan Contigo del responsable ${i + 1}`
.magenta
);
});
}
};
const exec = async () => {
await dataResponsable();
await dataResponsableExt();
await dataResponsableInt();
console.log(
'\nSe ha instalado exitosamente la informacion falsa.\n'.underline.bold
.green
+1 -1
View File
@@ -80,7 +80,7 @@ const sync = async () => {
};
const dataTipoUsuario = async () => {
const data = ['admin', 'responsable', 'alumno', 'caso especial'];
const data = ['admin', 'responsable', 'alumno', 'casoEspecial'];
console.log('\nPaso 3) Instalando data de TipoUsuario.'.bold.blue);
for (let i = 0; i < data.length; i++) {
+2 -2
View File
@@ -137,9 +137,9 @@ const enviarSec = (secreto, usuariomail, nombre) => {
subject: `Estimado responsable de programa de servicio social: ${nombre}`,
msj: `Como ya se les había informado, en nuestra Facultad estamos en un proceso de actualización administrativa que implica la puesta en marcha de un nuevo sistema interno de servicio social en el cual estará el expediente electrónico del alumno y su seguimiento con respecto a estos trámites. La dirección electrónica de dicho sistema es https://iris.acatlan.unam.mx y su usuario y contraseña son:
Usuario para ingresar = ${usuariomail}
Usuario: ${usuariomail}
Contraseña = ${secreto}
Contraseña: ${secreto}
Le pedimos sea cuidadoso de sus claves de acceso ya que con ellos tiene la facultad para registrar el trámite de inicio y término de servicio social de nuestros alumnos, lo que genera un riesgo para malas prácticas si comparte sus datos con otras personas.
+44 -20
View File
@@ -1,37 +1,38 @@
const moment = require('moment');
const gmail = require('./gmail');
const correos = require('./correos');
const Servicio = require('../db/tablas/Servicio');
const Usuario = require('../db/tablas/Usuario');
const Programa = require('../db/tablas/Programa');
const gmail = require('./gmail');
const correos = require('./correos');
const now = moment();
const diario = async () => {
let mensaje = '';
const now = moment();
const servicios = await Servicio.findAll({
return Servicio.findAll({
where: { idStatus: 3 },
include: [
{ model: Usuario },
{ model: Programa, include: [{ model: Usuario }] },
],
});
}).then(async (servicios) => {
let mensaje = '';
for (let i = 0; i < servicios.length; i++) {
let fechaFin = moment(servicios[i].fechaFin);
let fechaFinDate = fechaFin.dayOfYear();
for (let i = 0; i < servicios.length; i++) {
let fechaFin = moment(servicios[i].fechaFin);
let fechaFinDate = fechaFin.dayOfYear();
if (fechaFin.year() > now.year())
fechaFinDate += 365 * (fechaFin.year() - now.year());
if (fechaFin.year() < now.year())
fechaFinDate -= 365 * (now.year() - fechaFin.year());
if (fechaFinDate - now.dayOfYear() === 7) {
let correoAlumno = correos.avisoTerminoAlumno(
servicios[i].Usuario.nombre
);
let correoResponsable = correos.avisoTerminoResponsable(
servicios[i].Usuario.nombre
);
if (fechaFin.year() > now.year())
fechaFinDate += 365 * (fechaFin.year() - now.year());
if (fechaFin.year() < now.year())
fechaFinDate -= 365 * (now.year() - fechaFin.year());
if (fechaFinDate - now.dayOfYear() === 7) {
let correoAlumno = correos.avisoTerminoAlumno(
servicios[i].Usuario.nombre
);
let correoResponsable = correos.avisoTerminoResponsable(
servicios[i].Usuario.nombre
);
<<<<<<< HEAD
mensaje += `Se envio correo al alumno ${servicios[i].Usuario.usuario} con id ${servicios[i].Usuario.idUsuario} al correo ${servicios[i].correo} y al responsable ${servicios[i].Programa.Usuario.nombre} con id ${servicios[i].Programa.Usuario.idUsuario} y correo ${servicios[i].Programa.Usuario.usuario}\n`;
await gmail(correoAlumno.subject, servicios[i].correo, correoAlumno.msj);
await gmail(
@@ -49,6 +50,29 @@ const diario = async () => {
}
await gmail('Reporte función diario', 'lemuel@acatlan.unam.mx', mensaje);
=======
mensaje += `Se envio correo al alumno ${servicios[i].Usuario.usuario} con id ${servicios[i].Usuario.idUsuario} al correo ${servicios[i].correo} y al responsable ${servicios[i].Programa.Usuario.nombre} con id ${servicios[i].Programa.Usuario.idUsuario} y correo ${servicios[i].Programa.Usuario.usuario}\n\n`;
await gmail(
correoAlumno.subject,
servicios[i].correo,
correoAlumno.msj
);
await gmail(
correoResponsable.subject,
servicios[i].Programa.Usuario.usuario,
correoResponsable.msj
);
} else if (fechaFinDate - now.dayOfYear() <= -1) {
mensaje += `El servicio con id ${servicios[i].idServicio} del alumno ${servicios[i].Usuario.usuario} con id ${servicios[i].Usuario.idUsuario} paso al status 4\n\n`;
await Servicio.update(
{ idStatus: 4 },
{ where: { idServicio: servicios[i].idServicio } }
);
}
}
return gmail('Reporte función diario', 'lemuel@acatlan.unam.mx', mensaje);
});
>>>>>>> d469b1cdc632486c7bd7cb62b183dc917bcf0c93
};
diario();
+11 -15
View File
@@ -133,44 +133,40 @@ const folder = async (numeroCuenta) => {
let pageToken = '';
do {
let response = await list(pageToken);
let files = response.files;
let res = await list(pageToken);
for (let i = 0; i < files.length; i++)
for (let i = 0; i < res.files.length; i++)
if (
files[i].name === numeroCuenta &&
files[i].mimeType === 'application/vnd.google-apps.folder'
res.files[i].name === numeroCuenta &&
res.files[i].mimeType === 'application/vnd.google-apps.folder'
)
return files[i].id;
pageToken = '';
if (response.nextPageToken) pageToken = response.nextPageToken;
return res.files[i].id;
pageToken = res.nextPageToken ? res.nextPageToken : '';
} while (pageToken);
return mkDir(numeroCuenta);
};
const borrarTodo = () => {
return list().then(async (res) => {
console.log(res);
console.log(res.files);
// for (let i = 0; i < res.files.length; i++)
// if (res.files[i].name !== 'Babyhelon') await deleteFile(res.files[i].id);
// if (res.files[i].id !== process.env.CARPETA)
// await deleteFile(res.files[i].id);
});
};
// borrarTodo();
const archivosFicheros = async () => {
let pageToken = '';
const pdf = [];
const carpetas = [];
let pageToken = '';
do {
let response = await list(pageToken);
console.log(response);
if (response.nextPageToken) pageToken = response.nextPageToken;
else pageToken = '';
pageToken = response.nextPageToken ? response.nextPageToken : '';
} while (pageToken);
return { pdf, carpetas };
};
+37
View File
@@ -0,0 +1,37 @@
const fs = require('fs');
const moment = require('moment');
const crearDDMMAAAA = (date) => {
const fechaMoment = moment(date);
let ddmmaaaa = '';
if (fechaMoment.isValid())
ddmmaaaa = `${fechaMoment.date()}/${
fechaMoment.month() + 1
}/${fechaMoment.year()}`;
return ddmmaaaa;
};
const eliminarArchivo = (path) => {
return new Promise((resolve, reject) => {
fs.unlink(path, (err) => {
if (err) reject(err);
resolve({ message: 'Se elimino el archivo correctamente.' });
});
});
};
const crearArchivo = (path, texto) => {
return new Promise((resolve, reject) => {
fs.appendFile(path, texto, (err) => {
if (err) reject(err);
resolve({ message: 'Se creo el archivo correctamente.' });
});
});
};
module.exports = {
crearDDMMAAAA,
eliminarArchivo,
crearArchivo,
};
+5 -15
View File
@@ -1,3 +1,4 @@
// const fs = require('fs');
const moment = require('moment');
const validator = require('validator');
const Servicio = require('../db/tablas/Servicio');
@@ -104,7 +105,7 @@ const validarFecha = (fecha) => {
return fechaMoment;
};
const validarNumero = (numero, length) => {
const validarNumero = (numero, makeNumber = false, length) => {
let campo = 'El numero';
noHay(numero, campo);
@@ -114,6 +115,7 @@ const validarNumero = (numero, length) => {
(length && numero.length > length)
)
noValido(campo);
if (makeNumber) return Number(numero);
return numero;
};
@@ -142,24 +144,13 @@ const validarAccesibilidad = (usuariosValidos = [], idTipoUsuario) => {
throw new Error('Este usuario no tiene permitido usar esta linea de la API.');
};
const isObjectEmpty = (obj) => {
const validarObjetoVacio = (obj) => {
for (let key in obj) {
if (obj.hasOwnProperty(key)) return false;
}
return true;
};
const crearDDMMAAAA = (date) => {
const fechaMoment = moment(date);
let ddmmaaaa = '';
if (fechaMoment.isValid())
ddmmaaaa = `${fechaMoment.date()}/${
fechaMoment.month() + 1
}/${fechaMoment.year()}`;
return ddmmaaaa;
};
module.exports = {
validar,
noValido,
@@ -174,6 +165,5 @@ module.exports = {
validarNumero,
validarPreTermino,
validarAccesibilidad,
isObjectEmpty,
crearDDMMAAAA,
validarObjetoVacio,
};
+13 -6
View File
@@ -6,13 +6,20 @@ const verificaToken = (req, res, next) => {
if (!token)
return res.status(400).json({
message: 'No hay token',
message: 'No se envio el token.',
});
jwt.verify(token, process.env.KEY, (err, decoded) => {
if (err)
return res.status(401).json({
message: err.message,
});
if (err) {
let message = '';
if (err.message === 'invalid signature')
message = 'El token no es valido. Inicia sesión de nuevo.';
if (err.message === 'jwt expired')
message = 'El token expiro. Inicia sesión de nuevo.';
if (err.message === 'jwt malformed')
message = 'Hubo un problema con el token. Inicia sesión de nuevo.';
return res.status(401).json({ message, err: 'token error' });
}
req.decoded = decoded;
next();
});
@@ -20,7 +27,7 @@ const verificaToken = (req, res, next) => {
const crearToken = (info) => {
return jwt.sign({ info }, process.env.KEY, {
expiresIn: process.env.CADUCIDAD_TOKEN,
expiresIn: Number(process.env.CADUCIDAD_TOKEN),
});
};
+20 -20
View File
@@ -1,20 +1,18 @@
const fs = require('fs');
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'server/uploads' });
const { verificaToken } = require('../middleware/autentificacion');
const { eliminarArchivo } = require('../helper/helper');
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 update = require('../controller/CasoEspecial/update');
const eliminarArchivo = (filename) => {
fs.unlinkSync(`./server/uploads/${filename}`);
};
const controllerPath = '../controller/CasoEspecial';
const casoEspecial = require(`${controllerPath}/casoEspecial`);
const liberacion = require(`${controllerPath}/liberacion`);
const nuevo = require(`${controllerPath}/nuevo`);
const serviciosEspeciales = require(`${controllerPath}/serviciosEspeciales`);
const update = require(`${controllerPath}/update`);
// POST
app.post(
`${route}/nuevo`,
// verificaToken,
@@ -31,16 +29,7 @@ app.post(
}
);
app.get(`${route}/servicios_especiales`, verificaToken, (req, res) => {
return serviciosEspeciales(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
// GET
app.get(`${route}`, verificaToken, (req, res) => {
return casoEspecial(req.query)
.then((data) => {
@@ -51,6 +40,17 @@ app.get(`${route}`, verificaToken, (req, res) => {
});
});
app.get(`${route}/servicios_especiales`, verificaToken, (req, res) => {
return serviciosEspeciales(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
// PUT
app.put(`${route}/liberacion`, verificaToken, (req, res) => {
return liberacion(req.body)
.then((data) => {
+6 -3
View File
@@ -2,9 +2,11 @@ const express = require('express');
const app = express();
const { verificaToken } = require('../middleware/autentificacion');
const route = '/cuestionario_alumno';
const nuevo = require('../controller/CuestionarioAlumno/nuevo');
const get = require('../controller/CuestionarioAlumno/get');
const controllerPath = '../controller/CuestionarioAlumno';
const get = require(`${controllerPath}/get`);
const nuevo = require(`${controllerPath}/nuevo`);
// POST
app.post(`${route}`, verificaToken, (req, res) => {
return nuevo(req.body)
.then((data) => {
@@ -15,10 +17,11 @@ app.post(`${route}`, verificaToken, (req, res) => {
});
});
// GET
app.get(`${route}`, verificaToken, (req, res) => {
return get(req.query)
.then((data) => {
res.status(200).json(data);
res.download(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
+6 -3
View File
@@ -2,9 +2,11 @@ const express = require('express');
const app = express();
const { verificaToken } = require('../middleware/autentificacion');
const route = '/cuestionario_programa';
const nuevo = require('../controller/CuestionarioPrograma/nuevo');
const get = require('../controller/CuestionarioPrograma/get');
const controllerPath = '../controller/CuestionarioPrograma';
const get = require(`${controllerPath}/get`);
const nuevo = require(`${controllerPath}/nuevo`);
// POST
app.post(`${route}`, verificaToken, (req, res) => {
return nuevo(req.body)
.then((data) => {
@@ -15,10 +17,11 @@ app.post(`${route}`, verificaToken, (req, res) => {
});
});
// GET
app.get(`${route}`, verificaToken, (req, res) => {
return get(req.query)
.then((data) => {
res.status(200).json(data);
res.download(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
+38 -23
View File
@@ -4,30 +4,13 @@ const app = express();
const upload = multer({ dest: 'server/uploads' });
const { verificaToken } = require('../middleware/autentificacion');
const route = '/programa';
const programasResponsable = require('../controller/Programa/programasResponsable');
const programasAdmin = require('../controller/Programa/programasAdmin');
const cargaMasiva = require('../controller/Programa/cargaMasiva');
app.get(`${route}/programas_responsable`, verificaToken, (req, res) => {
return programasResponsable(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/programas_admin`, verificaToken, (req, res) => {
return programasAdmin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
const controllerPath = '../controller/Programa';
const cargaMasiva = require(`${controllerPath}/cargaMasiva`);
const programasAdmin = require(`${controllerPath}/programasAdmin`);
const programasResponsable = require(`${controllerPath}/programasResponsable`);
const reasignarProgramas = require(`${controllerPath}/reasignarProgramas`);
// POST
app.post(
`${route}/carga_masiva`,
// verificaToken,
@@ -48,4 +31,36 @@ app.post(
}
);
// PUT
app.put(`${route}/reasignar_programas`, verificaToken, (req, res) => {
return reasignarProgramas(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
// GET
app.get(`${route}/programas_admin`, verificaToken, (req, res) => {
return programasAdmin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/programas_responsable`, verificaToken, (req, res) => {
return programasResponsable(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
module.exports = app;
+87 -87
View File
@@ -1,33 +1,31 @@
const fs = require('fs');
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'server/uploads' });
const { verificaToken } = require('../middleware/autentificacion');
const { eliminarArchivo } = require('../helper/helper');
const route = '/servicio';
const nuevo = require('../controller/Servicio/nuevo');
const serviciosAdmin = require('../controller/Servicio/serviciosAdmin');
const serviciosResponsable = require('../controller/Servicio/serviciosResponsable');
const admin = require('../controller/Servicio/admin');
const alumno = require('../controller/Servicio/alumno');
const cancelar = require('../controller/Servicio/cancelar');
const registro = require('../controller/Servicio/registro');
const registroValidado = require('../controller/Servicio/registroValidado');
const cartaAceptacion = require('../controller/Servicio/cartaAceptacion');
const cartaTermino = require('../controller/Servicio/cartaTermino');
const informeGlobal = require('../controller/Servicio/informeGlobal');
const liberacion = require('../controller/Servicio/liberacion');
const rechazarAceptacion = require('../controller/Servicio/rechazarAceptacion');
const rechazarTermino = require('../controller/Servicio/rechazarTermino');
const rechazarInforme = require('../controller/Servicio/rechazarInforme');
const update = require('../controller/Servicio/update');
const reporte = require('../controller/Servicio/reporte');
const gustavoBazPrada = require('../controller/Servicio/gustavoBazPrada');
const eliminarArchivo = (filename) => {
fs.unlinkSync(`./server/uploads/${filename}`);
};
const controllerPath = '../controller/Servicio';
const nuevo = require(`${controllerPath}/nuevo`);
const serviciosAdmin = require(`${controllerPath}/serviciosAdmin`);
const serviciosResponsable = require(`${controllerPath}/serviciosResponsable`);
const admin = require(`${controllerPath}/admin`);
const alumno = require(`${controllerPath}/alumno`);
const cancelar = require(`${controllerPath}/cancelar`);
const registro = require(`${controllerPath}/registro`);
const registroValidado = require(`${controllerPath}/registroValidado`);
const cartaAceptacion = require(`${controllerPath}/cartaAceptacion`);
const cartaTermino = require(`${controllerPath}/cartaTermino`);
const informeGlobal = require(`${controllerPath}/informeGlobal`);
const liberacion = require(`${controllerPath}/liberacion`);
const rechazarAceptacion = require(`${controllerPath}/rechazarAceptacion`);
const rechazarTermino = require(`${controllerPath}/rechazarTermino`);
const rechazarInforme = require(`${controllerPath}/rechazarInforme`);
const update = require(`${controllerPath}/update`);
const reporte = require(`${controllerPath}/reporte`);
const gustavoBazPrada = require(`${controllerPath}/gustavoBazPrada`);
// POST
app.post(
`${route}/nuevo`,
// verificaToken,
@@ -44,6 +42,47 @@ app.post(
}
);
// GET
app.get(`${route}/admin`, verificaToken, (req, res) => {
return admin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/alumno`, verificaToken, (req, res) => {
return alumno(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/gustavo_baz_prada`, verificaToken, (req, res) => {
return gustavoBazPrada(req.query)
.then((data) => {
res.download(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/reporte`, verificaToken, (req, res) => {
return reporte(req.query)
.then((data) => {
res.download(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/servicios_admin`, verificaToken, (req, res) => {
return serviciosAdmin(req.query)
.then((data) => {
@@ -64,46 +103,7 @@ app.get(`${route}/servicios_responsable`, verificaToken, (req, res) => {
});
});
app.get(`${route}/admin`, verificaToken, (req, res) => {
return admin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/alumno`, verificaToken, (req, res) => {
return alumno(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/reporte`, verificaToken, (req, res) => {
return reporte(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/gustavo_bas_prada`, verificaToken, (req, res) => {
return gustavoBazPrada(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
// PUT
app.put(`${route}/cancelar`, verificaToken, (req, res) => {
return cancelar(req.body)
.then((data) => {
@@ -114,26 +114,6 @@ app.put(`${route}/cancelar`, verificaToken, (req, res) => {
});
});
app.put(`${route}/registro`, verificaToken, (req, res) => {
return registro(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/registro_validado`, verificaToken, (req, res) => {
return registroValidado(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(
`${route}/carta_aceptacion`,
// verificaToken,
@@ -192,6 +172,26 @@ app.put(`${route}/liberacion`, verificaToken, (req, res) => {
});
});
app.put(`${route}/registro`, verificaToken, (req, res) => {
return registro(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/registro_validado`, verificaToken, (req, res) => {
return registroValidado(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/rechazar_aceptacion`, verificaToken, (req, res) => {
return rechazarAceptacion(req.body)
.then((data) => {
@@ -202,8 +202,8 @@ app.put(`${route}/rechazar_aceptacion`, verificaToken, (req, res) => {
});
});
app.put(`${route}/rechazar_termino`, verificaToken, (req, res) => {
return rechazarTermino(req.body)
app.put(`${route}/rechazar_informe`, verificaToken, (req, res) => {
return rechazarInforme(req.body)
.then((data) => {
res.status(200).json(data);
})
@@ -212,8 +212,8 @@ app.put(`${route}/rechazar_termino`, verificaToken, (req, res) => {
});
});
app.put(`${route}/rechazar_informe`, verificaToken, (req, res) => {
return rechazarInforme(req.body)
app.put(`${route}/rechazar_termino`, verificaToken, (req, res) => {
return rechazarTermino(req.body)
.then((data) => {
res.status(200).json(data);
})
+1 -1
View File
@@ -10,7 +10,7 @@ app.get(`${route}`, verificaToken, (req, res) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json(err);
res.status(400).json({ message: err.message });
});
});
+23 -8
View File
@@ -2,13 +2,16 @@ const express = require('express');
const app = express();
const { verificaToken } = require('../middleware/autentificacion');
const route = '/usuario';
const escolares = require('../controller/Usuario/escolares');
const login = require('../controller/Usuario/login');
const responsable = require('../controller/Usuario/responsable');
const responsableUpdate = require('../controller/Usuario/responsableUpdate');
const newPasswordAlumno = require('../controller/Usuario/newPasswordAlumno');
const newPasswordResponsable = require('../controller/Usuario/newPasswordResponsable');
const controllerPath = '../controller/Usuario';
const escolares = require(`${controllerPath}/escolares`);
const login = require(`${controllerPath}/login`);
const newPasswordAlumno = require(`${controllerPath}/newPasswordAlumno`);
const newPasswordResponsable = require(`${controllerPath}/newPasswordResponsable`);
const responsable = require(`${controllerPath}/responsable`);
const responsables = require(`${controllerPath}/responsables`);
const responsableUpdate = require(`${controllerPath}/responsableUpdate`);
// POST
app.post(`${route}/login`, (req, res) => {
return login(req.body)
.then((data) => {
@@ -19,6 +22,7 @@ app.post(`${route}/login`, (req, res) => {
});
});
// GET
app.get(`${route}/escolares`, verificaToken, (req, res) => {
return escolares(req.query)
.then((data) => {
@@ -39,8 +43,8 @@ app.get(`${route}/responsable`, verificaToken, (req, res) => {
});
});
app.put(`${route}/responsable/update`, verificaToken, (req, res) => {
return responsableUpdate(req.body)
app.get(`${route}/responsables`, verificaToken, (req, res) => {
return responsables(req.query)
.then((data) => {
res.status(200).json(data);
})
@@ -49,6 +53,7 @@ app.put(`${route}/responsable/update`, verificaToken, (req, res) => {
});
});
// PUT
app.put(`${route}/new_password_alumno`, verificaToken, (req, res) => {
return newPasswordAlumno(req.body)
.then((data) => {
@@ -69,4 +74,14 @@ app.put(`${route}/new_password_responsable`, verificaToken, (req, res) => {
});
});
app.put(`${route}/responsable/update`, verificaToken, (req, res) => {
return responsableUpdate(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
module.exports = app;
+4 -4
View File
@@ -1,12 +1,12 @@
const express = require('express');
const app = express();
app.use(require('./Status'));
app.use(require('./Usuario'));
app.use(require('./Servicio'));
app.use(require('./CasoEspecial'));
app.use(require('./Programa'));
app.use(require('./CuestionarioAlumno'));
app.use(require('./CuestionarioPrograma'));
app.use(require('./Programa'));
app.use(require('./Servicio'));
app.use(require('./Status'));
app.use(require('./Usuario'));
module.exports = app;