Files
cuestionarios_api/server/db/install.js
T

303 lines
10 KiB
JavaScript

require('../config/config');
const colors = require('colors');
// const encriptar = require('../helper/encriptar');
const TipoUsuario = require('./tablas/TipoUsuario');
const Periodo = require('./tablas/Periodo');
const Carrera = require('./tablas/Carrera');
const TipoCuestionario = require('./tablas/TipoCuestionario');
const TipoPregunta = require('./tablas/TipoPregunta');
const Modalidad = require('./tablas/Modalidad');
const Alumno = require('./tablas/Alumno');
const Grupo = require('./tablas/Grupo');
const Materia = require('./tablas/Materia');
const CarreraPeriodo = require('./tablas/CarreraPeriodo');
const Usuario = require('./tablas/Usuario');
const Trabajador = require('./tablas/Trabajador');
const UsuarioCarrera = require('./tablas/UsuarioCarrera');
const Cuestionario = require('./tablas/Cuestionario');
const CarreraPeriodoGrupo = require('./tablas/CarreraPeriodoGrupo');
const CuestionarioCarrera = require('./tablas/CuestionarioCarrera');
const Seccion = require('./tablas/Seccion');
const GrupoMateria = require('./tablas/GrupoMateria');
const Pregunta = require('./tablas/Pregunta');
const MateriaAlumno = require('./tablas/MateriaAlumno');
const Opcion = require('./tablas/Opcion');
const RespuestaAbiertaEd = require('./tablas/RespuestaAbiertaEd');
const RespuestaEd = require('./tablas/RespuestaEd');
const RespuestaAbiertaAlumno = require('./tablas/RespuestaAbiertaAlumno');
const RespuestaAlumno = require('./tablas/RespuestaAlumno');
const RespuestaAbiertaTrabajador = require('./tablas/RespuestaAbiertaTrabajador');
const RespuestaTrabajador = require('./tablas/RespuestaTrabajador');
const DirigidoA = require('./tablas/DirigidoA');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await RespuestaTrabajador.drop();
console.log('La tabla RespuestaTrabajador se desinstalo correctamente.'.magenta);
await RespuestaAbiertaTrabajador.drop();
console.log('La tabla RespuestaAbiertaTrabajador se desinstalo correctamente.'.magenta);
await RespuestaAlumno.drop();
console.log('La tabla RespuestaAlumno se desinstalo correctamente.'.magenta);
await RespuestaAbiertaAlumno.drop();
console.log('La tabla RespuestaAbiertaAlumno se desinstalo correctamente.'.magenta);
await RespuestaAbiertaEd.drop();
console.log('La tabla RespuestaAbiertaEd se desinstalo correctamente.'.magenta);
await RespuestaEd.drop();
console.log('La tabla RespuestaEd se desinstalo correctamente.'.magenta);
await Opcion.drop();
console.log('La tabla Opcion se desinstalo correctamente.'.magenta);
await MateriaAlumno.drop();
console.log('La tabla MateriaAlumno se desinstalo correctamente.'.magenta);
await Pregunta.drop();
console.log('La tabla Pregunta se desinstalo correctamente.'.magenta);
await GrupoMateria.drop();
console.log('La tabla GrupoMateria se desinstalo correctamente.'.magenta);
await Seccion.drop();
console.log('La tabla Seccion se desinstalo correctamente.'.magenta);
await CuestionarioCarrera.drop();
console.log('La tabla CuestionarioCarrera se desinstalo correctamente.'.magenta);
await CarreraPeriodoGrupo.drop();
console.log('La tabla CarreraPeriodoGrupo se desinstalo correctamente.'.magenta);
await Cuestionario.drop();
console.log('La tabla Cuestionario se desinstalo correctamente.'.magenta);
await UsuarioCarrera.drop();
console.log('La tabla UsuarioCarrera se desinstalo correctamente.'.magenta);
await Trabajador.drop();
console.log('La tabla Trabajador se desinstalo correctamente.'.magenta);
await Usuario.drop();
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
await CarreraPeriodo.drop();
console.log('La tabla CarreraPeriodo se desinstalo correctamente.'.magenta);
await Materia.drop();
console.log('La tabla Materia se desinstalo correctamente.'.magenta);
await Grupo.drop();
console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
await Alumno.drop();
console.log('La tabla Alumno se desinstalo correctamente.'.magenta);
await Modalidad.drop();
console.log('La tabla Modalidad se desinstalo correctamente.'.magenta);
await TipoPregunta.drop();
console.log('La tabla TipoPregunta se desinstalo correctamente.'.magenta);
await TipoCuestionario.drop();
console.log('La tabla TipoCuestionario se desinstalo correctamente.'.magenta);
await DirigidoA.drop();
console.log('La tabla DirigidoA se desinstalo correctamente.'.magenta);
await Carrera.drop();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
await Periodo.drop();
console.log('La tabla Periodo se desinstalo correctamente.'.magenta);
await TipoUsuario.drop();
console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta);
};
const sync = async () => {
console.log('\nPaso 2) Instalando la db.'.bold.blue);
await TipoUsuario.sync();
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
await Periodo.sync();
console.log('La tabla Periodo se instalo correctamente.'.magenta);
await Carrera.sync();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
await DirigidoA.sync();
console.log('La tabla DirigidoA se instalo correctamente.'.magenta);
await TipoCuestionario.sync();
console.log('La tabla TipoCuestionario se instalo correctamente.'.magenta);
await TipoPregunta.sync();
console.log('La tabla TipoPregunta se instalo correctamente.'.magenta);
await Modalidad.sync();
console.log('La tabla Modalidad se instalo correctamente.'.magenta);
await Alumno.sync();
console.log('La tabla Alumno se instalo correctamente.'.magenta);
await Grupo.sync();
console.log('La tabla Grupo se instalo correctamente.'.magenta);
await Materia.sync();
console.log('La tabla Materia se instalo correctamente.'.magenta);
await CarreraPeriodo.sync();
console.log('La tabla CarreraPeriodo se instalo correctamente.'.magenta);
await Usuario.sync();
console.log('La tabla Usuario se instalo correctamente.'.magenta);
await Trabajador.sync();
console.log('La tabla Trabajador se instalo correctamente.'.magenta);
await UsuarioCarrera.sync();
console.log('La tabla UsuarioCarrera se instalo correctamente.'.magenta);
await Cuestionario.sync();
console.log('La tabla Cuestionario se instalo correctamente.'.magenta);
await CarreraPeriodoGrupo.sync();
console.log('La tabla CarreraPeriodoGrupo se instalo correctamente.'.magenta);
await CuestionarioCarrera.sync();
console.log('La tabla CuestionarioCarrera se instalo correctamente.'.magenta);
await Seccion.sync();
console.log('La tabla Seccion se instalo correctamente.'.magenta);
await GrupoMateria.sync();
console.log('La tabla GrupoMateria se instalo correctamente.'.magenta);
await Pregunta.sync();
console.log('La tabla Pregunta se instalo correctamente.'.magenta);
await MateriaAlumno.sync();
console.log('La tabla MateriaAlumno se instalo correctamente.'.magenta);
await Opcion.sync();
console.log('La tabla Opcion se instalo correctamente.'.magenta);
await RespuestaEd.sync();
console.log('La tabla RespuestaEd se instalo correctamente.'.magenta);
await RespuestaAbiertaEd.sync();
console.log('La tabla RespuestaAbiertaEd se instalo correctamente.'.magenta);
await RespuestaAbiertaAlumno.sync();
console.log('La tabla RespuestaAbiertaAlumno se instalo correctamente.'.magenta);
await RespuestaAlumno.sync();
console.log('La tabla Opcion se instalo correctamente.'.magenta);
await RespuestaAbiertaTrabajador.sync();
console.log('La tabla RespuestaAbiertaTrabajador se instalo correctamente.'.magenta);
await RespuestaTrabajador.sync();
console.log('La tabla RespuestaTrabajador se instalo correctamente.'.magenta);
};
const dataTipoUsuario = async () => {
const data = ['admin', 'alumno', 'profesor'];
console.log('\nPaso 3) Instalando catalogo tipo usuario.'.bold.blue);
for (let i = 0; i < data.length; i++)
await TipoUsuario.create({ tipoUsuario: data[i] });
};
const dataModalidad = async () => {
const data = ['Presencial', 'A distancia'];
console.log('\nPaso 4) Instalando catalogo modalidad.'.bold.blue);
for (let i = 0; i < data.length; i++)
await Modalidad.create({ modalidad: data[i] });
};
const dataTipoPregunta = async () => {
const data = ['Abierta', 'Cerrada', 'Opcion multiple'];
console.log('\nPaso 5) Instalando catalogo tipo pregunta.'.bold.blue);
for (let i = 0; i < data.length; i++)
await TipoPregunta.create({ tipoPregunta: data[i] });
};
const dataDirigidoA = async () => {
const data = ['Alumnos', 'ED', 'Trabajadores'];
console.log('\nPaso 6) Instalando catalogo tipo cuestionario.'.bold.blue);
for (let i = 0; i < data.length; i++)
await DirigidoA.create({ dirigidoA: data[i] });
};
const dataTipoCuestionario = async () => {
const data = ['Simple', 'Dependiente'];
console.log('\nPaso 7) Instalando catalogo tipo cuestionario.'.bold.blue);
for (let i = 0; i < data.length; i++)
await TipoCuestionario.create({ tipoCuestionario: data[i], idDirigidoA: i+1 });
};
const dataCarrera = async () => {
const data = ['Carrera 1', 'Carrera 2'];
console.log('\nPaso 8) Instalando catalogo carrera.'.bold.blue);
for (let i = 0; i < data.length; i++)
await Carrera.create({ carrera: data[i] });
};
const dataPeriodo = async () => {
const data = ['Periodo 1', 'Periodo 2'];
console.log('\nPaso 9) Instalando catalogo periodo.'.bold.blue);
for (let i = 0; i < data.length; i++)
await Periodo.create({ periodo: data[i], activo: true});
};
const dataGrupo = async () => {
const data = ['Grupo 1', 'Grupo 2'];
console.log('\nPaso 10) Instalando catalogo grupo.'.bold.blue);
for (let i = 0; i < data.length; i++)
await Grupo.create({ grupo: data[i] });
};
const dataMateria = async () => {
const data = ['Materia 1', 'Materia 2'];
console.log('\nPaso 11) Instalando catalogo materia.'.bold.blue);
for (let i = 0; i < data.length; i++)
await Materia.create({ materia: data[i] });
};
const exe = async () => {
await drop();
await sync();
await dataTipoUsuario();
await dataModalidad();
await dataTipoPregunta();
await dataDirigidoA();
await dataTipoCuestionario();
await dataCarrera();
await dataPeriodo();
await dataGrupo();
await dataMateria();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();