diff --git a/src/libs/routes/SMPPIR/indigenas_enrollment.js b/src/libs/routes/SMPPIR/indigenas_enrollment.js new file mode 100644 index 0000000000000000000000000000000000000000..40408fba18448ecc3b35d2906d9bd814ef031045 --- /dev/null +++ b/src/libs/routes/SMPPIR/indigenas_enrollment.js @@ -0,0 +1,145 @@ +'use strict'; + +/* +Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre +Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR + +This file is part of SMPPIR-Node. + +SMPPIR-Node is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +SMPPIR-Node is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with SMPPIR-Node. If not, see <https://www.gnu.org/licenses/>. +*/ + +var express = require('express'); + +var indigenasSchoolsApp = express.Router(); + +var libs = process.cwd() + '/libs'; + +var squel = require('squel'); + +var query = require(libs + '/middlewares/query').query; + +var response = require(libs + '/middlewares/response'); + +var ReqQueryFields = require(libs + '/middlewares/reqQueryFields'); + +var rqf = new ReqQueryFields(); + +rqf.addField({ + name: 'filter', + field: false, + where: true +}).addField({ + name: 'dims', + field: true, + where: false +}).addValue({ + name: 'year', + table: 'indigenas_schools_ag', + tableField: 'ano_censo', + resultField: 'ano_censo', + where: { + relation: '=', + type: 'integer', + field: 'ano_censo' + } +}).addValue({ + name: 'localizacao_diferenciada', + table: 'indigenas_schools_ag', + tableField: 'localizacao_diferenciada_id', + resultField: 'cod_localizacao_diferenciada', + where: { + relation: '=', + type: 'integer', + field: 'localizacao_diferenciada_id' + } +}).addValue({ + name: 'agua', + table: 'indigenas_schools_ag', + tableField: 'agua_rede_publica', + resultField: 'abastecimento_agua_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'agua_rede_publica' + } +}).addValue({ + name: 'energia', + table: 'indigenas_schools_ag', + tableField: 'energia_rede_publica', + resultField: 'abastecimento_energia_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'energia_rede_publica' + } +}).addValue({ + name: 'esgoto', + table: 'indigenas_schools_ag', + tableField: 'esgoto_rede_publica', + resultField: 'esgotamento_snaitario_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'esgoto_rede_publica' + } +}).addValue({ + name: 'lixo', + table: 'indigenas_schools_ag', + tableField: 'lixo_coleta_periodica', + resultField: 'coleta_lixo_periodica', + where: { + relation: '=', + type: 'string', + field: 'lixo_coleta_periodica' + } +}).addValue({ + name: 'uf', + table: 'indigenas_schools_ag', + tableField: 'sigla', + resultField: 'sigla_uf', + where: { + relation: '=', + type: 'string', + field: 'sigla' + } +}).addValue({ + name: 'id', + table: 'indigenas_schools_ag', + tableField: 'id', + resultField: 'escola_id', + where: { + relation: '=', + type: 'string', + field: 'id' + } +}).addValue({ + name: 'etapa_ensino', + table: 'indigenas_schools_ag', + tableField: 'etapa_ensino', + resultField: 'etapa_ensino', + where: { + relation: '=', + type: 'string', + field: 'etapa_ensino' + } +}); + +indigenasSchoolsApp.get('/', rqf.parse(), rqf.build(), function (req, res, next) { + console.log(req.sql.toString()); + req.sql.field('SUM(total) AS Total').from('terras_indigenas'); + next(); +}, query, response('terras_ind')); + +module.exports = indigenasSchoolsApp; \ No newline at end of file diff --git a/src/libs/routes/SMPPIR/indigenas_schools.js b/src/libs/routes/SMPPIR/indigenas_schools.js new file mode 100644 index 0000000000000000000000000000000000000000..a2c36ed688b64a16428a40c5592b885202f3d83b --- /dev/null +++ b/src/libs/routes/SMPPIR/indigenas_schools.js @@ -0,0 +1,145 @@ +'use strict'; + +/* +Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre +Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR + +This file is part of SMPPIR-Node. + +SMPPIR-Node is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +SMPPIR-Node is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with SMPPIR-Node. If not, see <https://www.gnu.org/licenses/>. +*/ + +var express = require('express'); + +var indigenasSchoolsApp = express.Router(); + +var libs = process.cwd() + '/libs'; + +var squel = require('squel'); + +var query = require(libs + '/middlewares/query').query; + +var response = require(libs + '/middlewares/response'); + +var ReqQueryFields = require(libs + '/middlewares/reqQueryFields'); + +var rqf = new ReqQueryFields(); + +rqf.addField({ + name: 'filter', + field: false, + where: true +}).addField({ + name: 'dims', + field: true, + where: false +}).addValue({ + name: 'year', + table: 'indigenas_schools_ag', + tableField: 'ano_censo', + resultField: 'ano_censo', + where: { + relation: '=', + type: 'integer', + field: 'ano_censo' + } +}).addValue({ + name: 'localizacao_diferenciada', + table: 'indigenas_schools_ag', + tableField: 'localizacao_diferenciada_id', + resultField: 'cod_localizacao_diferenciada', + where: { + relation: '=', + type: 'integer', + field: 'localizacao_diferenciada_id' + } +}).addValue({ + name: 'agua', + table: 'indigenas_schools_ag', + tableField: 'agua_rede_publica', + resultField: 'abastecimento_agua_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'agua_rede_publica' + } +}).addValue({ + name: 'energia', + table: 'indigenas_schools_ag', + tableField: 'energia_rede_publica', + resultField: 'abastecimento_energia_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'energia_rede_publica' + } +}).addValue({ + name: 'esgoto', + table: 'indigenas_schools_ag', + tableField: 'esgoto_rede_publica', + resultField: 'esgotamento_snaitario_rede_publica', + where: { + relation: '=', + type: 'string', + field: 'esgoto_rede_publica' + } +}).addValue({ + name: 'lixo', + table: 'indigenas_schools_ag', + tableField: 'lixo_coleta_periodica', + resultField: 'coleta_lixo_periodica', + where: { + relation: '=', + type: 'string', + field: 'lixo_coleta_periodica' + } +}).addValue({ + name: 'uf', + table: 'indigenas_schools_ag', + tableField: 'sigla', + resultField: 'sigla_uf', + where: { + relation: '=', + type: 'string', + field: 'sigla' + } +}).addValue({ + name: 'id', + table: 'indigenas_schools_ag', + tableField: 'id', + resultField: 'escola_id', + where: { + relation: '=', + type: 'string', + field: 'id' + } +}).addValue({ + name: 'etapa_ensino', + table: 'indigenas_schools_ag', + tableField: 'etapa_ensino', + resultField: 'etapa_ensino', + where: { + relation: '=', + type: 'string', + field: 'etapa_ensino' + } +}); + +indigenasSchoolsApp.get('/', rqf.parse(), rqf.build(), function (req, res, next) { + console.log(req.sql.toString()); + req.sql.field('COUNT(distinct id) AS Total').from('terras_indigenas'); + next(); +}, query, response('terras_ind')); + +module.exports = indigenasSchoolsApp; \ No newline at end of file diff --git a/src/libs/routes/SMPPIR/indigenas_territorial.js b/src/libs/routes/SMPPIR/indigenas_territorial.js index 408ff151c7739d919203145d75d80e068845c3a3..1336a97369205414713d17ade9eadf0d1238e5db 100644 --- a/src/libs/routes/SMPPIR/indigenas_territorial.js +++ b/src/libs/routes/SMPPIR/indigenas_territorial.js @@ -118,7 +118,7 @@ rqf.addField({ indigenasTerritorialApp.get('/', rqf.parse(), rqf.build(), function (req, res, next) { console.log(req.sql.toString()); - req.sql.field('SUM(total) AS Total').from('terras_indigenas'); + req.sql.field('COUNT(*) AS Total').from('terras_indigenas'); next(); }, query, response('terras_ind')); diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js index 423c46fb978d661a749af5a9c23cd77b3e4098aa..500a577c7a76e2609ea7f1bfe0ed76a07d9e2e93 100644 --- a/src/libs/routes/api.js +++ b/src/libs/routes/api.js @@ -124,6 +124,10 @@ const indigenas_rights = require(`${libs}/routes/SMPPIR/indigenas_rights`); const indigenas_territorial = require(`${libs}/routes/SMPPIR/indigenas_territorial`); +const indigenas_schools = require(`${libs}/routes/SMPPIR/indigenas_schools`); + +const indigenas_enrollment = require(`${libs}/routes/SMPPIR/indigenas_enrollment`); + api.get('/', (req, res) => { res.json({ msg: 'SMPPIR API is running' }); }); @@ -174,5 +178,7 @@ api.use('/indigenas_infrastructure', indigenas_infrastructure) api.use('/indigenas_development', indigenas_development) api.use('/indigenas_rights', indigenas_rights) api.use('/indigenas_territorial', indigenas_territorial) +api.use('/indigenas_schools', indigenas_schools) +api.use('/indigenas_enrollment', indigenas_enrollment) module.exports = api;