diff --git a/libs/app.js b/libs/app.js index 146cc6816e77321c39787830ce3e18f574611ba0..205448c6f7a4c2603523266153f871b01e3d39d5 100644 --- a/libs/app.js +++ b/libs/app.js @@ -2,6 +2,7 @@ var express = require('express') var path = require('path') var cookieParser = require('cookie-parser') var bodyParser = require('body-parser') +var csv = require('csv-express') var methodOverride = require('method-override') var libs = process.cwd() + '/libs/' diff --git a/libs/routes/api.js b/libs/routes/api.js index 0bde814c2ba0295079f3b046656839230beb3650..faafaf2120779f37bb1c0cff77260fd44f9f332e 100644 --- a/libs/routes/api.js +++ b/libs/routes/api.js @@ -15,9 +15,9 @@ router.get('/', function (req, res) { }) router.get('/data', function(req, res) { - console.log(req.query) - console.log(req.query.met) - console.log(req.query.dim) + log.debug(req.query) + log.debug(req.query.met) + log.debug(req.query.dim) conn.query( 'SELECT * FROM turmas' ).then(function(result) { @@ -27,8 +27,8 @@ router.get('/data', function(req, res) { }) }) -router.get('/matriculas', function(req, res) { - console.log(req.query); +router.get('/matriculas/:format?', function(req, res) { + log.debug(req.query); tbl_name = "matriculas"; switch(req.query.agregar) @@ -41,17 +41,22 @@ router.get('/matriculas', function(req, res) { break; } - console.log("Querying table '" + tbl_name + "'"); + log.info("Querying table '" + tbl_name + "'"); /* FIXME: Replace parameter substitution - Might not be needed since the parameter tbl_name is not supplied by the user */ conn.query( 'SELECT * FROM ' + tbl_name, true ).then(function(result) { - console.log(result); - res.json({ - result: result.data - }) + log.debug(result); + if (req.params.format) { + res.csv(result.data) + } + else { + res.json({ + result: result.data + }) + } }); }) diff --git a/package.json b/package.json index 491b4b779665ea77b53a7c662651c68c42e24681..f5ff893b8066bb494f62f583a1ad5a55f08ed693 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "body-parser": "^1.13.1", "cookie-parser": "^1.3.5", + "csv-express": "^1.1.0", "debug": "~2.0.x", "express": "^4.13.0", "faker": "^2.1.5",