barra de busqueda y temas

This commit is contained in:
2020-08-22 15:58:41 -05:00
parent 886ede3f01
commit 5e432c9639
5 changed files with 125 additions and 9 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ var express = require('express');
var app = express();
var cors = require('cors');
app.get('/', function(req, res) {
res.send('Hello World!');
res.send('Api de protal editorial');
});
require('dotenv').config()
app.use(cors());
+36
View File
@@ -0,0 +1,36 @@
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('/getLibros', async(req, res) => {
try{
let sqlString = `SELECT idLibro, titulo, categoria, autor FROM Libro;`;
console.log(` Esta es la cadena : ${sqlString}`);
let respuestaSql = await query(sqlString);
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;
+2
View File
@@ -8,5 +8,7 @@ app.use(require('./libroNovedades'));
app.use(require('./libroSimilar'));
app.use(require('./getNombresCarrusel'));
app.use(require('./getImagenCarrusel'));
app.use(require('./getLibros'));
app.use(require('./temaLibro'));
module.exports = app;
+41 -8
View File
@@ -1,11 +1,8 @@
const connection = require('../conf/connection.js');
const express = require('express')
var app = express();
var xlsx = require('node-xlsx');
var fs = require('fs');
var busboy = require('connect-busboy');
var path = require('path');
const { type } = require('os');
function query(consulta) {
@@ -18,6 +15,35 @@ function query(consulta) {
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
function getRandom(mini, maxi){
let a,b,c;
for(let i=1; i<=3; i++){
if(i==3){
c=a;
while(c===a || c===b){
console.log(`valores de a: ${a} ${b}`);
c=getRandomInt(mini,maxi);
}
}
else if(i==2){
b=a;
while(a===b){
b=getRandomInt(mini,maxi);
}
}
else{
a=getRandomInt(mini,maxi);
}
}
return [a,b,c];
}
app.get('/librosSimilares', async(req, res) => {
@@ -26,12 +52,19 @@ app.get('/librosSimilares', async(req, res) => {
res.status(400).json({error: true, msj: 'Falta la categoria del libro como parametro'});
return;
}
let sqlString = `SELECT * FROM Libro WHERE categoria='${data.categoria}' LIMIT 3;`;
let sqlString = `SELECT * FROM Libro WHERE categoria='${data.categoria}' LIMIT 35;`;
console.log(` Esta es la cadena : ${sqlString}`);
let respuestaSql = await query(sqlString);
let maxi = respuestaSql.length;
let mini = 0;
let values = getRandom(mini, maxi);
respuestaSql = [respuestaSql[values[0]], respuestaSql[values[1]], respuestaSql[values[2]] ];
if(respuestaSql.length === 0 ){
res.status(400).json({error: true, msj: 'No se pudo hacer la consulta'});
res.status(400).json({error: true, msj: 'No se tienen libros similares'});
return;
}
@@ -39,7 +72,7 @@ app.get('/librosSimilares', async(req, res) => {
res.status(200).json({error:false, msj: 'exito', data: respuestaSql})
}
catch(error){
res.status(400).json({error: true, msj: 'No se pudo obtener la imagen', desc: error});
res.status(400).json({error: true, msj: 'No se pudo obtener los libros similares', desc: error});
return;
}
+45
View File
@@ -0,0 +1,45 @@
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}';`;
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