156 lines
4.5 KiB
JavaScript
156 lines
4.5 KiB
JavaScript
const connection = require('../conf/connection.js');;
|
|
const express = require('express');
|
|
const fileUpload = require('express-fileupload');
|
|
|
|
|
|
var app = express()
|
|
app.use(fileUpload());
|
|
|
|
function query(consulta) {
|
|
return new Promise(function(resolve, reject) {
|
|
connection.query(`${consulta}`, (error, results, files) => {
|
|
if (error) reject(error);
|
|
resolve(results);
|
|
});
|
|
})
|
|
}
|
|
|
|
|
|
function depurado(cadena) {
|
|
if (cadena != null)
|
|
return cadena.replace(/'/g, "''");
|
|
else
|
|
return null;
|
|
}
|
|
app.post('/registro_ponencia', async(req, res) => {
|
|
|
|
|
|
|
|
if (req.body.ponencia == undefined && req.body.cartel == undefined)
|
|
return res.status(400).json({ erro: true, msj: "falta el campo ponencia o el campo cartel" });
|
|
console.log(req.body.id_persona);
|
|
|
|
try {
|
|
//console.log(req.files);
|
|
if (req.files.ponencia != undefined) {
|
|
let sampleFile = req.files.ponencia;
|
|
let nombreCortado = sampleFile.name.split('.');
|
|
let extencion = nombreCortado[nombreCortado.length - 1];
|
|
let extensionValidas = ['docx', 'doc', 'odt'];
|
|
|
|
if (extensionValidas.indexOf(extencion) < 0) {
|
|
return res.status(400).json({
|
|
error: true,
|
|
msj: "extencion invalida de ponencia"
|
|
});
|
|
}
|
|
}
|
|
if (req.files.cartel != undefined) {
|
|
|
|
let sampleFile = req.files.cartel;
|
|
let nombreCortado = sampleFile.name.split('.');
|
|
let extencion = nombreCortado[nombreCortado.length - 1];
|
|
let extensionValidas = ['docx', 'doc', 'odt'];
|
|
|
|
if (extensionValidas.indexOf(extencion) < 0) {
|
|
return res.status(400).json({
|
|
error: true,
|
|
msj: "extencion invalida de ponencia"
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
} catch (err) {
|
|
console.log(err);
|
|
return res.status(400).json({
|
|
error: true,
|
|
msj: "error al verificar la extencion"
|
|
});
|
|
}
|
|
|
|
try {
|
|
if (req.files.ponencia != undefined) {
|
|
let sampleFile = req.files.ponencia;
|
|
|
|
sampleFile.mv(`files/ponencia-${req.body.id_persona}.docx`, function(err) {
|
|
if (err)
|
|
return res.status(500).send(err);
|
|
|
|
});
|
|
}
|
|
|
|
} catch (err) {
|
|
res.status(400).json({ error: true, msj: "error al subir el archivo de ponencia", type: err });
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
if (req.files.cartel != undefined) {
|
|
let sampleFile = req.files.cartel;
|
|
sampleFile.mv(`files/cartel-${req.body.id_persona}.docx`, function(err) {
|
|
if (err)
|
|
return res.status(500).send(err);
|
|
});
|
|
}
|
|
|
|
} catch (err) {
|
|
res.status(400).json({ error: true, msj: "error al subir el archivo de ponencia", type: err });
|
|
return;
|
|
}
|
|
|
|
let pon = req.body.ponencia;
|
|
try {
|
|
console.log(req.body.ponencia);
|
|
if (pon != undefined) {
|
|
pon = JSON.parse(pon);
|
|
console.log(pon);
|
|
let n_autor_p = depurado(pon.autor_principal);
|
|
console.log(pon.autor_principal, " ", n_autor_p);
|
|
let n_segundo = depurado(pon.segundo_autor);
|
|
let n_nombre = depurado(pon.nombre_trabajo);
|
|
let n_mesa = depurado(pon.mesa);
|
|
let cad = `insert into trabajo values(null,${req.body.id_persona}, "ponencia", '${n_nombre}',
|
|
'${n_autor_p}', '${n_segundo}', '${n_mesa}', false, false, false);`;
|
|
let respuesta = await query(cad);
|
|
|
|
|
|
|
|
}
|
|
|
|
} catch (err) {
|
|
|
|
res.status(400).json({ error: true, msj: "error al registrar ponencia" });
|
|
return;
|
|
}
|
|
|
|
let car = req.body.cartel;
|
|
try {
|
|
if (car != undefined) {
|
|
car = JSON.parse(car);
|
|
console.log(car);
|
|
let n_autor_p = depurado(car.autor_principal);
|
|
let n_segundo = depurado(car.segundo_autor);
|
|
let n_nombre = depurado(car.nombre_trabajo);
|
|
let n_mesa = depurado(car.mesa);
|
|
let cad = `insert into trabajo values(null,${req.body.id_persona}, "cartel", '${n_nombre}',
|
|
'${n_autor_p}', '${n_segundo}', '${n_mesa}', false, false, false);`;
|
|
let respuesta = await query(cad);
|
|
|
|
}
|
|
|
|
|
|
} catch (err) {
|
|
|
|
res.status(400).json({ error: true, msj: "al registrar el cartel" });
|
|
return;
|
|
|
|
}
|
|
res.status(200).json({ error: false, msj: "exito " });
|
|
return;
|
|
|
|
});
|
|
|
|
module.exports = app |