tabla casos especiales db

This commit is contained in:
2021-02-10 01:11:11 -06:00
parent 0873e99316
commit 1ef5cc8a07
9 changed files with 148 additions and 27 deletions
+2 -3
View File
@@ -10,7 +10,7 @@ const serviciosAdmin = async (body) => {
const pagina = validar.validarId(body.pagina);
const where = body.idStatus
? { idStatus: validar.validarId(body.idStatus) }
: {};
: { idStatus: { [Op.lte]: 10 } };
const nombre = body.nombre
? validar.validarTexto(body.nombre, 'El nombre', 60)
: '';
@@ -20,7 +20,6 @@ const serviciosAdmin = async (body) => {
const data = [];
return Servicio.findAll({
where,
include: [
{
model: Usuario,
@@ -31,7 +30,7 @@ const serviciosAdmin = async (body) => {
},
},
{ model: Carrera },
{ model: Status },
{ model: Status, where },
],
order: [['updatedAt', 'DESC']],
}).then((res) => {
@@ -12,7 +12,7 @@ const serviciosResponsable = async (body) => {
const idUsuario = validar.validarId(body.idUsuario);
const where = body.idStatus
? { idStatus: validar.validarId(body.idStatus) }
: {};
: { idStatus: { [Op.lt]: 10 } };
const nombre = body.nombre
? validar.validarTexto(body.nombre, 'El nombre', 60)
@@ -28,7 +28,6 @@ const serviciosResponsable = async (body) => {
if (res.idTipoUsuario !== 2)
throw new Error('No es un usuario tipo responsable.');
return Servicio.findAll({
where,
include: [
{ model: Programa, where: { idUsuario } },
{
@@ -40,7 +39,7 @@ const serviciosResponsable = async (body) => {
},
},
{ model: Carrera },
{ model: Status, where: { idStatus: { [Op.not]: 10 } } },
{ model: Status, where },
],
order: [['updatedAt', 'DESC']],
});
+28 -19
View File
@@ -6,6 +6,7 @@ const CuestionarioAlumno = require('./tablas/CuestionarioAlumno');
const CuestionarioPrograma = require('./tablas/CuestionarioPrograma');
const Programa = require('./tablas/Programa');
const Servicio = require('./tablas/Servicio');
const CasoEspecial = require('./tablas/CasoEspecial');
const Status = require('./tablas/Status');
const TipoUsuario = require('./tablas/TipoUsuario');
const Usuario = require('./tablas/Usuario');
@@ -13,67 +14,73 @@ const Usuario = require('./tablas/Usuario');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await CasoEspecial.drop();
console.log('La tabla CasoEspecial se desinstalo correctamente.'.magenta);
await Servicio.drop();
console.log('La tabla Servicio se instalo correctamente.'.magenta);
console.log('La tabla Servicio se desinstalo correctamente.'.magenta);
await Carrera.drop();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
await CuestionarioPrograma.drop();
console.log(
'La tabla CuestionarioPrograma se instalo correctamente.'.magenta
'La tabla CuestionarioPrograma se desinstalo correctamente.'.magenta
);
await CuestionarioAlumno.drop();
console.log('La tabla CuestionarioAlumno se instalo correctamente.'.magenta);
console.log(
'La tabla CuestionarioAlumno se desinstalo correctamente.'.magenta
);
await Programa.drop();
console.log('La tabla Programa se instalo correctamente.'.magenta);
console.log('La tabla Programa se desinstalo correctamente.'.magenta);
await Status.drop();
console.log('La tabla Status se instalo correctamente.'.magenta);
console.log('La tabla Status se desinstalo correctamente.'.magenta);
await Usuario.drop();
console.log('La tabla Usuario se instalo correctamente.'.magenta);
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
await TipoUsuario.drop();
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
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 desinstalo correctamente.'.magenta);
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
await Usuario.sync();
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
console.log('La tabla Usuario se instalo correctamente.'.magenta);
await Programa.sync();
console.log('La tabla Programa se desinstalo correctamente.'.magenta);
console.log('La tabla Programa se instalo correctamente.'.magenta);
await Status.sync();
console.log('La tabla Status se desinstalo correctamente.'.magenta);
console.log('La tabla Status se instalo correctamente.'.magenta);
await CuestionarioAlumno.sync();
console.log(
'La tabla CuestionarioAlumno se desinstalo correctamente.'.magenta
);
console.log('La tabla CuestionarioAlumno se instalo correctamente.'.magenta);
await CuestionarioPrograma.sync();
console.log(
'La tabla CuestionarioPrograma se desinstalo correctamente.'.magenta
'La tabla CuestionarioPrograma se instalo correctamente.'.magenta
);
await Carrera.sync();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
console.log('La tabla Carrera se instalo correctamente.'.magenta);
await Servicio.sync();
console.log('La tabla Servicio se desinstalo correctamente.'.magenta);
console.log('La tabla Servicio se instalo correctamente.'.magenta);
await CasoEspecial.sync();
console.log('La tabla CasoEspecial se instalo correctamente.'.magenta);
};
const dataTipoUsuario = async () => {
const data = ['admin', 'responsable', 'alumno'];
const data = ['admin', 'responsable', 'alumno', 'caso especial'];
console.log('\nPaso 3) Instalando data de TipoUsuario.'.bold.blue);
for (let i = 0; i < data.length; i++) {
@@ -94,6 +101,8 @@ const dataStatus = async () => {
'Carta Termino Rechazada',
'Informe Global Rechazado',
'Cancelado',
'Articulo 52',
'Articulo 91',
];
console.log('\nPaso 4) Instalando data de Status.'.bold.blue);
+100
View File
@@ -0,0 +1,100 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Usuario = require('./Usuario');
const Carrera = require('./Carrera');
const Programa = require('./Programa');
const Status = require('./Status');
class CasoEspecial extends Model {}
CasoEspecial.init(
{
idServicio: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
unique: true,
autoIncrement: true,
},
creditos: {
type: DataTypes.STRING(3),
allowNull: false,
},
correo: {
type: DataTypes.STRING(60),
allowNull: false,
},
telefono: {
type: DataTypes.STRING(15),
allowNull: true,
defaultValue: null,
},
direccion: {
type: DataTypes.STRING(200),
allowNull: true,
defaultValue: null,
},
fechaInicio: {
type: DataTypes.DATE,
allowNull: false,
},
fechaFin: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: null,
},
fechaNacimiento: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: null,
},
carpeta: {
type: DataTypes.STRING(60),
allowNull: false,
},
archivoZip: {
type: DataTypes.STRING(60),
allowNull: false,
},
},
{
sequelize,
modelName: 'CasoEspecial',
tableName: 'caso_especial',
timestamps: true,
}
);
CasoEspecial.belongsTo(Usuario, {
foreignKey: {
name: 'idUsuario',
type: DataTypes.INTEGER,
allowNull: false,
},
});
CasoEspecial.belongsTo(Carrera, {
foreignKey: {
name: 'idCarrera',
type: DataTypes.INTEGER,
allowNull: false,
},
});
CasoEspecial.belongsTo(Status, {
foreignKey: {
name: 'idStatus',
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1,
},
});
CasoEspecial.belongsTo(Programa, {
foreignKey: {
name: 'idPrograma',
type: DataTypes.INTEGER,
allowNull: false,
},
});
module.exports = CasoEspecial;
+13
View File
@@ -0,0 +1,13 @@
const fs = require('fs');
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'server/uploads' });
const { verificaToken } = require('../middleware/autentificacion');
const route = '/casoEspecial';
const eliminarArchivo = (filename) => {
fs.unlinkSync(`./server/uploads/${filename}`);
};
module.exports = app;
+3 -2
View File
@@ -4,8 +4,9 @@ const app = express();
app.use(require('./Status'));
app.use(require('./Usuario'));
app.use(require('./Servicio'));
// app.use(require('./CasoEspecial'));
app.use(require('./Programa'));
app.use(require('./CuestionarioAlumno'))
app.use(require('./CuestionarioPrograma'))
app.use(require('./CuestionarioAlumno'));
app.use(require('./CuestionarioPrograma'));
module.exports = app;