Files
inscripciones_api/server/db/install.js
T
2022-03-06 23:10:46 -06:00

92 lines
2.6 KiB
JavaScript

require('../config/config');
const colors = require('colors');
const encriptar = require('../helper/encriptar');
const Carrera = require('./tablas/Carrera');
const Usuario = require('./tablas/Usuario');
const Area = require('./tablas/Area');
const FechaInscripcion = require('./tablas/FechaInscripcion');
const Inscripcion = require('./tablas/Inscripcion');
const Admin = require('./tablas/Admin');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await Admin.drop();
console.log('La tabla Admin se desinstalo correctamente.'.magenta);
await Inscripcion.drop();
console.log('La tabla Inscripcion se desinstalo correctamente.'.magenta);
await Area.drop();
console.log('La tabla Area se desinstalo correctamente.'.magenta);
await FechaInscripcion.drop();
console.log('La tabla FechaInscripcion se desinstalo correctamente.'.magenta);
await Usuario.drop();
console.log('La tabla Usuario 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 Admin.sync();
console.log('La tabla Admin se instalo correctamente.'.magenta);
await Carrera.sync();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
await Usuario.sync();
console.log('La tabla Usuario se instalo correctamente.'.magenta);
await Area.sync();
console.log('La tabla Area se instalo correctamente.'.magenta);
await FechaInscripcion.sync();
console.log('La tabla FechaInscripcion se instalo correctamente.'.magenta);
await Inscripcion.sync();
console.log('La tabla Inscripcion se instalo correctamente.'.magenta);
};
const dataArea = async () => {
const data = ['Windows', 'Macintosh', 'Linux', 'Mesa para laptop'];
console.log('\nPaso 3) Instalando catalogo area.'.bold.blue);
for (let i = 0; i < data.length; i++) await Area.create({ area: data[i] });
};
const dataAdmin = async () => {
const dataUser = ['Charly', 'Oscar', 'Jesus'];
const dataPassWord = [
process.env.ADMIN_PASSWORD1,
process.env.ADMIN_PASSWORD2,
process.env.ADMIN_PASSWORD3,
];
console.log('\nPaso 4) Insertando admin.'.bold.blue);
for (let i = 0; i < dataUser.length; i++)
await Admin.create({
idTipoUsuario: i + 1,
usuario: dataUser[i],
password: encriptar.encriptar(dataPassWord[i]),
});
};
const exe = async () => {
await drop();
await sync();
await dataArea();
await dataAdmin();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();