From fd5cca78fbcd6484aa0774de9adb7a7acef17a5c Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Tue, 10 Oct 2017 10:51:35 -0300 Subject: [PATCH] Add download middleware to school route --- src/libs/routes/school.js | 42 +++++---------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/src/libs/routes/school.js b/src/libs/routes/school.js index a4eed83c..c91151cc 100644 --- a/src/libs/routes/school.js +++ b/src/libs/routes/school.js @@ -20,6 +20,10 @@ const request = require(`request`); const config = require(`${libs}/config`); +const passport = require('passport'); + +const download = require(`${libs}/middlewares/downloadDatabase`); + const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware; let rqf = new ReqQueryFields(); @@ -471,42 +475,6 @@ schoolApp.get('/count', cache('15 day'), rqfCount.parse(), rqfCount.build(), (re next(); }, query, id2str.transform(), response('school')); -schoolApp.get('/count/download', (req, res, next) => { - // first, query the mapping - req.sql.from('mapping_escola') - .field('target_name') - .field('name'); - next(); -}, query, (req, res, next) => { - req.resetSql(); - next(); -}, rqfCount.parse(), rqfCount.build(), (req, res, next) => { - let username = req.query.user; - let email = req.query.email; - - req.sql.from('escola').field('*'); - let header = ''; - req.result.forEach((result) => { - req.sql.field(result.name, result.target_name); - if(header === '') header += result.target_name; - else header = header + ';' + result.target_name; - }); - - let form = { - query: req.sql.toString(), - table: req.sql.tableFrom, - name: req.sql.tableFrom, - username, - email, - header - }; - request.post(config.cdn.url + '/api/v1/file', {form}, (err, response, body) => { - if(err) { - log.error(err); - return res.json({error: err}); - } - res.json({msg: 'Wait for download email'}); - }); -}); +schoolApp.get('/count/download', passport.authenticate('bearer', { session: false }), rqfCount.parse(), rqfCount.build(), download('escola', 'mapping_escola')); module.exports = schoolApp; -- GitLab