diff --git a/lib/mdot/track.js b/lib/mdot/track.js index 89913e8..8d7e28f 100644 --- a/lib/mdot/track.js +++ b/lib/mdot/track.js @@ -48,6 +48,39 @@ module.exports = function(app) { }); + + mdotRouter.get('/:id', function(req, res) { + console.log(req.headers); + + var data = {}; + logger.debug('track-GetData'); + + if (!req.params.id) { + logger.error('Track','Missing required parameter'); + res.status(400).send({ + status: 'error', + error: 'missing required parameter' + }); + return; + } + + if (req.params.hasOwnProperty('id')) { + data.locationid = req.params.id; + + dbTrack.doGet(data) + .then((d) => { + res.json({tracks:d}); + }) + .catch((e) => { + logger.error(e); + res.status(500).json({}); + }); + + } + + }); + + app.use('/apiv2/track/', mdotRouter); }; diff --git a/lib/server/db-track.js b/lib/server/db-track.js index 4b4352a..16f6670 100644 --- a/lib/server/db-track.js +++ b/lib/server/db-track.js @@ -1,4 +1,5 @@ 'use strict'; +var logger = require('log4js').getLogger(); module.exports = function(db) { var module = {}; @@ -8,7 +9,7 @@ module.exports = function(db) { module.sqlInsertTrack = function(data) { let _data = data; - console.log('sqlInsertTrack', _data.locationid, _data.timestamp); + logger.debug('sqlInsertTrack', _data.locationid, _data.timestamp); return new Promise(function(resolve, reject) { db.func('insert_track', [_data.locationid, _data.timestamp, _data.count, _data.total]) @@ -22,8 +23,22 @@ module.exports = function(db) { }; + module.sqlGetTracksByID = function(locationId) { + logger.debug('track:sqlGetTracksByID', locationId); + return new Promise(function(resolve, reject) { + db.any('select * from track where locationid=$1;', [locationId]) + .then(function(d) { + return resolve(d); + }) + .catch((err)=> { + logger.error(err); + return reject(err); + }); + }); + }; + module.addNewTrack = function(data) { - console.log('addNewTrack'); + logger.debug('addNewTrack'); var self = this; return new Promise((resolve, reject) => { @@ -35,7 +50,7 @@ module.exports = function(db) { self.sqlInsertTrack(_data) .then((d)=> { - console.log('Postgres returns', d); + logger.debug('Postgres returns', d); return resolve({reply: 'track inserted'}); }) .catch((err)=> { @@ -45,6 +60,24 @@ module.exports = function(db) { }; + module.doGet = function(params) { + var self = this; + return new Promise(function(resolve, reject) { + console.log('track.doGet', params); + + self.sqlGetTracksByID(params.locationid) + .then(function(d) { + resolve(d); + }) + .catch(function(e) { + logger.error(e); + reject(e); + }); + + + + }); + }; return module; };