var express = require('express')
var xml = require('js2xmlparser')
var router = express.Router()

var libs = process.cwd() + '/libs/'

var log = require(libs + 'log')(module)
var config = require(libs + 'config')

var conn = require(libs + 'db/monet')

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
    })
  }
}

router.get('/', function(req, res, next) {
  conn.query(
    'SELECT * FROM estados', true
  ).then(function(result) {
    log.debug(result)
    req.result = result
    response(req, res)
  })
})

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)
  })
})

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)
  })
})

module.exports = router