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: "Extensión invalida del archivo 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: "Extensión invalida del archivo de cartel" }); } } } catch (err) { console.log(err); return res.status(400).json({ error: true, msj: "error al verificar la extensión" }); } 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(400).json({ error: true, msj: "Error al registrar el cartel" }); }); } } 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(400).json({ error: true, msj: "Error al registrar el cartel" }); }); } } 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 = query(cad); respuesta.then(r => { console.log(r); }).catch(err => { res.status(400).json({ error: true, msj: "Error al registrar el cartel" }); return; }) } } catch (err) { res.status(400).json({ error: true, msj: "Error al registrar el cartel" }); return; } res.status(200).json({ error: false, msj: "exito " }); return; }); module.exports = app