catalogos dia hora

This commit is contained in:
Lemuel Marquez
2021-07-09 21:00:13 -05:00
parent 792461a8c5
commit ede614dee7
7 changed files with 218 additions and 1082 deletions
+3 -1
View File
@@ -1,3 +1,5 @@
node_modules/
.env
.env
server/db/alumnos_segundo.csv
+103 -1026
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -17,13 +17,12 @@
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.0.1",
"body-parser": "^1.19.0",
"colors": "^1.4.0",
"cors": "^2.8.5",
"csvtojson": "^2.0.10",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mariadb": "^2.5.3",
"moment": "^2.29.1",
"sequelize": "^6.6.2",
+15
View File
@@ -0,0 +1,15 @@
const csv = require('csvtojson');
const { Op } = require('sequelize');
const dbPath = './db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const TercerSemestre = require(`${dbPath}/TercerSemestre`);
const cargaMasiva = async () => {
const path = `server/db/alumnos_segundo.csv`;
await csv()
.fromFile(path)
.then(async (alumnos) => {});
};
cargaMasiva();
+81 -3
View File
@@ -1,5 +1,6 @@
require('../config/config');
const colors = require('colors');
const { min } = require('./tablas/Carrera');
const Carrera = require('./tablas/Carrera');
const Dia = require('./tablas/Dia');
const DiaHora = require('./tablas/DiaHora');
@@ -66,16 +67,93 @@ const sync = async () => {
};
const dataCarrera = async () => {
const data = [];
const data = [
'ACTUARÍA',
'ARQUITECTURA',
'CIENCIAS POLÍTICAS Y ADMON. PÚBLICA',
'COMUNICACIÓN',
'DERECHO',
'DERECHO (SUA)',
'DISEÑO GRÁFICO',
'ECONOMÍA',
'ENSEÑANZA DE ESPAÑOL(LENG EXTRANJERA)SUA',
'ENSEÑANZA DE FRANCES(LENG EXTRANJERA)SUA',
'ENSEÑANZA DE INGLÉS',
'ENSEÑANZA DE INGLES (LENG EXTRANJERA)SUA',
'ENSEÑANZA DE ITALIANO(LENG EXTRANJ.) SUA',
'FILOSOFÍA',
'HISTORIA',
'INGENIERÍA CIVIL',
'LENGUA Y LITERATURA HISPÁNICAS',
'MATEMÁTICAS. APL. Y COMP. (1999)',
'PEDAGOGÍA',
'RELACIONES INTERNACIONALES',
'RELACIONES INTERNACIONALES (SUA)',
'SOCIOLOGÍA',
];
console.log('\nPaso 3) Instalando catalogo carrera.'.bold.blue);
for (let i = 0; i < data.length; i++)
console.log('\nPaso 3) Instalando catalogo Carrera.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await Carrera.create({ carrera: data[i] });
console.log(`Se agrego la carrera ${data[i]} correctamente.`.magenta);
}
};
const dataHora = async () => {
let horaInicio = 8;
let minutoInicio = 0;
const horaFin = 15;
const minutoFin = 20;
let parar = false;
console.log('\nPaso 4) Instalando catalogo Hora.'.bold.blue);
while (!parar) {
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
}`;
await Hora.create({ hora });
console.log(`Se agrego la hora ${hora} correctamente.`.magenta);
if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true;
else {
minutoInicio += 20;
if (minutoInicio == 60) {
horaInicio++;
minutoInicio = 0;
}
}
}
};
const dataDia = async () => {
let diaInicio = 2;
const diaFin = 13;
const finSemana = [7, 8];
let parar = false;
console.log('\nPaso 5) Instalando catalogo Dia.'.bold.blue);
while (!parar) {
let saltar = false;
for (let i = 0; i < finSemana.length; i++)
if (finSemana[i] === diaInicio) saltar = true;
if (!saltar) {
const dia = `2021/08/${diaInicio < 10 ? '0' + diaInicio : diaInicio}`;
await Dia.create({ dia });
console.log(`Se agrego el dia ${dia} correctamente.`.magenta);
}
if (diaInicio === diaFin) parar = true;
else diaInicio++;
}
};
const exe = async () => {
await drop();
await sync();
await dataCarrera();
await dataHora();
await dataDia();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
+15 -4
View File
@@ -1,6 +1,7 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const GrupoDiaHora = require('./GrupoDiaHora');
const Grupo = require('./Grupo');
const DiaHora = require('./DiaHora');
class PrimerSemestre extends Model {}
PrimerSemestre.init(
@@ -34,11 +35,21 @@ PrimerSemestre.init(
}
);
PrimerSemestre.belongsTo(GrupoDiaHora, {
PrimerSemestre.belongsTo(Grupo, {
foreignKey: {
name: 'idGrupoDiaHora',
name: 'idGrupo',
type: DataTypes.INTEGER,
allowNull: false,
allowNull: true,
defaultValue: null,
},
});
PrimerSemestre.belongsTo(DiaHora, {
foreignKey: {
name: 'idDiaHora',
type: DataTypes.INTEGER,
allowNull: true,
defaultValue: null,
},
});
-46
View File
@@ -1,46 +0,0 @@
require('../config/config');
const jwt = require('jsonwebtoken');
const verificaToken = (req, res, next) => {
let token = req.headers.token;
if (!token)
return res.status(400).json({
message: 'No hay token',
});
jwt.verify(token, process.env.KEY, (err, decoded) => {
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();
});
};
const crearToken = (data) => {
return jwt.sign({ data }, process.env.KEY, {
expiresIn: Number(process.env.CADUCIDAD_TOKEN),
});
};
const crearTokenUsuario = (data) => {
return jwt.sign({ data }, process.env.KEY, {
expiresIn: Number(process.env.CADUCIDAD_TOKEN_USUARIO),
});
};
const crearTokenOperador = (data) => {
return jwt.sign({ data }, process.env.KEY, {
expiresIn: Number(process.env.CADUCIDAD_TOKEN_OPERADOR),
});
};
module.exports = { verificaToken, crearToken };