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

Add query middleware! :smile:

Route /cities/ibge/:id removed also
Do not tell people I did that
parent 1c09bbe8
No related branches found
Tags v1.8.0
No related merge requests found
Pipeline #
var libs = process.cwd() + '/libs/'
var conn = require(libs + 'db/monet')
var log = require(libs + 'log')(module)
function query(req, res, next) {
log.debug(req.query)
conn.query(
req.query.text, req.query.values, true
).then(function(result) {
// log.debug(result)
req.result = result
next()
})
}
module.exports = query
var express = require('express')
var xml = require('js2xmlparser')
var router = express.Router()
var squel = require('squel')
var libs = process.cwd() + '/libs/'
......@@ -8,59 +9,34 @@ var log = require(libs + 'log')(module)
var config = require(libs + 'config')
var conn = require(libs + 'db/monet')
var query = require(libs + 'middlewares/query')
function response(req, res) {
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({city: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({city: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
}
router.get('/', function(req, res) {
conn.query(
'SELECT * FROM municipios', true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
router.get('/', function(req, res, next) {
req.query = squel.select().from('municipios').toParam()
next()
}, query, response)
})
router.get('/:id', function(req, res, next) {
req.query = squel.select().from('municipios').where('pk_municipio_id=?', parseInt(req.params.id, 10)).toParam()
next()
}, query, response)
router.get('/:id', function(req, res) {
conn.query(
'SELECT * FROM municipios WHERE pk_municipio_id='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
router.get('/ibge/:id', function(req, res) {
conn.query(
'SELECT * FROM municipios WHERE codigo_ibge='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
router.get('/state/:id', function(req, res) {
conn.query(
'SELECT * FROM municipios WHERE fk_estado_id='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
router.get('/state/:id', function(req, res, next) {
req.query = squel.select().from('municipios').where('fk_estado_id=?', parseInt(req.params.id, 10)).toParam()
next()
}, query, response)
module.exports = router
var express = require('express')
var xml = require('js2xmlparser')
var router = express.Router()
var squel = require('squel')
var libs = process.cwd() + '/libs/'
......@@ -9,37 +10,29 @@ var config = require(libs + 'config')
var conn = require(libs + 'db/monet')
var query = require(libs + 'middlewares/query')
function response(req, res) {
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({state: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({state: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
}
router.get('/', function(req, res) {
conn.query(
'SELECT * FROM regioes', true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
router.get('/:id', function(req, res) {
conn.query(
'SELECT * FROM regioes WHERE pk_regiao_id='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
router.get('/', function(req, res, next) {
req.query = squel.select().from('regioes').toParam()
next()
}, query, response)
router.get('/:id', function(req, res, next) {
req.query = squel.select().from('regioes').where('pk_regiao_id=?', parseInt(req.params.id, 10)).toParam()
next()
}, query, response)
module.exports = router
var express = require('express')
var xml = require('js2xmlparser')
var router = express.Router()
var squel = require('squel')
var libs = process.cwd() + '/libs/'
......@@ -9,47 +10,35 @@ var config = require(libs + 'config')
var conn = require(libs + 'db/monet')
var query = require(libs + 'middlewares/query')
function response(req, res) {
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({state: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
console.log('respostas :)')
if (req.query.format === 'csv') {
res.csv(req.result.data)
} else if (req.query.format === 'xml') {
res.send(xml("result", JSON.stringify({state: req.result.data})))
}
else {
res.json({
result: req.result.data
})
}
}
router.get('/', function(req, res, next) {
conn.query(
'SELECT * FROM estados', true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
req.query = squel.select().from('estados').toParam()
next()
}, query, response)
router.get('/:id', function(req, res, next) {
conn.query(
'SELECT * FROM estados WHERE pk_estado_id='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
req.query = squel.select().from('estados').where('pk_estado_id = ?', parseInt(req.params.id, 10)).toParam()
next()
}, query, response)
router.get('/region/:id', function(req, res, next) {
conn.query(
'SELECT * FROM estados WHERE fk_regiao_id='+req.params.id, true
).then(function(result) {
log.debug(result)
req.result = result
response(req, res)
})
})
req.query = squel.select().from('estados').where('fk_regiao_id = ?', parseInt(req.params.id, 10)).toParam()
next()
}, query, response)
module.exports = router
......@@ -22,6 +22,7 @@
"method-override": "^2.3.3",
"monetdb": "^1.1.2",
"nconf": "^0.6.x",
"squel": "^5.4.2",
"winston": "^2.2.0"
},
"license": "MIT",
......
......@@ -139,20 +139,4 @@ describe('request cities', function(){
})
});
it('should list a city by codigo_ibge', function(done){
chai.request(server)
.get('/api/v1/cities/ibge/1200013')
.end(function(err, res){
res.should.have.status(200);
res.should.be.json;
res.body.should.have.property('result');
res.body.result.should.be.a('array');
res.body.result[0].should.have.property('pk_municipio_id');
res.body.result[0].should.have.property('fk_estado_id');
res.body.result[0].should.have.property('nome');
res.body.result[0].should.have.property('codigo_ibge');
done();
})
});
});
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