Files
servicio_social_api/server/db/install.js
T
2021-01-04 18:41:51 -06:00

131 lines
3.7 KiB
JavaScript

require('../config/config');
const colors = require('colors');
const encriptar = require('../helper/encriptar');
const Carrera = require('./tablas/Carrera');
const CuestionarioAlumno = require('./tablas/CuestionarioAlumno');
const CuestionarioPrograma = require('./tablas/CuestionarioPrograma');
const Programa = require('./tablas/Programa');
const Servicio = require('./tablas/Servicio');
const Status = require('./tablas/Status');
const TipoUsuario = require('./tablas/TipoUsuario');
const Usuario = require('./tablas/Usuario');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await Servicio.drop();
console.log('La tabla Servicio se instalo correctamente.'.magenta);
await Carrera.drop();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
await CuestionarioPrograma.drop();
console.log(
'La tabla CuestionarioPrograma se instalo correctamente.'.magenta
);
await CuestionarioAlumno.drop();
console.log('La tabla CuestionarioAlumno se instalo correctamente.'.magenta);
await Programa.drop();
console.log('La tabla Programa se instalo correctamente.'.magenta);
await Status.drop();
console.log('La tabla Status se instalo correctamente.'.magenta);
await Usuario.drop();
console.log('La tabla Usuario se instalo correctamente.'.magenta);
await TipoUsuario.drop();
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
};
const sync = async () => {
console.log('\nPaso 2) Instalando la db.'.bold.blue);
await TipoUsuario.sync();
console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta);
await Usuario.sync();
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
await Programa.sync();
console.log('La tabla Programa se desinstalo correctamente.'.magenta);
await Status.sync();
console.log('La tabla Status se desinstalo correctamente.'.magenta);
await CuestionarioAlumno.sync();
console.log(
'La tabla CuestionarioAlumno se desinstalo correctamente.'.magenta
);
await CuestionarioPrograma.sync();
console.log(
'La tabla CuestionarioPrograma se desinstalo correctamente.'.magenta
);
await Carrera.sync();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
await Servicio.sync();
console.log('La tabla Servicio se desinstalo correctamente.'.magenta);
};
const dataTipoUsuario = async () => {
const data = ['admin', 'responsable', 'alumno'];
console.log('\nPaso 3) Instalando data de TipoUsuario.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await TipoUsuario.create({ tipoUsuario: data[i] });
console.log(`Se inserto el TipoUsuario ${data[i]}.`.magenta);
}
};
const dataStatus = async () => {
const data = [
'Pre-Registro',
'Pre-Registro Validado',
'Registro',
'Pre-Termino',
'Termino',
'Liberación',
'Carta Aceptación Rechazada',
'Carta Termino Rechazada',
'Informe Global Rechazado',
'Cancelado',
];
console.log('\nPaso 4) Instalando data de Status.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await Status.create({ status: data[i] });
console.log(`Se inserto el Status ${data[i]}.`.magenta);
}
};
const dataAdmin = async () => {
console.log('\nPaso 5) Instalando admin.'.bold.blue);
await Usuario.create({
usuario: process.env.ADMIN,
password: encriptar.encriptar(process.env.ADMIN_PASSWORD),
nombre: 'COESI',
idTipoUsuario: 1,
activo: true,
});
};
const exe = async () => {
await drop();
await sync();
await dataTipoUsuario();
await dataStatus();
await dataAdmin();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();