diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js index dbdb0435f123e8dff0479fb9b2d70df2931f4ea4..8d5aefbd43e0fb075bc8ddfc7023dea4bf260699 100644 --- a/src/libs/routes/api.js +++ b/src/libs/routes/api.js @@ -78,6 +78,8 @@ const cub = require(`${libs}/routes/cub`); const classCount = require(`${libs}/routes/classCount`); +const portalMecInep = require(`${libs}/routes/portalMecInep`); + api.get('/', (req, res) => { res.json({ msg: 'SimCAQ API is running' }); }); @@ -119,5 +121,6 @@ api.use('/cub', cub); api.use('/auxiliar', auxiliar); api.use('/verify_teacher', verifyTeacher); api.use('/class_count', classCount); +api.use('/poltal_mec_inep', portalMecInep); module.exports = api; diff --git a/src/libs/routes/portalMecInep.js b/src/libs/routes/portalMecInep.js new file mode 100644 index 0000000000000000000000000000000000000000..9ef8dd93abe63904d2cf6c934fc32ba1384a40cd --- /dev/null +++ b/src/libs/routes/portalMecInep.js @@ -0,0 +1,59 @@ +const express = require('express'); + +const portalMecInepApp = express.Router(); + +const libs = `${process.cwd()}/libs`; + +const squel = require('squel'); + +const query = require(`${libs}/middlewares/query`).query; + +const response = require(`${libs}/middlewares/response`); + +const id2str = require(`${libs}/middlewares/id2str`); + +const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`); + +const addMissing = require(`${libs}/middlewares/addMissing`); + +const config = require(`${libs}/config`); + +const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware; + +let rqf = new ReqQueryFields(); + +rqf.addField({ + name: 'filter', + field: false, + where: true +}).addField({ + name: 'dims', + field: true, + where: false +}).addValue({ + name: 'school_cod', + table: 'escola', + tableField: 'id', + resultField: 'school_cod_id', + where: { + relation: '=', + type: 'integer', + table: 'escola', + field: 'id' + } +}); + +portalMecInepApp.get('/', rqf.parse(), (req, res, next) => { + + req.sql.field('DISTINCT escola.id', 'id') + .from('escola') + .join('estado', null, 'estado.id=escola.estado_id') + .field('estado.nome', 'state_name') + .join('municipio', null, 'municipio.id=escola.municipio_id') + .field('municipio.nome', 'city_name') + + next(); + +}, rqf.build(), query, response('portalMec_inep')); + +module.exports = portalMecInepApp;