diff --git a/package.json b/package.json index f52de48367fd022891fac9671eb354f9a268024d..1101d80eaf8b769bf82b40ff8b8b6d17c6b9b69e 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 e11f196a9a84e38ca3c19713c89a70c02c42c19a..e8e3f3de045b29917c7fd8967cd0faa9044046f4 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() {