Commit ad31768b authored by Marcelo Alejo Calle's avatar Marcelo Alejo Calle
Browse files

Cambios en la forma de iniciar modulo

parent a4228fa0
......@@ -34,7 +34,7 @@ const listaInstitucionalDefault = [
'wiki.bo'
];
module.exports = async function (configApp, listaNegra, listaInstitucional, listaRestringida) {
module.exports = async function (configApp, app, loadDefault) {
const config = {
database: 'app_dns',
username: 'usuario',
......@@ -45,64 +45,62 @@ module.exports = async function (configApp, listaNegra, listaInstitucional, list
Object.assign(config, configApp);
Object.assign(config, {
timezone: '-04:00',
dialect: 'postgres',
pool: {
max: 10,
min: 0,
idle: 10000
}
});
if (!configApp.extra) {
configApp.extra = { dns: ['8.8.8.8'] };
}
const sequelize = new Sequelize(config);
// Cargando modelo
const params = sequelize.import('src/model');
// Verificando conexión con la BD
await sequelize.authenticate();
// Creando las tablas
await sequelize.sync(config.force ? { force: true } : {});
// Cargando los servicios de params
let services = Services(params, Sequelize);
let services = {};
let sequelize = {};
if (!app) { // Crear nueva conexion
sequelize = new Sequelize(config);
// Verificando conexión con la BD
await sequelize.authenticate();
// Creando las tablas
await sequelize.sync(config.force ? { force: true } : {});
// Cargando modelo
const params = sequelize.import('src/model');
// Cargando los servicios de params
services = Services(params, Sequelize);
} else { // Utilizar conexion
sequelize = app.sequelize;
const params = sequelize.import('src/model');
services = Services(params, app.Sequelize);
}
// Cargando servicios dns
services = Object.assign(services, Dns(services, configApp.extra));
async function insertarLista (listaDominios, tipo, estado) {
if (listaDominios && listaDominios.length > 0) {
for (const dominio of listaDominios) {
if (typeof (dominio) === 'string') {
const data = await services.findByDominio(dominio);
if (data) {
if (data.estado) estado = data.estado;
if (data.tipo) tipo = data.tipo;
if (loadDefault) {
sequelize.sync().done(async () => {
const all = await services.findAll();
if (all.count === 0) {
const insertarLista = async (listaDominios, tipo, estado) => {
if (listaDominios && listaDominios.length > 0) {
for (const dominio of listaDominios) {
if (typeof (dominio) === 'string') {
const data = await services.findByDominio(dominio);
if (data) {
if (data.estado) estado = data.estado;
if (data.tipo) tipo = data.tipo;
}
await services.createOrUpdate({
dominio,
tipo,
estado,
createdUser: 1
});
}
}
}
await services.createOrUpdate({
dominio,
tipo,
estado,
createdUser: 1
});
}
};
await insertarLista(listaNegraDefault, 'CONTIENE', 'LISTA_NEGRA');
await insertarLista(listaInstitucionalDefault, 'FINALIZA', 'INSTITUCIONAL');
await insertarLista(listaRestringidaDefault, 'IGUAL', 'RESTRINGIDO');
}
}
});
}
await insertarLista(listaNegraDefault, 'CONTIENE', 'LISTA_NEGRA');
await insertarLista(listaInstitucionalDefault, 'FINALIZA', 'INSTITUCIONAL');
await insertarLista(listaRestringidaDefault, 'IGUAL', 'RESTRINGIDO');
await insertarLista(listaNegra, 'CONTIENE', 'LISTA_NEGRA');
await insertarLista(listaInstitucional, 'FINALIZA', 'INSTITUCIONAL');
await insertarLista(listaRestringida, 'IGUAL', 'RESTRINGIDO');
return services;
};
......@@ -34,6 +34,14 @@ module.exports = (sequelize, DataTypes) => {
values: ['INSTITUCIONAL', 'RESTRINGIDO', 'LISTA_NEGRA', 'INACTIVO'],
defaultValue: 'INACTIVO',
allowNull: false
},
created_at: {
type: DataTypes.DATE,
field: 'createdAt'
},
updated_at: {
type: DataTypes.DATE,
field: 'updatedAt'
}
};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment