Files
pcpuma_acatlan_api/server/db/install.js
T
2022-02-05 21:22:51 -06:00

245 lines
7.2 KiB
JavaScript

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 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 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 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: 'Laptop', 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',
];
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 = ['Autodesk', 'Adobe', 'Programación'];
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: 'Systema',
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();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();