const express = require('express'); const cityApp = express.Router(); const libs = `${process.cwd()}/libs`; const squel = require('squel'); const query = require(`${libs}/middlewares/query`); const response = require(`${libs}/middlewares/response`); const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`); let rqf = new ReqQueryFields(); rqf.addField({ name: 'filter', field: false, where: true }).addValue({ name: 'id', table: 'municipio', tableField: 'id', where: { relation: '=', type: 'integer', field: 'id' } }).addValue({ name: 'state', table: 'estado', tableField: 'nome', resultField: 'state_name', where: { relation: '=', type: 'integer', field: 'estado_id', table: 'municipio' }, join: { primary: 'id', foreign: 'estado_id', foreignTable: 'municipio' } }).addField({ name: 'search', field: false, where: true }).addValueToField({ name: 'name', table: 'municipio', tableField: 'nome', where: { relation: 'LIKE', type: 'string', field: 'nome' } }, 'search');; // Return all cities cityApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { req.sql.from('municipio') .field('municipio.nome', 'name') .field('municipio.id') .field('municipio.estado_id', 'state_id'); next(); }, query, response('city')); module.exports = cityApp;