From 6da00ebfee589058e279aa8c2235c3b5f3c00629 Mon Sep 17 00:00:00 2001 From: Pietro Polinari Cavassin <ppc19@inf.ufpr.br> Date: Thu, 11 Aug 2022 11:07:25 -0300 Subject: [PATCH] add city subroutes and filters --- src/libs/routes/city.js | 43 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/libs/routes/city.js b/src/libs/routes/city.js index ef28500f..2ebc44d2 100644 --- a/src/libs/routes/city.js +++ b/src/libs/routes/city.js @@ -82,7 +82,25 @@ rqf.addField({ type: 'string', field: 'nome' } -}, 'search');; +}, 'search').addValue({ + name: 'mesoregion', + table: 'municipio', + tableField: 'mesorregiao_id', + where: { + relation: '=', + type: 'integer', + field: 'mesorregiao_id' + } +}).addValue({ + name: 'microregion', + table: 'municipio', + tableField: 'microrregiao_id', + where: { + relation: '=', + type: 'integer', + field: 'microrregiao_id' + } +}); // Return all cities cityApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { @@ -97,4 +115,27 @@ cityApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { next(); }, query, response('city')); +cityApp.get('/microregion', rqf.parse(), rqf.build(), (req, res, next) => { + req.sql.from('municipio') + .field('municipio.estado_id', 'state_id') + .field('municipio.microrregiao_id', 'microregion_id') + .field('municipio.nome_microrregiao', 'microregion_name') + .group('municipio.estado_id') + .group('municipio.microrregiao_id') + .group('municipio.nome_microrregiao') + next(); +}, query, response('city/microregion')); + +cityApp.get('/mesoregion', rqf.parse(), rqf.build(), (req, res, next) => { + req.sql.from('municipio') + .field('municipio.estado_id', 'state_id') + .field('municipio.mesorregiao_id', 'mesoregion_id') + .field('municipio.nome_mesorregiao', 'mesoregion_name') + .group('municipio.nome_mesorregiao') + .group('municipio.mesorregiao_id') + .group('municipio.estado_id') + next(); +}, query, response('city/mesoregion')); + + module.exports = cityApp; -- GitLab