From 4a54e770868939c5a7f958065bd294441f6a65fa Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Tue, 12 Jul 2016 10:53:27 -0300
Subject: [PATCH] Add CSV and XML response to /data and /year_range

---
 libs/routes/api.js | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/libs/routes/api.js b/libs/routes/api.js
index a7a51bfb..aa13166f 100644
--- a/libs/routes/api.js
+++ b/libs/routes/api.js
@@ -23,22 +23,36 @@ router.get('/', function (req, res) {
 router.get('/year_range', function(req, res) {
     var yearSql = "SELECT MIN(t.ano_censo) AS start_year, MAX(t.ano_censo) AS end_year FROM turmas AS t";
     conn.query(yearSql, true).then(function(result) {
+      if (req.query.format === 'csv') {
+        res.csv(result.data);
+      } else if (req.query.format === 'xml') {
+        res.send(xml("result", JSON.stringify({year_range: result.data})))
+      }
+      else {
         res.json({
             result: result.data
-        })
+        });
+      }
     });
 })
 
 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) {
+      if (req.query.format === 'csv') {
+        res.csv(result.data);
+      } else if (req.query.format === 'xml') {
+        res.send(xml("result", JSON.stringify({data: result.data})))
+      }
+      else {
         res.json({
-            result: result
-        })
+            result: result.data
+        });
+      }
     })
 })
 
-- 
GitLab