46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
const connection = require('../conf/connection.js');
|
|
const express = require('express')
|
|
var app = express();
|
|
|
|
|
|
|
|
|
|
function query(consulta) {
|
|
return new Promise(function(resolve, reject) {
|
|
connection.query(`${consulta}`, (error, results, files) => {
|
|
if (error) reject(error);
|
|
resolve(results);
|
|
});
|
|
})
|
|
}
|
|
|
|
|
|
app.get('/temaLibro', async(req, res) => {
|
|
|
|
try{
|
|
|
|
let data = req.query;
|
|
if( typeof( data.categoria ) === 'undefined' ){
|
|
res.status(400).json({error: true, msj: 'Falta la categoria del libro como parametro'});
|
|
return;
|
|
}
|
|
let sqlString = `SELECT * FROM Libro WHERE categoria='${data.categoria}' ORDER BY year DESC;`;
|
|
console.log(` Esta es la cadena : ${sqlString}`);
|
|
let respuestaSql = await query(sqlString);
|
|
|
|
|
|
if(respuestaSql.length === 0 ){
|
|
res.status(400).json({error: true, msj: 'No se tienen libros similares'});
|
|
return;
|
|
}
|
|
|
|
res.status(200).json({error:false, msj: 'exito', data: respuestaSql})
|
|
}
|
|
catch(error){
|
|
res.status(400).json({error: true, msj: 'No se pudo obtener los libros similares', desc: error});
|
|
return;
|
|
}
|
|
|
|
});
|
|
module.exports = app
|