From a371083b0f95666bf094523e3abbcb75e0a41ac9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Leon=20A=2E=20Okida=20Gon=C3=A7alves?= <laog19@inf.ufpr.br>
Date: Tue, 7 Mar 2023 10:49:56 -0300
Subject: [PATCH] Change infrastructure to use new table

---
 src/libs/routes_v2/infrastructure.js | 130 +++++++++++++--------------
 1 file changed, 65 insertions(+), 65 deletions(-)

diff --git a/src/libs/routes_v2/infrastructure.js b/src/libs/routes_v2/infrastructure.js
index 1ececa91..cc4c5931 100644
--- a/src/libs/routes_v2/infrastructure.js
+++ b/src/libs/routes_v2/infrastructure.js
@@ -47,22 +47,22 @@ let rqf = new ReqQueryFields();
 infrastructureApp.use(cache('15 day'));
 
 infrastructureApp.get('/year_range', (req, res, next) => {
-    req.sql.from('escola')
-    .field('MIN(escola.ano_censo)', 'start_year')
-    .field('MAX(escola.ano_censo)', 'end_year');
+    req.sql.from('escola_agregada')
+    .field('MIN(escola_agregada.ano_censo)', 'start_year')
+    .field('MAX(escola_agregada.ano_censo)', 'end_year');
     next();
 }, query, response('range'));
 
 infrastructureApp.get('/years', (req, res, next) => {
-    req.sql.from('escola')
-    .field('DISTINCT escola.ano_censo', 'year');
+    req.sql.from('escola_agregada')
+    .field('DISTINCT escola_agregada.ano_censo', 'year');
     next();
 }, query, response('years'));
 
 infrastructureApp.get('/source', (req, res, next) => {
     req.sql.from('fonte')
     .field('fonte', 'source')
-    .where('tabela = \'escola\'');
+    .where('tabela = \'escola_agregada\'');
     next();
 }, query, response('source'));
 
@@ -125,12 +125,12 @@ rqf.addField({
         relation: '=',
         type: 'integer',
         field: 'municipio_id',
-        table: 'escola'
+        table: 'escola_agregada'
     },
     join: {
         primary: 'id',
         foreign: 'municipio_id',
-        foreignTable: 'escola'
+        foreignTable: 'escola_agregada'
     }
 }, 'dims').addValueToField({
     name: 'city',
@@ -141,12 +141,12 @@ rqf.addField({
         relation: '=',
         type: 'integer',
         field: 'municipio_id',
-        table: 'escola'
+        table: 'escola_agregada'
     },
     join: {
         primary: 'id',
         foreign: 'municipio_id',
-        foreignTable: 'escola'
+        foreignTable: 'escola_agregada'
     }
 }, 'filter').addValueToField({
     name: 'state',
@@ -157,12 +157,12 @@ rqf.addField({
         relation: '=',
         type: 'integer',
         field: 'estado_id',
-        table: 'escola'
+        table: 'escola_agregada'
     },
     join: {
         primary: 'id',
         foreign: 'estado_id',
-        foreignTable: 'escola'
+        foreignTable: 'escola_agregada'
     }
 }, 'dims').addValueToField({
     name: 'state',
@@ -173,12 +173,12 @@ rqf.addField({
         relation: '=',
         type: 'integer',
         field: 'estado_id',
-        table: 'escola'
+        table: 'escola_agregada'
     },
     join: {
         primary: 'id',
         foreign: 'estado_id',
-        foreignTable: 'escola'
+        foreignTable: 'escola_agregada'
     }
 }, 'filter').addValue({
     name: 'region',
@@ -193,11 +193,11 @@ rqf.addField({
     join: {
         primary: 'id',
         foreign: 'regiao_id',
-        foreignTable: 'escola'
+        foreignTable: 'escola_agregada'
     }
 }).addValue({
     name: 'location',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
@@ -207,7 +207,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'rural_location',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'localidade_area_rural',
     resultField: 'rural_location_id',
     where: {
@@ -217,7 +217,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'adm_dependency',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'dependencia_adm_id',
     resultField: 'adm_dependency_id',
     where: {
@@ -227,7 +227,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'adm_dependency_detailed',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'dependencia_adm_priv',
     resultField: 'adm_dependency_detailed_id',
     where: {
@@ -237,7 +237,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'min_year',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'ano_censo',
     resultField: 'year',
     where: {
@@ -247,7 +247,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'max_year',
-    table: 'escola',
+    table: 'escola_agregada',
     tableField: 'ano_censo',
     resultField: 'year',
     where: {
@@ -302,44 +302,44 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Local de funcionamento
     let allSchools = req.sql.clone();
-    allSchools.from('escola').field('COUNT(escola.id)', 'total')
+    allSchools.from('escola_agregada').field('COUNT(escola_agregada.id)', 'total')
     .field("'Brasil'", 'name')
-    .field('escola.ano_censo', 'year')
-    .group('escola.ano_censo')
-    .where('escola.situacao_de_funcionamento = 1')
-    .order('escola.ano_censo');
+    .field('escola_agregada.ano_censo', 'year')
+    .group('escola_agregada.ano_censo')
+    .where('escola_agregada.situacao_de_funcionamento = 1')
+    .order('escola_agregada.ano_censo');
     req.queryIndex.allSchools = req.querySet.push(allSchools) - 1;
 
     let schoolPlace = allSchools.clone();
-    schoolPlace.where('escola.func_predio_escolar = 1 AND escola.func_salas_empresa = 0 AND escola.func_templo_igreja = 0 AND escola.func_casa_professor = 0 AND escola.func_galpao = 0 AND escola.biblioteca = 1');
+    schoolPlace.where('escola_agregada.func_predio_escolar = 1 AND escola_agregada.func_salas_empresa = 0 AND escola_agregada.func_templo_igreja = 0 AND escola_agregada.func_casa_professor = 0 AND escola_agregada.func_galpao = 0 AND escola_agregada.biblioteca = 1');
     req.queryIndex.schoolPlace = req.querySet.push(schoolPlace) - 1;
 
     // Bibliotecas
     let allLibraries = allSchools.clone();
-    allLibraries.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 1');
+    allLibraries.where('escola_agregada.func_predio_escolar = 1 AND escola_agregada.localizacao_id = 1');
     req.queryIndex.allLibraries = req.querySet.push(allLibraries) - 1;
 
     let haveLibraries = allLibraries.clone();
-    haveLibraries.where('escola.biblioteca = 1');
+    haveLibraries.where('escola_agregada.biblioteca = 1');
     req.queryIndex.haveLibraries = req.querySet.push(haveLibraries) - 1;
 
     // Bibliotecas/Sala de leitura
     let allLibrariesReadingRoom = allSchools.clone();
-    allLibrariesReadingRoom.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 2');
+    allLibrariesReadingRoom.where('escola_agregada.func_predio_escolar = 1 AND escola_agregada.localizacao_id = 2');
     req.queryIndex.allLibrariesReadingRoom = req.querySet.push(allLibrariesReadingRoom) - 1;
 
     let haveLibrariesReadingRoom = allLibrariesReadingRoom.clone();
-    haveLibrariesReadingRoom.where('escola.sala_leitura = 1');
+    haveLibrariesReadingRoom.where('escola_agregada.sala_leitura = 1');
     req.queryIndex.haveLibrariesReadingRoom = req.querySet.push(haveLibrariesReadingRoom) - 1;
 
     // Laboratório de informática
     let allInfLab = allSchools.clone();
-    allInfLab.where('escola.func_predio_escolar = 1')
-    .where('escola.reg_fund_ai = 1 OR escola.reg_fund_af = 1 OR escola.reg_medio_medio = 1 OR escola.reg_medio_integrado = 1 OR escola.reg_medio_normal = 1 OR escola.ensino_eja_fund = 1 OR escola.ensino_eja_medio = 1 OR escola.ensino_eja_prof = 1');
+    allInfLab.where('escola_agregada.func_predio_escolar = 1')
+    .where('escola_agregada.reg_fund_ai = 1 OR escola_agregada.reg_fund_af = 1 OR escola_agregada.reg_medio_medio = 1 OR escola_agregada.reg_medio_integrado = 1 OR escola_agregada.reg_medio_normal = 1 OR escola_agregada.ensino_eja_fund = 1 OR escola_agregada.ensino_eja_medio = 1 OR escola_agregada.ensino_eja_prof = 1');
     req.queryIndex.allInfLab = req.querySet.push(allInfLab) - 1;
 
     let haveInfLab = allInfLab.clone();
-    haveInfLab.where('escola.lab_informatica = 1');
+    haveInfLab.where('escola_agregada.lab_informatica = 1');
     req.queryIndex.haveInfLab = req.querySet.push(haveInfLab) - 1;
 
     // Laboratório de ciências
@@ -347,175 +347,175 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allScienceLab = req.querySet.push(allScienceLab) - 1;
 
     let haveScienceLab = allScienceLab.clone();
-    haveScienceLab.where('escola.lab_ciencias = 1');
+    haveScienceLab.where('escola_agregada.lab_ciencias = 1');
     req.queryIndex.haveScienceLab = req.querySet.push(haveScienceLab) - 1;
 
     // Parque infantil
     let allKidsPark = allSchools.clone();
-    allKidsPark.where('escola.func_predio_escolar = 1')
-    .where('escola.reg_infantil_creche = 1 OR escola.reg_infantil_preescola = 1 OR escola.reg_fund_ai = 1 OR escola.esp_infantil_creche = 1 OR escola.esp_exclusiva_creche = 1 OR escola.reg_esp_exclusiva_fund_ai = 1');
+    allKidsPark.where('escola_agregada.func_predio_escolar = 1')
+    .where('escola_agregada.reg_infantil_creche = 1 OR escola_agregada.reg_infantil_preescola = 1 OR escola_agregada.reg_fund_ai = 1 OR escola_agregada.esp_infantil_creche = 1 OR escola_agregada.esp_exclusiva_creche = 1 OR escola_agregada.reg_esp_exclusiva_fund_ai = 1');
     req.queryIndex.allKidsPark = req.querySet.push(allKidsPark) - 1;
 
     let haveKidsPark = allKidsPark.clone();
-    haveKidsPark.where('escola.parque_infantil = 1');
+    haveKidsPark.where('escola_agregada.parque_infantil = 1');
     req.queryIndex.haveKidsPark = req.querySet.push(haveKidsPark) - 1;
 
     // Berçário
     let allCribs = allSchools.clone();
-    allCribs.where('escola.func_predio_escolar = 1')
-    .where('escola.reg_infantil_creche = 1 OR escola.esp_infantil_creche = 1');
+    allCribs.where('escola_agregada.func_predio_escolar = 1')
+    .where('escola_agregada.reg_infantil_creche = 1 OR escola_agregada.esp_infantil_creche = 1');
     req.queryIndex.allCribs = req.querySet.push(allCribs) - 1;
 
     let haveCribs = allCribs.clone();
-    haveCribs.where('escola.bercario = 1');
+    haveCribs.where('escola_agregada.bercario = 1');
     req.queryIndex.haveCribs = req.querySet.push(haveCribs) - 1;
 
     // Quadra
     let allSportsCourt = allScienceLab.clone();
-    allSportsCourt.where('escola.localizacao_id = 1');
+    allSportsCourt.where('escola_agregada.localizacao_id = 1');
     req.queryIndex.allSportsCourt = req.querySet.push(allSportsCourt) - 1;
 
     let haveSportsCourt = allSportsCourt.clone();
-    haveSportsCourt.where('escola.quadra_esportes = 1');
+    haveSportsCourt.where('escola_agregada.quadra_esportes = 1');
     req.queryIndex.haveSportsCourt = req.querySet.push(haveSportsCourt) - 1;
 
     // Quadra coberta
     req.queryIndex.allCoveredSportsCourt = req.queryIndex.allSportsCourt;
 
     let haveCoveredSportsCourt = allSportsCourt.clone();
-    haveCoveredSportsCourt.where('escola.quadra_esportes_coberta = 1');
+    haveCoveredSportsCourt.where('escola_agregada.quadra_esportes_coberta = 1');
     req.queryIndex.haveCoveredSportsCourt = req.querySet.push(haveCoveredSportsCourt) - 1;
 
     // Quadra Descoberta
     let allUncoveredSportsCourt = allSportsCourt.clone();
-    allUncoveredSportsCourt.where('escola.quadra_esportes_coberta = 0');
+    allUncoveredSportsCourt.where('escola_agregada.quadra_esportes_coberta = 0');
     req.queryIndex.allUncoveredSportsCourt = req.querySet.push(allUncoveredSportsCourt) - 1;
 
     let haveUncoveredSportsCourt = allUncoveredSportsCourt.clone();
-    haveUncoveredSportsCourt.where('escola.quadra_esportes_descoberta = 1');
+    haveUncoveredSportsCourt.where('escola_agregada.quadra_esportes_descoberta = 1');
     req.queryIndex.haveUncoveredSportsCourt = req.querySet.push(haveUncoveredSportsCourt) - 1;
 
     // Sala de direção
     let allDirectorRoom = allSchools.clone();
-    allDirectorRoom.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 1');
+    allDirectorRoom.where('escola_agregada.func_predio_escolar = 1 AND escola_agregada.localizacao_id = 1');
     req.queryIndex.allDirectorRoom = req.querySet.push(allDirectorRoom) - 1;
 
     let haveDirectorRoom = allDirectorRoom.clone();
-    haveDirectorRoom.where('escola.sala_diretoria = 1');
+    haveDirectorRoom.where('escola_agregada.sala_diretoria = 1');
     req.queryIndex.haveDirectorRoom = req.querySet.push(haveDirectorRoom) - 1;
 
     // Secretaria
     let allSecretary = allSchools.clone();
-    allSecretary.where('escola.func_predio_escolar = 1');
+    allSecretary.where('escola_agregada.func_predio_escolar = 1');
     req.queryIndex.allSecretary = req.querySet.push(allSecretary) - 1;
 
     let haveSecretary = allSecretary.clone();
-    haveSecretary.where('escola.secretaria = 1');
+    haveSecretary.where('escola_agregada.secretaria = 1');
     req.queryIndex.haveSecretary = req.querySet.push(haveSecretary) - 1;
 
     // Sala de professores
     req.queryIndex.allTeacherRoom = req.queryIndex.allSecretary;
 
     let haveTeacherRoom = allSecretary.clone();
-    haveTeacherRoom.where('escola.sala_professor = 1');
+    haveTeacherRoom.where('escola_agregada.sala_professor = 1');
     req.queryIndex.haveTeacherRoom = req.querySet.push(haveTeacherRoom) - 1;
 
     // Cozinha
     req.queryIndex.allKitchen = req.queryIndex.allSecretary;
 
     let haveKitchen = allSecretary.clone();
-    haveKitchen.where('escola.cozinha = 1');
+    haveKitchen.where('escola_agregada.cozinha = 1');
     req.queryIndex.haveKitchen = req.querySet.push(haveKitchen) - 1;
 
     // Despensa
     req.queryIndex.allStoreroom = req.queryIndex.allSecretary;
 
     let haveStoreroom = allSecretary.clone();
-    haveStoreroom.where('escola.despensa = 1');
+    haveStoreroom.where('escola_agregada.despensa = 1');
     req.queryIndex.haveStoreroom = req.querySet.push(haveStoreroom) - 1;
 
     // Almoxarifado
     req.queryIndex.allWarehouse = req.queryIndex.allSecretary;
 
     let haveWarehouse = allSecretary.clone();
-    haveWarehouse.where('escola.almoxarifado = 1');
+    haveWarehouse.where('escola_agregada.almoxarifado = 1');
     req.queryIndex.haveWarehouse = req.querySet.push(haveWarehouse) - 1;
 
     // Internet
     req.queryIndex.allInternet = req.queryIndex.allLibrariesReadingRoom;
 
     let haveInternet = allLibrariesReadingRoom.clone();
-    haveInternet.where('escola.internet = 1');
+    haveInternet.where('escola_agregada.internet = 1');
     req.queryIndex.haveInternet = req.querySet.push(haveInternet) - 1;
 
     // Internet banda larga
     req.queryIndex.allBroadbandInternet = req.queryIndex.allLibraries;
 
     let haveBroadbandInternet = allLibraries.clone();
-    haveBroadbandInternet.where('escola.internet_banda_larga = 1');
+    haveBroadbandInternet.where('escola_agregada.internet_banda_larga = 1');
     req.queryIndex.haveBroadbandInternet = req.querySet.push(haveBroadbandInternet) - 1;
 
     // Banheiro dentro do prédio
     req.queryIndex.allInsideBathroom = req.queryIndex.allSecretary;
 
     let haveInsideBathroom = allSecretary.clone();
-    haveInsideBathroom.where('escola.sanitario_dentro_predio = 1');
+    haveInsideBathroom.where('escola_agregada.sanitario_dentro_predio = 1');
     req.queryIndex.haveInsideBathroom = req.querySet.push(haveInsideBathroom) - 1;
 
     // Banheiro adequado para educação infantil dentro do prédio
     req.queryIndex.allInsideKidsBathroom = req.queryIndex.allKidsPark;
 
     let haveInsideKidsBathroom = allKidsPark.clone();
-    haveInsideKidsBathroom.where('escola.sanitario_ei = 1');
+    haveInsideKidsBathroom.where('escola_agregada.sanitario_ei = 1');
     req.queryIndex.haveInsideKidsBathroom = req.querySet.push(haveInsideKidsBathroom) - 1;
 
     // Fornecimento de energia
     req.queryIndex.allEletricEnergy = req.queryIndex.allSecretary;
 
     let haveEletricEnergy = allSecretary.clone();
-    haveEletricEnergy.where('escola.fornecimento_energia = 1');
+    haveEletricEnergy.where('escola_agregada.fornecimento_energia = 1');
     req.queryIndex.haveEletricEnergy = req.querySet.push(haveEletricEnergy) - 1;
 
     // Abastecimento de água
     req.queryIndex.allWaterSupply = req.queryIndex.allSecretary;
 
     let haveWaterSupply = allSecretary.clone();
-    haveWaterSupply.where('escola.fornecimento_agua = 1');
+    haveWaterSupply.where('escola_agregada.fornecimento_agua = 1');
     req.queryIndex.haveWaterSupply = req.querySet.push(haveWaterSupply) - 1;
 
     // Água filtrada
     req.queryIndex.allFilteredWater = req.queryIndex.allSecretary;
 
     let haveFilteredWater = allSecretary.clone();
-    haveFilteredWater.where('escola.agua_filtrada = 1');
+    haveFilteredWater.where('escola_agregada.agua_filtrada = 1');
     req.queryIndex.haveFilteredWater = req.querySet.push(haveFilteredWater) - 1;
 
     // Coleta de esgoto
     req.queryIndex.allSewage = req.queryIndex.allSecretary;
 
     let haveSewage = allSecretary.clone();
-    haveSewage.where('escola.esgoto_sanitario = 1');
+    haveSewage.where('escola_agregada.esgoto_sanitario = 1');
     req.queryIndex.haveSewage = req.querySet.push(haveSewage) - 1;
 
     // Sala de recursos multifuncionais para Atendimento Educacional Especializado
     req.queryIndex.allMultifunctionRoom = req.queryIndex.allSecretary;
 
     let haveMultifunctionRoom = allSecretary.clone();
-    haveMultifunctionRoom.where('escola.sala_atendimento_especial = 1');
+    haveMultifunctionRoom.where('escola_agregada.sala_atendimento_especial = 1');
     req.queryIndex.haveMultifunctionRoom = req.querySet.push(haveMultifunctionRoom) - 1;
 
     // Banheiros adaptados para pessoas com deficiências
     req.queryIndex.allSpecialBathroom = req.queryIndex.allSecretary;
 
     let haveSpecialBathroom = allSecretary.clone();
-    haveSpecialBathroom.where('escola.sanitario_pne = 1');
+    haveSpecialBathroom.where('escola_agregada.sanitario_pne = 1');
     req.queryIndex.haveSpecialBathroom = req.querySet.push(haveSpecialBathroom) - 1;
 
     // Dependências adaptada para pessoas com deficiências
     req.queryIndex.allAdaptedBuilding = req.queryIndex.allSecretary;
 
     let haveAdaptedBuilding = allSecretary.clone();
-    haveAdaptedBuilding.where('escola.dependencias_pne = 1');
+    haveAdaptedBuilding.where('escola_agregada.dependencias_pne = 1');
     req.queryIndex.haveAdaptedBuilding = req.querySet.push(haveAdaptedBuilding) - 1;
 
     next();
-- 
GitLab