diff --git a/index.js b/index.js index ce8582e..df0ccab 100644 --- a/index.js +++ b/index.js @@ -15,9 +15,10 @@ const httpsServer = https.createServer({ }, app); app.use(bodyParser.json()); +//app.use(expressMongoDb('mongodb://autocat_user:autocat#321@192.168.1.1:27017/autocatdev')); app.use(expressMongoDb('mongodb://autocat_user:autocat#321@127.0.0.1:27017/autocatdev')); app.use(bearerToken()); -app.use(jwt({ secret: '#IWantToBelieve', exclude: ['/user/signup', '/user/login'] })); +app.use(jwt({ secret: '#IWantToBelieve', exclude: ['/user/signup', '/user/login', '/vehicles/shared_report'] })); app.use('/user', users); app.use('/vehicles', vehicles); diff --git a/routes/vehicles.js b/routes/vehicles.js index 8a2cb71..6a348b1 100644 --- a/routes/vehicles.js +++ b/routes/vehicles.js @@ -1,5 +1,6 @@ const express = require('express'); const router = express.Router(); +const jwt = require('jsonwebtoken'); const AvtocodProvider = require('../data_providers/avtocod'); const Vin01Provider = require('../data_providers/vin01'); @@ -11,8 +12,6 @@ router.post('/check', async (req, res) => { const forceUpdate = req.body.forceUpdate.toLowerCase() == 'true'; const { login } = req.user; - //console.log('TOKEN: ', req.body.googleIdToken); - let collection = req.db.collection('vehicles'); let vehicles = await collection.find({ number }).toArray(); if(vehicles.length > 0 && !forceUpdate) { @@ -70,4 +69,20 @@ router.get('/', async (req, res) => { } }); +router.get('/shared_report', async (req, res) => { + try { + let { plate_number } = jwt.verify(req.query.token, '#TheTruthIsOutThere'); + let collection = req.db.collection('vehicles'); + let vehicles = await collection.find({ plate_number }).toArray(); + if(vehicles.length > 0) { + res.send({ success: true, data: vehicles[0] }); + } else { + res.send(makeError('Vehicle not found')); + } + } catch(ex) { + res.send(makeError(ex.message)); + console.error(ex); + } +}); + module.exports = router;