Skip to content
Snippets Groups Projects
Commit 9550c48f authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

Fix query middleware

parent 12645f17
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -3,8 +3,8 @@ const log = require(`${libs}/log`)(module);
const execQuery = require(`${libs}/db/query_exec`);
function query(req, res, next) {
log.debug(req.query);
execQuery(req.query.text, req.query.values).then((result) => {
log.debug(req.sql);
execQuery(req.sql.text, req.sql.values).then((result) => {
log.debug(result);
req.result = result;
next();
......
const libs = `${process.cwd()}/libs`;
const log = require(`${libs}/log`)(module);
const xml = require('js2xmlparser');
function response(req, res) {
if (req.query.format === 'csv') {
res.csv(req.result);
} else if (req.query.format === 'xml') {
res.send(xml('result', JSON.stringify({ city: req.result })));
} else {
res.json({ result: req.result });
}
function response(value) {
return function (req, res, next) {
log.debug(req.query.format);
if (req.query.format === 'csv') {
res.csv (req.result);
} else if (req.query.format === 'xml') {
res.send (xml('result', JSON.stringify({ [value]: req.result })));
} else {
res.json({ result: req.result });
}
};
}
module.exports = response;
......@@ -15,9 +15,9 @@ api.get('/', (req, res) => {
});
// mount API routes
api.use('/v1/enrollment', enrollment);
api.use('/v1/state', state);
api.use('/v1/region', region);
api.use('/v1/city', city);
api.use('/api/v1/enrollment', enrollment);
api.use('/api/v1/state', state);
api.use('/api/v1/region', region);
api.use('/api/v1/city', city);
module.exports = api;
......@@ -11,26 +11,26 @@ const query = require(`${libs}/middlewares/query`);
const response = require(`${libs}/middlewares/response`);
cityApp.get('/', (req, res, next) => {
req.query = squel.select().from('municipios').toParam();
req.sql = squel.select().from('municipios').toParam();
next();
}, query, response);
}, query, response('city'));
cityApp.get('/:id', (req, res, next) => {
req.query = squel.select().from('municipios').where('pk_municipio_id = ?',
req.sql = squel.select().from('municipios').where('pk_municipio_id = ?',
parseInt(req.params.id, 10)).toParam();
next();
}, query, response);
}, query, response('city'));
cityApp.get('/ibge/:id', (req, res, next) => {
req.query = squel.select().from('municipios').where('codigo_ibge = ?',
req.sql = squel.select().from('municipios').where('codigo_ibge = ?',
req.params.id).toParam();
next();
}, query, response);
}, query, response('city'));
cityApp.get('/state/:id', (req, res, next) => {
req.query = squel.select().from('municipios').where('fk_estado_id = ?',
req.sql = squel.select().from('municipios').where('fk_estado_id = ?',
parseInt(req.params.id, 10));
next();
}, query, response);
}, query, response('city'));
module.exports = cityApp;
......@@ -6,6 +6,8 @@ const libs = `${process.cwd()}/libs`;
const log = require(`${libs}/log`)(module);
const squel = require('squel');
const dbQuery = require('../db/query_exec');
const response = require('../middlewares/response');
......
......@@ -11,14 +11,14 @@ const query = require(`${libs}/middlewares/query`);
const response = require(`${libs}/middlewares/response`);
regionApp.get('/', (req, res, next) => {
req.query = squel.select().from('regioes').toParam();
req.sql = squel.select().from('regioes').toParam();
next();
}, query, response);
}, query, response('region'));
regionApp.get('/:id', (req, res, next) => {
req.query = squel.select().from('regioes').where('pk_regiao_id = ?',
req.sql = squel.select().from('regioes').where('pk_regiao_id = ?',
parseInt(req.params.id, 10)).toParam();
next();
}, query, response);
}, query, response('region'));
module.exports = regionApp;
......@@ -11,20 +11,20 @@ const query = require(`${libs}/middlewares/query`);
const response = require(`${libs}/middlewares/response`);
stateApp.get('/', (req, res, next) => {
req.query = squel.select().from('estados').toParam();
req.sql = squel.select().from('estados').toParam();
next();
}, query, response);
}, query, response('state'));
stateApp.get('/:id', (req, res, next) => {
req.query = squel.select().from('estados').where('pk_estado_id = ?',
req.sql = squel.select().from('estados').where('pk_estado_id = ?',
parseInt(req.params.id, 10)).toParam();
next();
}, query, response);
}, query, response('state'));
stateApp.get('/region/:id', (req, res, next) => {
req.query = squel.select().from('estados').where('fk_regiao_id = ?',
req.sql = squel.select().from('estados').where('fk_regiao_id = ?',
parseInt(req.params.id, 10)).toParam();
next();
}, query, response);
}, query, response('state'));
module.exports = stateApp;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment