var express = require('express'), fs = require('fs'), sqlite3 = require('sqlite3').verbose(); var router = express.Router(); var weight_db; var file = process.env.DB_HOME + '/' + "weight.db"; /* GET users listing. */ function createWeightDB() { console.log('Creating Weight db...'); console.log(file); if (!fs.existsSync(file)) { console.log('creating db file'); fs.openSync(file,'w'); weight_db = new sqlite3.Database(file, createWeightTable); weight_db.close(); } } function connectWeightDB() { "use strict"; console.log('Connect db.'); weight_db = new sqlite3.Database(file); } function createWeightTable() { console.log('Creating weight table...'); weight_db.run('CREATE TABLE IF NOT EXISTS weight (date text, reading real);'); } function closeWeightDB() { "use strict"; console.log('Closing db.'); weight_db.close(); } function insertWeightReading(time, reading) { console.log('Inserting reading:' + reading); // var sql = db.prepare('INSERT into temperature(date, reading) VALUES // (?,?)',[time],[reading]); weight_db.run('BEGIN TRANSACTION'); weight_db.run('INSERT into weight(date, reading) VALUES (?,?)',[time, reading]); weight_db.run('END'); } router.get('/', function(req, res, next) { var now = new Date(); var t = req.query; if (req.query != {} && req.query.weight != null) { // createDB(); console.log(req.query); connectWeightDB(); insertWeightReading(now.toJSON(),parseFloat(req.query.weight) ); closeWeightDB(); res.writeHead(200, {"ContentType": "application/json"}); //res.send(JSON.stringify(t)); res.end(JSON.stringify(t)); } else { res.render('weight', { }); } }); router.get('/all', function(req, res, next) { "use strict"; console.log('Selecint all..'); connectWeightDB(); weight_db.all('SELECT * from weight', function(err, rows) { var out = []; console.log(err); console.log(rows); rows.forEach(function (row) { console.log(row.date + ', ' + row.reading); // var t = ; // out.push({"date": Date(row.date), "reading":row.reading}); out.push({"date": row.date, "reading":row.reading}); }); res.writeHead(200, {"ContentType": "application/json"}); //res.send(JSON.stringify(t)); res.end(JSON.stringify(out)); closeWeightDB(); }); }); module.exports = router; createWeightDB();