diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js index 0a1b047f6545006fc8954d5d966d8f8b38df602d..6fcff09a1bb263bc00f7fc84875f60baf22fc7a2 100644 --- a/src/libs/routes/api.js +++ b/src/libs/routes/api.js @@ -60,6 +60,8 @@ const distributionFactor = require(`${libs}/routes/distributionFactor`); const siope = require(`${libs}/routes/siope`); +const verifyTeacher = require(`${libs}/routes/portalMec`); + const outOfSchool = require(`${libs}/routes/outOfSchool`); const classroomCount = require(`${libs}/routes/classroomCount`); @@ -107,5 +109,7 @@ api.use('/classroom_count', classroomCount); api.use('/daily_charge_amount', dailyChargeAmount); api.use('/transport', transport); api.use('/auxiliar', auxiliar); +api.use('/verify_teacher', verifyTeacher); + module.exports = api; diff --git a/src/libs/routes/portalMec.js b/src/libs/routes/portalMec.js new file mode 100644 index 0000000000000000000000000000000000000000..afd84e8e019d27135b9e246580ed1c941e5b4acd --- /dev/null +++ b/src/libs/routes/portalMec.js @@ -0,0 +1,136 @@ +const express = require('express'); + +const portalMecApp = 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: 'day', + table: 'docente', + tableField: 'nasc_dia', + resultField: 'born_day_id', + where: { + relation: '=', + type: 'integer', + table: 'docente', + field: 'nasc_dia' + } +}).addValue({ + name: 'month', + table: 'docente', + tableField: 'nasc_mes_id', + resultField: 'born_month', + where: { + relation: '=', + type: 'integer', + table: 'docente', + field: 'nasc_mes' + } +}).addValue({ + name: 'year', + table: 'docente', + tableField: 'nasc_ano_id', + resultField: 'born_year', + where: { + relation: '=', + type: 'integer', + table: 'docente', + field: 'nasc_ano' + } +}).addValue({ + name: 'teacher', + table: 'docente', + tableField: 'id', + resultField: 'teacher_id', + where: { + relation: '=', + type: 'integer', + table: 'docente', + field: 'id' + } +}).addValue({ + name: 'min_year', + table: 'docente', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '>=', + type: 'integer', + table: 'docente', + field: 'ano_censo' + } +}).addValue({ + name: 'max_year', + table: 'docente', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '<=', + type: 'integer', + table: 'docente', + field: 'ano_censo' + } +}); + +portalMecApp.get('/', rqf.parse(), (req, res, next) => { + + req.sql.field('docente.id') + .field('docente.ano_censo', 'year') + .field('docente.cod_quimica', 'QuÃmica') + .field('docente.cod_fisica', 'FÃsica') + .field('docente.cod_matematica', 'Matemática') + .field('docente.cod_biologia', 'Biologia') + .field('docente.cod_ciencias', 'Ciências') + .field('docente.cod_literat_port', 'LÃngua/ Literatura Portuguesa') + .field('docente.cod_literat_ing', 'LÃngua/ Literatura estrangeira - Inglês') + .field('docente.cod_literat_esp', 'LÃngua/ Literatura estrangeira - Espanhol') + .field('docente.cod_literat_frances', 'LÃngua/ Literatura estrangeira - Francês') + .field('docente.literat_outra', 'LÃngua/ Literatura estrangeira - Outra') + .field('docente.cod_literat_indigena', 'LÃngua/ Literatura estrangeira - LÃngua IndÃgena') + .field('docente.cod_artes', 'Artes (Educação ArtÃstica, Teatro, Dança, Música, Artes Plásticas e outras)') + .field('docente.cod_ed_fisica', 'Educação FÃsica') + .field('docente.cod_hist', 'História') + .field('docente.cod_geo', 'Geografia') + .field('docente.cod_filos', 'Filosofia') + .field('docente.cod_ensino_religioso', 'Ensino Religioso') + .field('docente.cod_estudos_sociais', 'Estudos Sociais') + .field('docente.cod_sociologia', 'Sociologia') + .field('docente.cod_inf_comp', 'Informática/ Computação') + .field('docente.cod_profissionalizante', 'Disciplinas profissionalizantes') + .field('docente.cod_disc_atendimento_especiais', 'Disciplinas voltadas ao atendimento à s necessidades educacionais especÃficas dos alunos que são público alvo da educação especial e à s práticas educacionais inclusivas') + .field('docente.cod_disc_diversidade_socio_cult', 'Disciplinas voltadas à diversidade sociocultural (Disciplinas pedagógicas)') + .field('docente.cod_libras', 'Libras') + .field('docente.cod_disciplina_pedag', 'Disciplinas pedagógicas') + .field('docente.cod_outras_disciplina', 'Outras disciplinas') + .from('docente') + next(); + +}, rqf.build(), query, response('portalMec')); + +module.exports = portalMecApp;