From c0882fb38f70780d2af80b8c0fffb22ed67dc49d Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Tue, 27 Jun 2017 09:49:53 -0300 Subject: [PATCH] Write csv --- package.json | 1 + src/libs/routes/region.js | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f52de483..1101d80e 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "faker": "^3.1.0", "forever": "^0.15.2", "js2xmlparser": "^2.0.2", + "jsonexport": "^2.0.9", "jwt-simple": "^0.5.0", "lodash": "^4.17.2", "method-override": "^2.3.3", diff --git a/src/libs/routes/region.js b/src/libs/routes/region.js index e11f196a..e8e3f3de 100644 --- a/src/libs/routes/region.js +++ b/src/libs/routes/region.js @@ -55,6 +55,9 @@ regionApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { const config = require(`${libs}/config`); const Agenda = require('agenda'); +const execQuery = require(`${libs}/db/query_exec`); +const jsonexport = require('jsonexport'); +const fs = require('fs'); let agenda = new Agenda({ db: { address: config.monq.uri, @@ -65,7 +68,30 @@ agenda.define('download region', (job, done) => { log.debug('POPEPO'); console.log('POPEPO'); console.log(job.attrs.data.sql); - done(); + let sql = job.attrs.data.sql; + execQuery(sql.text, sql.values).then((result) => { + log.debug(result); + jsonexport(result, (err, csv) => { + if(err) { + log.error('Erro na conversão do json pra csv'); + log.error(err); + return done(err); + } + console.log(csv); + fs.writeFile('out.csv', csv, (err) => { + if(err) { + log.error('Erro na escrita do arquivo'); + log.error(err); + return done(err); + } + log.info('Criado arquivo'); + done(); + }) + }); + }, (error) => { + log.error('Error!'); + done(error); + }); }); agenda.on('ready', function() { -- GitLab