Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce503b7058 | |||
| 42aea448a7 | |||
| 013df2fea2 | |||
| 999371769d | |||
| 68327bba73 | |||
| ab59fe2933 | |||
| 83a33afef3 |
@@ -1,26 +0,0 @@
|
|||||||
require('./config/config');
|
|
||||||
const colors = require('colors');
|
|
||||||
const bodyParser = require('body-parser');
|
|
||||||
const cors = require('cors');
|
|
||||||
const express = require('express');
|
|
||||||
const app = express();
|
|
||||||
|
|
||||||
app.use(cors());
|
|
||||||
|
|
||||||
app.use(
|
|
||||||
bodyParser.urlencoded({
|
|
||||||
extended: false,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
app.use(bodyParser.json());
|
|
||||||
|
|
||||||
app.get('/', (req, res) => res.send('API Plantilla'));
|
|
||||||
|
|
||||||
app.use(require('./routes/index'));
|
|
||||||
|
|
||||||
app.listen(Number(process.env.PORT), () =>
|
|
||||||
console.log(
|
|
||||||
`API Plantilla corriendo en el puerto: ${process.env.PORT}`.rainbow
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
const dotenv = require('dotenv');
|
|
||||||
const colors = require('colors');
|
|
||||||
let result = {};
|
|
||||||
|
|
||||||
try {
|
|
||||||
result = dotenv.config();
|
|
||||||
if (result.error) throw result.error;
|
|
||||||
console.log('El archivo .env se cargado correctamente.'.underline.bold.cyan);
|
|
||||||
} catch (err) {
|
|
||||||
console.log('El archivo .env no se cargo.'.underline.bold.red);
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
require('./config');
|
|
||||||
const { Sequelize } = require('sequelize');
|
|
||||||
|
|
||||||
const sequelize = new Sequelize(
|
|
||||||
process.env.DB,
|
|
||||||
process.env.USERDB,
|
|
||||||
process.env.PASSWORDDB,
|
|
||||||
{
|
|
||||||
host: process.env.HOSTDB,
|
|
||||||
dialect: process.env.TYPEDB,
|
|
||||||
logging: false,
|
|
||||||
dialectOptions: {
|
|
||||||
useUTC: false,
|
|
||||||
},
|
|
||||||
timezone: '-05:00',
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
module.exports = sequelize;
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
const sequelize = require('./sequelize.conf');
|
|
||||||
require('colors');
|
|
||||||
|
|
||||||
sequelize
|
|
||||||
.authenticate()
|
|
||||||
.then(() => {
|
|
||||||
console.log('Se ha conectado a la base de datos exitosamente.'.green);
|
|
||||||
process.exit();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.error('Hubo un error al conectarse a la base de datos: '.red, err);
|
|
||||||
process.exit();
|
|
||||||
});
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
const Usuario = require('./tablas/Usuario');
|
|
||||||
const { encriptar } = require('../helper/encriptar');
|
|
||||||
|
|
||||||
const dataUsuarios = async () => {
|
|
||||||
let usuario = ['416313221', '111111111', '222222222'];
|
|
||||||
let nombre = [
|
|
||||||
'Adriana De Luna Ramirez',
|
|
||||||
'Nombre Falso 1',
|
|
||||||
'Nombre Falso 2',
|
|
||||||
];
|
|
||||||
|
|
||||||
for (let i = 0; i < usuario.length; i++) {
|
|
||||||
await Usuario.create({
|
|
||||||
usuario: usuario[i],
|
|
||||||
nombre: nombre[i],
|
|
||||||
password: encriptar('holi'),
|
|
||||||
idTipoUsuario: 2,
|
|
||||||
});
|
|
||||||
console.log(`Se insertó el usuario ${usuario[i]}.`.magenta);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const exec = async () => {
|
|
||||||
await dataUsuarios();
|
|
||||||
console.log(
|
|
||||||
'\nSe ha instalado exitosamente la información falsa en la base de datos.\n'
|
|
||||||
.underline.bold.green
|
|
||||||
);
|
|
||||||
process.exit();
|
|
||||||
};
|
|
||||||
|
|
||||||
exec();
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
require('../config/config');
|
|
||||||
const colors = require('colors');
|
|
||||||
// const encriptar = require('../helper/encriptar');
|
|
||||||
const TipoUsuario = require('./tablas/TipoUsuario');
|
|
||||||
const Usuario = require('./tablas/Usuario');
|
|
||||||
|
|
||||||
const drop = async () => {
|
|
||||||
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
|
||||||
|
|
||||||
await Usuario.drop();
|
|
||||||
console.log('La tabla Usuario 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 Usuario.sync();
|
|
||||||
console.log('La tabla Usuario se instalo correctamente.'.magenta);
|
|
||||||
};
|
|
||||||
|
|
||||||
const dataTipoUsuario = async () => {
|
|
||||||
const data = ['admin', 'alumno', 'profesor'];
|
|
||||||
|
|
||||||
console.log('\nPaso 3) Instalando catalogo tipo usuario.'.bold.blue);
|
|
||||||
for (let i = 0; i < data.length; i++)
|
|
||||||
await TipoUsuario.create({ tipoUsuario: data[i] });
|
|
||||||
};
|
|
||||||
|
|
||||||
const exe = async () => {
|
|
||||||
await drop();
|
|
||||||
await sync();
|
|
||||||
await dataTipoUsuario;
|
|
||||||
console.log(
|
|
||||||
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
|
||||||
);
|
|
||||||
|
|
||||||
process.exit();
|
|
||||||
};
|
|
||||||
|
|
||||||
exe();
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
const { DataTypes, Model } = require('sequelize');
|
|
||||||
const sequelize = require('../../config/sequelize.conf');
|
|
||||||
const TipoUsuario = require('./TipoUsuario');
|
|
||||||
|
|
||||||
class Usuario extends Model {}
|
|
||||||
Usuario.init(
|
|
||||||
{
|
|
||||||
idUsuario: {
|
|
||||||
type: DataTypes.INTEGER,
|
|
||||||
primaryKey: true,
|
|
||||||
allowNull: false,
|
|
||||||
unique: true,
|
|
||||||
autoIncrement: true,
|
|
||||||
},
|
|
||||||
usuario: {
|
|
||||||
type: DataTypes.STRING(100),
|
|
||||||
allowNull: false,
|
|
||||||
unique: true,
|
|
||||||
},
|
|
||||||
password: {
|
|
||||||
type: DataTypes.STRING(60),
|
|
||||||
allowNull: true,
|
|
||||||
defaultValue: null,
|
|
||||||
},
|
|
||||||
nombre: {
|
|
||||||
type: DataTypes.STRING(70),
|
|
||||||
allowNull: true,
|
|
||||||
defaultValue: null,
|
|
||||||
},
|
|
||||||
activo: {
|
|
||||||
type: DataTypes.BOOLEAN,
|
|
||||||
allowNull: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
sequelize,
|
|
||||||
modelName: 'Usuario',
|
|
||||||
tableName: 'usuario',
|
|
||||||
timestamps: false,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
Usuario.belongsTo(TipoUsuario, {
|
|
||||||
foreignKey: {
|
|
||||||
name: 'idTipoUsuario',
|
|
||||||
type: DataTypes.INTEGER,
|
|
||||||
allowNull: false,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = Usuario;
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
const bcrypt = require('bcrypt');
|
|
||||||
require('../config/config');
|
|
||||||
|
|
||||||
const comparar = (password, dbPassword) => {
|
|
||||||
if (!bcrypt.compareSync(password, dbPassword)) return false;
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
const encriptar = (password) =>
|
|
||||||
bcrypt.hashSync(password, Number(process.env.SALT_ROUNDS));
|
|
||||||
|
|
||||||
const generarPassword = () => {
|
|
||||||
const length = 8;
|
|
||||||
const charset =
|
|
||||||
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
||||||
let password = '';
|
|
||||||
|
|
||||||
for (let i = 0, n = charset.length; i < length; ++i)
|
|
||||||
password += charset.charAt(Math.floor(Math.random() * n));
|
|
||||||
return password;
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = { comparar, encriptar, generarPassword };
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
require('../config/config');
|
|
||||||
|
|
||||||
const send = require('gmail-send')({
|
|
||||||
user: process.env.GMAIL,
|
|
||||||
pass: process.env.GMAILPASSWORD,
|
|
||||||
});
|
|
||||||
|
|
||||||
const gmail = (subject, to, text) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
send({ subject, to, text }, (error, result, fullResult) => {
|
|
||||||
if (error) reject(error);
|
|
||||||
console.log(fullResult);
|
|
||||||
resolve(result);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = gmail;
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
const fs = require('fs');
|
|
||||||
const moment = require('moment');
|
|
||||||
|
|
||||||
const crearDDMMAAAA = (date) => {
|
|
||||||
const fechaMoment = moment(date);
|
|
||||||
let ddmmaaaa = '';
|
|
||||||
|
|
||||||
if (fechaMoment.isValid())
|
|
||||||
ddmmaaaa = `${fechaMoment.date()}/${
|
|
||||||
fechaMoment.month() + 1
|
|
||||||
}/${fechaMoment.year()}`;
|
|
||||||
return ddmmaaaa;
|
|
||||||
};
|
|
||||||
|
|
||||||
const eliminarArchivo = (path) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
fs.unlink(path, (err) => {
|
|
||||||
if (err) reject(err);
|
|
||||||
resolve({ message: 'Se elimino el archivo correctamente.' });
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const crearArchivo = (path, texto) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
fs.appendFile(path, texto, (err) => {
|
|
||||||
if (err) reject(err);
|
|
||||||
resolve({ message: 'Se creo el archivo correctamente.' });
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
crearDDMMAAAA,
|
|
||||||
eliminarArchivo,
|
|
||||||
crearArchivo,
|
|
||||||
};
|
|
||||||
@@ -1,184 +0,0 @@
|
|||||||
const moment = require('moment');
|
|
||||||
const validator = require('validator');
|
|
||||||
|
|
||||||
// Caractéres especiales permitidos en una string
|
|
||||||
const caracterEspecial = (char) => {
|
|
||||||
const charset = [
|
|
||||||
' ',
|
|
||||||
'.',
|
|
||||||
',',
|
|
||||||
':',
|
|
||||||
';',
|
|
||||||
'?',
|
|
||||||
'¿',
|
|
||||||
'!',
|
|
||||||
'¡',
|
|
||||||
'(',
|
|
||||||
')',
|
|
||||||
'"',
|
|
||||||
"'",
|
|
||||||
'-',
|
|
||||||
'_',
|
|
||||||
'/',
|
|
||||||
'#',
|
|
||||||
'%',
|
|
||||||
'\n',
|
|
||||||
];
|
|
||||||
|
|
||||||
for (let i = 0; i < charset.length; i++) if (charset[i] === char) return true;
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const yaExiste = (campo, m) => {
|
|
||||||
throw new Error(`Ya se encuentra en uso ${m ? 'el' : 'la'} ${campo}.`);
|
|
||||||
};
|
|
||||||
|
|
||||||
const noValido = (campo, m, razon) => {
|
|
||||||
throw new Error(
|
|
||||||
`${m ? 'El' : 'La'} ${campo} no es valid${m ? 'o' : 'a'}, ${razon}.`
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la variable contenga un valor, de lo contrario saca un error.
|
|
||||||
*/
|
|
||||||
const noHay = (variable, campo, m) => {
|
|
||||||
if (!variable) throw new Error(`No se mando ${m ? 'el' : 'la'} ${campo}.`);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la variable sea una string y, si se necesita, que mida igual
|
|
||||||
o menor que una longitud determinada.
|
|
||||||
*/
|
|
||||||
const validacionBasicaStr = (texto, campo, m, length) => {
|
|
||||||
noHay(texto, campo, m);
|
|
||||||
if (typeof texto !== 'string') noValido(campo, m, 'no se mando una string');
|
|
||||||
if (length && texto.length > length)
|
|
||||||
noValido(campo, m, 'tiene más carecteres de lo permitido');
|
|
||||||
return texto;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la variable sea un numero entero, ya sea que recibe una string o
|
|
||||||
un number. Usualmente se usa para validar ids.
|
|
||||||
*/
|
|
||||||
const validarNumeroEntero = (numero, campo, m = true) => {
|
|
||||||
noHay(numero, campo, m);
|
|
||||||
if (typeof numero === 'number') numero = numero.toString();
|
|
||||||
if (typeof numero !== 'string')
|
|
||||||
noValido(campo, m, 'no se mando una string o un number');
|
|
||||||
if (!validator.isNumeric(numero, { no_symbols: true }))
|
|
||||||
noValido(campo, m, 'no es un número entero valido');
|
|
||||||
return Number(numero);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la stirng mandada sea un correo valido.
|
|
||||||
*/
|
|
||||||
const validarCorreo = (correo, campo = 'correo', m = true, length) => {
|
|
||||||
validacionBasicaStr(correo, campo, m, length);
|
|
||||||
if (!validator.isEmail(correo)) noValido(campo, m, 'no es un correo válido');
|
|
||||||
return correo;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la stirng mandada sean caracteres del abcdario.
|
|
||||||
Usualmente se usa para validar nombres, apellidos, etc.
|
|
||||||
*/
|
|
||||||
const validarTexto = (texto, campo, m, length) => {
|
|
||||||
validacionBasicaStr(texto, campo, m, length);
|
|
||||||
for (let i = 0; i < texto.length; i++)
|
|
||||||
if (
|
|
||||||
!validator.isAlpha(texto[i], 'es-ES') &&
|
|
||||||
texto[i] != ' ' &&
|
|
||||||
texto[i] != '.'
|
|
||||||
)
|
|
||||||
noValido(campo, m, 'contiene caracteres no validos');
|
|
||||||
return texto;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Lo mismo que el de arriba pero este permite números y
|
|
||||||
caracteres especiales.
|
|
||||||
*/
|
|
||||||
const validarAlfanumerico = (texto, campo, m, length) => {
|
|
||||||
validacionBasicaStr(texto, campo, m, length);
|
|
||||||
for (let i = 0; i < texto.length; i++) {
|
|
||||||
if (caracterEspecial(texto[i])) continue;
|
|
||||||
if (!validator.isAlphanumeric(texto[i], 'es-ES'))
|
|
||||||
noValido(campo, m, 'contiene caracteres no validos');
|
|
||||||
}
|
|
||||||
return texto;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la string sea un número menor a 9 dígitos.
|
|
||||||
*/
|
|
||||||
const validarNumeroCuenta = (
|
|
||||||
numeroCuenta,
|
|
||||||
campo = 'numero de cuenta',
|
|
||||||
m = true
|
|
||||||
) => {
|
|
||||||
validacionBasicaStr(numeroCuenta, campo, m, 9);
|
|
||||||
if (!validator.isNumeric(numeroCuenta, { no_symbols: true }))
|
|
||||||
noValido(campo, m, 'tiene caracteres que nos son números');
|
|
||||||
return numeroCuenta;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que la variable sea una fecha moment valida.
|
|
||||||
*/
|
|
||||||
const validarFecha = (fecha, campo, m) => {
|
|
||||||
let fechaMoment = moment(fecha);
|
|
||||||
|
|
||||||
noHay(fecha, campo, m);
|
|
||||||
if (!fechaMoment.isValid()) noValido(campo, m, 'no es una fecha válida');
|
|
||||||
return fechaMoment;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Valida que una string contenga solo números
|
|
||||||
*/
|
|
||||||
const validarNumero = (
|
|
||||||
numero,
|
|
||||||
campo,
|
|
||||||
m,
|
|
||||||
length,
|
|
||||||
no_symbols = true,
|
|
||||||
makeNumber = false
|
|
||||||
) => {
|
|
||||||
validacionBasicaStr(numero, campo, m, length);
|
|
||||||
if (!validator.isNumeric(numero, { no_symbols }))
|
|
||||||
noValido(campo, m, 'tiene caracteres que no son números');
|
|
||||||
if (makeNumber) return Number(numero);
|
|
||||||
return numero;
|
|
||||||
};
|
|
||||||
|
|
||||||
// const validarAccesibilidad = (usuariosValidos = [], idTipoUsuario) => {
|
|
||||||
// for (let i = 0; i < usuariosValidos.length; i++)
|
|
||||||
// if (idTipoUsuario === usuariosValidos[i]) return;
|
|
||||||
// throw new Error('Este usuario no tiene permitido usar esta linea de la API.');
|
|
||||||
// };
|
|
||||||
|
|
||||||
/*
|
|
||||||
Te dice si un objeto esta vacio o no.
|
|
||||||
*/
|
|
||||||
const validarObjetoVacio = (obj) => {
|
|
||||||
for (let key in obj) if (obj.hasOwnProperty(key)) return false;
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
yaExiste,
|
|
||||||
noValido,
|
|
||||||
noHay,
|
|
||||||
validacionBasicaStr,
|
|
||||||
validarNumeroEntero,
|
|
||||||
validarCorreo,
|
|
||||||
validarTexto,
|
|
||||||
validarAlfanumerico,
|
|
||||||
validarNumeroCuenta,
|
|
||||||
validarFecha,
|
|
||||||
validarNumero,
|
|
||||||
validarObjetoVacio,
|
|
||||||
};
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
require('../config/config');
|
|
||||||
const jwt = require('jsonwebtoken');
|
|
||||||
|
|
||||||
const verificaToken = (req, res, next) => {
|
|
||||||
let token = req.headers.token;
|
|
||||||
|
|
||||||
if (!token)
|
|
||||||
return res.status(400).json({
|
|
||||||
message: 'No hay token',
|
|
||||||
});
|
|
||||||
jwt.verify(token, process.env.KEY, (err, decoded) => {
|
|
||||||
if (err) {
|
|
||||||
let message = '';
|
|
||||||
|
|
||||||
if (err.message === 'invalid signature')
|
|
||||||
message = 'El token no es valido. Inicia sesión de nuevo.';
|
|
||||||
if (err.message === 'jwt expired')
|
|
||||||
message = 'El token expiro. Inicia sesión de nuevo.';
|
|
||||||
if (err.message === 'jwt malformed')
|
|
||||||
message = 'Hubo un problema con el token. Inicia sesión de nuevo.';
|
|
||||||
return res.status(401).json({ message, err: 'token error' });
|
|
||||||
}
|
|
||||||
req.decoded = decoded;
|
|
||||||
next();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const crearToken = (data) => {
|
|
||||||
return jwt.sign({ data }, process.env.KEY, {
|
|
||||||
expiresIn: Number(process.env.CADUCIDAD_TOKEN),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const crearTokenUsuario = (data) => {
|
|
||||||
return jwt.sign({ data }, process.env.KEY, {
|
|
||||||
expiresIn: Number(process.env.CADUCIDAD_TOKEN_USUARIO),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const crearTokenOperador = (data) => {
|
|
||||||
return jwt.sign({ data }, process.env.KEY, {
|
|
||||||
expiresIn: Number(process.env.CADUCIDAD_TOKEN_OPERADOR),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = { verificaToken, crearToken };
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
const express = require("express");
|
|
||||||
const app = express();
|
|
||||||
|
|
||||||
// app.use(require("./"));
|
|
||||||
|
|
||||||
module.exports = app;
|
|
||||||
+2
-2
@@ -15,12 +15,12 @@ app.use(
|
|||||||
|
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
|
|
||||||
app.get('/', (req, res) => res.send('API Plantilla'));
|
app.get('/', (req, res) => res.send('API Sistema de Encuestas'));
|
||||||
|
|
||||||
app.use(require('./routes/index'));
|
app.use(require('./routes/index'));
|
||||||
|
|
||||||
app.listen(Number(process.env.PORT), () =>
|
app.listen(Number(process.env.PORT), () =>
|
||||||
console.log(
|
console.log(
|
||||||
`API Plantilla corriendo en el puerto: ${process.env.PORT}`.rainbow
|
`API Sistema de Encuestas corriendo en el puerto: ${process.env.PORT}`.rainbow
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
const Cuestionario = require(`../../db/tablas/Cuestionario`);
|
||||||
|
const Usuario = require(`../../db/tablas/Usuario`);
|
||||||
|
const TipoCuestionario = require(`../../db/tablas/TipoCuestionario`);
|
||||||
|
|
||||||
|
const crear = async (body) => {
|
||||||
|
const idUsuario = validar.validarNumeroEntero(body.idUsuario, 'idUsuario');
|
||||||
|
const idTipoCuestionario = validar.validarNumeroEntero(
|
||||||
|
body.idTipoCuestionario,
|
||||||
|
'idTipoCuestionario'
|
||||||
|
);
|
||||||
|
const fechaInicio = validar.validarFecha(body.fechaInicio, 'fecha inicio');
|
||||||
|
const fechaFin = validar.validarFecha(body.fechaFin, 'fecha fin');
|
||||||
|
const titulo = validar.validacionBasicaStr(body.titulo, 'titulo', true, 100);
|
||||||
|
const descripcion = validar.validacionBasicaStr(
|
||||||
|
body.descripcion,
|
||||||
|
'descripcion',
|
||||||
|
false,
|
||||||
|
100
|
||||||
|
);
|
||||||
|
|
||||||
|
return Usuario.findOne({ where: { idUsuario } }).then(async (res) => {
|
||||||
|
if (!res) throw new Error('Este usuario no existe en la db');
|
||||||
|
|
||||||
|
return TipoCuestionario.findOne({ where: { idTipoCuestionario } }).then(
|
||||||
|
async (res) => {
|
||||||
|
if (!res)
|
||||||
|
throw new Error('Este tipo de cuestionario no existe en la db');
|
||||||
|
|
||||||
|
return Cuestionario.create({
|
||||||
|
idUsuario,
|
||||||
|
idTipoCuestionario,
|
||||||
|
fechaInicio,
|
||||||
|
fechaFin,
|
||||||
|
titulo,
|
||||||
|
descripcion,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = crear;
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
const Cuestionario = require(`../../db/tablas/Cuestionario`);
|
||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
|
||||||
|
const editar = async (body) => {
|
||||||
|
const idCuestionario = validar.validarNumeroEntero(
|
||||||
|
body.idCuestionario,
|
||||||
|
'idCuestionario'
|
||||||
|
);
|
||||||
|
const data = {};
|
||||||
|
|
||||||
|
if (!!body.titulo) {
|
||||||
|
data.titulo = validar.validacionBasicaStr(body.titulo, 'titulo', true, 100);
|
||||||
|
}
|
||||||
|
if (!!body.descripcion) {
|
||||||
|
data.descripcion = validar.validacionBasicaStr(
|
||||||
|
body.descripcion,
|
||||||
|
'descripcion',
|
||||||
|
false,
|
||||||
|
100
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!!body.fechaInicio) {
|
||||||
|
data.fechaInicio = validar.validarFecha(body.fechaInicio, 'fechaInicio');
|
||||||
|
}
|
||||||
|
if (!!body.fechaFin) {
|
||||||
|
data.fechaFin = validar.validarFecha(body.fechaFin, 'fechaFin');
|
||||||
|
}
|
||||||
|
|
||||||
|
return Cuestionario.findOne({ where: { idCuestionario } })
|
||||||
|
.then((res) => {
|
||||||
|
if (!res) throw new Error('No existe este cuestionario.');
|
||||||
|
return Cuestionario.update(
|
||||||
|
{
|
||||||
|
titulo: data.titulo,
|
||||||
|
descripcion: data.descripcion,
|
||||||
|
fechaInicio: data.fechaInicio,
|
||||||
|
fechaFin: data.fechaFin,
|
||||||
|
},
|
||||||
|
{ where: { idCuestionario } }
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.then((res) => ({
|
||||||
|
message: 'Se actualizó correctamente el cuestionario.',
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = editar;
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const Cuestionario = require('../../db/tablas/Cuestionario');
|
||||||
|
const Seccion = require('../../db/tablas/Seccion');
|
||||||
|
const Pregunta = require('../../db/tablas/Pregunta');
|
||||||
|
const Opcion = require('../../db/tablas/Opcion');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerCompleto = async (query) => {
|
||||||
|
const idCuestionario = validar.validarNumeroEntero(
|
||||||
|
query.idCuestionario,
|
||||||
|
'idCuestionario'
|
||||||
|
);
|
||||||
|
let cuestionario = {};
|
||||||
|
|
||||||
|
const cuest = await Cuestionario.findOne({ where: { idCuestionario } });
|
||||||
|
if (!cuest) throw new Error('No existe el cuestionario');
|
||||||
|
cuestionario.cuestionario = cuest;
|
||||||
|
|
||||||
|
const secciones = await Seccion.findAll({ where: { idCuestionario } });
|
||||||
|
if (secciones.length === 0) throw new Error('No existen secciones');
|
||||||
|
cuestionario.secciones = secciones;
|
||||||
|
|
||||||
|
for (let i = 0; i < secciones.length; i++) {
|
||||||
|
cuestionario.secciones[i].preguntas = [];
|
||||||
|
const preguntas = await Pregunta.findAll({
|
||||||
|
where: { idSeccion: secciones[i].idSeccion },
|
||||||
|
});
|
||||||
|
cuestionario.secciones[i].dataValues.preguntas = preguntas;
|
||||||
|
|
||||||
|
for (let j = 0; j < preguntas.length; j++) {
|
||||||
|
cuestionario.secciones[i].dataValues.preguntas[j].dataValues.opciones =
|
||||||
|
[];
|
||||||
|
const opciones = await Opcion.findAll({
|
||||||
|
where: { idPregunta: preguntas[j].idPregunta },
|
||||||
|
});
|
||||||
|
|
||||||
|
cuestionario.secciones[i].dataValues.preguntas[
|
||||||
|
j
|
||||||
|
].dataValues.opciones.push(opciones);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return cuestionario;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerCompleto;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const Cuestionario = require('../../db/tablas/Cuestionario');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPorId = async (query) => {
|
||||||
|
const idCuestionario = validar.validarNumeroEntero(
|
||||||
|
query.idCuestionario,
|
||||||
|
'idCuestionario'
|
||||||
|
);
|
||||||
|
|
||||||
|
return Cuestionario.findOne({
|
||||||
|
where: { idCuestionario }
|
||||||
|
}).then(res => {
|
||||||
|
if(!res) throw new Error("No hay ningun cuestionario con este id.")
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPorId;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
const Cuestionario = require('../../db/tablas/Cuestionario');
|
||||||
|
|
||||||
|
const traerTodos = async () => Cuestionario.findAll();
|
||||||
|
|
||||||
|
module.exports = traerTodos;
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
const Pregunta = require(`../../db/tablas/Pregunta`);
|
||||||
|
const Opcion = require(`../../db/tablas/Opcion`);
|
||||||
|
|
||||||
|
const crear = async (body) => {
|
||||||
|
const idPregunta = validar.validarNumeroEntero(body.idPregunta, 'idPregunta');
|
||||||
|
const opcion = validar.validacionBasicaStr(body.opcion, 'opcion', false, 256);
|
||||||
|
|
||||||
|
return Pregunta.findOne({ where: { idPregunta } }).then(async (res) => {
|
||||||
|
if (!res) throw new Error('Esta pregunta no existe en la db');
|
||||||
|
|
||||||
|
return Opcion.create({
|
||||||
|
idPregunta,
|
||||||
|
opcion,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = crear;
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
const Opcion = require(`../../db/tablas/Opcion`);
|
||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
|
||||||
|
const editar = async (body) => {
|
||||||
|
const idOpcion = validar.validarNumeroEntero(body.idOpcion, 'idOpcion');
|
||||||
|
const opcion = validar.validacionBasicaStr(body.opcion, 'opcion', false, 256);
|
||||||
|
|
||||||
|
return Opcion.findOne({ where: { idOpcion } })
|
||||||
|
.then((res) => {
|
||||||
|
if (!res) throw new Error('No existe esta opción.');
|
||||||
|
return Opcion.update(
|
||||||
|
{
|
||||||
|
opcion,
|
||||||
|
},
|
||||||
|
{ where: { idOpcion } }
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.then((res) => ({
|
||||||
|
message: 'Se actualizó correctamente la opción.',
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = editar;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const Opcion = require('../../db/tablas/Opcion');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPoridPregunta = async (query) => {
|
||||||
|
const idPregunta = validar.validarNumeroEntero(
|
||||||
|
query.idPregunta,
|
||||||
|
'idPregunta'
|
||||||
|
);
|
||||||
|
|
||||||
|
return Opcion.findAll({
|
||||||
|
where: { idPregunta }
|
||||||
|
}).then(res => {
|
||||||
|
if(!res) throw new Error("No hay ninguna Opcion con este idPregunta.")
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPoridPregunta;
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
const Seccion = require(`../../db/tablas/Seccion`);
|
||||||
|
const TipoPregunta = require(`../../db/tablas/TipoPregunta`);
|
||||||
|
const Pregunta = require(`../../db/tablas/Pregunta`);
|
||||||
|
|
||||||
|
const crear = async (body) => {
|
||||||
|
const idSeccion = validar.validarNumeroEntero(body.idSeccion, 'idSeccion');
|
||||||
|
const idTipoPregunta = validar.validarNumeroEntero(
|
||||||
|
body.idTipoPregunta,
|
||||||
|
'idTipoPregunta'
|
||||||
|
);
|
||||||
|
const idPreguntaDepende = body.idPreguntaDepende
|
||||||
|
? validar.validarNumeroEntero(body.idPreguntaDepende, 'idPreguntaDepende')
|
||||||
|
: null;
|
||||||
|
const pregunta = validar.validacionBasicaStr(
|
||||||
|
body.pregunta,
|
||||||
|
'pregunta',
|
||||||
|
false,
|
||||||
|
256
|
||||||
|
);
|
||||||
|
const otra = body.otra ? true : false;
|
||||||
|
const obligatoria = body.obligatoria ? true : false;
|
||||||
|
|
||||||
|
return Seccion.findOne({ where: { idSeccion } }).then(async (res) => {
|
||||||
|
if (!res) throw new Error('Esta sección no existe en la db');
|
||||||
|
|
||||||
|
return TipoPregunta.findOne({ where: idTipoPregunta }).then(async (res) => {
|
||||||
|
if (!res) throw new Error('Este tipo de pregunta no existe en la db.');
|
||||||
|
|
||||||
|
return Pregunta.findOne({
|
||||||
|
where: { idPregunta: idPreguntaDepende },
|
||||||
|
}).then(async (res) => {
|
||||||
|
if (!res && body.idPreguntaDepende)
|
||||||
|
throw new Error('La pregunta de la que depende no existe.');
|
||||||
|
|
||||||
|
return Pregunta.create({
|
||||||
|
idSeccion,
|
||||||
|
idTipoPregunta,
|
||||||
|
idPreguntaDepende,
|
||||||
|
pregunta,
|
||||||
|
otra,
|
||||||
|
obligatoria,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = crear;
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
const Pregunta = require(`../../db/tablas/Pregunta`);
|
||||||
|
const TipoPregunta = require('../../db/tablas/TipoPregunta');
|
||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
|
||||||
|
const editar = async (body) => {
|
||||||
|
const idPregunta = validar.validarNumeroEntero(body.idPregunta, 'idPregunta');
|
||||||
|
const data = {};
|
||||||
|
|
||||||
|
if (!!body.pregunta) {
|
||||||
|
data.pregunta = validar.validacionBasicaStr(
|
||||||
|
body.pregunta,
|
||||||
|
'pregunta',
|
||||||
|
false,
|
||||||
|
265
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!!body.idPreguntaDepende) {
|
||||||
|
data.idPreguntaDepende = validar.validarNumeroEntero(
|
||||||
|
body.idPreguntaDepende,
|
||||||
|
'idPreguntaDepende',
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!!body.idTipoPregunta) {
|
||||||
|
data.idTipoPregunta = validar.validarNumeroEntero(
|
||||||
|
body.idTipoPregunta,
|
||||||
|
'idTipoPregunta',
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!!body.otra !== null) data.otra = body.obligatoria;
|
||||||
|
if (!!body.obligatoria !== null) data.obligatoria = body.obligatoria;
|
||||||
|
|
||||||
|
const extistePregunta = await Pregunta.findOne({ where: { idPregunta } });
|
||||||
|
if (!extistePregunta) throw new Error('No existe esta pregunta.');
|
||||||
|
|
||||||
|
if (data.idPreguntaDepende) {
|
||||||
|
const extistePreguntaDepende = await Pregunta.findOne({
|
||||||
|
where: { idPregunta: data.idPreguntaDepende },
|
||||||
|
});
|
||||||
|
if (!extistePreguntaDepende)
|
||||||
|
throw new Error('No existe la pregunta de la que depende.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.idTipoPregunta) {
|
||||||
|
const existeTipoPregunta = await TipoPregunta.findOne({
|
||||||
|
where: { idTipoPregunta: data.idTipoPregunta },
|
||||||
|
});
|
||||||
|
if (!existeTipoPregunta) throw new Error('No existe el tipo pregunta.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await Pregunta.update(
|
||||||
|
{
|
||||||
|
pregunta: data.pregunta,
|
||||||
|
idTipoPregunta: data.idTipoPregunta,
|
||||||
|
idPreguntaDepende: data.idPreguntaDepende,
|
||||||
|
otra: data.otra,
|
||||||
|
obligatoria: data.obligatoria,
|
||||||
|
},
|
||||||
|
{ where: { idPregunta } }
|
||||||
|
);
|
||||||
|
if (!res) throw new Error('Se ha actualizado la pregunta con éxito.');
|
||||||
|
return {message: 'Se ha actualizado la pregunta con éxito.'};
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = editar;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const Pregunta = require('../../db/tablas/Pregunta');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPoridSeccion = async (query) => {
|
||||||
|
const idSeccion = validar.validarNumeroEntero(
|
||||||
|
query.idSeccion,
|
||||||
|
'idSeccion'
|
||||||
|
);
|
||||||
|
|
||||||
|
return Pregunta.findAll({
|
||||||
|
where: { idSeccion }
|
||||||
|
}).then(res => {
|
||||||
|
if(!res) throw new Error("No hay ninguna pregunta con este idSeccion.")
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPoridSeccion;
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
const RespuestaAbiertaEd = require('../../db/tablas/RespuestaAbiertaEd');
|
||||||
|
const RespuestaAbiertaTrabajador = require('../../db/tablas/RespuestaAbiertaTrabajador');
|
||||||
|
const RespuestaAbiertaAlumno = require('../../db/tablas/RespuestaAbiertaAlumno');
|
||||||
|
const RespuestaEd = require('../../db/tablas/RespuestaEd');
|
||||||
|
const RespuestaTrabajador = require('../../db/tablas/RespuestaTrabajador');
|
||||||
|
const RespuestaAlumno = require('../../db/tablas/RespuestaAlumno');
|
||||||
|
const Pregunta = require('../../db/tablas/Pregunta');
|
||||||
|
const TipoPregunta = require('../../db/tablas/TipoPregunta');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPoridPregunta = async (query) => {
|
||||||
|
const idPregunta = validar.validarNumeroEntero(
|
||||||
|
query.idPregunta,
|
||||||
|
'idPregunta'
|
||||||
|
);
|
||||||
|
|
||||||
|
const existePregunta = Pregunta.findOne({where: idPregunta, include: [{ model: TipoPregunta }]})
|
||||||
|
if(!existePregunta) throw new Error("No existe una pregunta con est idPregunta en la db.")
|
||||||
|
if(existePregunta.idTipoPregunta !== 1 ) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return Respuesta.findAll({
|
||||||
|
where: { idPregunta }
|
||||||
|
}).then(res => {
|
||||||
|
if(!res) throw new Error("No hay ninguna Respuesta con este idPregunta.")
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPoridPregunta;
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
const Seccion = require(`../../db/tablas/Seccion`);
|
||||||
|
const Cuestionario = require(`../../db/tablas/Cuestionario`);
|
||||||
|
|
||||||
|
const crear = async (body) => {
|
||||||
|
const idCuestionario = validar.validarNumeroEntero(
|
||||||
|
body.idCuestionario,
|
||||||
|
'idCuestionario'
|
||||||
|
);
|
||||||
|
const titulo = validar.validacionBasicaStr(body.titulo, 'titulo', true, 100);
|
||||||
|
const descripcion = validar.validacionBasicaStr(
|
||||||
|
body.descripcion,
|
||||||
|
'descripcion',
|
||||||
|
false,
|
||||||
|
100
|
||||||
|
);
|
||||||
|
|
||||||
|
return Cuestionario.findOne({ where: { idCuestionario } }).then(
|
||||||
|
async (res) => {
|
||||||
|
if (!res) throw new Error('Este cuestionario no existe en la db');
|
||||||
|
return Seccion.create({
|
||||||
|
idCuestionario,
|
||||||
|
titulo,
|
||||||
|
descripcion,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = crear;
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
const Seccion = require(`../../db/tablas/Seccion`);
|
||||||
|
const validar = require(`../../helper/validar`);
|
||||||
|
|
||||||
|
const editar = async (body) => {
|
||||||
|
const idSeccion = validar.validarNumeroEntero(
|
||||||
|
body.idSeccion,
|
||||||
|
'idSeccion'
|
||||||
|
);
|
||||||
|
const data = {};
|
||||||
|
|
||||||
|
if (!!body.titulo) {
|
||||||
|
data.titulo = validar.validacionBasicaStr(body.titulo, 'titulo', true, 100);
|
||||||
|
}
|
||||||
|
if (!!body.descripcion) {
|
||||||
|
data.descripcion = validar.validacionBasicaStr(
|
||||||
|
body.descripcion,
|
||||||
|
'descripcion',
|
||||||
|
false,
|
||||||
|
100
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Seccion.findOne({ where: { idSeccion } })
|
||||||
|
.then((res) => {
|
||||||
|
if (!res) throw new Error('No existe esta sección.');
|
||||||
|
return Seccion.update(
|
||||||
|
{
|
||||||
|
titulo: data.titulo,
|
||||||
|
descripcion: data.descripcion,
|
||||||
|
},
|
||||||
|
{ where: { idSeccion } }
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.then((res) => ({
|
||||||
|
message: 'Se actualizó correctamente la sección.',
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = editar;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const Seccion = require('../../db/tablas/Seccion');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPorIdCuestionario = async (query) => {
|
||||||
|
const idCuestionario = validar.validarNumeroEntero(
|
||||||
|
query.idCuestionario,
|
||||||
|
'idCuestionario'
|
||||||
|
);
|
||||||
|
|
||||||
|
return Seccion.findAll({
|
||||||
|
where: { idCuestionario }
|
||||||
|
}).then(res => {
|
||||||
|
if(!res) throw new Error("No hay ninguna sección con este idCuestionario.")
|
||||||
|
return res;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPorIdCuestionario;
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
const TipoCuestionario = require('../../db/tablas/TipoCuestionario');
|
||||||
|
const DirigidoA = require('../../db/tablas/DirigidoA');
|
||||||
|
const validar = require('../../helper/validar');
|
||||||
|
|
||||||
|
const traerPorId = (query) => {
|
||||||
|
const idTipoCuestionario = validar.validarNumeroEntero(
|
||||||
|
query.idTipoCuestionario,
|
||||||
|
'idTipoCuestionario'
|
||||||
|
);
|
||||||
|
|
||||||
|
return TipoCuestionario.findOne({
|
||||||
|
where: { idTipoCuestionario },
|
||||||
|
include: [{ model: DirigidoA }],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = traerPorId;
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
const TipoCuestionario = require('../../db/tablas/TipoCuestionario');
|
||||||
|
const DirigidoA = require('../../db/tablas/DirigidoA');
|
||||||
|
|
||||||
|
const traerTodos = () =>
|
||||||
|
TipoCuestionario.findAll({ include: [{ model: DirigidoA }] });
|
||||||
|
|
||||||
|
module.exports = traerTodos;
|
||||||
@@ -2,7 +2,7 @@ const Usuario = require('./tablas/Usuario');
|
|||||||
const { encriptar } = require('../helper/encriptar');
|
const { encriptar } = require('../helper/encriptar');
|
||||||
|
|
||||||
const dataUsuarios = async () => {
|
const dataUsuarios = async () => {
|
||||||
let usuario = ['416313221', '111111111', '222222222'];
|
let usuario = ['123', '111', '321'];
|
||||||
let nombre = [
|
let nombre = [
|
||||||
'Adriana De Luna Ramirez',
|
'Adriana De Luna Ramirez',
|
||||||
'Nombre Falso 1',
|
'Nombre Falso 1',
|
||||||
|
|||||||
+257
-1
@@ -2,16 +2,121 @@ require('../config/config');
|
|||||||
const colors = require('colors');
|
const colors = require('colors');
|
||||||
// const encriptar = require('../helper/encriptar');
|
// const encriptar = require('../helper/encriptar');
|
||||||
const TipoUsuario = require('./tablas/TipoUsuario');
|
const TipoUsuario = require('./tablas/TipoUsuario');
|
||||||
|
const Periodo = require('./tablas/Periodo');
|
||||||
|
const Carrera = require('./tablas/Carrera');
|
||||||
|
const TipoCuestionario = require('./tablas/TipoCuestionario');
|
||||||
|
const TipoPregunta = require('./tablas/TipoPregunta');
|
||||||
|
const Modalidad = require('./tablas/Modalidad');
|
||||||
|
const Alumno = require('./tablas/Alumno');
|
||||||
|
const Grupo = require('./tablas/Grupo');
|
||||||
|
const Materia = require('./tablas/Materia');
|
||||||
|
const CarreraPeriodo = require('./tablas/CarreraPeriodo');
|
||||||
const Usuario = require('./tablas/Usuario');
|
const Usuario = require('./tablas/Usuario');
|
||||||
|
const Trabajador = require('./tablas/Trabajador');
|
||||||
|
const UsuarioCarrera = require('./tablas/UsuarioCarrera');
|
||||||
|
const Cuestionario = require('./tablas/Cuestionario');
|
||||||
|
const CarreraPeriodoGrupo = require('./tablas/CarreraPeriodoGrupo');
|
||||||
|
const CuestionarioCarrera = require('./tablas/CuestionarioCarrera');
|
||||||
|
const Seccion = require('./tablas/Seccion');
|
||||||
|
const GrupoMateria = require('./tablas/GrupoMateria');
|
||||||
|
const Pregunta = require('./tablas/Pregunta');
|
||||||
|
const MateriaAlumno = require('./tablas/MateriaAlumno');
|
||||||
|
const Opcion = require('./tablas/Opcion');
|
||||||
|
const RespuestaAbiertaEd = require('./tablas/RespuestaAbiertaEd');
|
||||||
|
const RespuestaEd = require('./tablas/RespuestaEd');
|
||||||
|
const RespuestaAbiertaAlumno = require('./tablas/RespuestaAbiertaAlumno');
|
||||||
|
const RespuestaAlumno = require('./tablas/RespuestaAlumno');
|
||||||
|
const RespuestaAbiertaTrabajador = require('./tablas/RespuestaAbiertaTrabajador');
|
||||||
|
const RespuestaTrabajador = require('./tablas/RespuestaTrabajador');
|
||||||
|
const DirigidoA = require('./tablas/DirigidoA');
|
||||||
|
|
||||||
const drop = async () => {
|
const drop = async () => {
|
||||||
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
||||||
|
|
||||||
|
await RespuestaTrabajador.drop();
|
||||||
|
console.log('La tabla RespuestaTrabajador se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaTrabajador.drop();
|
||||||
|
console.log('La tabla RespuestaAbiertaTrabajador se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAlumno.drop();
|
||||||
|
console.log('La tabla RespuestaAlumno se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaAlumno.drop();
|
||||||
|
console.log('La tabla RespuestaAbiertaAlumno se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaEd.drop();
|
||||||
|
console.log('La tabla RespuestaAbiertaEd se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaEd.drop();
|
||||||
|
console.log('La tabla RespuestaEd se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Opcion.drop();
|
||||||
|
console.log('La tabla Opcion se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await MateriaAlumno.drop();
|
||||||
|
console.log('La tabla MateriaAlumno se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Pregunta.drop();
|
||||||
|
console.log('La tabla Pregunta se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await GrupoMateria.drop();
|
||||||
|
console.log('La tabla GrupoMateria se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Seccion.drop();
|
||||||
|
console.log('La tabla Seccion se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CuestionarioCarrera.drop();
|
||||||
|
console.log('La tabla CuestionarioCarrera se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CarreraPeriodoGrupo.drop();
|
||||||
|
console.log('La tabla CarreraPeriodoGrupo se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Cuestionario.drop();
|
||||||
|
console.log('La tabla Cuestionario se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await UsuarioCarrera.drop();
|
||||||
|
console.log('La tabla UsuarioCarrera se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Trabajador.drop();
|
||||||
|
console.log('La tabla Trabajador se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
await Usuario.drop();
|
await Usuario.drop();
|
||||||
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
|
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CarreraPeriodo.drop();
|
||||||
|
console.log('La tabla CarreraPeriodo se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Materia.drop();
|
||||||
|
console.log('La tabla Materia se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Grupo.drop();
|
||||||
|
console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Alumno.drop();
|
||||||
|
console.log('La tabla Alumno se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Modalidad.drop();
|
||||||
|
console.log('La tabla Modalidad se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await TipoPregunta.drop();
|
||||||
|
console.log('La tabla TipoPregunta se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await TipoCuestionario.drop();
|
||||||
|
console.log('La tabla TipoCuestionario se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await DirigidoA.drop();
|
||||||
|
console.log('La tabla DirigidoA se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Carrera.drop();
|
||||||
|
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Periodo.drop();
|
||||||
|
console.log('La tabla Periodo se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
await TipoUsuario.drop();
|
await TipoUsuario.drop();
|
||||||
console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta);
|
console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const sync = async () => {
|
const sync = async () => {
|
||||||
@@ -20,8 +125,87 @@ const sync = async () => {
|
|||||||
await TipoUsuario.sync();
|
await TipoUsuario.sync();
|
||||||
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
|
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Periodo.sync();
|
||||||
|
console.log('La tabla Periodo se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Carrera.sync();
|
||||||
|
console.log('La tabla Carrera se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await DirigidoA.sync();
|
||||||
|
console.log('La tabla DirigidoA se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await TipoCuestionario.sync();
|
||||||
|
console.log('La tabla TipoCuestionario se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await TipoPregunta.sync();
|
||||||
|
console.log('La tabla TipoPregunta se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Modalidad.sync();
|
||||||
|
console.log('La tabla Modalidad se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Alumno.sync();
|
||||||
|
console.log('La tabla Alumno se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Grupo.sync();
|
||||||
|
console.log('La tabla Grupo se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Materia.sync();
|
||||||
|
console.log('La tabla Materia se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CarreraPeriodo.sync();
|
||||||
|
console.log('La tabla CarreraPeriodo se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
await Usuario.sync();
|
await Usuario.sync();
|
||||||
console.log('La tabla Usuario se instalo correctamente.'.magenta);
|
console.log('La tabla Usuario se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Trabajador.sync();
|
||||||
|
console.log('La tabla Trabajador se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await UsuarioCarrera.sync();
|
||||||
|
console.log('La tabla UsuarioCarrera se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Cuestionario.sync();
|
||||||
|
console.log('La tabla Cuestionario se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CarreraPeriodoGrupo.sync();
|
||||||
|
console.log('La tabla CarreraPeriodoGrupo se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await CuestionarioCarrera.sync();
|
||||||
|
console.log('La tabla CuestionarioCarrera se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Seccion.sync();
|
||||||
|
console.log('La tabla Seccion se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await GrupoMateria.sync();
|
||||||
|
console.log('La tabla GrupoMateria se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Pregunta.sync();
|
||||||
|
console.log('La tabla Pregunta se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await MateriaAlumno.sync();
|
||||||
|
console.log('La tabla MateriaAlumno se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await Opcion.sync();
|
||||||
|
console.log('La tabla Opcion se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaEd.sync();
|
||||||
|
console.log('La tabla RespuestaEd se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaEd.sync();
|
||||||
|
console.log('La tabla RespuestaAbiertaEd se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaAlumno.sync();
|
||||||
|
console.log('La tabla RespuestaAbiertaAlumno se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAlumno.sync();
|
||||||
|
console.log('La tabla Opcion se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaAbiertaTrabajador.sync();
|
||||||
|
console.log('La tabla RespuestaAbiertaTrabajador se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
|
await RespuestaTrabajador.sync();
|
||||||
|
console.log('La tabla RespuestaTrabajador se instalo correctamente.'.magenta);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const dataTipoUsuario = async () => {
|
const dataTipoUsuario = async () => {
|
||||||
@@ -32,10 +216,82 @@ const dataTipoUsuario = async () => {
|
|||||||
await TipoUsuario.create({ tipoUsuario: data[i] });
|
await TipoUsuario.create({ tipoUsuario: data[i] });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const dataModalidad = async () => {
|
||||||
|
const data = ['Presencial', 'A distancia'];
|
||||||
|
|
||||||
|
console.log('\nPaso 4) Instalando catalogo modalidad.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await Modalidad.create({ modalidad: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataTipoPregunta = async () => {
|
||||||
|
const data = ['Abierta', 'Cerrada', 'Opcion multiple'];
|
||||||
|
|
||||||
|
console.log('\nPaso 5) Instalando catalogo tipo pregunta.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await TipoPregunta.create({ tipoPregunta: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataDirigidoA = async () => {
|
||||||
|
const data = ['Alumnos', 'ED', 'Trabajadores'];
|
||||||
|
|
||||||
|
console.log('\nPaso 6) Instalando catalogo tipo cuestionario.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await DirigidoA.create({ dirigidoA: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataTipoCuestionario = async () => {
|
||||||
|
const data = ['Simple', 'Dependiente'];
|
||||||
|
|
||||||
|
console.log('\nPaso 7) Instalando catalogo tipo cuestionario.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await TipoCuestionario.create({ tipoCuestionario: data[i], idDirigidoA: i+1 });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataCarrera = async () => {
|
||||||
|
const data = ['Carrera 1', 'Carrera 2'];
|
||||||
|
|
||||||
|
console.log('\nPaso 8) Instalando catalogo carrera.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await Carrera.create({ carrera: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataPeriodo = async () => {
|
||||||
|
const data = ['Periodo 1', 'Periodo 2'];
|
||||||
|
|
||||||
|
console.log('\nPaso 9) Instalando catalogo periodo.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await Periodo.create({ periodo: data[i], activo: true});
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataGrupo = async () => {
|
||||||
|
const data = ['Grupo 1', 'Grupo 2'];
|
||||||
|
|
||||||
|
console.log('\nPaso 10) Instalando catalogo grupo.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await Grupo.create({ grupo: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
|
const dataMateria = async () => {
|
||||||
|
const data = ['Materia 1', 'Materia 2'];
|
||||||
|
|
||||||
|
console.log('\nPaso 11) Instalando catalogo materia.'.bold.blue);
|
||||||
|
for (let i = 0; i < data.length; i++)
|
||||||
|
await Materia.create({ materia: data[i] });
|
||||||
|
};
|
||||||
|
|
||||||
const exe = async () => {
|
const exe = async () => {
|
||||||
await drop();
|
await drop();
|
||||||
await sync();
|
await sync();
|
||||||
await dataTipoUsuario;
|
await dataTipoUsuario();
|
||||||
|
await dataModalidad();
|
||||||
|
await dataTipoPregunta();
|
||||||
|
await dataDirigidoA();
|
||||||
|
await dataTipoCuestionario();
|
||||||
|
await dataCarrera();
|
||||||
|
await dataPeriodo();
|
||||||
|
await dataGrupo();
|
||||||
|
await dataMateria();
|
||||||
console.log(
|
console.log(
|
||||||
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class Alumno extends Model {}
|
||||||
|
Alumno.init(
|
||||||
|
{
|
||||||
|
idAlumno: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
numeroCuenta: {
|
||||||
|
type: DataTypes.STRING(10),
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
},
|
||||||
|
fechaNacimiento: {
|
||||||
|
type: DataTypes.DATE,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
nombre: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
apellidoMaterno: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
apellidoPaterno: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Alumno',
|
||||||
|
tableName: 'alumno',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = Alumno;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class Carrera extends Model {}
|
||||||
|
Carrera.init(
|
||||||
|
{
|
||||||
|
idCarrera: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
carrera: {
|
||||||
|
type: DataTypes.STRING(50),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Carrera',
|
||||||
|
tableName: 'carrera',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = Carrera;
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Carrera = require('./Carrera');
|
||||||
|
const Periodo = require('./Periodo');
|
||||||
|
|
||||||
|
class CarreraPeriodo extends Model {}
|
||||||
|
CarreraPeriodo.init(
|
||||||
|
{
|
||||||
|
idCarreraPeriodo: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
vistoBueno: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
allowNull: true,
|
||||||
|
defaultValue: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'CarreraPeriodo',
|
||||||
|
tableName: 'carrera_periodo',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
CarreraPeriodo.belongsTo(Carrera, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCarrera',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
CarreraPeriodo.belongsTo(Periodo, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPeriodo',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = CarreraPeriodo;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const CarreraPeriodo = require('./CarreraPeriodo');
|
||||||
|
const Grupo = require('./Grupo');
|
||||||
|
|
||||||
|
class CarreraPeriodoGrupo extends Model {}
|
||||||
|
CarreraPeriodoGrupo.init(
|
||||||
|
{
|
||||||
|
idCarreraPeriodoGrupo: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'CarreraPeriodoGrupo',
|
||||||
|
tableName: 'carrera_periodo_grupo',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
CarreraPeriodoGrupo.belongsTo(CarreraPeriodo, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCarreraPeriodo',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
CarreraPeriodoGrupo.belongsTo(Grupo, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idGrupo',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = CarreraPeriodoGrupo;
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const TipoCuestionario = require('./TipoCuestionario');
|
||||||
|
const Usuario = require('./Usuario');
|
||||||
|
|
||||||
|
|
||||||
|
class Cuestionario extends Model {}
|
||||||
|
Cuestionario.init(
|
||||||
|
{
|
||||||
|
idCuestionario: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
fechaInicio: {
|
||||||
|
type: DataTypes.DATE,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
fechaFin: {
|
||||||
|
type: DataTypes.DATE,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
titulo: {
|
||||||
|
type: DataTypes.STRING(100),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
descripcion: {
|
||||||
|
type: DataTypes.STRING(100),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Cuestionario',
|
||||||
|
tableName: 'cuestionario',
|
||||||
|
timestamps: true,
|
||||||
|
createdAt: true,
|
||||||
|
updatedAt: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Cuestionario.belongsTo(Usuario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idUsuario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Cuestionario.belongsTo(TipoCuestionario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idTipoCuestionario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Cuestionario;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Carrera = require('./Carrera');
|
||||||
|
const Cuestionario = require('./Cuestionario');
|
||||||
|
|
||||||
|
class CuestionarioCarrera extends Model {}
|
||||||
|
CuestionarioCarrera.init(
|
||||||
|
{
|
||||||
|
idCuestionarioCarrera: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'CuestionarioCarrera',
|
||||||
|
tableName: 'cuestionario_carrera',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
CuestionarioCarrera.belongsTo(Carrera, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCarrera',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
CuestionarioCarrera.belongsTo(Cuestionario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCuestionario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = CuestionarioCarrera;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class DirigidoA extends Model {}
|
||||||
|
DirigidoA.init(
|
||||||
|
{
|
||||||
|
idDirigidoA: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
dirigidoA: {
|
||||||
|
type: DataTypes.STRING(50),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'DirigidoA',
|
||||||
|
tableName: 'dirigido_a',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = DirigidoA;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class Grupo extends Model {}
|
||||||
|
Grupo.init(
|
||||||
|
{
|
||||||
|
idGrupo: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
grupo: {
|
||||||
|
type: DataTypes.STRING(10),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Grupo',
|
||||||
|
tableName: 'grupo',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = Grupo;
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const CarreraPeriodoGrupo = require('./CarreraPeriodoGrupo');
|
||||||
|
const Materia = require('./Materia');
|
||||||
|
const Trabajador = require('./Trabajador');
|
||||||
|
|
||||||
|
class GrupoMateria extends Model {}
|
||||||
|
GrupoMateria.init(
|
||||||
|
{
|
||||||
|
idGrupoMateria: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'GrupoMateria',
|
||||||
|
tableName: 'grupo_materia',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
GrupoMateria.belongsTo(CarreraPeriodoGrupo, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCarreraPeriodoGrupo',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
GrupoMateria.belongsTo(Trabajador, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idProfesor',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
GrupoMateria.belongsTo(Materia, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idMateria',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = GrupoMateria;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class Materia extends Model {}
|
||||||
|
Materia.init(
|
||||||
|
{
|
||||||
|
idMateria: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
materia: {
|
||||||
|
type: DataTypes.STRING(100),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Materia',
|
||||||
|
tableName: 'materia',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = Materia;
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const GrupoMateria = require('./GrupoMateria');
|
||||||
|
const Alumno = require('./Alumno');
|
||||||
|
const Modalidad = require('./Modalidad');
|
||||||
|
|
||||||
|
class MateriaAlumno extends Model {}
|
||||||
|
MateriaAlumno.init(
|
||||||
|
{
|
||||||
|
idMateriaAlumno: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'MateriaAlumno',
|
||||||
|
tableName: 'materia_alumno',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MateriaAlumno.belongsTo(GrupoMateria, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idGrupoMateria',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
MateriaAlumno.belongsTo(Modalidad, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idModalidad',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
MateriaAlumno.belongsTo(Alumno, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idAlumno',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = MateriaAlumno;
|
||||||
@@ -1,27 +1,27 @@
|
|||||||
const { DataTypes, Model } = require('sequelize');
|
const { DataTypes, Model } = require('sequelize');
|
||||||
const sequelize = require('../../config/sequelize.conf');
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
class TipoUsuario extends Model {}
|
class Modalidad extends Model {}
|
||||||
TipoUsuario.init(
|
Modalidad.init(
|
||||||
{
|
{
|
||||||
idTipoUsuario: {
|
idModalidad: {
|
||||||
type: DataTypes.INTEGER,
|
type: DataTypes.INTEGER,
|
||||||
primaryKey: true,
|
primaryKey: true,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
unique: true,
|
unique: true,
|
||||||
autoIncrement: true,
|
autoIncrement: true,
|
||||||
},
|
},
|
||||||
tipoUsuario: {
|
modalidad: {
|
||||||
type: DataTypes.STRING(15),
|
type: DataTypes.STRING(15),
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sequelize,
|
sequelize,
|
||||||
modelName: 'TipoUsuario',
|
modelName: 'Modalidad',
|
||||||
tableName: 'tipo_usuario',
|
tableName: 'modalidad',
|
||||||
timestamps: false,
|
timestamps: false,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
module.exports = TipoUsuario;
|
module.exports = Modalidad;
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Pregunta = require('./Pregunta');
|
||||||
|
|
||||||
|
class Opcion extends Model {}
|
||||||
|
Opcion.init(
|
||||||
|
{
|
||||||
|
idOpcion: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
opcion: {
|
||||||
|
type: DataTypes.STRING(256),
|
||||||
|
allowNull: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Opcion',
|
||||||
|
tableName: 'opcion',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Opcion.belongsTo(Pregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPregunta',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Opcion;
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class Periodo extends Model {}
|
||||||
|
Periodo.init(
|
||||||
|
{
|
||||||
|
idPeriodo: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
periodo: {
|
||||||
|
type: DataTypes.STRING(15),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
activo: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Periodo',
|
||||||
|
tableName: 'periodo',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = Periodo;
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Seccion = require('./Seccion');
|
||||||
|
const TipoPregunta = require('./TipoPregunta');
|
||||||
|
|
||||||
|
class Pregunta extends Model {}
|
||||||
|
Pregunta.init(
|
||||||
|
{
|
||||||
|
idPregunta: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
otra: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
allowNull: true,
|
||||||
|
defaultValue: false,
|
||||||
|
},
|
||||||
|
obligatoria: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
allowNull: true,
|
||||||
|
defaultValue: false,
|
||||||
|
},
|
||||||
|
pregunta: {
|
||||||
|
type: DataTypes.STRING(256),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Pregunta',
|
||||||
|
tableName: 'pregunta',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Pregunta.belongsTo(Seccion, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idSeccion',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Pregunta.belongsTo(TipoPregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idTipoPregunta',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Pregunta.belongsTo(Pregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPreguntaDepende',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: true,
|
||||||
|
defaultValue: null
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Pregunta;
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Alumno = require('./Alumno');
|
||||||
|
const Pregunta = require('./Pregunta');
|
||||||
|
|
||||||
|
class RespuestaAbiertaAlumno extends Model {}
|
||||||
|
RespuestaAbiertaAlumno.init(
|
||||||
|
{
|
||||||
|
idRespuestaAbiertaAlumno: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
respuesta: {
|
||||||
|
type: DataTypes.STRING(256),
|
||||||
|
allowNull: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaAbiertaAlumno',
|
||||||
|
tableName: 'respuesta_abierta_alumno',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaAbiertaAlumno.belongsTo(Alumno, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idAlumno',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaAbiertaAlumno.belongsTo(Pregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPregunta',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaAbiertaAlumno;
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const MateriaAlumno = require('./MateriaAlumno');
|
||||||
|
const Pregunta = require('./Pregunta');
|
||||||
|
|
||||||
|
class RespuestaAbiertaEd extends Model {}
|
||||||
|
RespuestaAbiertaEd.init(
|
||||||
|
{
|
||||||
|
idRespuestaAbiertaEd: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
respuesta: {
|
||||||
|
type: DataTypes.STRING(256),
|
||||||
|
allowNull: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaAbiertaEd',
|
||||||
|
tableName: 'respuesta_abierta_ed',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaAbiertaEd.belongsTo(MateriaAlumno, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idMateriaAlumno',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaAbiertaEd.belongsTo(Pregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPregunta',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaAbiertaEd;
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Trabajador = require('./Trabajador');
|
||||||
|
const Pregunta = require('./Pregunta');
|
||||||
|
|
||||||
|
class RespuestaAbiertaTrabajador extends Model {}
|
||||||
|
RespuestaAbiertaTrabajador.init(
|
||||||
|
{
|
||||||
|
idRespuestaAbiertaTrabajador: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
respuesta: {
|
||||||
|
type: DataTypes.STRING(256),
|
||||||
|
allowNull: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaAbiertaTrabajador',
|
||||||
|
tableName: 'respuesta_abierta_trabajador',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaAbiertaTrabajador.belongsTo(Trabajador, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idTrabajador',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaAbiertaTrabajador.belongsTo(Pregunta, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idPregunta',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaAbiertaTrabajador;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Alumno = require('./Alumno');
|
||||||
|
const Opcion = require('./Opcion');
|
||||||
|
|
||||||
|
class RespuestaAlumno extends Model {}
|
||||||
|
RespuestaAlumno.init(
|
||||||
|
{
|
||||||
|
idRespuestaAlumno: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaAlumno',
|
||||||
|
tableName: 'respuesta_alumno',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaAlumno.belongsTo(Alumno, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idAlumno',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaAlumno.belongsTo(Opcion, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idOpcion',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaAlumno;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const MateriaAlumno = require('./MateriaAlumno');
|
||||||
|
const Opcion = require('./Opcion');
|
||||||
|
|
||||||
|
class RespuestaEd extends Model {}
|
||||||
|
RespuestaEd.init(
|
||||||
|
{
|
||||||
|
idRespuestaEd: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaEd',
|
||||||
|
tableName: 'respuesta_abierta_ed',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaEd.belongsTo(MateriaAlumno, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idMateriaAlumno',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaEd.belongsTo(Opcion, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idOpcion',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaEd;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Trabajador = require('./Trabajador');
|
||||||
|
const Opcion = require('./Opcion');
|
||||||
|
|
||||||
|
class RespuestaTrabajador extends Model {}
|
||||||
|
RespuestaTrabajador.init(
|
||||||
|
{
|
||||||
|
idRespuestaTrabajador: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'RespuestaTrabajador',
|
||||||
|
tableName: 'respuesta_abierta_trabajador',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RespuestaTrabajador.belongsTo(Trabajador, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idTrabajador',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
RespuestaTrabajador.belongsTo(Opcion, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idOpcion',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = RespuestaTrabajador;
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Cuestionario = require('./Cuestionario');
|
||||||
|
|
||||||
|
class Seccion extends Model {}
|
||||||
|
Seccion.init(
|
||||||
|
{
|
||||||
|
idSeccion: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
titulo: {
|
||||||
|
type: DataTypes.STRING(100),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
descripcion: {
|
||||||
|
type: DataTypes.STRING(100),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Seccion',
|
||||||
|
tableName: 'seccion',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Seccion.belongsTo(Cuestionario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCuestionario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = Seccion;
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const DirigidoA = require('./DirigidoA')
|
||||||
|
|
||||||
|
class TipoCuestionario extends Model {}
|
||||||
|
TipoCuestionario.init(
|
||||||
|
{
|
||||||
|
idTipoCuestionario: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
tipoCuestionario: {
|
||||||
|
type: DataTypes.STRING(50),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'TipoCuestionario',
|
||||||
|
tableName: 'tipo_cuestionario',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
TipoCuestionario.belongsTo(DirigidoA, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idDirigidoA',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = TipoCuestionario;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
|
||||||
|
class TipoPregunta extends Model {}
|
||||||
|
TipoPregunta.init(
|
||||||
|
{
|
||||||
|
idTipoPregunta: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
tipoPregunta: {
|
||||||
|
type: DataTypes.STRING(50),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'TipoPregunta',
|
||||||
|
tableName: 'tipo_pregunta',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = TipoPregunta;
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const TipoUsuario = require('./TipoUsuario');
|
||||||
|
|
||||||
|
class Trabajador extends Model {}
|
||||||
|
Trabajador.init(
|
||||||
|
{
|
||||||
|
idTrabajador: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
numeroTrabajador: {
|
||||||
|
type: DataTypes.STRING(20),
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
},
|
||||||
|
nombre: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
apellidoMaterno: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
apellidoPaterno: {
|
||||||
|
type: DataTypes.STRING(30),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
rfc: {
|
||||||
|
type: DataTypes.STRING(7),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
homoclave: {
|
||||||
|
type: DataTypes.STRING(3),
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'Trabajador',
|
||||||
|
tableName: 'trabajador',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Trabajador.belongsTo(TipoUsuario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idTipoUsuario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Trabajador;
|
||||||
@@ -22,15 +22,6 @@ Usuario.init(
|
|||||||
allowNull: true,
|
allowNull: true,
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
},
|
},
|
||||||
nombre: {
|
|
||||||
type: DataTypes.STRING(70),
|
|
||||||
allowNull: true,
|
|
||||||
defaultValue: null,
|
|
||||||
},
|
|
||||||
activo: {
|
|
||||||
type: DataTypes.BOOLEAN,
|
|
||||||
allowNull: false,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sequelize,
|
sequelize,
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { DataTypes, Model } = require('sequelize');
|
||||||
|
const sequelize = require('../../config/sequelize.conf');
|
||||||
|
const Carrera = require('./Carrera');
|
||||||
|
const Usuario = require('./Usuario');
|
||||||
|
|
||||||
|
class UsuarioCarrera extends Model {}
|
||||||
|
UsuarioCarrera.init(
|
||||||
|
{
|
||||||
|
idUsuarioCarrera: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
primaryKey: true,
|
||||||
|
allowNull: false,
|
||||||
|
unique: true,
|
||||||
|
autoIncrement: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sequelize,
|
||||||
|
modelName: 'UsuarioCarrera',
|
||||||
|
tableName: 'usuario_carrera',
|
||||||
|
timestamps: false,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
UsuarioCarrera.belongsTo(Carrera, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idCarrera',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
UsuarioCarrera.belongsTo(Usuario, {
|
||||||
|
foreignKey: {
|
||||||
|
name: 'idUsuario',
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = UsuarioCarrera;
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
// const { verificaToken } = require('../middleware/autentificacion');
|
||||||
|
const route = '/Cuestionario';
|
||||||
|
const traerTodos = require('../controller/Cuestionario/traerTodos');
|
||||||
|
const traerPorId = require('../controller/Cuestionario/traerPorId');
|
||||||
|
const TraerCompleto = require('../controller/Cuestionario/TraerCompleto');
|
||||||
|
const crear = require('../controller/Cuestionario/crear');
|
||||||
|
const editar = require('../controller/Cuestionario/editar');
|
||||||
|
|
||||||
|
app.get(`${route}/TraerTodos`, (req, res) => {
|
||||||
|
return traerTodos()
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get(`${route}/TraerPorId`, (req, res) => {
|
||||||
|
return traerPorId(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get(`${route}/TraerCompleto`, (req, res) => {
|
||||||
|
return TraerCompleto(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post(`${route}/crear`, (req, res) => {
|
||||||
|
return crear(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.put(`${route}/editar`, (req, res) => {
|
||||||
|
return editar(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
// const { verificaToken } = require('../middleware/autentificacion');
|
||||||
|
const route = '/Opcion';
|
||||||
|
const traerPoridPregunta = require('../controller/Opcion/traerPoridPregunta');
|
||||||
|
const crear = require('../controller/Opcion/crear');
|
||||||
|
const editar = require('../controller/Opcion/editar');
|
||||||
|
|
||||||
|
app.get(`${route}/traerPoridPregunta`, async (req, res) => {
|
||||||
|
return traerPoridPregunta(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post(`${route}/crear`, async (req, res) => {
|
||||||
|
return crear(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.put(`${route}/editar`, async (req, res) => {
|
||||||
|
return editar(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
// const { verificaToken } = require('../middleware/autentificacion');
|
||||||
|
const route = '/Pregunta';
|
||||||
|
const traerPorIdSeccion = require('../controller/Pregunta/traerPorIdSeccion');
|
||||||
|
const crear = require('../controller/Pregunta/crear');
|
||||||
|
const editar = require('../controller/Pregunta/editar');
|
||||||
|
|
||||||
|
app.get(`${route}/TraerPorIdSeccion`, async (req, res) => {
|
||||||
|
return traerPorIdSeccion(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post(`${route}/crear`, async (req, res) => {
|
||||||
|
return crear(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.put(`${route}/editar`, async (req, res) => {
|
||||||
|
return editar(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
// const { verificaToken } = require('../middleware/autentificacion');
|
||||||
|
const route = '/Seccion';
|
||||||
|
const traerPorIdCuestionario = require('../controller/Seccion/traerPorIdCuestionario');
|
||||||
|
const crear = require('../controller/Seccion/crear');
|
||||||
|
const editar = require('../controller/Seccion/editar');
|
||||||
|
|
||||||
|
app.get(`${route}/TraerPorIdCuestionario`, async (req, res) => {
|
||||||
|
return traerPorIdCuestionario(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post(`${route}/crear`, async (req, res) => {
|
||||||
|
return crear(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.put(`${route}/editar`, async (req, res) => {
|
||||||
|
return editar(req.body)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
// const { verificaToken } = require('../middleware/autentificacion');
|
||||||
|
const route = '/TipoCuestionario';
|
||||||
|
const traerTodos = require('../controller/TipoCuestionario/traerTodos');
|
||||||
|
const traerPorId = require('../controller/TipoCuestionario/traerPorId');
|
||||||
|
|
||||||
|
app.get(`${route}/TraerTodos`, (req, res) => {
|
||||||
|
return traerTodos()
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get(`${route}/TraerPorId`, (req, res) => {
|
||||||
|
return traerPorId(req.query)
|
||||||
|
.then((data) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
res.status(400).json({ message: err.message });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
const express = require('express');
|
|
||||||
const app = express();
|
|
||||||
const { verificaToken } = require('../middleware/autentificacion');
|
|
||||||
const route = '/usuario';
|
|
||||||
// const controllerPath = '../controller/Usuario';
|
|
||||||
// const login = require(`${controllerPath}/login`);
|
|
||||||
|
|
||||||
// app.post(`${route}/login`, (req, res) => {
|
|
||||||
// return login(req.body)
|
|
||||||
// .then((data) => {
|
|
||||||
// res.status(200).json(data);
|
|
||||||
// })
|
|
||||||
// .catch((err) => {
|
|
||||||
// res.status(400).json({ message: err.message });
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
module.exports = app;
|
|
||||||
@@ -1,6 +1,11 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
// app.use(require("./"));
|
app.use(require("./Usuario"));
|
||||||
|
app.use(require("./Cuestionario"));
|
||||||
|
app.use(require("./Seccion"));
|
||||||
|
app.use(require("./Pregunta"));
|
||||||
|
app.use(require("./Opcion"));
|
||||||
|
app.use(require("./TipoCuestionario"));
|
||||||
|
|
||||||
module.exports = app;
|
module.exports = app;
|
||||||
Reference in New Issue
Block a user