tracking added

This commit is contained in:
Martin Donnelly 2016-08-12 14:28:22 +01:00
parent 0aacf552b9
commit 31b7f6f488
2 changed files with 69 additions and 3 deletions

View File

@ -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);
};

View File

@ -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;
};