120 lines
4.3 KiB
JavaScript
120 lines
4.3 KiB
JavaScript
|
|
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<cad.length; i++){
|
|
if(i!==0 && cad[i]!=="\n" )
|
|
nuevocad = nuevocad + cad[i];
|
|
else
|
|
if(cad[i]!== "\n")
|
|
nuevocad = cad[i]
|
|
|
|
}
|
|
return nuevocad;
|
|
}
|
|
|
|
app.post('/agregarLibro', async(req, res) => {
|
|
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;
|
|
|
|
|
|
|