From ddfe1bc22630da91641a5e7bf2b23fc9c5edee54 Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Sat, 9 Jan 2021 13:29:53 +0300 Subject: [PATCH] Fix for debug info error returning --- data_providers/vin01.js | 10 +++++----- index.js | 8 ++++++++ package-lock.json | 22 ++++++++++++++++++++++ package.json | 5 +++-- routes/vehicles.js | 9 ++++++--- utils.js | 1 - 6 files changed, 44 insertions(+), 11 deletions(-) diff --git a/data_providers/vin01.js b/data_providers/vin01.js index 871fb0f..0c1b249 100644 --- a/data_providers/vin01.js +++ b/data_providers/vin01.js @@ -67,9 +67,9 @@ class Vin01Provider { vehicle.vin1 = Utils.cyrillicToLatin(vin); vehicle.debugInfo = { vin01vin: { fields: 0, error: null }, - vin01history: { fields: 0, error: history.reason }, - vin01base: { fields: 0, error: base.reason } - } + vin01history: { fields: 0, error: history.reason.message }, + vin01base: { fields: 0, error: base.reason.message } + }; return vehicle; } else if(base.status == 'rejected') { console.log('vin01 found history'); @@ -77,7 +77,7 @@ class Vin01Provider { vehicle.number = number; Object.assign(vehicle.debugInfo, { vin01vin: { fields: 0, error: null }, - vin01base: { fields: 0, error: base.reason } + vin01base: { fields: 0, error: base.reason.message } }); return vehicle; } else if(history.status == 'rejected') { @@ -86,7 +86,7 @@ class Vin01Provider { vehicle.number = number; Object.assign(vehicle.debugInfo, { vin01vin: { fields: 0, error: null }, - vin01history: { fields: 0, error: history.reason } + vin01history: { fields: 0, error: history.reason.message } }); return vehicle; } else { diff --git a/index.js b/index.js index 53a624b..509a6dd 100644 --- a/index.js +++ b/index.js @@ -12,10 +12,18 @@ const fs = require('fs'); const compression = require('compression'); const dotenv = require('dotenv'); const dotenvExpand = require('dotenv-expand'); +const responseTime = require('response-time'); let dotenvConf = dotenv.config(); dotenvExpand(dotenvConf); +app.use(responseTime(function (req, res, time) { + var stat = (req.method + req.url).toLowerCase() + .replace(/[:.]/g, '') + .replace(/\//g, '_'); + console.log(`${stat} - ${time}`); +})); + app.use(compression()); app.use(bodyParser.json()); app.use(expressMongoDb(process.env.MONGO_CONNECTION_STRING)); diff --git a/package-lock.json b/package-lock.json index fe5fdf6..787f70c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "node-fetch": "^2.6.1", "node-html-parser": "^2.0.0", "pubnub": "^4.29.6", + "response-time": "^2.3.2", "utf8": "^3.0.0", "uuid": "^8.3.0" }, @@ -2106,6 +2107,18 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, + "node_modules/response-time": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", + "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", + "dependencies": { + "depd": "~1.1.0", + "on-headers": "~1.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -4650,6 +4663,15 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, + "response-time": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", + "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", + "requires": { + "depd": "~1.1.0", + "on-headers": "~1.0.1" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", diff --git a/package.json b/package.json index b9be8af..64e9d8d 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "AutoCat app backend", "main": "index.js", "scripts": { - "server": "node --async-stack-traces --trace-warnings index.js", - "migration": "node --async-stack-traces --trace-warnings migration.js", + "server": "node --async-stack-traces --trace-warnings index.js", + "migration": "node --async-stack-traces --trace-warnings migration.js", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Selim Mustafaev", @@ -24,6 +24,7 @@ "node-fetch": "^2.6.1", "node-html-parser": "^2.0.0", "pubnub": "^4.29.6", + "response-time": "^2.3.2", "utf8": "^3.0.0", "uuid": "^8.3.0" }, diff --git a/routes/vehicles.js b/routes/vehicles.js index f70a951..3d59aac 100644 --- a/routes/vehicles.js +++ b/routes/vehicles.js @@ -49,7 +49,7 @@ router.post('/check', async (req, res) => { let vehicle = null; if(autocod.status == 'rejected' && vin01.status == 'rejected') { - throw Error(autocod.reason); + throw autocod.reason; } else if(vin01.status == 'rejected') { vehicle = autocod.value; Object.assign(vehicle.debugInfo, vin01.reason.debugInfo); @@ -57,7 +57,7 @@ router.post('/check', async (req, res) => { vehicle = vin01.value; Object.assign(vehicle.debugInfo, autocod.reason.debugInfo); if(!vehicle.brand.name.normalized) { - throw Error(autocod.reason); + throw autocod.reason; } } else { vehicle = autocod.value; @@ -99,7 +99,7 @@ router.post('/check', async (req, res) => { router.get('/', async (req, res) => { const { email } = req.user; const { pageToken } = req.query; - const pageSize = 50; + const pageSize = 10; try { let finalQuery = Utils.makeVehiclesSearchQuery(req.query, email); @@ -119,6 +119,9 @@ router.get('/', async (req, res) => { ]; } + console.log('====== Query ======'); + console.log(finalQuery); + let vehicles = await collection.find(finalQuery).sort({ updatedDate: -1 }).limit(pageSize).toArray(); if(vehicles.length == pageSize) { response.pageToken = vehicles[vehicles.length - 1]._id; diff --git a/utils.js b/utils.js index 34bd0b0..7f35c0c 100644 --- a/utils.js +++ b/utils.js @@ -28,7 +28,6 @@ class Utils { } let findQueryFiltered = Object.fromEntries(Object.entries(findQuery).filter(([,val]) => val )); - console.dir(findQueryFiltered); return { ...findQueryFiltered, ...numberQuery }; }