actualizacion Carrucel

This commit is contained in:
2020-08-14 00:33:27 -05:00
parent 01348727e8
commit 56991c8209
16 changed files with 410 additions and 58 deletions
+271
View File
@@ -27,11 +27,35 @@
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"big-integer": {
"version": "1.6.48",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
"integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w=="
},
"bignumber.js": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
"integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A=="
},
"binary": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
"requires": {
"buffers": "~0.1.1",
"chainsaw": "~0.1.0"
}
},
"bluebird": {
"version": "3.4.7",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
"integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM="
},
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -49,11 +73,30 @@
"type-is": "~1.6.17"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"buffer-indexof-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz",
"integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8="
},
"buffers": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s="
},
"busboy": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz",
@@ -77,6 +120,14 @@
"printj": "~1.1.2"
}
},
"chainsaw": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
"requires": {
"traverse": ">=0.3.0 <0.4"
}
},
"codepage": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
@@ -98,6 +149,11 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"connect-busboy": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/connect-busboy/-/connect-busboy-0.0.2.tgz",
@@ -129,6 +185,11 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
"integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -183,6 +244,14 @@
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
"integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
},
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
"requires": {
"readable-stream": "^2.0.2"
}
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -193,6 +262,11 @@
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"es6-promise": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
"integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y="
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -274,6 +348,40 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fstream": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
},
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
},
"http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
@@ -294,6 +402,20 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
"immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
@@ -309,6 +431,56 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"jszip": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
"integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
"requires": {
"core-js": "~2.3.0",
"es6-promise": "~3.0.2",
"lie": "~3.1.0",
"pako": "~1.0.2",
"readable-stream": "~2.0.6"
},
"dependencies": {
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
},
"readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "~1.0.0",
"process-nextick-args": "~1.0.6",
"string_decoder": "~0.10.x",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"lie": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
"integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
"requires": {
"immediate": "~3.0.5"
}
},
"listenercount": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
"integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc="
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -342,6 +514,27 @@
"mime-db": "1.44.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mkdirp": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
"minimist": "^1.2.5"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -385,11 +578,29 @@
"ee-first": "1.1.1"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
},
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -435,6 +646,17 @@
"unpipe": "1.0.0"
}
},
"read-excel-file": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/read-excel-file/-/read-excel-file-4.0.7.tgz",
"integrity": "sha512-0J2PYr0+W+MdNWV0ADX2YTl2NgjxQpB5kGetAKJD+aKPDEqaE+I2o538hjLsIAHYhE8+C4xyRKa/1Jx2uJ0LpQ==",
"requires": {
"jszip": "3.1.5",
"unzipper": "^0.9.15",
"xmldom": "^0.1.27",
"xpath": "0.0.27"
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -449,6 +671,14 @@
"util-deprecate": "~1.0.1"
}
},
"rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"requires": {
"glob": "^7.1.3"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -497,6 +727,11 @@
"send": "0.17.1"
}
},
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
@@ -538,6 +773,11 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
"traverse": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
},
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -552,6 +792,22 @@
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"unzipper": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz",
"integrity": "sha512-2aaUvO4RAeHDvOCuEtth7jrHFaCKTSXPqUkXwADaLBzGbgZGzUDccoEdJ5lW+3RmfpOZYNx0Rw6F6PUzM6caIA==",
"requires": {
"big-integer": "^1.6.17",
"binary": "~0.3.0",
"bluebird": "~3.4.1",
"buffer-indexof-polyfill": "~1.0.0",
"duplexer2": "~0.1.4",
"fstream": "^1.0.12",
"listenercount": "~1.0.1",
"readable-stream": "~2.3.6",
"setimmediate": "~1.0.4"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -567,6 +823,11 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"xlsx": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.14.5.tgz",
@@ -580,6 +841,16 @@
"exit-on-epipe": "~1.0.1",
"ssf": "~0.10.2"
}
},
"xmldom": {
"version": "0.1.31",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
},
"xpath": {
"version": "0.0.27",
"resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz",
"integrity": "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ=="
}
}
}
+2 -1
View File
@@ -18,6 +18,7 @@
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mysql": "^2.18.1",
"node-xlsx": "^0.15.0"
"node-xlsx": "^0.15.0",
"read-excel-file": "^4.0.7"
}
}
Binary file not shown.
+47 -43
View File
@@ -7,6 +7,9 @@ var fs = require('fs');
var busboy = require('connect-busboy');
var path = require('path');
const readXlsxFile = require('read-excel-file/node');
app.use(busboy());
function query(consulta) {
@@ -41,43 +44,37 @@ function corregir(cad){
async function readExecel ( path )
{
console.log(`Entro a leer el excel`);
let workbook;
try{
try{
await readXlsxFile(`${__dirname}/ArchivosCarga/cargaLibro.xlsx`).then(async (rows) => {
//console.log(`Este es el renglon: ${rows}`);
for(let i=1; i< rows.length ; i++)
{
let titulo = corregir(rows [i][0]);
let autor = corregir(rows [i][1]);
let categoria = rows [i][2];
let paginas = rows [i][3];
let isbn = rows [i][4];
let precio = rows [i][5];
let edicion = corregir(rows [i][6]);
let year = rows [i][7];
let descripcion = corregir(rows [i][8]);
let version = rows [i][9];
workbook = xlsx.parse(fs.readFileSync(`${__dirname}/ArchivosCarga/${path}`));
}
catch (error){
console.log(`Ocurrio un error al leer el archivo msj: ${error}`);
throw new TypeError (`Error al leer el archivo msj: ${error}`);
}
try{
workbook = workbook[0].data;
for(let i=1; i<workbook.length; i++){
let titulo = corregir(workbook [i][0]);
let autor = corregir(workbook [i][1]);
let categoria = workbook [i][2];
let paginas = workbook [i][3];
let isbn = workbook [i][4];
let precio = workbook [i][5];
let edicion = corregir(workbook [i][6]);
let year = workbook [i][7];
let descripcion = corregir(workbook [i][8]);
let version = workbook [i][9];
let sqlString = `INSERT INTO Libro values ( null, '${isbn}' , '${titulo}', '${categoria}', '${autor}', ${paginas}, '${edicion}', '${precio}', '${version}', '${descripcion}', ${year}); `;
try{
await query(sqlString);
console.log(`INSERTO CON EXITO ${autor}`);
let sqlString = `INSERT INTO Libro values ( null, '${isbn}' , '${titulo}', '${categoria}', '${autor}', ${paginas}, '${edicion}', '${precio}', '${version}', '${descripcion}', ${year}); `;
try{
await query(sqlString);
console.log(`INSERTO CON EXITO ${autor}`);
}
catch(error){
console.log(` **** Hay un error: ${error}`);
}
}
catch(error){
console.log(` **** Hay un error: ${error}`);
}
}
});
return;
}
catch (error){
console.log(`Ocurrio un error al insertar en la base de datos msj: ${error}`);
@@ -91,16 +88,23 @@ async function readExecel ( path )
app.post('/cargaLibro', async(req, res) => {
var fstream;
console.log(`Entro`);
req.pipe(req.busboy);
req.busboy.on('file',async function (fieldname, file, filename) {
console.log("Uploading: " + filename);
let saveTo = path.join('.', `/routes/ArchivosCarga/cargaLibro.xlsx`);
console.log('Uploading: ' + saveTo);
file.pipe(fs.createWriteStream(saveTo));
await readExecel(`cargaLibro.xlsx`);
res.status(200).json({error: false, msj: `Se inserto con exito`});
});
try{
console.log(`Entro`);
req.pipe(req.busboy);
req.busboy.on('file',async function (fieldname, file, filename) {
console.log("Uploading: " + filename);
let saveTo = path.join('.', `/routes/ArchivosCarga/cargaLibro.xlsx`);
console.log('Uploading: ' + saveTo);
file.pipe(fs.createWriteStream(saveTo));
await readExecel(`cargaLibro.xlsx`);
res.status(200).json({error: false, msj: `Se inserto con exito`});
});
}
catch(error){
console.log(`Np se pudo cargar el libro`);
res.status(400).json({error: true, msj: `No se pudo cargar el libro`});
}
});
+4 -3
View File
@@ -33,16 +33,17 @@ app.get('/libroDetalle', async(req, res) => {
console.log(` Esta es la cadena : ${sqlString}`);
let respuestaSql = await query(sqlString);
respuestaSql = respuestaSql[0];
if(respuestaSql.length === 0 ){
if(typeof(respuestaSql.length) === 'undefined' || respuestaSql.length === 0 ){
res.status(400).json({error: true, msj: 'No se encontro el libro solicitado'});
return;
}
respuestaSql = respuestaSql[0];
res.status(200).json({error:false, msj: 'exito', datos: respuestaSql})
}
catch(error){
console.log(`Este es el error : ${error}`);
res.status(400).json({error: true, msj: 'No se pudo obtener la el libro', desc: error});
return;
}
+44
View File
@@ -0,0 +1,44 @@
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) {
return new Promise(function(resolve, reject) {
connection.query(`${consulta}`, (error, results, files) => {
if (error) reject(error);
resolve(results);
});
})
}
app.get('/imagenCarrusel', async(req, res) => {
console.log(`Entro a imagenes`);
let data = req.query;
if( typeof( data.nombre ) === 'undefined' ){
res.status(400).json({error: true, msj: 'Falta el ID del libro como parametro'});
return;
}
console.log(` Este es el id: ${data.nombre}`);
try{
let img = fs.readFileSync(path.join('.', `/routes/imagenesCarrusel/${data.nombre}`));
res.writeHead(200, {'Content-Type': 'image/jpg' });
res.end(img, 'binary')
return;
}
catch(error){
console.log(`ESte es el error : ${error}`);
res.status(400).json({error: true, msj: 'No se pudo obtener la imagen', desc: error});
return;
}
});
module.exports = app
+27
View File
@@ -0,0 +1,27 @@
const connection = require('../conf/connection.js');
const express = require('express')
var app = express();
var fs = require('fs');
const path = require('path');
app.get('/nombreCarrusel', async(req, res) => {
const directoryPath = path.join(__dirname, 'imagenesCarrusel');
fs.readdir(directoryPath, function (err, files) {
let imagen = []
if (err) {
res.status(400).json({error: true, msj:"Ocurrio un error al obtener los nombres", desc: err});
return
}
files.forEach(function (file) {
imagen.push(file);
console.log(file);
});
res.status(200).json({error: false, msj:"Exito", data: imagen});
return;
});
});
module.exports = app;
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

+2
View File
@@ -6,5 +6,7 @@ app.use(require('./libroImagen'));
app.use(require('./detalleLibro'));
app.use(require('./libroNovedades'));
app.use(require('./libroSimilar'));
app.use(require('./getNombresCarrusel'));
app.use(require('./getImagenCarrusel'));
module.exports = app;
+12 -10
View File
@@ -27,23 +27,25 @@ app.get('/libroImagen', async(req, res) => {
return;
}
console.log(` Este es el id: ${data.idLibro}`);
let sqlString = `SELECT * from Imagen where idLibro=${data.idLibro}`;
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 encontro el libro solicitado'});
return;
}
try{
let sqlString = `SELECT * from Imagen where idLibro=${data.idLibro}`;
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 encontro el libro solicitado'});
return;
}
respuestaSql = respuestaSql[0];
let img = fs.readFileSync(path.join('.', `/routes/imagenLibro/libro.jpg`));
console.log(` esta es la respuesta ${respuestaSql}`);
for(let key in respuestaSql)
console.log(` __ ${key} : ${respuestaSql[key]}`);
let img = fs.readFileSync(path.join('.', `/routes/imagenLibro/${respuestaSql.ruta}`));
res.writeHead(200, {'Content-Type': 'image/jpg' });
res.end(img, 'binary')
return;
}
catch(error){
console.log(`ESte es el error : ${error}`);
res.status(400).json({error: true, msj: 'No se pudo obtener la imagen', desc: error});
return;
}
+1 -1
View File
@@ -26,7 +26,7 @@ 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 3;`;
console.log(` Esta es la cadena : ${sqlString}`);
let respuestaSql = await query(sqlString);