Files
citas_recorridos_api/server/db/install.js
T
2021-07-09 21:00:13 -05:00

166 lines
4.6 KiB
JavaScript

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');
const Grupo = require('./tablas/Grupo');
const GrupoDiaHora = require('./tablas/GrupoDiaHora');
const Hora = require('./tablas/Hora');
const PrimerSemestre = require('./tablas/PrimerSemestre');
const TercerSemestre = require('./tablas/TercerSemestre');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await TercerSemestre.drop();
console.log('La tabla TercerSemestre se desinstalo correctamente.'.magenta);
await PrimerSemestre.drop();
console.log('La tabla PrimerSemestre se desinstalo correctamente.'.magenta);
await GrupoDiaHora.drop();
console.log('La tabla GrupoDiaHora se desinstalo correctamente.'.magenta);
await DiaHora.drop();
console.log('La tabla DiaHora se desinstalo correctamente.'.magenta);
await Grupo.drop();
console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
await Dia.drop();
console.log('La tabla Dia se desinstalo correctamente.'.magenta);
await Hora.drop();
console.log('La tabla Hora se desinstalo correctamente.'.magenta);
await Carrera.drop();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
};
const sync = async () => {
console.log('\nPaso 2) Instalando la db.'.bold.blue);
await Carrera.sync();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
await Hora.sync();
console.log('La tabla Hora se instalo correctamente.'.magenta);
await Dia.sync();
console.log('La tabla Dia se instalo correctamente.'.magenta);
await Grupo.sync();
console.log('La tabla Grupo se instalo correctamente.'.magenta);
await DiaHora.sync();
console.log('La tabla DiaHora se instalo correctamente.'.magenta);
await GrupoDiaHora.sync();
console.log('La tabla GrupoDiaHora se instalo correctamente.'.magenta);
await PrimerSemestre.sync();
console.log('La tabla PrimerSemestre se instalo correctamente.'.magenta);
await TercerSemestre.sync();
console.log('La tabla TercerSemestre se instalo correctamente.'.magenta);
};
const dataCarrera = async () => {
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++) {
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
);
process.exit();
};
exe();