const connection = require('../conf/connection.js');; const express = require('express'); const fileUpload = require('express-fileupload'); var path = require('path'); const nodemailer = require("nodemailer"); const fs = require("fs"); const { commit } = require('../conf/connection.js'); 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 corregir(cad){ var recor = String.fromCharCode(13); cad = cad.split(recor); let nuevocad=""; for(let i=0; i { console.log('archivos: ',req.files); // console.log(req.body); let data = req.body; if (req.files===null) { res.status(400).json({error: true, msj: `No se pudo cargar los archivos de imagen y pdf`}); return; } if (req.files.imagen===null) { res.status(400).json({error: true, msj: `No se pudo cargar el archivo de la imagen`}); return; } if (req.files.pdf===null) { res.status(400).json({error: true, msj: `No se pudo cargar el archivo del pdf`}); return; } try{ let titulo = corregir(data.titulo); let autor = corregir(data.autor); let categoria = data.categoria; let paginas = data.paginas; let isbn = data.isbn; let precio = data.precio; let edicion = corregir(data.edicion); let year = data.year; let descripcion = corregir(data.descripcion); let version = data.version; let sqlInsertString = `INSERT INTO Libro values ( null, '${isbn}' , '${titulo}', '${categoria}', '${autor}', ${paginas}, '${edicion}', '${precio}', '${version}', '${descripcion}', ${year}); `; let idLibro = null; try{ await query(sqlInsertString); let sqlString = `SELECT LAST_INSERT_ID() as idLibro;`; let sqlAnswer = await query(sqlString); idLibro = sqlAnswer[0].idLibro; } catch (error){ console.log(error); res.status(400).json({error: true, mensaje: 'Ocurrio un error al guardar en la BD', descripcion: error}); return; } if (req.files!==null && req.files.imagen !== null) { let imagen = req.files.imagen; console.log(imagen); let stringUpdate = `INSERT INTO Imagen values (null, ${idLibro}, '${imagen.name}' )`; console.log(stringUpdate) await query(stringUpdate); imagen.mv( path.join('.', `/routes/imagenLibro/${imagen.name}`), function(err) { if (err) return res.status(400).json({ error: true, msj: "Error al guardar la imagen del libro" }); }); } if (req.files!==null && req.files.pdf !== null) { let pdf = req.files.pdf; stringUpdate = `INSERT INTO Visualizacion values (null, ${idLibro}, '${pdf.name}' );`; await query(stringUpdate); pdf.mv( path.join('.', `/routes/pdf/${pdf.name}`), function(err) { if (err) return res.status(400).json({ error: true, msj: "Error al guardar el pdf del libro" }); }); res.status(200).json({error: false, msj: 'Se agrego con exito el libro'}); return; } } catch (error){ console.log(error); res.status(400).json({error: true, msj: `No se pudo agregar el libro`, desc: error}); console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`); return; } res.status(200).json({error: false, msj: 'Se agrego con exito el libro'}); return; }); module.exports = app;