require('../config/config'); const colors = require('colors'); const encriptar = require('../helper/encriptar'); const Carrera = require('./tablas/Carrera'); const Carrito = require('./tablas/Carrito'); const Equipo = require('./tablas/Equipo'); const Infraccion = require('./tablas/Infraccion'); const Modulo = require('./tablas/Modulo'); const Motivo = require('./tablas/Motivo'); const Multa = require('./tablas/Multa'); const Operador = require('./tablas/Operador'); const Prestamo = require('./tablas/Prestamo'); const Programa = require('./tablas/Programa'); const Status = require('./tablas/Status'); const TipoCarrito = require('./tablas/TipoCarrito'); const TipoUsuario = require('./tablas/TipoUsuario'); const Usuario = require('./tablas/Usuario'); const drop = async () => { console.log('\nPaso 1) Desinstalando la db.'.bold.blue); await Multa.drop(); console.log('La tabla Multa se desinstalo correctamente.'.magenta); await Infraccion.drop(); console.log('La tabla Infraccion se desinstalo correctamente.'.magenta); await Prestamo.drop(); console.log('La tabla Prestamo se desinstalo correctamente.'.magenta); await Motivo.drop(); console.log('La tabla Motivo se desinstalo correctamente.'.magenta); await Equipo.drop(); console.log('La tabla Equipo se desinstalo correctamente.'.magenta); await Programa.drop(); console.log('La tabla Programa se desinstalo correctamente.'.magenta); await Status.drop(); console.log('La tabla Status se desinstalo correctamente.'.magenta); await Carrito.drop(); console.log('La tabla Carrito se desinstalo correctamente.'.magenta); await Modulo.drop(); console.log('La tabla Modulo se desinstalo correctamente.'.magenta); await TipoCarrito.drop(); console.log('La tabla TipoCarrito se desinstalo correctamente.'.magenta); await Usuario.drop(); console.log('La tabla Usuario se desinstalo correctamente.'.magenta); await Operador.drop(); console.log('La tabla Operador se desinstalo correctamente.'.magenta); await Carrera.drop(); console.log('La tabla Carrera 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 Carrera.sync(); console.log('La tabla Carrera se instalo correctamente.'.magenta); await Operador.sync(); console.log('La tabla Operador se instalo correctamente.'.magenta); await Usuario.sync(); console.log('La tabla Usuario se instalo correctamente.'.magenta); await TipoCarrito.sync(); console.log('La tabla TipoCarrito se instalo correctamente.'.magenta); await Modulo.sync(); console.log('La tabla Modulo se instalo correctamente.'.magenta); await Carrito.sync(); console.log('La tabla Carrito se instalo correctamente.'.magenta); await Status.sync(); console.log('La tabla Status se instalo correctamente.'.magenta); await Programa.sync(); console.log('La tabla Programa se instalo correctamente.'.magenta); await Equipo.sync(); console.log('La tabla Equipo se instalo correctamente.'.magenta); await Motivo.sync(); console.log('La tabla Motivo se instalo correctamente.'.magenta); await Prestamo.sync(); console.log('La tabla Prestamo se instalo correctamente.'.magenta); await Infraccion.sync(); console.log('La tabla Infraccion se instalo correctamente.'.magenta); await Multa.sync(); console.log('La tabla Multa se instalo correctamente.'.magenta); }; const dataTipoUsuario = async () => { const data = ['Admin', 'Operador', 'Profesor', 'Alumno', 'Posgrado']; console.log('\nPaso 3) Insertando data tipo usuario.'.bold.blue); for (let i = 0; i < data.length; i++) { await TipoUsuario.create({ tipoUsuario: data[i], }); console.log(`Se agrego el tipo usuario ${data[i]}.`.magenta); } }; const dataModulo = async () => { const data = ['Módulo 1' /*, 'Módulo 2'*/]; console.log('\nPaso 4) Insertando data modulo.'.bold.blue); for (let i = 0; i < data.length; i++) { await Modulo.create({ modulo: data[i], }); console.log(`Se agrego el modulo ${data[i]}.`.magenta); } }; const dataTipoCarrito = async () => { const data = [ { tipo: 'CHROMEBOOK', letra: 'E' }, { tipo: 'LAP TOP', letra: 'L' }, { tipo: 'IPAD', letra: 'T' }, ]; console.log('\nPaso 5) Insertando data tipo carrito.'.bold.blue); for (let i = 0; i < data.length; i++) { await TipoCarrito.create({ tipoCarrito: data[i].tipo, letra: data[i].letra, }); console.log(`Se agrego el tipo carrito ${data[i].tipo}.`.magenta); } }; const dataStatus = async () => { const data = [ 'Apartado', 'En uso', 'Entrega inmediata', 'Activo', 'Cargando', 'Reparación', 'Mantenimiento', 'Desactivado', 'Revisar', ]; console.log('\nPaso 6) Insertando data status.'.bold.blue); for (let i = 0; i < data.length; i++) { await Status.create({ status: data[i], }); console.log(`Se agrego el status ${data[i]}.`.magenta); } }; const dataPrograma = async () => { const data = ['Autocad, Maya, 3Dmax', 'Programación', 'Autocad', '3Dmax']; console.log('\nPaso 7) Insertando data programa.'.bold.blue); for (let i = 0; i < data.length; i++) { await Programa.create({ programa: data[i], }); console.log(`Se agrego el programa ${data[i]}.`.magenta); } }; const dataSystem = async () => { console.log('\nPaso 8) Insertando system.'.bold.blue); await Operador.create({ idTipoUsuario: 1, operador: 'Sistema', password: encriptar.encriptar(process.env.SYSTEM_PASSWORD), }); }; const dataAdmin = async () => { console.log('\nPaso 9) Insertando admin.'.bold.blue); await Operador.create({ idTipoUsuario: 1, operador: 'Araceli', password: encriptar.encriptar(process.env.ADMIN_PASSWORD), }); }; const dataInfraccion = async () => { const data = [ { infraccion: 'Demora', gravedad: '1' }, { infraccion: 'Manchas de suciedad', gravedad: '1' }, { infraccion: 'Etiquetas Removidas', gravedad: '1' }, { infraccion: 'Rayon en carcasa', gravedad: '1' }, { infraccion: 'Golpe en carcasa', gravedad: '1' }, // { infraccion: '', gravedad: '1' }, { infraccion: 'Daño impacto', gravedad: '2' }, { infraccion: 'Derrame liquido', gravedad: '2' }, { infraccion: 'Trackpad dañado', gravedad: '2' }, { infraccion: 'Equipo abierto', gravedad: '2' }, { infraccion: 'Pantalla estrellada', gravedad: '2' }, { infraccion: 'Teclas faltantes', gravedad: '2' }, { infraccion: 'Teclas dañadas', gravedad: '2' }, { infraccion: 'Puertos dañados', gravedad: '2' }, { infraccion: 'Falta de hardware', gravedad: '2' }, { infraccion: 'Cambio de piezas', gravedad: '2' }, // { infraccion: '', gravedad: '2' }, ]; console.log('\nPaso 10) Insertando data infraccion.'.bold.blue); for (let i = 0; i < data.length; i++) { await Infraccion.create({ infraccion: data[i].infraccion, gravedad: data[i].gravedad, }); console.log(`Se agrego la infraccion ${data[i].infraccion}.`.magenta); } }; const exe = async () => { // await drop(); // await sync(); // await dataTipoUsuario(); // await dataModulo(); // await dataTipoCarrito(); // await dataStatus(); // await dataPrograma(); // await dataSystem(); // await dataAdmin(); // await dataInfraccion(); await Motivo.sync(); console.log('La tabla Motivo se instalo correctamente.'.magenta); console.log( '\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green ); process.exit(); }; exe();